Programs & Examples On #Jint

Jint is a JavaScript interpreter for .NET.

Calling a java method from c++ in Android

If it's an object method, you need to pass the object to CallObjectMethod:

jobject result = env->CallObjectMethod(obj, messageMe, jstr);

What you were doing was the equivalent of jstr.messageMe().

Since your is a void method, you should call:

env->CallVoidMethod(obj, messageMe, jstr);

If you want to return a result, you need to change your JNI signature (the ()V means a method of void return type) and also the return type in your Java code.

Return array in a function

Here's a full example of this kind of problem to solve

#include <bits/stdc++.h>
using namespace std;
int* solve(int brr[],int n)
{
sort(brr,brr+n);
return brr;
}

int main()
{
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++)
{
    cin>>arr[i];
}
int *a=solve(arr,n);
for(int i=0;i<n;i++)
{
    cout<<a[i]<<endl;
}

return 0;
}

What does a question mark represent in SQL queries?

It normally represents a parameter to be supplied by client.

Efficiently test if a port is open on Linux?

Based on Spencer Rathbun's answer, using bash:

true &>/dev/null </dev/tcp/127.0.0.1/$PORT && echo open || echo closed

UITableView - change section header color

The following solution works for Swift 1.2 with iOS 8+

override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

    // This changes the header background
    view.tintColor = UIColor.blueColor()

    // Gets the header view as a UITableViewHeaderFooterView and changes the text colour
    var headerView: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
    headerView.textLabel.textColor = UIColor.redColor()

}

Print series of prime numbers in python

Here is the simplest logic for beginners to get prime numbers:

p=[]
for n in range(2,50):
    for k in range(2,50):
        if n%k ==0 and n !=k:
            break
        else:
            for t in p:
                if  n%t ==0:
                    break
            else:
                p.append(n)

print p

What is the difference between <%, <%=, <%# and -%> in ERB in Rails?

<% %> executes the code in there but does not print the result, for eg:
We can use it for if else in an erb file.

<% temp = 1 %>
<% if temp == 1%>
  temp is 1
<% else %>
  temp is not 1
<%end%>  

Will print temp is 1


<%= %> executes the code and also prints the output, for eg:
We can print the value of a rails variable.

<% temp = 1 %>
<%= temp %>  

Will print 1


<% -%> It makes no difference as it does not print anything, -%> only makes sense with <%= -%>, this will avoid a new line.


<%# %> will comment out the code written within this.

C# error: "An object reference is required for the non-static field, method, or property"

The Main method is static inside the Program class. You can't call an instance method from inside a static method, which is why you're getting the error.

To fix it you just need to make your GetRandomBits() method static as well.

Is it possible to decrypt SHA1

SHA1 is a one way hash. So you can not really revert it.

That's why applications use it to store the hash of the password and not the password itself.

Like every hash function SHA-1 maps a large input set (the keys) to a smaller target set (the hash values). Thus collisions can occur. This means that two values of the input set map to the same hash value.

Obviously the collision probability increases when the target set is getting smaller. But vice versa this also means that the collision probability decreases when the target set is getting larger and SHA-1's target set is 160 bit.

Jeff Preshing, wrote a very good blog about Hash Collision Probabilities that can help you to decide which hash algorithm to use. Thanks Jeff.

In his blog he shows a table that tells us the probability of collisions for a given input set.

Hash Collision Probabilities Table

As you can see the probability of a 32-bit hash is 1 in 2 if you have 77163 input values.

A simple java program will show us what his table shows:

public class Main {

    public static void main(String[] args) {
        char[] inputValue = new char[10];

        Map<Integer, String> hashValues = new HashMap<Integer, String>();

        int collisionCount = 0;

        for (int i = 0; i < 77163; i++) {
            String asString = nextValue(inputValue);
            int hashCode = asString.hashCode();
            String collisionString = hashValues.put(hashCode, asString);
            if (collisionString != null) {
                collisionCount++;
                System.out.println("Collision: " + asString + " <-> " + collisionString);
            }
        }

        System.out.println("Collision count: " + collisionCount);
    }

    private static String nextValue(char[] inputValue) {
        nextValue(inputValue, 0);

        int endIndex = 0;
        for (int i = 0; i < inputValue.length; i++) {
            if (inputValue[i] == 0) {
                endIndex = i;
                break;
            }
        }

        return new String(inputValue, 0, endIndex);
    }

    private static void nextValue(char[] inputValue, int index) {
        boolean increaseNextIndex = inputValue[index] == 'z';

        if (inputValue[index] == 0 || increaseNextIndex) {
            inputValue[index] = 'A';
        } else {
            inputValue[index] += 1;
        }

        if (increaseNextIndex) {
            nextValue(inputValue, index + 1);
        }

    }

}

My output end with:

Collision: RvV <-> SWV
Collision: SvV <-> TWV
Collision: TvV <-> UWV
Collision: UvV <-> VWV
Collision: VvV <-> WWV
Collision: WvV <-> XWV
Collision count: 35135

It produced 35135 collsions and that's the nearly the half of 77163. And if I ran the program with 30084 input values the collision count is 13606. This is not exactly 1 in 10, but it is only a probability and the example program is not perfect, because it only uses the ascii chars between A and z.

Let's take the last reported collision and check

System.out.println("VvV".hashCode());
System.out.println("WWV".hashCode());

My output is

86390
86390

Conclusion:

If you have a SHA-1 value and you want to get the input value back you can try a brute force attack. This means that you have to generate all possible input values, hash them and compare them with the SHA-1 you have. But that will consume a lot of time and computing power. Some people created so called rainbow tables for some input sets. But these do only exist for some small input sets.

And remember that many input values map to a single target hash value. So even if you would know all mappings (which is impossible, because the input set is unbounded) you still can't say which input value it was.

How to get the current time in YYYY-MM-DD HH:MI:Sec.Millisecond format in Java?

You only have to add the millisecond field in your date format string:

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

The API doc of SimpleDateFormat describes the format string in detail.

How to redirect page after click on Ok button on sweet alert?

Existing answers did not work for me i just used $('.confirm').hide(). and it worked for me.

success: function(res) {
$('.confirm').hide()
swal("Deleted!", "Successfully deleted", "success")
setTimeout(function(){
window.location = res.redirect_url;
},700);

how to increase sqlplus column output length?

Actually, even that didn't work for me. When I executed "select dbms_metadata.get_ddl('TABLESPACE','TABLESPACE_NAME') from dual;" I again got only the first three lines, but this time each line was padded out to 15,000 characters. I was able to work around this with:

select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),80) from dual;
select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),160) from dual;
select substr(dbms_metadata.get_ddl('TABLESPACE','LM_THIN_DATA'),240) from dual;

It sure seemed like there ought to be an easier way, but I couldn't seem to find it.

Find Number of CPUs and Cores per CPU using Command Prompt

If you want to find how many processors (or CPUs) a machine has the same way %NUMBER_OF_PROCESSORS% shows you the number of cores, save the following script in a batch file, for example, GetNumberOfCores.cmd:

@echo off
for /f "tokens=*" %%f in ('wmic cpu get NumberOfCores /value ^| find "="') do set %%f

And then execute like this:

GetNumberOfCores.cmd

echo %NumberOfCores%

The script will set a environment variable named %NumberOfCores% and it will contain the number of processors.

Exception is: InvalidOperationException - The current type, is an interface and cannot be constructed. Are you missing a type mapping?

In my case, I have used 2 different context with Unitofwork and Ioc container so i see this problem insistanting while service layer try to make inject second repository to DI. The reason is that exist module has containing other module instance and container supposed to gettng a call from not constractured new repository.. i write here for whome in my shooes

Why do we have to specify FromBody and FromUri?

Just addition to above answers ..

[FromUri] can also be used to bind complex types from uri parameters instead of passing parameters from querystring

For Ex..

public class GeoPoint
{
    public double Latitude { get; set; } 
    public double Longitude { get; set; }
}

[RoutePrefix("api/Values")]
public ValuesController : ApiController
{
    [Route("{Latitude}/{Longitude}")]
    public HttpResponseMessage Get([FromUri] GeoPoint location) { ... }
}

Can be called like:

http://localhost/api/values/47.678558/-122.130989

Change an image with onclick()

Here, when clicking next or previous, the src attribute of an img tag is changed to the next or previous value in an array.

<div id="imageGallery">    
    <img id="image" src="http://adamyost.com/images/wasatch_thumb.gif" />
    <div id="previous">Previous</div>    
    <div id="next">Next</div>        
</div>

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>

<script>
    $( document ).ready(function() {

        var images = [
            "http://placehold.it/350x150",
            "http://placehold.it/150x150",
            "http://placehold.it/50x150"    
        ];

        var imageIndex = 0;

        $("#previous").on("click", function(){          
            imageIndex = (imageIndex + images.length -1) % (images.length);    
            $("#image").attr('src', images[imageIndex]);
        });

        $("#next").on("click", function(){
            imageIndex = (imageIndex+1) % (images.length);    
            $("#image").attr('src', images[imageIndex]);
        });

        $("#image").attr(images[0]);

    });
</script>

I was able to implement this by modifying this answer: jQuery array with next and previous buttons to scroll through entries

Hibernate JPA Sequence (non-Id)

After spending hours, this neatly helped me to solve my problem:

For Oracle 12c:

ID NUMBER GENERATED as IDENTITY

For H2:

ID BIGINT GENERATED as auto_increment

Also make:

@Column(insertable = false)

How can I implement a theme from bootswatch or wrapbootstrap in an MVC 5 project?

This may be a little late; but someone will find it useful.

There's a Nuget Package for integrating AdminLTE - a popular Bootstrap template - to MVC5

Simply run this command in your Visual Studio Package Manager console

Install-Package AdminLteMvc

NB: It may take a while to install because it downloads all necessary files as well as create sample full and partial views (.cshtml files) that can guide you as you develop. A sample layout file _AdminLteLayout.cshtml is also provided.

You'll find the files in ~/Views/Shared/ folder

jQuery return ajax result into outside variable

'async': false says it's depreciated. I did notice if I run console.log('test1'); on ajax success, then console.log('test2'); in normal js after the ajax function, test2 prints before test1 so the issue is an ajax call has a small delay, but doesn't stop the rest of the function to get results. The variable simply, was not set "yet", so you need to delay the next function.

function runPHP(){
    var input = document.getElementById("input1");
    var result = 'failed to run php';

    $.ajax({ url: '/test.php',
        type: 'POST',
        data: {action: 'test'},
        success: function(data) {
            result = data;
        }
    });

    setTimeout(function(){
        console.log(result);
    }, 1000);
}

on test.php (incase you need to test this function)

function test(){
    print 'ran php';
}

if(isset($_POST['action']) && !empty($_POST['action'])) {
    $action = htmlentities($_POST['action']);
    switch($action) {
        case 'test' : test();break;
    }
}

Stopping an Android app from console

First, put the app into the background (press the device's home button)

Then....in a terminal....

adb shell am kill com.your.package

How do I rotate the Android emulator display?

If you're on a Mac, fn+F11 will rotate the emulator.

But if you're using 4.4, that won't rotate the application orientation. There's a bug

Getting IPV4 address from a sockaddr structure

Type casting of sockaddr to sockaddr_in and retrieval of ipv4 using inet_ntoa

char * ip = inet_ntoa(((struct sockaddr_in *)sockaddr)->sin_addr);

regex match any whitespace

Your regex should work 'as-is'. Assuming that it is doing what you want it to.

wordA(\s*)wordB(?! wordc)

This means match wordA followed by 0 or more spaces followed by wordB, but do not match if followed by wordc. Note the single space between ?! and wordc which means that wordA wordB wordc will not match, but wordA wordB wordc will.

Here are some example matches and the associated replacement output:

enter image description here

Note that all matches are replaced no matter how many spaces. There are a couple of other points: -

  • (?! wordc) is a negative lookahead, so you wont match lines wordA wordB wordc which is assume is intended (and is why the last line is not matched). Currently you are relying on the space after ?! to match the whitespace. You may want to be more precise and use (?!\swordc). If you want to match against more than one space before wordc you can use (?!\s*wordc) for 0 or more spaces or (?!\s*+wordc) for 1 or more spaces depending on what your intention is. Of course, if you do want to match lines with wordc after wordB then you shouldn't use a negative lookahead.

  • * will match 0 or more spaces so it will match wordAwordB. You may want to consider + if you want at least one space.

  • (\s*) - the brackets indicate a capturing group. Are you capturing the whitespace to a group for a reason? If not you could just remove the brackets, i.e. just use \s.

Update based on comment

Hello the problem is not the expression but the HTML out put   that are not considered as whitespace. it's a Joomla website.

Preserving your original regex you can use:

wordA((?:\s|&nbsp;)*)wordB(?!(?:\s|&nbsp;)wordc)

The only difference is that not the regex matches whitespace OR &nbsp;. I replaced wordc with \swordc since that is more explicit. Note as I have already pointed out that the negative lookahead ?! will not match when wordB is followed by a single whitespace and wordc. If you want to match multiple whitespaces then see my comments above. I also preserved the capture group around the whitespace, if you don't want this then remove the brackets as already described above.

Example matches:

enter image description here

REST API Token-based Authentication

In the web a stateful protocol is based on having a temporary token that is exchanged between a browser and a server (via cookie header or URI rewriting) on every request. That token is usually created on the server end, and it is a piece of opaque data that has a certain time-to-live, and it has the sole purpose of identifying a specific web user agent. That is, the token is temporary, and becomes a STATE that the web server has to maintain on behalf of a client user agent during the duration of that conversation. Therefore, the communication using a token in this way is STATEFUL. And if the conversation between client and server is STATEFUL it is not RESTful.

The username/password (sent on the Authorization header) is usually persisted on the database with the intent of identifying a user. Sometimes the user could mean another application; however, the username/password is NEVER intended to identify a specific web client user agent. The conversation between a web agent and server based on using the username/password in the Authorization header (following the HTTP Basic Authorization) is STATELESS because the web server front-end is not creating or maintaining any STATE information whatsoever on behalf of a specific web client user agent. And based on my understanding of REST, the protocol states clearly that the conversation between clients and server should be STATELESS. Therefore, if we want to have a true RESTful service we should use username/password (Refer to RFC mentioned in my previous post) in the Authorization header for every single call, NOT a sension kind of token (e.g. Session tokens created in web servers, OAuth tokens created in authorization servers, and so on).

I understand that several called REST providers are using tokens like OAuth1 or OAuth2 accept-tokens to be be passed as "Authorization: Bearer " in HTTP headers. However, it appears to me that using those tokens for RESTful services would violate the true STATELESS meaning that REST embraces; because those tokens are temporary piece of data created/maintained on the server side to identify a specific web client user agent for the valid duration of a that web client/server conversation. Therefore, any service that is using those OAuth1/2 tokens should not be called REST if we want to stick to the TRUE meaning of a STATELESS protocol.

Rubens

get specific row from spark dataframe

Following is a Java-Spark way to do it , 1) add a sequentially increment columns. 2) Select Row number using Id. 3) Drop the Column

import static org.apache.spark.sql.functions.*;
..

ds = ds.withColumn("rownum", functions.monotonically_increasing_id());
ds = ds.filter(col("rownum").equalTo(99));
ds = ds.drop("rownum");

N.B. monotonically_increasing_id starts from 0;

How to send FormData objects with Ajax-requests in jQuery?

Instead of - fd.append( 'userfile', $('#userfile')[0].files[0]);

Use - fd.append( 'file', $('#userfile')[0].files[0]);

How to display two digits after decimal point in SQL Server

want to convert the column name Amount as float number with 2 decimals

CASE WHEN EXISTS (SELECT Amount From InvoiceFee Ifee WHERE IFEE.InvoiceId = 
DIR.InvoiceId AND FeeId = 'Freight Cost')
     THEN  CAST ((SELECT Amount From InvoiceFee Ifee WHERE IFEE.InvoiceId = 
DIR.InvoiceId AND FeeId = 'Freight Cost') AS VARCHAR)
            ELSE '' END AS FCost,

How to mock private method for testing using PowerMock?

I don't see a problem here. With the following code using the Mockito API, I managed to do just that :

public class CodeWithPrivateMethod {

    public void meaningfulPublicApi() {
        if (doTheGamble("Whatever", 1 << 3)) {
            throw new RuntimeException("boom");
        }
    }

    private boolean doTheGamble(String whatever, int binary) {
        Random random = new Random(System.nanoTime());
        boolean gamble = random.nextBoolean();
        return gamble;
    }
}

And here's the JUnit test :

import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
import static org.powermock.api.mockito.PowerMockito.when;
import static org.powermock.api.support.membermodification.MemberMatcher.method;

@RunWith(PowerMockRunner.class)
@PrepareForTest(CodeWithPrivateMethod.class)
public class CodeWithPrivateMethodTest {

    @Test(expected = RuntimeException.class)
    public void when_gambling_is_true_then_always_explode() throws Exception {
        CodeWithPrivateMethod spy = PowerMockito.spy(new CodeWithPrivateMethod());

        when(spy, method(CodeWithPrivateMethod.class, "doTheGamble", String.class, int.class))
                .withArguments(anyString(), anyInt())
                .thenReturn(true);

        spy.meaningfulPublicApi();
    }
}

How do I create an executable in Visual Studio 2013 w/ C++?

Do ctrl+F5 to compile and run your project without debugging. Look at the output pane (defaults to "Show output from Build"). If it compiled successfully, the path to the .exe file should be there after {projectname}.vcxproj ->

How to change content on hover

This exact example is present on mozilla developers page:

::after

As you can see it even allows you to create tooltips! :) Also, instead of embedding the actual text in your CSS, you may use content: attr(data-descr);, and store it in data-descr="ADD" attribute of your HTML tag (which is nice because you can e.g translate it)

CSS content can only be usef with :after and :before pseudo-elements, so you can try to proceed with something like this:

.item a p.new-label span:after{
  position: relative;
  content: 'NEW'
}
.item:hover a p.new-label span:after {
  content: 'ADD';
}

The CSS :after pseudo-element matches a virtual last child of the selected element. Typically used to add cosmetic content to an element, by using the content CSS property. This element is inline by default.

Disable activity slide-in animation when launching new activity?

In my opinion the best answer is to use "overridePendingTransition(0, 0);"

to avoid seeing animation when you want to Intent to an Activity use:

this.startActivity(new Intent(v.getContext(), newactivity.class));
this.overridePendingTransition(0, 0);

and to not see the animation when you press back button Override onPause method in your newactivity

@Override
protected void onPause() {
    super.onPause();
    overridePendingTransition(0, 0);
}

Table and Index size in SQL Server

sp_spaceused gives you the size of all the indexes combined.

If you want the size of each index for a table, use one of these two queries:

SELECT
    i.name                  AS IndexName,
    SUM(s.used_page_count) * 8   AS IndexSizeKB
FROM sys.dm_db_partition_stats  AS s 
JOIN sys.indexes                AS i
ON s.[object_id] = i.[object_id] AND s.index_id = i.index_id
WHERE s.[object_id] = object_id('dbo.TableName')
GROUP BY i.name
ORDER BY i.name

SELECT
    i.name              AS IndexName,
    SUM(page_count * 8) AS IndexSizeKB
FROM sys.dm_db_index_physical_stats(
    db_id(), object_id('dbo.TableName'), NULL, NULL, 'DETAILED') AS s
JOIN sys.indexes AS i
ON s.[object_id] = i.[object_id] AND s.index_id = i.index_id
GROUP BY i.name
ORDER BY i.name

The results are usually slightly different but within 1%.

Saving ssh key fails

It looks like you are executing that command from a DOS session (see this thread), and that means you need to create the .ssh directory before said command.

Or you can execute it from the bash session (part of the msysgit distribution), and it should work.

The Import android.support.v7 cannot be resolved

I tried the answer described here but it doesn´t worked for me. I have the last Android SDK tools ver. 23.0.2 and Android SDK Platform-tools ver. 20

The support library android-support-v4.jar is causing this conflict, just delete the library under /libs folder of your project, don´t be scared, the library is already contained in the library appcompat_v7, clean and build your project, and your project will work like a charm!

enter image description here

Any reason not to use '+' to concatenate two strings?

Plus operator is perfectly fine solution to concatenate two Python strings. But if you keep adding more than two strings (n > 25) , you might want to think something else.

''.join([a, b, c]) trick is a performance optimization.

How to set top position using jquery

And with Prototype:

$('yourDivId').setStyle({top: '100px', left:'80px'});

Postgresql SQL: How check boolean field with null and True,False Value?

I'm not expert enough in the inner workings of Postgres to know why your query with the double condition in the WHERE clause be not working. But one way to get around this would be to use a UNION of the two queries which you know do work:

SELECT * FROM table_name WHERE boolean_column IS NULL
UNION
SELECT * FROM table_name WHERE boolean_column = FALSE

You could also try using COALESCE:

SELECT * FROM table_name WHERE COALESCE(boolean_column, FALSE) = FALSE

This second query will replace all NULL values with FALSE and then compare against FALSE in the WHERE condition.

How many threads can a Java VM support?

Maximum number of threads depends on following things:

  • Hardware Configuration like microprocessor, RAM.
  • Operating System like whether it is 32-bit or 64-bit
  • Code inside the run method. If code inside the run method is huge then single thread object will have more memory requirement
  • Regular expression for excluding special characters

    I guess it depends what language you are targeting. In general, something like this should work:

    [^<>%$]
    

    The "[]" construct defines a character class, which will match any of the listed characters. Putting "^" as the first character negates the match, ie: any character OTHER than one of those listed.

    You may need to escape some of the characters within the "[]", depending on what language/regex engine you are using.

    sh: 0: getcwd() failed: No such file or directory on cited drive

    if some directory/folder does not exist but somehow you navigated to that directory in that case you can see this Error,

    for example:

    • currently, you are in "mno" directory (path = abc/def/ghi/jkl/mno
    • run "sudo su" and delete mno
    • goto the "ghi" directory and delete "jkl" directory
    • now you are in "ghi" directory (path abc/def/ghi)
    • run "exit"
    • after running the "exit", you will get that Error
    • now you will be in "mno"(path = abc/def/ghi/jkl/mno) folder. that does not exist.

    so, Generally this Error will show when Directory doesn't exist.

    to fix this, simply run "cd;" or you can move to any other directory which exists.

    How to resolve git stash conflict without commit?

    Don't follow other answers

    Well, you can follow them :). But I don't think that doing a commit and then resetting the branch to remove that commit and similar workarounds suggested in other answers are the clean way to solve this issue.

    Clean solution

    The following solution seems to be much cleaner to me and it's also suggested by the Git itself — try to execute git status in the repository with a conflict:

    Unmerged paths:
      (use "git reset HEAD <file>..." to unstage)
      (use "git add <file>..." to mark resolution)
    

    So let's do what Git suggests (without doing any useless commits):

    1. Manually (or using some merge tool, see below) resolve the conflict(s).
    2. Use git reset to mark conflict(s) as resolved and unstage the changes. You can execute it without any parameters and Git will remove everything from the index. You don't have to execute git add before.
    3. Finally, remove the stash with git stash drop, because Git doesn't do that on conflict.

    Translated to the command-line:

    $ git stash pop
    
    # ...resolve conflict(s)
    
    $ git reset
    
    $ git stash drop
    

    Explanation of the default behavior

    There are two ways of marking conflicts as resolved: git add and git reset. While git reset marks the conflicts as resolved and removes files from the index, git add also marks the conflicts as resolved, but keeps files in the index.

    Adding files to the index after a conflict is resolved is on purpose. This way you can differentiate the changes from the previous stash and changes you made after the conflict was resolved. If you don't like it, you can always use git reset to remove everything from the index.

    Merge tools

    I highly recommend using any of 3-way merge tools for resolving conflicts, e.g. KDiff3, Meld, etc., instead of doing it manually. It usually solves all or majority of conflicts automatically itself. It's huge time-saver!

    How to convert a python numpy array to an RGB image with Opencv 2.4?

    The images c, d, e , and f in the following show colorspace conversion they also happen to be numpy arrays <type 'numpy.ndarray'>:

    import numpy, cv2
    def show_pic(p):
            ''' use esc to see the results'''
            print(type(p))
            cv2.imshow('Color image', p)
            while True:
                k = cv2.waitKey(0) & 0xFF
                if k == 27: break 
            return
            cv2.destroyAllWindows()
    
    b = numpy.zeros([200,200,3])
    
    b[:,:,0] = numpy.ones([200,200])*255
    b[:,:,1] = numpy.ones([200,200])*255
    b[:,:,2] = numpy.ones([200,200])*0
    cv2.imwrite('color_img.jpg', b)
    
    
    c = cv2.imread('color_img.jpg', 1)
    c = cv2.cvtColor(c, cv2.COLOR_BGR2RGB)
    
    d = cv2.imread('color_img.jpg', 1)
    d = cv2.cvtColor(c, cv2.COLOR_RGB2BGR)
    
    e = cv2.imread('color_img.jpg', -1)
    e = cv2.cvtColor(c, cv2.COLOR_BGR2RGB)
    
    f = cv2.imread('color_img.jpg', -1)
    f = cv2.cvtColor(c, cv2.COLOR_RGB2BGR)
    
    
    pictures = [d, c, f, e]
    
    for p in pictures:
            show_pic(p)
    # show the matrix
    print(c)
    print(c.shape)
    

    See here for more info: http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html#cvtcolor

    OR you could:

    img = numpy.zeros([200,200,3])
    
    img[:,:,0] = numpy.ones([200,200])*255
    img[:,:,1] = numpy.ones([200,200])*255
    img[:,:,2] = numpy.ones([200,200])*0
    
    r,g,b = cv2.split(img)
    img_bgr = cv2.merge([b,g,r])
    

    How to avoid installing "Unlimited Strength" JCE policy files when deploying an application?

    For our application, we had a client server architecture and we only allowed decrypting/encrypting data in the server level. Hence the JCE files are only needed there.

    We had another problem where we needed to update a security jar on the client machines, through JNLP, it overwrites the libraries in${java.home}/lib/security/ and the JVM on first run.

    That made it work.

    Get MAC address using shell script

    This was the only thing that worked for me on Armbian:

    dmesg | grep -oE 'mac=.*\w+' | cut -b '5-'
    

    Read all worksheets in an Excel workbook into an R list with data.frames

    Updated answer using readxl (22nd June 2015)

    Since posting this question the readxl package has been released. It supports both xls and xlsx format. Importantly, in contrast to other excel import packages, it works on Windows, Mac, and Linux without requiring installation of additional software.

    So a function for importing all sheets in an Excel workbook would be:

    library(readxl)    
    read_excel_allsheets <- function(filename, tibble = FALSE) {
        # I prefer straight data.frames
        # but if you like tidyverse tibbles (the default with read_excel)
        # then just pass tibble = TRUE
        sheets <- readxl::excel_sheets(filename)
        x <- lapply(sheets, function(X) readxl::read_excel(filename, sheet = X))
        if(!tibble) x <- lapply(x, as.data.frame)
        names(x) <- sheets
        x
    }
    

    This could be called with:

    mysheets <- read_excel_allsheets("foo.xls")
    

    Old Answer

    Building on the answer provided by @mnel, here is a simple function that takes an Excel file as an argument and returns each sheet as a data.frame in a named list.

    library(XLConnect)
    
    importWorksheets <- function(filename) {
        # filename: name of Excel file
        workbook <- loadWorkbook(filename)
        sheet_names <- getSheets(workbook)
        names(sheet_names) <- sheet_names
        sheet_list <- lapply(sheet_names, function(.sheet){
            readWorksheet(object=workbook, .sheet)})
    }
    

    Thus, it could be called with:

    importWorksheets('test.xls')
    

    Async await in linq select

    With current methods available in Linq it looks quite ugly:

    var tasks = items.Select(
        async item => new
        {
            Item = item,
            IsValid = await IsValid(item)
        });
    var tuples = await Task.WhenAll(tasks);
    var validItems = tuples
        .Where(p => p.IsValid)
        .Select(p => p.Item)
        .ToList();
    

    Hopefully following versions of .NET will come up with more elegant tooling to handle collections of tasks and tasks of collections.

    json_decode returns NULL after webservice call

    i had a similar problem, got it to work after adding '' (single quotes) around the json_encode string. Following from my js file:

    var myJsVar  = <?php echo json_encode($var); ?> ;    -------> NOT WORKING  
    var myJsVar = '<?php echo json_encode($var); ?>' ;    -------> WORKING
    

    just thought of posting it in case someone stumbles upon this post like me :)

    Reading an image file in C/C++

    Check out Intel Open CV library ...

    Parsing PDF files (especially with tables) with PDFBox

    I've had decent success with parsing text files generated by the pdftotext utility (sudo apt-get install poppler-utils).

    File convertPdf() throws Exception {
        File pdf = new File("mypdf.pdf");
        String outfile = "mytxt.txt";
        String proc = "/usr/bin/pdftotext";
        ProcessBuilder pb = new ProcessBuilder(proc,"-layout",pdf.getAbsolutePath(),outfile); 
        Process p = pb.start();
    
        p.waitFor();
    
        return new File(outfile);
    }
    

    how to pass parameters to query in SQL (Excel)

    It depends on the database to which you're trying to connect, the method by which you created the connection, and the version of Excel that you're using. (Also, most probably, the version of the relevant ODBC driver on your computer.)

    The following examples are using SQL Server 2008 and Excel 2007, both on my local machine.

    When I used the Data Connection Wizard (on the Data tab of the ribbon, in the Get External Data section, under From Other Sources), I saw the same thing that you did: the Parameters button was disabled, and adding a parameter to the query, something like select field from table where field2 = ?, caused Excel to complain that the value for the parameter had not been specified, and the changes were not saved.

    When I used Microsoft Query (same place as the Data Connection Wizard), I was able to create parameters, specify a display name for them, and enter values each time the query was run. Bringing up the Connection Properties for that connection, the Parameters... button is enabled, and the parameters can be modified and used as I think you want.

    I was also able to do this with an Access database. It seems reasonable that Microsoft Query could be used to create parameterized queries hitting other types of databases, but I can't easily test that right now.

    Efficient way to remove ALL whitespace from String?

    Try the replace method of the string in C#.

    XML.Replace(" ", string.Empty);
    

    Producing a new line in XSLT

    I second Nic Gibson's method, this was always my favorite:

    <xsl:variable name='nl'><xsl:text>
    </xsl:text></xsl:variable>
    

    However I have been using the Ant task <echoxml> to create stylesheets and run them against files. The task will do attribute value templates, e.g. ${DSTAMP} , but is also will reformat your xml, so in some cases, the entity reference is preferable.

    <xsl:variable name='nl'><xsl:text>&#xa;</xsl:text></xsl:variable>
    

    What is the difference between an int and a long in C++?

    When compiling for x64, the difference between int and long is somewhere between 0 and 4 bytes, depending on what compiler you use.

    GCC uses the LP64 model, which means that ints are 32-bits but longs are 64-bits under 64-bit mode.

    MSVC for example uses the LLP64 model, which means both ints and longs are 32-bits even in 64-bit mode.

    Change CSS class properties with jQuery

    In case you cannot use different stylesheet by dynamically loading it, you can use this function to modify CSS class. Hope it helps you...

    function changeCss(className, classValue) {
        // we need invisible container to store additional css definitions
        var cssMainContainer = $('#css-modifier-container');
        if (cssMainContainer.length == 0) {
            var cssMainContainer = $('<div id="css-modifier-container"></div>');
            cssMainContainer.hide();
            cssMainContainer.appendTo($('body'));
        }
    
        // and we need one div for each class
        classContainer = cssMainContainer.find('div[data-class="' + className + '"]');
        if (classContainer.length == 0) {
            classContainer = $('<div data-class="' + className + '"></div>');
            classContainer.appendTo(cssMainContainer);
        }
    
        // append additional style
        classContainer.html('<style>' + className + ' {' + classValue + '}</style>');
    }
    

    This function will take any class name and replace any previously set values with the new value. Note, you can add multiple values by passing the following into classValue: "background: blue; color:yellow".

    MySQL trigger if condition exists

    I think you mean to update it back to the OLD password, when the NEW one is not supplied.

    DROP TRIGGER IF EXISTS upd_user;
    
    DELIMITER $$
    
        CREATE TRIGGER upd_user BEFORE UPDATE ON `user`
        FOR EACH ROW BEGIN
          IF (NEW.password IS NULL OR NEW.password = '') THEN
                SET NEW.password = OLD.password;
          ELSE
                SET NEW.password = Password(NEW.Password);
          END IF;
        END$$
    
    DELIMITER ;
    

    However, this means a user can never blank out a password.


    If the password field (already encrypted) is being sent back in the update to mySQL, then it will not be null or blank, and MySQL will attempt to redo the Password() function on it. To detect this, use this code instead

    DELIMITER $$
    
        CREATE TRIGGER upd_user BEFORE UPDATE ON `user`
        FOR EACH ROW BEGIN
          IF (NEW.password IS NULL OR NEW.password = '' OR NEW.password = OLD.password) THEN
                SET NEW.password = OLD.password;
          ELSE
                SET NEW.password = Password(NEW.Password);
          END IF;
        END$$
    
    DELIMITER ;
    

    What is "pom" packaging in maven?

    Packaging an artifact as POM means that it has a very simple lifecycle

    package -> install -> deploy
    

    http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

    This is useful if you are deploying a pom.xml file or a project that doesn't fit with the other packaging types.

    We use pom packaging for many of our projects and bind extra phases and goals as appropriate.

    For example some of our applications use:

    prepare-package -> test -> package -> install -> deploy
    

    When you mvn install the application it should add it to your locally .m2 repository. To publish elsewhere you will need to set up correct distribution management information. You may also need to use the maven builder helper plugin, if artifacts aren't automatically attached to by Maven.

    How can I stop float left?

    For some reason none of the above fixes worked for me (I had the same problem), but this did:

    Try putting all of the floated elements in a div element: <div class="row">...</div>.

    Then add this CCS: .row::after {content: ""; clear: both; display: table;}

    MySql export schema without data

    you can also extract an individual table with the --no-data option

    mysqldump -u user -h localhost --no-data -p database tablename > table.sql
    

    jQuery: selecting each td in a tr

    $('#tblNewAttendees tbody tr).each((index, tr)=> {
            //console.log(tr);
            $(tr).children('td').each ((index, td) => {
                console.log(td);
    
            }); 
    
        });
    

    You can use this tr and td parameter also.

    Configuration Error: <compilation debug="true" targetFramework="4.0"> ASP.NET MVC3

    You could be using the 32 bit version, so you should prob try at the command line from the Framework (not Framework64) folder.

    IE Did you try it from C:\Windows\Microsoft.NET\Framework\v4.0.30319 rather than the 64 version? If you ref 32 bit libs you can be forced to 32 bit version (some other reasons as well if I recall)

    Is your site a child of another site in IIS?

    For more details on this (since it applies to various types of apps running on .NET) see Scott's post at:

    32-bit and 64-bit confusion around x86 and x64 and the .NET Framework and CLR

    Boto3 Error: botocore.exceptions.NoCredentialsError: Unable to locate credentials

    If you're sure you configure your aws correctly, just make sure the user of the project can read from ./aws or just run your project as a root

    Using $_POST to get select option value from HTML


    -- html file --

    <select name='city[]'> 
                    <option name='Kabul' value="Kabul" > Kabul </option>
                    <option name='Herat' value='Herat' selected="selected">             Herat </option>
                    <option name='Mazar' value='Mazar'>Mazar </option>
    </select>
    

    -- php file --

    $city = (isset($_POST['city']) ? $_POST['city']: null);
    print("city is: ".$city[0]);
    

    Python: Get relative path from comparing two absolute paths

    os.path.commonprefix() and os.path.relpath() are your friends:

    >>> print os.path.commonprefix(['/usr/var/log', '/usr/var/security'])
    '/usr/var'
    >>> print os.path.commonprefix(['/tmp', '/usr/var'])  # No common prefix: the root is the common prefix
    '/'
    

    You can thus test whether the common prefix is one of the paths, i.e. if one of the paths is a common ancestor:

    paths = […, …, …]
    common_prefix = os.path.commonprefix(list_of_paths)
    if common_prefix in paths:
        …
    

    You can then find the relative paths:

    relative_paths = [os.path.relpath(path, common_prefix) for path in paths]
    

    You can even handle more than two paths, with this method, and test whether all the paths are all below one of them.

    PS: depending on how your paths look like, you might want to perform some normalization first (this is useful in situations where one does not know whether they always end with '/' or not, or if some of the paths are relative). Relevant functions include os.path.abspath() and os.path.normpath().

    PPS: as Peter Briggs mentioned in the comments, the simple approach described above can fail:

    >>> os.path.commonprefix(['/usr/var', '/usr/var2/log'])
    '/usr/var'
    

    even though /usr/var is not a common prefix of the paths. Forcing all paths to end with '/' before calling commonprefix() solves this (specific) problem.

    PPPS: as bluenote10 mentioned, adding a slash does not solve the general problem. Here is his followup question: How to circumvent the fallacy of Python's os.path.commonprefix?

    PPPPS: starting with Python 3.4, we have pathlib, a module that provides a saner path manipulation environment. I guess that the common prefix of a set of paths can be obtained by getting all the prefixes of each path (with PurePath.parents()), taking the intersection of all these parent sets, and selecting the longest common prefix.

    PPPPPS: Python 3.5 introduced a proper solution to this question: os.path.commonpath(), which returns a valid path.

    Is there a vr (vertical rule) in html?

    No, there is no vertical rule.

    It does not make logical sense to have one. HTML is parsed sequentially, meaning you lay out your HTML code from top to bottom, left to right how you want it to appear from top to bottom, left to right (generally)

    A vr tag does not follow that paradigm.

    This is easy to do using CSS, however. Ex:

    <div style="border-left:1px solid #000;height:500px"></div>
    

    Note that you need to specify a height or fill the container with content.

    favicon.png vs favicon.ico - why should I use PNG instead of ICO?

    PNG has 2 advantages: it has smaller size and it's more widely used and supported (except in case favicons). As mentioned before ICO, can have multiple size icons, which is useful for desktop applications, but not too much for websites. I would recommend you to put a favicon.ico in the root of your application. An if you have access to the Head of your website pages use the tag to point to a png file. So older browser will show the favicon.ico and newer ones the png.

    To create Png and Icon files I would recommend The Gimp.

    ES6 modules in the browser: Uncaught SyntaxError: Unexpected token import

    You can try ES6 Modules in Google Chrome Beta (61) / Chrome Canary.

    Reference Implementation of ToDo MVC by Paul Irish - https://paulirish.github.io/es-modules-todomvc/

    I've basic demo -

    //app.js
    import {sum} from './calc.js'
    
    console.log(sum(2,3));
    
    //calc.js
    let sum = (a,b) => { return a + b; }
    
    export {sum};
    
    <html> 
        <head>
            <meta charset="utf-8" />
        </head>
    
        <body>
            <h1>ES6</h1>
            <script src="app.js" type="module"></script>
        </body>
    
    </html>
    

    Hope it helps!

    JS how to cache a variable

    I have written a generic caching func() which will cache any variable easily and very readable format. Caching function:

    function calculateSomethingMaybe(args){
      return args;
    }
    
    function caching(fn){
      const cache = {};
      return function(){
        const string = arguments[0];
        if(!cache[string]){
          const result = fn.apply(this, arguments);
          cache[string] = result;
          return result;
        }
        return cache[string];
      }
    }
    
    const letsCache = caching(calculateSomethingMaybe);
    
    console.log(letsCache('a book'), letsCache('a pen'), letsCache('a book'));
    

    What is "android:allowBackup"?

    It is privacy concern. It is recommended to disallow users to backup an app if it contains sensitive data. Having access to backup files (i.e. when android:allowBackup="true"), it is possible to modify/read the content of an app even on a non-rooted device.

    Solution - use android:allowBackup="false" in the manifest file.

    You can read this post to have more information: Hacking Android Apps Using Backup Techniques

    Double Iteration in List Comprehension

    Additionally, you could use just the same variable for the member of the input list which is currently accessed and for the element inside this member. However, this might even make it more (list) incomprehensible.

    input = [[1, 2], [3, 4]]
    [x for x in input for x in x]
    

    First for x in input is evaluated, leading to one member list of the input, then, Python walks through the second part for x in x during which the x-value is overwritten by the current element it is accessing, then the first x defines what we want to return.

    Uncaught TypeError: $(...).datepicker is not a function(anonymous function)

    The error is because you are including the script links at two places which will do the override and re-initialization of date-picker

    _x000D_
    _x000D_
    <meta charset="utf-8">_x000D_
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />_x000D_
    _x000D_
    _x000D_
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>_x000D_
    <script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>_x000D_
    _x000D_
    <script type="text/javascript">_x000D_
    $(document).ready(function() {_x000D_
        $('.dateinput').datepicker({ format: "yyyy/mm/dd" });_x000D_
    }); _x000D_
    </script>_x000D_
    _x000D_
          <!-- Bootstrap core JavaScript_x000D_
    ================================================== -->_x000D_
    <!-- Placed at the end of the document so the pages load faster -->_x000D_
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    _x000D_
    _x000D_
    _x000D_

    So exclude either src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"

    or src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"

    It will work..

    How to get on scroll events?

    for angular 4, the working solution was to do inside the component

    @HostListener('window:scroll', ['$event']) onScrollEvent($event){
      console.log($event);
      console.log("scrolling");
    } 
    

    Structs data type in php?

    I cobbled together a 'dynamic' struct class today, had a look tonight and someone has written something similar with better handling of constructor parameters, it might be worth a look:

    http://code.activestate.com/recipes/577160-php-struct-port/

    One of the comments on this page mentions an interesting thing in PHP - apparently you're able to cast an array as an object, which lets you refer to array elements using the arrow notation, as you would with a Struct pointer in C. The comment's example was as follows:

    $z = array('foo' => 1, 'bar' => true, 'baz' => array(1,2,3));
    //accessing values as properties
    $y = (object)$z;
    echo $y->foo;
    

    I haven't tried this myself yet, but it may be that you could get the desired notation by just casting - if that's all you're after. These are of course 'dynamic' data structures, just syntactic sugar for accessing key/value pairs in a hash.

    If you're actually looking for something more statically typed, then ASpencer's answer is the droid you're looking for (as Obi-Wan might say.)

    How to trim a string after a specific character in java

    Use regex:

    result = result.replaceAll("\n.*", "");
    

    replaceAll() uses regex to find its target, which I have replaced with "nothing" - effectively deleting the target.

    The target I've specified by the regex \n.* means "the newline char and everything after"

    Set div height to fit to the browser using CSS

    I think the fastest way is to use grid system with fractions. So your container have 100vw, which is 100% of the window width and 100vh which is 100% of the window height.

    Using fractions or 'fr' you can choose the width you like. the sum of the fractions equals to 100%, in this example 4fr. So the first part will be 1fr (25%) and the seconf is 3fr (75%)

    More about fr units here.

    _x000D_
    _x000D_
    .container{
      width: 100vw;
      height:100vh; 
      display: grid;
      grid-template-columns: 1fr 3fr;
    }
    
    /*You don't need this*/
    .div1{
      background-color: yellow;
    }
    
    .div2{
      background-color: red;
    }
    _x000D_
    <div class='container'>
      <div class='div1'>This is div 1</div>
      <div class='div2'>This is div 2</div>
    </div>
    _x000D_
    _x000D_
    _x000D_

    Is there a way to take the first 1000 rows of a Spark Dataframe?

    The method you are looking for is .limit.

    Returns a new Dataset by taking the first n rows. The difference between this function and head is that head returns an array while limit returns a new Dataset.

    Example usage:

    df.limit(1000)
    

    Move seaborn plot legend to a different position?

    it seems you can directly call:

    g = sns.factorplot("class", "survived", "sex",
                    data=titanic, kind="bar",
                    size=6, palette="muted",
                   legend_out=False)
    
    g._legend.set_bbox_to_anchor((.7, 1.1))
    

    Netbeans how to set command line arguments in Java

    Note that from Netbeans 8 there is no Run panel in the project Properties.

    To do what you want I simply add the following line (example setting the locale) in my project's properties file:

    run.args.extra=--locale fr:FR
    

    ASP.NET 2.0 - How to use app_offline.htm

    Make sure that app_offline.htm is in the root of the virtual directory or website in IIS.

    How to export SQL Server database to MySQL?

    As mentioned above, if your data contains tab characters, commas, or newlines in your data then it's going to be very hard to export and import it with CSV. Values will overflow out of the fields and you will get errors. This problem is even worse if any of your long fields contain multi-line text with newline characters in them.

    My method in these cases is to use the BCP command-line utility to export the data from SQL server, then use LOAD DATA INFILE .. INTO TABLE command in MySQL to read the data file back in. BCP is one of the oldest SQL Server command line utilities (dating back to the birth of SQL server - v6.5) but it is still around and still one of the easiest and most reliable ways to get data out.

    To use this technique you need to create each destination table with the same or equivalent schema in MySQL. I do that by right clicking the Database in SQL enterprise manager, then Tasks->Generate Scripts... and create a SQL script for all the tables. You must then convert the script to MySQL compatible SQL by hand (definitely the worst part of the job) and finally run the CREATE TABLE commands on the MySQL database so you have matching tables to the SQL server versions column-wise, empty and ready for data.

    Then, export the data from the MS-SQL side as follows.

    bcp DatabaseName..TableName out TableName.dat -q -c -T -S ServerName -r \0 -t !\t!
    

    (If you're using SQL Server Express, use a -S value like so: -S "ComputerName\SQLExpress")

    That will create a file named TableName.dat, with fields delimited by ![tab]! and rows delimited by \0 NUL characters.

    Now copy the .dat files into /tmp on the MySQL server and load on the MySQL side like so:

    LOAD DATA INFILE '/tmp/TableName.dat' INTO TABLE TableName FIELDS TERMINATED BY '!\t!' LINES TERMINATED BY '\0';
    

    Don't forget that the tables (TableName in this example) must be created already on the MySQL side.

    This procedure is painfully manual when it comes to converting the SQL schema over, however it works for even the most difficult of data and because it uses flat files you never need to persuade SQL Server to talk to MySQL, or vice versa.

    Meaning of ${project.basedir} in pom.xml

    ${project.basedir} is the root directory of your project.

    ${project.build.directory} is equivalent to ${project.basedir}/target

    as it is defined here: https://github.com/apache/maven/blob/trunk/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml#L53

    How can I analyze a heap dump in IntelliJ? (memory leak)

    The best thing out there is Memory Analyzer (MAT), IntelliJ does not have any bundled heap dump analyzer.

    How to call a shell script from python code?

    Use the subprocess module as mentioned above.

    I use it like this:

    subprocess.call(["notepad"])
    

    How can I join on a stored procedure?

    The short answer is "you can't". What you'll need to do is either use a subquery or you could convert your existing stored procedure in to a table function. Creating it as function would depend on how "reusable" you would need it to be.

    How to output to the console in C++/Windows

    If using MinGW, add an option, -Wl,subsystem,console or -mconsole.

    JPA : How to convert a native query result set to POJO class collection

    Old style using Resultset

    @Transactional(readOnly=true)
    public void accessUser() {
        EntityManager em = this.getEntityManager();
        org.hibernate.Session session = em.unwrap(org.hibernate.Session.class);
        session.doWork(new Work() {
            @Override
            public void execute(Connection con) throws SQLException {
                try (PreparedStatement stmt = con.prepareStatement(
                        "SELECT u.username, u.name, u.email, 'blabla' as passe, login_type as loginType FROM users u")) {
                    ResultSet rs = stmt.executeQuery();
                    ResultSetMetaData rsmd = rs.getMetaData();
                    for (int i = 1; i <= rsmd.getColumnCount(); i++) {
                        System.out.print(rsmd.getColumnName(i) + " (" + rsmd.getColumnTypeName(i) + ") / ");
                    }
                    System.out.println("");
                    while (rs.next()) {
                        System.out.println("Found username " + rs.getString("USERNAME") + " name " + rs.getString("NAME") + " email " + rs.getString("EMAIL") + " passe " + rs.getString("PASSE") + " email " + rs.getInt("LOGIN_TYPE"));
                    }
                }
            }
        });
    }
    

    Can I install the "app store" in an IOS simulator?

    This is NOT possible

    The Simulator does not run ARM code, ONLY x86 code. Unless you have the raw source code from Apple, you won't see the App Store on the Simulator.

    The app you write you will be able to test in the Simulator by running it directly from Xcode even if you don't have a developer account. To test your app on an actual device, you will need to be apart of the Apple Developer program.

    Generating statistics from Git repository

    git-bars can show you "commits per day/week/year/etc".

    You can install it with pip install git-bars (cf. https://github.com/knadh/git-bars)

    The output looks like this:

    $ git-bars -p month
    370 commits over 19 month(s)
    2019-10  7    ¯¯¯¯¯¯
    2019-09  36   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2019-08  7    ¯¯¯¯¯¯
    2019-07  10   ¯¯¯¯¯¯¯¯
    2019-05  4    ¯¯¯
    2019-04  2    ¯
    2019-03  28   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2019-02  32   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2019-01  16   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2018-12  41   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2018-11  52   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2018-10  57   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2018-09  37   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2018-08  17   ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    2018-07  1    
    2018-04  7    ¯¯¯¯¯¯
    2018-03  12   ¯¯¯¯¯¯¯¯¯¯
    2018-02  2    ¯
    2016-01  2    ¯
    

    Reporting Services Remove Time from DateTime in Expression

    =CDate(Now).ToString("dd/MM/yyyy")
    

    Although you are hardcoding the date formart to a locale.

    How to get TimeZone from android mobile?

    All the answers here seem to suggest setting the daylite parameter to false. This is incorrect for many timezones which change abbreviated names depending on the time of the year (e.g. EST vs EDT).

    The solution below will give you the correct abbreviation according to the current date for the timezone.

    val tz = TimeZone.getDefault()
    val isDaylite = tz.inDaylightTime(Date())
    val timezone = tz.getDisplayName(isDaylite, TimeZone.SHORT)
    

    How do I see what character set a MySQL database / table / column is?

    show global variables where variable_name like 'character_set_%' or variable_name like 'collation%'

    How do you open an SDF file (SQL Server Compact Edition)?

    You can open SQL Compact 4.0 Databases from Visual Studio 2012 directly, by going to

    1. View ->
    2. Server Explorer ->
    3. Data Connections ->
    4. Add Connection...
    5. Change... (Data Source:)
    6. Microsoft SQL Server Compact 4.0
    7. Browse...

    and following the instructions there.

    If you're okay with them being upgraded to 4.0, you can open older versions of SQL Compact Databases also - handy if you just want to have a look at some tables, etc for stuff like Windows Phone local database development.

    (note I'm not sure if this requires a specific SKU of VS2012, if it helps I'm running Premium)

    How to provide a file download from a JSF backing bean?

    Introduction

    You can get everything through ExternalContext. In JSF 1.x, you can get the raw HttpServletResponse object by ExternalContext#getResponse(). In JSF 2.x, you can use the bunch of new delegate methods like ExternalContext#getResponseOutputStream() without the need to grab the HttpServletResponse from under the JSF hoods.

    On the response, you should set the Content-Type header so that the client knows which application to associate with the provided file. And, you should set the Content-Length header so that the client can calculate the download progress, otherwise it will be unknown. And, you should set the Content-Disposition header to attachment if you want a Save As dialog, otherwise the client will attempt to display it inline. Finally just write the file content to the response output stream.

    Most important part is to call FacesContext#responseComplete() to inform JSF that it should not perform navigation and rendering after you've written the file to the response, otherwise the end of the response will be polluted with the HTML content of the page, or in older JSF versions, you will get an IllegalStateException with a message like getoutputstream() has already been called for this response when the JSF implementation calls getWriter() to render HTML.

    Turn off ajax / don't use remote command!

    You only need to make sure that the action method is not called by an ajax request, but that it is called by a normal request as you fire with <h:commandLink> and <h:commandButton>. Ajax requests and remote commands are handled by JavaScript which in turn has, due to security reasons, no facilities to force a Save As dialogue with the content of the ajax response.

    In case you're using e.g. PrimeFaces <p:commandXxx>, then you need to make sure that you explicitly turn off ajax via ajax="false" attribute. In case you're using ICEfaces, then you need to nest a <f:ajax disabled="true" /> in the command component.

    Generic JSF 2.x example

    public void download() throws IOException {
        FacesContext fc = FacesContext.getCurrentInstance();
        ExternalContext ec = fc.getExternalContext();
    
        ec.responseReset(); // Some JSF component library or some Filter might have set some headers in the buffer beforehand. We want to get rid of them, else it may collide.
        ec.setResponseContentType(contentType); // Check http://www.iana.org/assignments/media-types for all types. Use if necessary ExternalContext#getMimeType() for auto-detection based on filename.
        ec.setResponseContentLength(contentLength); // Set it with the file size. This header is optional. It will work if it's omitted, but the download progress will be unknown.
        ec.setResponseHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); // The Save As popup magic is done here. You can give it any file name you want, this only won't work in MSIE, it will use current request URL as file name instead.
    
        OutputStream output = ec.getResponseOutputStream();
        // Now you can write the InputStream of the file to the above OutputStream the usual way.
        // ...
    
        fc.responseComplete(); // Important! Otherwise JSF will attempt to render the response which obviously will fail since it's already written with a file and closed.
    }
    

    Generic JSF 1.x example

    public void download() throws IOException {
        FacesContext fc = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
    
        response.reset(); // Some JSF component library or some Filter might have set some headers in the buffer beforehand. We want to get rid of them, else it may collide.
        response.setContentType(contentType); // Check http://www.iana.org/assignments/media-types for all types. Use if necessary ServletContext#getMimeType() for auto-detection based on filename.
        response.setContentLength(contentLength); // Set it with the file size. This header is optional. It will work if it's omitted, but the download progress will be unknown.
        response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); // The Save As popup magic is done here. You can give it any file name you want, this only won't work in MSIE, it will use current request URL as file name instead.
    
        OutputStream output = response.getOutputStream();
        // Now you can write the InputStream of the file to the above OutputStream the usual way.
        // ...
    
        fc.responseComplete(); // Important! Otherwise JSF will attempt to render the response which obviously will fail since it's already written with a file and closed.
    }
    

    Common static file example

    In case you need to stream a static file from the local disk file system, substitute the code as below:

    File file = new File("/path/to/file.ext");
    String fileName = file.getName();
    String contentType = ec.getMimeType(fileName); // JSF 1.x: ((ServletContext) ec.getContext()).getMimeType(fileName);
    int contentLength = (int) file.length();
    
    // ...
    
    Files.copy(file.toPath(), output);
    

    Common dynamic file example

    In case you need to stream a dynamically generated file, such as PDF or XLS, then simply provide output there where the API being used expects an OutputStream.

    E.g. iText PDF:

    String fileName = "dynamic.pdf";
    String contentType = "application/pdf";
    
    // ...
    
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, output);
    document.open();
    // Build PDF content here.
    document.close();
    

    E.g. Apache POI HSSF:

    String fileName = "dynamic.xls";
    String contentType = "application/vnd.ms-excel";
    
    // ...
    
    HSSFWorkbook workbook = new HSSFWorkbook();
    // Build XLS content here.
    workbook.write(output);
    workbook.close();
    

    Note that you cannot set the content length here. So you need to remove the line to set response content length. This is technically no problem, the only disadvantage is that the enduser will be presented an unknown download progress. In case this is important, then you really need to write to a local (temporary) file first and then provide it as shown in previous chapter.

    Utility method

    If you're using JSF utility library OmniFaces, then you can use one of the three convenient Faces#sendFile() methods taking either a File, or an InputStream, or a byte[], and specifying whether the file should be downloaded as an attachment (true) or inline (false).

    public void download() throws IOException {
        Faces.sendFile(file, true);
    }
    

    Yes, this code is complete as-is. You don't need to invoke responseComplete() and so on yourself. This method also properly deals with IE-specific headers and UTF-8 filenames. You can find source code here.

    How do I get first name and last name as whole name in a MYSQL query?

    You can use a query to get the same:

    SELECT CONCAT(FirstName , ' ' , MiddleName , ' ' , Lastname) AS Name FROM TableName;
    

    Note: This query return if all columns have some value if anyone is null or empty then it will return null for all, means Name will return "NULL"

    To avoid above we can use the IsNull keyword to get the same.

    SELECT Concat(Ifnull(FirstName,' ') ,' ', Ifnull(MiddleName,' '),' ', Ifnull(Lastname,' ')) FROM TableName;
    

    If anyone containing null value the ' ' (space) will add with next value.

    Remove background drawable programmatically in Android

    Try this

    RelativeLayout relative = (RelativeLayout) findViewById(R.id.widget29);
    relative.setBackgroundResource(0);
    

    Check the setBackground functions in the RelativeLayout documentation

    Command to change the default home directory of a user

    From Linux Change Default User Home Directory While Adding A New User:

    Simply open this file using a text editor, type:

    vi /etc/default/useradd
    

    The default home directory defined by HOME variable, find line that read as follows:

    HOME=/home
    

    Replace with:

    HOME=/iscsi/user
    

    Save and close the file. Now you can add user using regular useradd command:

    # useradd vivek
    # passwd vivek
    

    Verify user information:

    # finger vivek
    

    Calling Python in Java?

    It's not smart to have python code inside java. Wrap your python code with flask or other web framework to make it as a microservice. Make your java program able to call this microservice (e.g. via REST).

    Beleive me, this is much simple and will save you tons of issues. And the codes are loosely coupled so they are scalable.

    Updated on Mar 24th 2020: According to @stx's comment, the above approach is not suitable for massive data transfer between client and server. Here is another approach I recommended: Connecting Python and Java with Rust(C/C++ also ok). https://medium.com/@shmulikamar/https-medium-com-shmulikamar-connecting-python-and-java-with-rust-11c256a1dfb0

    How to throw RuntimeException ("cannot find symbol")

    As everyone else has said, instantiate the object before throwing it.

    Just wanted to add one bit; it's incredibly uncommon to throw a RuntimeException. It would be normal for code in the API to throw a subclass of this, but normally, application code would throw Exception, or something that extends Exception but not RuntimeException.

    And in retrospect, I missed adding the reason why you use Exception instead of RuntimeException; @Jay, in the comment below, added in the useful bit. RuntimeException isn't a checked exception;

    • The method signature doesn't have to declare that a RuntimeException may be thrown.
    • Callers of that method aren't required to catch the exception, or acknowlege it in any way.
    • Developers who try to later use your code won't anticipate this problem unless they look carefully, and it will increase the maintenance burden of the code.

    Just what is an IntPtr exactly?

    A direct interpretation

    An IntPtr is an integer which is the same size as a pointer.

    You can use IntPtr to store a pointer value in a non-pointer type. This feature is important in .NET since using pointers is highly error prone and therefore illegal in most contexts. By allowing the pointer value to be stored in a "safe" data type, plumbing between unsafe code segments may be implemented in safer high-level code -- or even in a .NET language that doesn't directly support pointers.

    The size of IntPtr is platform-specific, but this detail rarely needs to be considered, since the system will automatically use the correct size.

    The name "IntPtr" is confusing -- something like Handle might have been more appropriate. My initial guess was that "IntPtr" was a pointer to an integer. The MSDN documentation of IntPtr goes into somewhat cryptic detail without ever providing much insight about the meaning of the name.

    An alternative perspective

    An IntPtr is a pointer with two limitations:

    1. It cannot be directly dereferenced
    2. It doesn't know the type of the data that it points to.

    In other words, an IntPtr is just like a void* -- but with the extra feature that it can (but shouldn't) be used for basic pointer arithmetic.

    In order to dereference an IntPtr, you can either cast it to a true pointer (an operation which can only be performed in "unsafe" contexts) or you can pass it to a helper routine such as those provided by the InteropServices.Marshal class. Using the Marshal class gives the illusion of safety since it doesn't require you to be in an explicit "unsafe" context. However, it doesn't remove the risk of crashing which is inherent in using pointers.

    How can I use "." as the delimiter with String.split() in java

    The argument to split is a regular expression. "." matches anything so your delimiter to split on is anything.

    Variable not accessible when initialized outside function

    To define a global variable which is based off a DOM element a few things must be checked. First, if the code is in the <head> section, then the DOM will not loaded on execution. In this case, an event handler must be placed in order to set the variable after the DOM has been loaded, like this:

    var systemStatus;
    window.onload = function(){ systemStatus = document.getElementById("system_status"); };
    

    However, if this script is inline in the page as the DOM loads, then it can be done as long as the DOM element in question has loaded above where the script is located. This is because javascript executes synchronously. This would be valid:

    <div id="system_status"></div>
    <script type="text/javascript">
     var systemStatus = document.getElementById("system_status");
    </script>
    

    As a result of the latter example, most pages which run scripts in the body save them until the very end of the document. This will allow the page to load, and then the javascript to execute which in most cases causes a visually faster rendering of the DOM.

    DropDownList's SelectedIndexChanged event not firing

    Set DropDownList AutoPostBack property to true.

    Eg:

    <asp:DropDownList ID="logList" runat="server" AutoPostBack="True" 
            onselectedindexchanged="itemSelected">
        </asp:DropDownList>
    

    Extract elements of list at odd positions

    Solution

    Yes, you can:

    l = L[1::2]
    

    And this is all. The result will contain the elements placed on the following positions (0-based, so first element is at position 0, second at 1 etc.):

    1, 3, 5
    

    so the result (actual numbers) will be:

    2, 4, 6
    

    Explanation

    The [1::2] at the end is just a notation for list slicing. Usually it is in the following form:

    some_list[start:stop:step]
    

    If we omitted start, the default (0) would be used. So the first element (at position 0, because the indexes are 0-based) would be selected. In this case the second element will be selected.

    Because the second element is omitted, the default is being used (the end of the list). So the list is being iterated from the second element to the end.

    We also provided third argument (step) which is 2. Which means that one element will be selected, the next will be skipped, and so on...

    So, to sum up, in this case [1::2] means:

    1. take the second element (which, by the way, is an odd element, if you judge from the index),
    2. skip one element (because we have step=2, so we are skipping one, as a contrary to step=1 which is default),
    3. take the next element,
    4. Repeat steps 2.-3. until the end of the list is reached,

    EDIT: @PreetKukreti gave a link for another explanation on Python's list slicing notation. See here: Explain Python's slice notation

    Extras - replacing counter with enumerate()

    In your code, you explicitly create and increase the counter. In Python this is not necessary, as you can enumerate through some iterable using enumerate():

    for count, i in enumerate(L):
        if count % 2 == 1:
            l.append(i)
    

    The above serves exactly the same purpose as the code you were using:

    count = 0
    for i in L:
        if count % 2 == 1:
            l.append(i)
        count += 1
    

    More on emulating for loops with counter in Python: Accessing the index in Python 'for' loops

    Creating Unicode character from its number

    Just cast your int to a char. You can convert that to a String using Character.toString():

    String s = Character.toString((char)c);
    

    EDIT:

    Just remember that the escape sequences in Java source code (the \u bits) are in HEX, so if you're trying to reproduce an escape sequence, you'll need something like int c = 0x2202.

    How to escape indicator characters (i.e. : or - ) in YAML

    What also works and is even nicer for long, multiline texts, is putting your text indented on the next line, after a pipe or greater-than sign:

    text: >
        Op dit plein stond het hoofdkantoor van de NIROM: Nederlands Indische 
        Radio Omroep
    

    A pipe preserves newlines, a gt-sign turns all the following lines into one long string.

    SQL Server: Best way to concatenate multiple columns?

    Blockquote

    Using concatenation in Oracle SQL is very easy and interesting. But don't know much about MS-SQL.

    Blockquote

    Here we go for Oracle : Syntax: SQL> select First_name||Last_Name as Employee from employees;

    Result: EMPLOYEE

    EllenAbel SundarAnde MozheAtkinson

    Here AS: keyword used as alias. We can concatenate with NULL values. e.g. : columnm1||Null

    Suppose any of your columns contains a NULL value then the result will show only the value of that column which has value.

    You can also use literal character string in concatenation.

    e.g. select column1||' is a '||column2 from tableName; Result: column1 is a column2. in between literal should be encolsed in single quotation. you cna exclude numbers.

    NOTE: This is only for oracle server//SQL.

    Including a css file in a blade template?

    You should try this :

    {{ Html::style('css/styles.css') }}
    

    OR

    <link href="{{ asset('css/styles.css') }}" rel="stylesheet">
    

    Hope this help for you !!!

    Converting any object to a byte array in java

    To convert the object to a byte array use the concept of Serialization and De-serialization.

    The complete conversion from object to byte array explained in is tutorial.

    http://javapapers.com/core-java/java-serialization/

    Q. How can we convert object into byte array?
    
    Q. How can we serialize a object?
    
    Q. How can we De-serialize a object?
    
    Q. What is the need of serialization and de-serialization?
    

    Any way to make a WPF textblock selectable?

    Use a TextBox with these settings instead to make it read only and to look like a TextBlock control.

    <TextBox Background="Transparent"
             BorderThickness="0"
             Text="{Binding Text, Mode=OneWay}"
             IsReadOnly="True"
             TextWrapping="Wrap" />
    

    BigDecimal to string

    To get exactly 10.0001 you need to use the String constructor or valueOf (which constructs a BigDecimal based on the canonical representation of the double):

    BigDecimal bd = new BigDecimal("10.0001");
    System.out.println(bd.toString()); // prints 10.0001
    //or alternatively
    BigDecimal bd = BigDecimal.valueOf(10.0001);
    System.out.println(bd.toString()); // prints 10.0001
    

    The problem with new BigDecimal(10.0001) is that the argument is a double and it happens that doubles can't represent 10.0001 exactly. So 10.0001 is "transformed" to the closest possible double, which is 10.000099999999999766941982670687139034271240234375 and that's what your BigDecimal shows.

    For that reason, it rarely makes sense to use the double constructor.

    You can read more about it here, Moving decimal places over in a double

    How to split a dataframe string column into two columns?

    If you don't want to create a new dataframe, or if your dataframe has more columns than just the ones you want to split, you could:

    df["flips"], df["row_name"] = zip(*df["row"].str.split().tolist())
    del df["row"]  
    

    What is the difference between the GNU Makefile variable assignments =, ?=, := and +=?

    Using = causes the variable to be assigned a value. If the variable already had a value, it is replaced. This value will be expanded when it is used. For example:

    HELLO = world
    HELLO_WORLD = $(HELLO) world!
    
    # This echoes "world world!"
    echo $(HELLO_WORLD)
    
    HELLO = hello
    
    # This echoes "hello world!"
    echo $(HELLO_WORLD)
    

    Using := is similar to using =. However, instead of the value being expanded when it is used, it is expanded during the assignment. For example:

    HELLO = world
    HELLO_WORLD := $(HELLO) world!
    
    # This echoes "world world!"
    echo $(HELLO_WORLD)
    
    HELLO = hello
    
    # Still echoes "world world!"
    echo $(HELLO_WORLD)
    
    HELLO_WORLD := $(HELLO) world!
    
    # This echoes "hello world!"
    echo $(HELLO_WORLD)
    

    Using ?= assigns the variable a value iff the variable was not previously assigned. If the variable was previously assigned a blank value (VAR=), it is still considered set I think. Otherwise, functions exactly like =.

    Using += is like using =, but instead of replacing the value, the value is appended to the current one, with a space in between. If the variable was previously set with :=, it is expanded I think. The resulting value is expanded when it is used I think. For example:

    HELLO_WORLD = hello
    HELLO_WORLD += world!
    
    # This echoes "hello world!"
    echo $(HELLO_WORLD)
    

    If something like HELLO_WORLD = $(HELLO_WORLD) world! were used, recursion would result, which would most likely end the execution of your Makefile. If A := $(A) $(B) were used, the result would not be the exact same as using += because B is expanded with := whereas += would not cause B to be expanded.

    How might I find the largest number contained in a JavaScript array?

    My solution to return largest numbers in arrays.

    const largestOfFour = arr => {
        let arr2 = [];
        arr.map(e => {
            let numStart = -Infinity;
            e.forEach(num => {
                if (num > numStart) {
                    numStart = num;
    
                }
            })
            arr2.push(numStart);
        })
        return arr2;
    }
    

    String method cannot be found in a main class method

    It seem like your Resort method doesn't declare a compareTo method. This method typically belongs to the Comparable interface. Make sure your class implements it.

    Additionally, the compareTo method is typically implemented as accepting an argument of the same type as the object the method gets invoked on. As such, you shouldn't be passing a String argument, but rather a Resort.

    Alternatively, you can compare the names of the resorts. For example

    if (resortList[mid].getResortName().compareTo(resortName)>0)  

    how to check if a file is a directory or regular file in python?

    An educational example from the stat documentation:

    import os, sys
    from stat import *
    
    def walktree(top, callback):
        '''recursively descend the directory tree rooted at top,
           calling the callback function for each regular file'''
    
        for f in os.listdir(top):
            pathname = os.path.join(top, f)
            mode = os.stat(pathname)[ST_MODE]
            if S_ISDIR(mode):
                # It's a directory, recurse into it
                walktree(pathname, callback)
            elif S_ISREG(mode):
                # It's a file, call the callback function
                callback(pathname)
            else:
                # Unknown file type, print a message
                print 'Skipping %s' % pathname
    
    def visitfile(file):
        print 'visiting', file
    
    if __name__ == '__main__':
        walktree(sys.argv[1], visitfile)
    

    jQuery: outer html()

    No siblings solution:

    var x = $('#xxx').parent().html();
    alert(x);
    

    Universal solution:

    // no cloning necessary    
    var x = $('#xxx').wrapAll('<div>').parent().html(); 
    alert(x);
    

    Fiddle here: http://jsfiddle.net/ezmilhouse/Mv76a/

    Why is Android Studio reporting "URI is not registered"?

    I encountered same problem in opening android React Native Project in Android Studio.

    The root cause is I opened the root folder of React Native Project instead of android folder of the React Native Project.

    Reopen the project under android folder of React Native Project solved my problem.

    How to check if an object implements an interface?

    If you want a method like public void doSomething([Object implements Serializable]) you can just type it like this public void doSomething(Serializable serializableObject). You can now pass it any object that implements Serializable but using the serializableObject you only have access to the methods implemented in the object from the Serializable interface.

    How to fix "could not find a base address that matches schema http"... in WCF

    There should be a way to solve this pretty easily with external config sections and an extra deployment step that drops a deployment specific external .config file into a known location. We typically use this solution to handle the different server configurations for our different deployment environments (Staging, QA, production, etc) with our "dev box" being the default if no special copy occurs.

    The ternary (conditional) operator in C

    It's crucial for code obfuscation, like this:

    Look->       See?!
    
    No
    :(
    Oh, well
    );
    

    Renaming column names of a DataFrame in Spark Scala

    Sometime we have the column name is below format in SQLServer or MySQL table
    
    Ex  : Account Number,customer number
    
    But Hive tables do not support column name containing spaces, so please use below solution to rename your old column names.
    
    Solution:
    
    val renamedColumns = df.columns.map(c => df(c).as(c.replaceAll(" ", "_").toLowerCase()))
    df = df.select(renamedColumns: _*)
    

    Uncaught syntaxerror: unexpected identifier?

    There are errors here :

    var formTag = document.getElementsByTagName("form"), // form tag is an array
    selectListItem = $('select'),
    makeSelect = document.createElement('select'),
    makeSelect.setAttribute("id", "groups");
    

    The code must change to:

    var formTag = document.getElementsByTagName("form");
    var selectListItem = $('select');
    var makeSelect = document.createElement('select');
    makeSelect.setAttribute("id", "groups");
    

    By the way, there is another error at line 129 :

    var createLi.appendChild(createSubList);
    

    Replace it with:

    createLi.appendChild(createSubList);
    

    The name 'InitializeComponent' does not exist in the current context

    The issue appeared while I did not change the code, using a recent VS2019 16.7.5.

    Just opening for edition the corresponding XAML file solved the problem.

    How to grep a text file which contains some binary data?

    grep -a will force grep to search and output from a file that grep thinks is binary. grep -a re test.log

    How to convert FileInputStream to InputStream?

    If you wrap one stream into another, you don't close intermediate streams, and very important: You don't close them before finishing using the outer streams. Because you would close the outer stream too.

    How do I get textual contents from BLOB in Oracle SQL

    Use this SQL to get the first 2000 chars of the BLOB.

    SELECT utl_raw.cast_to_varchar2(dbms_lob.substr(<YOUR_BLOB_FIELD>,2000,1)) FROM <YOUR_TABLE>;
    

    Note: This is because, Oracle will not be able to handle the conversion of BLOB that is more than length 2000.

    How do I improve ASP.NET MVC application performance?

    If you are running your ASP.NET MVC application on Microsoft Azure (IaaS or PaaS), then do the following at least at before the first deployment.

    • Scan your code with static code analyzer for any type of code debt, duplication, complexity and for security.
    • Always enable the Application Insight, and monitor the performance, browsers, and analytics frequently to find the real-time issues in the application.
    • Implement Azure Redis Cache for static and less frequent change data like Images, assets, common layouts etc.
    • Always rely on APM (Application Performance Management) tools provided by Azure.
    • See application map frequently to investigate the communication performance between internal parts of the application.
    • Monitor Database/VM performance too.
    • Use Load Balancer (Horizontal Scale) if required and within the budget.
    • If your application has the target audience all over the globe, then use Azure Trafic Manager to automatically handle the incoming request and divert it to the most available application instance.
    • Try to automate the performance monitoring by writing the alerts based on low performance.

    ASP.NET email validator regex

    E-mail addresses are very difficult to verify correctly with a mere regex. Here is a pretty scary regex that supposedly implements RFC822, chapter 6, the specification of valid e-mail addresses.

    Not really an answer, but maybe related to what you're trying to accomplish.

    How to customize the configuration file of the official PostgreSQL Docker image?

    Using docker compose you can mount a volume with postgresql.auto.conf. Example:

    version: '2'
    
    services:
      db:
        image: postgres:10.9-alpine
        volumes:
          - postgres:/var/lib/postgresql/data:z
          - ./docker/postgres/postgresql.auto.conf:/var/lib/postgresql/data/postgresql.auto.conf
        ports:
          - 5432:5432
    

    How to deal with floating point number precision in JavaScript?

    If you don't want to think about having to call functions each time, you can create a Class that handles conversion for you.

    class Decimal {
      constructor(value = 0, scale = 4) {
        this.intervalValue = value;
        this.scale = scale;
      }
    
      get value() {
        return this.intervalValue;
      }
    
      set value(value) {
        this.intervalValue = Decimal.toDecimal(value, this.scale);
      }
    
      static toDecimal(val, scale) {
        const factor = 10 ** scale;
        return Math.round(val * factor) / factor;
      }
    }
    

    Usage:

    const d = new Decimal(0, 4);
    d.value = 0.1 + 0.2;              // 0.3
    d.value = 0.3 - 0.2;              // 0.1
    d.value = 0.1 + 0.2 - 0.3;        // 0
    d.value = 5.551115123125783e-17;  // 0
    d.value = 1 / 9;                  // 0.1111
    

    Of course, when dealing with Decimal there are caveats:

    d.value = 1/3 + 1/3 + 1/3;   // 1
    d.value -= 1/3;              // 0.6667
    d.value -= 1/3;              // 0.3334
    d.value -= 1/3;              // 0.0001
    

    You'd ideally want to use a high scale (like 12), and then convert it down when you need to present it or store it somewhere. Personally, I did experiment with creating a UInt8Array and trying to create a precision value (much like the SQL Decimal type), but since Javascript doesn't let you overload operators, it just gets a bit tedious not being able to use basic math operators (+, -, /, *) and using functions instead like add(), substract(), mult(). For my needs, it's not worth it.

    But if you do need that level of precision and are willing to endure the use of functions for math, then I recommend the decimal.js library.

    How to change fontFamily of TextView in Android

    You can also change standard fonts with setTextAppearance (requires API 16), see https://stackoverflow.com/a/36301508/2914140:

    <style name="styleA">
        <item name="android:fontFamily">sans-serif</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">?android:attr/textColorPrimary</item>
    </style>
    <style name="styleB">
        <item name="android:fontFamily">sans-serif-light</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">?android:attr/textColorTertiary</item>
    </style>
    
    
    if(condition){
        TextViewCompat.setTextAppearance(textView, R.style.styleA);
    } else {
        TextViewCompat.setTextAppearance(textView,R.style.styleB);
    }
    

    How to fix error ::Format of the initialization string does not conform to specification starting at index 0::

    I was having the same issue when accessing a published ASP.NET Web Api. In my case, I realized that when I was about to publish the Web Api, I had not indicated a connection string inside the Databases section:

    After using the three dot button, the connection string will be displayed on the text field to the left

    So I generated it using the three dot button, and after publishing, it worked.

    What is weird, is that for a long time I am pretty sure that there was no connection string in that configuration but it still worked.

    using mailto to send email with an attachment

    Nope, this is not possible at all. There is no provision for it in the mailto: protocol, and it would be a gaping security hole if it were possible.

    The best idea to send a file, but have the client send the E-Mail that I can think of is:

    • Have the user choose a file
    • Upload the file to a server
    • Have the server return a random file name after upload
    • Build a mailto: link that contains the URL to the uploaded file in the message body

    How can I make a time delay in Python?

    The Tkinter library in the Python standard library is an interactive tool which you can import. Basically, you can create buttons and boxes and popups and stuff that appear as windows which you manipulate with code.

    If you use Tkinter, do not use time.sleep(), because it will muck up your program. This happened to me. Instead, use root.after() and replace the values for however many seconds, with a milliseconds. For example, time.sleep(1) is equivalent to root.after(1000) in Tkinter.

    Otherwise, time.sleep(), which many answers have pointed out, which is the way to go.

    .htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

    Also make sure php is enabled by uncommenting the

    LoadModule php5_module libexec/apache2/libphp5.so
    

    line that comes right after

    LoadModule rewrite_module libexec/apache2/mod_rewrite.so
    

    Make sure both those lines in

    /etc/apache2/httpd.conf
    

    are uncommented.

    How to change Rails 3 server default port in develoment?

    If you're using puma (I'm using this on Rails 6+):

    To change default port for all environments:

    The "{3000}" part sets the default port if undefined in ENV.

    ~/config/puma.rb
    
    change:
        port ENV.fetch('PORT') { 3000 }
    for:
        port ENV.fetch('PORT') { 10524 }
    

    To define it depending on the environment, using Figaro gem for credentials/environment variable:

    ~/application.yml
    local_db_username: your_user_name
    ?local_db_password: your_password
    PORT: 10524
    

    You can adapt this to you own environment variable manager.

    How to declare global variables in Android?

    On activity result is called before on resume. So move you login check to on resume and your second login can be blocked once the secomd activity has returned a positive result. On resume is called every time so there is not worries of it not being called the first time.

    How to get input text length and validate user in javascript

    JavaScript validation is not secure as anybody can change what your script does in the browser. Using it for enhancing the visual experience is ok though.

    var textBox = document.getElementById("myTextBox");
    var textLength = textBox.value.length;
    if(textLength > 5)
    {
        //red
        textBox.style.backgroundColor = "#FF0000";
    }
    else
    {
        //green
        textBox.style.backgroundColor = "#00FF00";
    }
    

    How to overcome the CORS issue in ReactJS

    The ideal way would be to add CORS support to your server.

    You could also try using a separate jsonp module. As far as I know axios does not support jsonp. So I am not sure if the method you are using would qualify as a valid jsonp request.

    There is another hackish work around for the CORS problem. You will have to deploy your code with an nginx server serving as a proxy for both your server and your client. The thing that will do the trick us the proxy_pass directive. Configure your nginx server in such a way that the location block handling your particular request will proxy_pass or redirect your request to your actual server. CORS problems usually occur because of change in the website domain. When you have a singly proxy serving as the face of you client and you server, the browser is fooled into thinking that the server and client reside in the same domain. Ergo no CORS.

    Consider this example.

    Your server is my-server.com and your client is my-client.com Configure nginx as follows:

    // nginx.conf
    
    upstream server {
        server my-server.com;
    }
    
    upstream client {
        server my-client.com;
    }
    
    server {
        listen 80;
    
        server_name my-website.com;
        access_log /path/to/access/log/access.log;
        error_log /path/to/error/log/error.log;
    
        location / {
            proxy_pass http://client;
        }
    
        location ~ /server/(?<section>.*) {
            rewrite ^/server/(.*)$ /$1 break;
            proxy_pass http://server;
        }
    }
    

    Here my-website.com will be the resultant name of the website where the code will be accessible (name of the proxy website). Once nginx is configured this way. You will need to modify the requests such that:

    • All API calls change from my-server.com/<API-path> to my-website.com/server/<API-path>

    In case you are not familiar with nginx I would advise you to go through the documentation.

    To explain what is happening in the configuration above in brief:

    • The upstreams define the actual servers to whom the requests will be redirected
    • The server block is used to define the actual behaviour of the nginx server.
    • In case there are multiple server blocks the server_name is used to identify the block which will be used to handle the current request.
    • The error_log and access_log directives are used to define the locations of the log files (used for debugging)
    • The location blocks define the handling of different types of requests:
      1. The first location block handles all requests starting with / all these requests are redirected to the client
      2. The second location block handles all requests starting with /server/<API-path>. We will be redirecting all such requests to the server.

    Note: /server here is being used to distinguish the client side requests from the server side requests. Since the domain is the same there is no other way of distinguishing requests. Keep in mind there is no such convention that compels you to add /server in all such use cases. It can be changed to any other string eg. /my-server/<API-path>, /abc/<API-path>, etc.

    Even though this technique should do the trick, I would highly advise you to add CORS support to the server as this is the ideal way situations like these should be handled.

    If you wish to avoid doing all this while developing you could for this chrome extension. It should allow you to perform cross domain requests during development.

    Converting Chart.js canvas chart to image using .toDataUrl() results in blank image

    @EH_warch You need to use the Complete callback to generate your base64:

    onAnimationComplete: function(){
        console.log(this.toBase64Image())
    }
    

    If you see a white image, it means you called the toBase64Image before it finished rendering.

    how to use "tab space" while writing in text file

    You can use \t to create a tab in a file.

    How to save picture to iPhone photo library?

    In Swift:

        // Save it to the camera roll / saved photo album
        // UIImageWriteToSavedPhotosAlbum(self.myUIImageView.image, nil, nil, nil) or 
        UIImageWriteToSavedPhotosAlbum(self.myUIImageView.image, self, "image:didFinishSavingWithError:contextInfo:", nil)
    
        func image(image: UIImage!, didFinishSavingWithError error: NSError!, contextInfo: AnyObject!) {
                if (error != nil) {
                    // Something wrong happened.
                } else {
                    // Everything is alright.
                }
        }
    

    How to enable support of CPU virtualization on Macbook Pro?

    Here is a way to check is virtualization is enabled or disabled by the firmware as suggested by this link in parallels.com.

    How to check that Intel VT-x is supported in CPU:

    1. Open Terminal application from Application/Utilities

    2. Copy/paste command bellow

    sysctl -a | grep machdep.cpu.features

    1. You may see output similar to:

    Mac:~ user$ sysctl -a | grep machdep.cpu.features kern.exec: unknown type returned machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM SSE3 MON VMX EST TM2 TPR PDCM

    If you see VMX entry then CPU supports Intel VT-x feature, but it still may be disabled.

    Refer to this link on Apple.com to enable hardware support for virtualization:

    iFrame onload JavaScript event

    _x000D_
    _x000D_
    document.querySelector("iframe").addEventListener( "load", function(e) {_x000D_
    _x000D_
        this.style.backgroundColor = "red";_x000D_
        alert(this.nodeName);_x000D_
    _x000D_
        console.log(e.target);_x000D_
    _x000D_
    } );
    _x000D_
    <iframe src="example.com" ></iframe>
    _x000D_
    _x000D_
    _x000D_

    Check if file exists and whether it contains a specific string

    You should use the grep -q flag for quiet output. See the man pages below:

    man grep output :

     General Output Control
    
      -q, --quiet, --silent
                  Quiet;  do  not write anything to standard output.  Exit immediately with zero status
                  if any match is  found,  even  if  an  error  was  detected.   Also  see  the  -s  or
                  --no-messages option.  (-q is specified by POSIX.)
    

    This KornShell (ksh) script demos the grep quiet output and is a solution to your question.

    grepUtil.ksh :

    #!/bin/ksh
    
    #Initialize Variables
    file=poet.txt
    var=""
    dir=tempDir
    dirPath="/"${dir}"/"
    searchString="poet"
    
    #Function to initialize variables
    initialize(){
        echo "Entering initialize"
        echo "Exiting initialize"
    }
    
    #Function to create File with Input
    #Params: 1}Directory 2}File 3}String to write to FileName
    createFileWithInput(){
        echo "Entering createFileWithInput"
        orgDirectory=${PWD}
        cd ${1}
        > ${2}
        print ${3} >> ${2}
        cd ${orgDirectory}
        echo "Exiting createFileWithInput"
    }
    
    #Function to create File with Input
    #Params: 1}directoryName
    createDir(){
        echo "Entering createDir"
        mkdir -p ${1}
        echo "Exiting createDir"
    }
    
    #Params: 1}FileName
    readLine(){
        echo "Entering readLine"
        file=${1}
        while read line
        do
            #assign last line to var
            var="$line"
        done <"$file"
        echo "Exiting readLine"
    }
    #Check if file exists 
    #Params: 1}File
    doesFileExit(){
        echo "Entering doesFileExit"
        orgDirectory=${PWD}
        cd ${PWD}${dirPath}
        #echo ${PWD}
        if [[ -e "${1}" ]]; then
            echo "${1} exists"
        else
            echo "${1} does not exist"
        fi
        cd ${orgDirectory}
        echo "Exiting doesFileExit"
    }
    #Check if file contains a string quietly
    #Params: 1}Directory Path 2}File 3}String to seach for in File
    doesFileContainStringQuiet(){
        echo "Entering doesFileContainStringQuiet"
        orgDirectory=${PWD}
        cd ${PWD}${1}
        #echo ${PWD}
        grep -q ${3} ${2}
        if [ ${?} -eq 0 ];then
            echo "${3} found in ${2}"
        else
            echo "${3} not found in ${2}"
        fi
        cd ${orgDirectory}
        echo "Exiting doesFileContainStringQuiet"
    }
    #Check if file contains a string with output
    #Params: 1}Directory Path 2}File 3}String to seach for in File
    doesFileContainString(){
        echo "Entering doesFileContainString"
        orgDirectory=${PWD}
        cd ${PWD}${1}
        #echo ${PWD}
        grep ${3} ${2}
        if [ ${?} -eq 0 ];then
            echo "${3} found in ${2}"
        else
            echo "${3} not found in ${2}"
        fi
        cd ${orgDirectory}
        echo "Exiting doesFileContainString"
    }
    
    #-----------
    #---Main----
    #-----------
    echo "Starting: ${PWD}/${0} with Input Parameters: {1: ${1} {2: ${2} {3: ${3}"
    #initialize #function call#
    createDir ${dir} #function call#
    createFileWithInput ${dir} ${file} ${searchString} #function call#
    doesFileExit ${file} #function call#
    if [ ${?} -eq 0 ];then
        doesFileContainStringQuiet ${dirPath} ${file} ${searchString} #function call#
        doesFileContainString ${dirPath} ${file} ${searchString} #function call#
    fi
    echo "Exiting: ${PWD}/${0}"
    

    grepUtil.ksh Output :

    user@foo /tmp
    $ ksh grepUtil.ksh
    Starting: /tmp/grepUtil.ksh with Input Parameters: {1:  {2:  {3:
    Entering createDir
    Exiting createDir
    Entering createFileWithInput
    Exiting createFileWithInput
    Entering doesFileExit
    poet.txt exists
    Exiting doesFileExit
    Entering doesFileContainStringQuiet
    poet found in poet.txt
    Exiting doesFileContainStringQuiet
    Entering doesFileContainString
    poet
    poet found in poet.txt
    Exiting doesFileContainString
    Exiting: /tmp/grepUtil.ksh
    

    Which HTML elements can receive focus?

    The ally.js accessibility library provides an unofficial, test-based list here:

    https://allyjs.io/data-tables/focusable.html

    (NB: Their page doesn't say how often tests were performed.)

    How to find out line-endings in a text file?

    You can use xxd to show a hex dump of the file, and hunt through for "0d0a" or "0a" chars.

    You can use cat -v <filename> as @warriorpostman suggests.

    Get host domain from URL?

    Use Uri class and use Host property

    Uri url = new Uri(@"http://support.domain.com/default.aspx?id=12345");
    Console.WriteLine(url.Host);
    

    Is there any way to configure multiple registries in a single npmrc file

    You can use multiple repositories syntax for the registry entry in your .npmrc file:

    registry=http://serverA.url/repository-uri/
    //serverB.url/repository-uri/
    //serverC.url/repository-uri/:_authToken=00000000-0000-0000-0000-0000000000000
    //registry.npmjs.org/
    

    That would make your npm look for packages in different servers.

    What do all of Scala's symbolic operators mean?

    One (good, IMO) difference between Scala and other languages is that it lets you name your methods with almost any character.

    What you enumerate is not "punctuation" but plain and simple methods, and as such their behavior vary from one object to the other (though there are some conventions).

    For example, check the Scaladoc documentation for List, and you'll see some of the methods you mentioned here.

    Some things to keep in mind:

    • Most of the times the A operator+equal B combination translates to A = A operator B, like in the ||= or ++= examples.

    • Methods that end in : are right associative, this means that A :: B is actually B.::(A).

    You'll find most answers by browsing the Scala documentation. Keeping a reference here would duplicate efforts, and it would fall behind quickly :)

    How can I get a list of all open named pipes in Windows?

    You can view these with Process Explorer from sysinternals. Use the "Find -> Find Handle or DLL..." option and enter the pattern "\Device\NamedPipe\". It will show you which processes have which pipes open.

    range() for floats

    I helped add the function numeric_range to the package more-itertools.

    more_itertools.numeric_range(start, stop, step) acts like the built in function range but can handle floats, Decimal, and Fraction types.

    >>> from more_itertools import numeric_range
    >>> tuple(numeric_range(.1, 5, 1))
    (0.1, 1.1, 2.1, 3.1, 4.1)
    

    How do I handle newlines in JSON?

    You might want to look into this C# function to escape the string:

    http://www.aspcode.net/C-encode-a-string-for-JSON-JavaScript.aspx

    public static string Enquote(string s)  
    { 
        if (s == null || s.Length == 0)  
        { 
            return "\"\""; 
        } 
        char         c; 
        int          i; 
        int          len = s.Length; 
        StringBuilder sb = new StringBuilder(len + 4); 
        string       t; 
    
        sb.Append('"'); 
        for (i = 0; i < len; i += 1)  
        { 
            c = s[i]; 
            if ((c == '\\') || (c == '"') || (c == '>')) 
            { 
                sb.Append('\\'); 
                sb.Append(c); 
            } 
            else if (c == '\b') 
                sb.Append("\\b"); 
            else if (c == '\t') 
                sb.Append("\\t"); 
            else if (c == '\n') 
                sb.Append("\\n"); 
            else if (c == '\f') 
                sb.Append("\\f"); 
            else if (c == '\r') 
                sb.Append("\\r"); 
            else 
            { 
                if (c < ' ')  
                { 
                    //t = "000" + Integer.toHexString(c); 
                    string t = new string(c,1); 
                    t = "000" + int.Parse(tmp,System.Globalization.NumberStyles.HexNumber); 
                    sb.Append("\\u" + t.Substring(t.Length - 4)); 
                }  
                else  
                { 
                    sb.Append(c); 
                } 
            } 
        } 
        sb.Append('"'); 
        return sb.ToString(); 
    } 
    

    import httplib ImportError: No module named httplib

    I had this issue when I was trying to make my Docker container smaller. It was because I'd installed Python 2.7 with:

    apt-get install -y --no-install-recommends python
    

    And I should not have included the --no-install-recommends flag:

    apt-get install -y python
    

    How to take a first character from the string

    "ABCDEFG".First returns "A"

    Dim s as string
    
    s = "Rajan"
    s.First
    'R
    
    s = "Sajan"
    s.First
    'S
    

    How can I detect when the mouse leaves the window?

    I tried one after other and found a best answer at the time:

    https://stackoverflow.com/a/3187524/985399

    I skip old browsers so I made the code shorter to work on modern browsers (IE9+)

    _x000D_
    _x000D_
        document.addEventListener("mouseout", function(e) {_x000D_
            let t = e.relatedTarget || e.toElement;_x000D_
            if (!t || t.nodeName == "HTML") {_x000D_
              console.log("left window");_x000D_
            }_x000D_
        });_x000D_
    _x000D_
    document.write("<br><br>PROBLEM<br><br><div>Mouseout trigg on HTML elements</div>")
    _x000D_
    _x000D_
    _x000D_

    Here you see the browser support

    That was pretty short I thought

    But a problem still remained because "mouseout" trigg on all elements in the document.

    To prevent it from happen, use mouseleave (IE5.5+). See the good explanation in the link.

    The following code works without triggering on elements inside the element to be inside or outside of. Try also drag-release outside the document.

    _x000D_
    _x000D_
    var x = 0_x000D_
    _x000D_
    document.addEventListener("mouseleave", function(e) { console.log(x++) _x000D_
    })_x000D_
    _x000D_
    document.write("<br><br>SOLUTION<br><br><div>Mouseleave do not trigg on HTML elements</div>")
    _x000D_
    _x000D_
    _x000D_

    You can set the event on any HTML element. Do not have the event on document.body though, because the windows scrollbar may shrink the body and fire when mouse pointer is abowe the scroll bar when you want to scroll but not want to trigg a mouseLeave event over it. Set it on document instead, as in the example.

    How can I edit javascript in my browser like I can use Firebug to edit CSS/HTML?

    The problem with editing JavaScript like you can CSS and HTML is that there is no clean way to propagate the changes. JavaScript can modify the DOM, send Ajax requests, and dynamically modify existing objects and functions at runtime. So, once you have loaded a page with JavaScript, it might be completely different after the JavaScript has run. The browser would have to keep track of every modification your JavaScript code performs so that when you edit the JS, it rolls back the changes to a clean page.

    But, you can modify JavaScript dynamically a few other ways:

    • JavaScript injections in the URL bar: javascript: alert (1);
    • Via a JavaScript console (there's one built into Firefox, Chrome, and newer versions of IE
    • If you want to modify the JavaScript files as they are served to your browser (i.e. grabbing them in transit and modifying them), then I can't offer much help. I would suggest using a debugging proxy: http://www.fiddler2.com/fiddler2/

    The first two options are great because you can modify any JavaScript variables and functions currently in scope. However, you won't be able to modify the code and run it with a "just-served" page like you can with the third option.

    Other than that, as far as I know, there is no edit-and-run JavaScript editor in the browser. Hope this helps,

    How to read file from res/raw by name

    Here are two approaches you can read raw resources using Kotlin.

    You can get it by getting the resource id. Or, you can use string identifier in which you can programmatically change the filename with incrementation.

    Cheers mate

    // R.raw.data_post
    
    this.context.resources.openRawResource(R.raw.data_post)
    this.context.resources.getIdentifier("data_post", "raw", this.context.packageName)
    

    SQL Joins Vs SQL Subqueries (Performance)?

    You can use an Explain Plan to get an objective answer.

    For your problem, an Exists filter would probably perform the fastest.

    Check if program is running with bash shell script?

    If you want to execute that command, you should probably change:

    PROCESS_NUM='ps -ef | grep "$1" | grep -v "grep" | wc -l'
    

    to:

    PROCESS_NUM=$(ps -ef | grep "$1" | grep -v "grep" | wc -l)
    

    Download a div in a HTML page as pdf using javascript

    Your solution requires some ajax method to pass the html to a back-end server that has a html to pdf facility and then returning the pdf output generated back to the browser.

    First setting up the client side code, we will setup the jquery code as

       var options = {
                "url": "/pdf/generate/convert_to_pdf.php",
                "data": "data=" + $("#content").html(),
                "type": "post",
            }
       $.ajax(options)
    

    Then intercept the data from the html2pdf generation script (somewhere from the internet).
    convert_to_pdf.php (given as url in JQUERY code) looks like this -

    <?php
        $html = $_POST['data'];
        $pdf = html2pdf($html);
        
        header("Content-Type: application/pdf"); //check this is the proper header for pdf
        header("Content-Disposition: attachment; filename='some.pdf';");
        echo $pdf;
    ?>
    

    How to add months to a date in JavaScript?

    I would highly recommend taking a look at datejs. With it's api, it becomes drop dead simple to add a month (and lots of other date functionality):

    var one_month_from_your_date = your_date_object.add(1).month();
    

    What's nice about datejs is that it handles edge cases, because technically you can do this using the native Date object and it's attached methods. But you end up pulling your hair out over edge cases, which datejs has taken care of for you.

    Plus it's open source!

    How to Update a Component without refreshing full page - Angular

    Angular will automatically update a component when it detects a variable change .

    So all you have to do for it to "refresh" is ensure that the header has a reference to the new data. This could be via a subscription within header.component.ts or via an @Input variable...


    an example...

    main.html

    <app-header [header-data]="headerData"></app-header>
    

    main.component.ts

    public headerData:int = 0;
    
    ngOnInit(){
        setInterval(()=>{this.headerData++;}, 250);
    }
    

    header.html

    <p>{{data}}</p>
    

    header.ts

    @Input('header-data') data;
    

    In the above example, the header will recieve the new data every 250ms and thus update the component.


    For more information about Angular's lifecycle hooks, see: https://angular.io/guide/lifecycle-hooks

    Checking if a double (or float) is NaN in C++

    A possible solution that would not depend on the specific IEEE representation for NaN used would be the following:

    template<class T>
    bool isnan( T f ) {
        T _nan =  (T)0.0/(T)0.0;
        return 0 == memcmp( (void*)&f, (void*)&_nan, sizeof(T) );
    }
    

    Getting unique items from a list

    You can use Distinct extension method from LINQ

    Iterate through every file in one directory

    Dir.new('/my/dir').each do |name|
      ...
    end
    

    ReactJS call parent method

    Pass the method from Parent component down as a prop to your Child component. ie:

    export default class Parent extends Component {
      state = {
        word: ''
      }
    
      handleCall = () => {
        this.setState({ word: 'bar' })
      }
    
      render() {
        const { word } = this.state
        return <Child handler={this.handleCall} word={word} />
      }
    }
    
    const Child = ({ handler, word }) => (
    <span onClick={handler}>Foo{word}</span>
    )
    

    Subscripts in plots in R

    If you are looking to have multiple subscripts in one text then use the star(*) to separate the sections:

    plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))
    

    How to get english language word database?

    There's no such thing as a "complete" list. Different people have different ways of measuring -- for example, they might include slang, neologisms, multi-word phrases, offensive terms, foreign words, verb conjugations, and so on. Some people have even counted a million words! So you'll have to decide what you want in a word list.

    Modify property value of the objects in list using Java 8 streams

    You can use peek to do that.

    List<Fruit> newList = fruits.stream()
        .peek(f -> f.setName(f.getName() + "s"))
        .collect(Collectors.toList());
    

    How do I get the path of the Python script I am running in?

    7.2 of Dive Into Python: Finding the Path.

    import sys, os
    
    print('sys.argv[0] =', sys.argv[0])             
    pathname = os.path.dirname(sys.argv[0])        
    print('path =', pathname)
    print('full path =', os.path.abspath(pathname)) 
    

    How to choose an AWS profile when using boto3 to connect to CloudFront

    This section of the boto3 documentation is helpful.

    Here's what worked for me:

    session = boto3.Session(profile_name='dev')
    client = session.client('cloudfront')
    

    How to make g++ search for header files in a specific directory?

    A/code.cpp

    #include <B/file.hpp>
    

    A/a/code2.cpp

    #include <B/file.hpp>
    

    Compile using:

    g++ -I /your/source/root /your/source/root/A/code.cpp
    g++ -I /your/source/root /your/source/root/A/a/code2.cpp
    

    Edit:

    You can use environment variables to change the path g++ looks for header files. From man page:

    Some additional environments variables affect the behavior of the preprocessor.

       CPATH
       C_INCLUDE_PATH
       CPLUS_INCLUDE_PATH
       OBJC_INCLUDE_PATH
    

    Each variable's value is a list of directories separated by a special character, much like PATH, in which to look for header files. The special character, "PATH_SEPARATOR", is target-dependent and determined at GCC build time. For Microsoft Windows-based targets it is a semicolon, and for almost all other targets it is a colon.

    CPATH specifies a list of directories to be searched as if specified with -I, but after any paths given with -I options on the command line. This environment variable is used regardless of which language is being preprocessed.

    The remaining environment variables apply only when preprocessing the particular language indicated. Each specifies a list of directories to be searched as if specified with -isystem, but after any paths given with -isystem options on the command line.

    In all these variables, an empty element instructs the compiler to search its current working directory. Empty elements can appear at the beginning or end of a path. For instance, if the value of CPATH is ":/special/include", that has the same effect as -I. -I/special/include.

    There are many ways you can change an environment variable. On bash prompt you can do this:

    $ export CPATH=/your/source/root
    $ g++ /your/source/root/A/code.cpp
    $ g++ /your/source/root/A/a/code2.cpp
    

    You can of course add this in your Makefile etc.

    How do I compare two strings in python?

    For that, you can use default difflib in python

    from difflib import SequenceMatcher
    
    def similar(a, b):
        return SequenceMatcher(None, a, b).ratio()
    

    then call similar() as

    similar(string1, string2)
    

    it will return compare as ,ratio >= threshold to get match result

    Jquery function return value

    The return statement you have is stuck in the inner function, so it won't return from the outer function. You just need a little more code:

    function getMachine(color, qty) {
        var returnValue = null;
        $("#getMachine li").each(function() {
            var thisArray = $(this).text().split("~");
            if(thisArray[0] == color&& qty>= parseInt(thisArray[1]) && qty<= parseInt(thisArray[2])) {
                returnValue = thisArray[3];
                return false; // this breaks out of the each
            }
        });
        return returnValue;
    }
    
    var retval = getMachine(color, qty);
    

    What does mvn install in maven exactly do

    -DskipTests=true is short form of -Dmaven.test.skip=true

    Make changes in Setting.xml in your .m2 folder. You can use link to local repo so that the jars once downlaoded should not be downloaded again and again.

    <url>file://C:/Users/admin/.m2/repository</url>
     </repository>
    

    How to copy a folder via cmd?

    xcopy "%userprofile%\Desktop\?????????" "D:\Backup\" /s/h/e/k/f/c
    

    should work, assuming that your language setting allows Cyrillic (or you use Unicode fonts in the console).

    For reference about the arguments: http://ss64.com/nt/xcopy.html

    Enable/disable buttons with Angular

    Set a property for the current lesson: currentLesson. It will hold, obviously, the 'number' of the choosen lesson. On each button click, set the currentLesson value to 'number'/ order of the button, i.e. for the first button, it will be '1', for the second '2' and so on. Each button now can be disabled with [disabled] attribute, if it the currentLesson is not the same as it's order.

    HTML

      <button  (click)="currentLesson = '1'"
             [disabled]="currentLesson !== '1'" class="primair">
               Start lesson</button>
      <button (click)="currentLesson = '2'"
             [disabled]="currentLesson !== '2'" class="primair">
               Start lesson</button>
     .....//so on
    

    Typescript

    currentLesson:string;
    
      classes = [
    {
      name: 'string',
      level: 'string',
      code: 'number',
      currentLesson: '1'
    }]
    
    constructor(){
      this.currentLesson=this.classes[0].currentLesson
    }
    

    DEMO

    Putting everything in a loop:

    HTML

    <div *ngFor="let class of classes; let i = index">
       <button [disabled]="currentLesson !== i + 1" class="primair">
               Start lesson {{i +  1}}</button>
    </div>
    

    Typescript

    currentLesson:string;
    
    classes = [
    {
      name: 'Lesson1',
      level: 1,
      code: 1,
    },{
      name: 'Lesson2',
      level: 1,
      code: 2,
    },
    {
      name: 'Lesson3',
      level: 2,
      code: 3,
    }]
    

    DEMO

    How to change the value of attribute in appSettings section with Web.config transformation

    Replacing all AppSettings

    This is the overkill case where you just want to replace an entire section of the web.config. In this case I will replace all AppSettings in the web.config will new settings in web.release.config. This is my baseline web.config appSettings:

    <appSettings>
      <add key="KeyA" value="ValA"/>
      <add key="KeyB" value="ValB"/>
    </appSettings>
    

    Now in my web.release.config file, I am going to create a appSettings section except I will include the attribute xdt:Transform=”Replace” since I want to just replace the entire element. I did not have to use xdt:Locator because there is nothing to locate – I just want to wipe the slate clean and replace everything.

    <appSettings xdt:Transform="Replace">
      <add key="ProdKeyA" value="ProdValA"/>
      <add key="ProdKeyB" value="ProdValB"/>
      <add key="ProdKeyC" value="ProdValC"/>
    </appSettings>
    

    Note that in the web.release.config file my appSettings section has three keys instead of two, and the keys aren’t even the same. Now let’s look at the generated web.config file what happens when we publish:

    <appSettings>
       <add key="ProdKeyA" value="ProdValA"/>
       <add key="ProdKeyB" value="ProdValB"/>
       <add key="ProdKeyC" value="ProdValC"/>
     </appSettings>
    

    Just as we expected – the web.config appSettings were completely replaced by the values in web.release config. That was easy!

    Change background image opacity

    What I did is:

    <div id="bg-image"></div>
    <div class="container">
        <h1>Hello World!</h1>
    </div>
    

    CSS:

    html {
        height: 100%;
        width: 100%;
    }
    body {
        height: 100%;
        width: 100%;
    }
    #bg-image {
        height: 100%;
        width: 100%;
        position: absolute;
        background-image: url(images/background.jpg);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        opacity: 0.3;
    }
    

    Any good boolean expression simplifiers out there?

    I found that The Boolean Expression Reducer is much easier to use than Logic Friday. Plus it doesn't require installation and is multi-platform (Java).

    Also in Logic Friday the expression A | B just returns 3 entries in truth table; I expected 4.

    Git - remote: Repository not found

    On Windows:

    1. Go to .git folder
    2. Open 'config' file using notepad or any other editor
    3. Change your URL from https://github.com/username/repo_name.git to https://username:[email protected]/username/repo_name.git

    Save and Push the code, it will work.

    How to get the name of a class without the package?

    The following function will work in JDK version 1.5 and above.

    public String getSimpleName()
    

    Row names & column names in R

    Just to expand a little on Dirk's example:

    It helps to think of a data frame as a list with equal length vectors. That's probably why names works with a data frame but not a matrix.

    The other useful function is dimnames which returns the names for every dimension. You will notice that the rownames function actually just returns the first element from dimnames.

    Regarding rownames and row.names: I can't tell the difference, although rownames uses dimnames while row.names was written outside of R. They both also seem to work with higher dimensional arrays:

    >a <- array(1:5, 1:4)
    > a[1,,,]
    > rownames(a) <- "a"
    > row.names(a)
    [1] "a"
    > a
    , , 1, 1    
      [,1] [,2]
    a    1    2
    
    > dimnames(a)
    [[1]]
    [1] "a"
    
    [[2]]
    NULL
    
    [[3]]
    NULL
    
    [[4]]
    NULL
    

    Run a mySQL query as a cron job?

    This was a very handy page as I have a requirement to DELETE records from a mySQL table where the expiry date is < Today.

    I am on a shared host and CRON did not like the suggestion AndrewKDay. it also said (and I agree) that exposing the password in this way could be insecure.

    I then tried turning Events ON in phpMyAdmin but again being on a shared host this was a no no. Sorry fancyPants.

    So I turned to embedding the SQL script in a PHP file. I used the example [here][1]

    [1]: https://www.w3schools.com/php/php_mysql_create_table.asp stored it in a sub folder somewhere safe and added an empty index.php for good measure. I was then able to test that this PHP file (and my SQL script) was working from the browser URL line.

    All good so far. On to CRON. Following the above example almost worked. I ended up calling PHP before the path for my *.php file. Otherwise CRON didn't know what to do with the file.

    my cron is set to run once per day and looks like this, modified for security.

    00 * * * * php mywebsiteurl.com/wp-content/themes/ForteChildTheme/php/DeleteExpiredAssessment.php

    For the final testing with CRON I initially set it to run each minute and had email alerts turned on. This quickly confirmed that it was running as planned and I changed it back to once per day.

    Hope this helps.

    "No such file or directory" error when executing a binary

    The answer is in this line of the output of readelf -a in the original question

      [Requesting program interpreter: /lib/ld-linux.so.2]
    

    I was missing the /lib/ld-linux.so.2 file, which is needed to run 32-bit apps. The Ubuntu package that has this file is libc6-i386.

    python pandas extract year from datetime: df['year'] = df['date'].year is not working

    If you're running a recent-ish version of pandas then you can use the datetime attribute dt to access the datetime components:

    In [6]:
    
    df['date'] = pd.to_datetime(df['date'])
    df['year'], df['month'] = df['date'].dt.year, df['date'].dt.month
    df
    Out[6]:
            date  Count  year  month
    0 2010-06-30    525  2010      6
    1 2010-07-30    136  2010      7
    2 2010-08-31    125  2010      8
    3 2010-09-30     84  2010      9
    4 2010-10-29   4469  2010     10
    

    EDIT

    It looks like you're running an older version of pandas in which case the following would work:

    In [18]:
    
    df['date'] = pd.to_datetime(df['date'])
    df['year'], df['month'] = df['date'].apply(lambda x: x.year), df['date'].apply(lambda x: x.month)
    df
    Out[18]:
            date  Count  year  month
    0 2010-06-30    525  2010      6
    1 2010-07-30    136  2010      7
    2 2010-08-31    125  2010      8
    3 2010-09-30     84  2010      9
    4 2010-10-29   4469  2010     10
    

    Regarding why it didn't parse this into a datetime in read_csv you need to pass the ordinal position of your column ([0]) because when True it tries to parse columns [1,2,3] see the docs

    In [20]:
    
    t="""date   Count
    6/30/2010   525
    7/30/2010   136
    8/31/2010   125
    9/30/2010   84
    10/29/2010  4469"""
    df = pd.read_csv(io.StringIO(t), sep='\s+', parse_dates=[0])
    df.info()
    <class 'pandas.core.frame.DataFrame'>
    Int64Index: 5 entries, 0 to 4
    Data columns (total 2 columns):
    date     5 non-null datetime64[ns]
    Count    5 non-null int64
    dtypes: datetime64[ns](1), int64(1)
    memory usage: 120.0 bytes
    

    So if you pass param parse_dates=[0] to read_csv there shouldn't be any need to call to_datetime on the 'date' column after loading.

    Getting a count of objects in a queryset in django

    Another way of doing this would be using Aggregation. You should be able to achieve a similar result using a single query. Such as this:

    Item.objects.values("contest").annotate(Count("id"))
    

    I did not test this specific query, but this should output a count of the items for each value in contests as a dictionary.

    How to provide password to a command that prompts for one in bash?

    with read

    Here's an example that uses read to get the password and store it in the variable pass. Then, 7z uses the password to create an encrypted archive:

    read -s -p "Enter password: " pass && 7z a archive.zip a_file -p"$pass"; unset pass
    

    But be aware that the password can easily be sniffed.

    Share link on Google+

    Yes, you can.

    https://plus.google.com/share?url=YOUR_URL_HERE

    Edit: It works only with eff.org.

    Edit: As of March 2012 it works on all sites.

    Documentation for this sharing method is available on the Google Developers site.

    How to both read and write a file in C#

    var fs = File.Open("file.name", FileMode.OpenOrCreate, FileAccess.ReadWrite);
    var sw = new StreamWriter(fs);
    var sr = new StreamReader(fs);
    
    ...
    
    fs.Close();
    //or sw.Close();
    

    The key thing is to open the file with the FileAccess.ReadWrite flag. You can then create whatever Stream/String/Binary Reader/Writers you need using the initial FileStream.

    Make an image width 100% of parent div, but not bigger than its own width

    I found an answer which worked for me and can be found in the following link:

    Full Width Containers in Limited Width Parents

    IE8 support for CSS Media Query

    The best solution I've found is Respond.js especially if your main concern is making sure your responsive design works in IE8. It's pretty lightweight at 1kb when min/gzipped and you can make sure only IE8 clients load it:

    <!--[if lt IE 9]>
    <script src="respond.min.js"></script>
    <![endif]-->
    

    It's also the recommended method if you're using bootstrap: http://getbootstrap.com/getting-started/#support-ie8-ie9

    babel-loader jsx SyntaxError: Unexpected token

    The following way has helped me (includes react-hot, babel loaders and es2015, react presets):

    loaders: [
          {
            test: /\.jsx?$/,
            exclude: /node_modules/,
            loaders: ['react-hot', 'babel?presets[]=es2015&presets[]=react']
          }
    ]
    

    WooCommerce - get category for product page

    A WC product may belong to none, one or more WC categories. Supposing you just want to get one WC category id.

    global $post;
    $terms = get_the_terms( $post->ID, 'product_cat' );
    foreach ($terms as $term) {
        $product_cat_id = $term->term_id;
        break;
    }
    

    Please look into the meta.php file in the "templates/single-product/" folder of the WooCommerce plugin.

    <?php echo $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Category:', 'Categories:', sizeof( get_the_terms( $post->ID, 'product_cat' ) ), 'woocommerce' ) . ' ', '.</span>' ); ?>
    

    INSERT VALUES WHERE NOT EXISTS

    This isn't an answer. I just want to show that IF NOT EXISTS(...) INSERT method isn't safe. You have to execute first Session #1 and then Session #2. After v #2 you will see that without an UNIQUE index you could get duplicate pairs (SoftwareName,SoftwareSystemType). Delay from session #1 is used to give you enough time to execute the second script (session #2). You could reduce this delay.

    Session #1 (SSMS > New Query > F5 (Execute))

    CREATE DATABASE DemoEXISTS;
    GO
    USE DemoEXISTS;
    GO
    CREATE TABLE dbo.Software(
        SoftwareID INT PRIMARY KEY,
        SoftwareName NCHAR(400) NOT NULL,  
        SoftwareSystemType NVARCHAR(50) NOT NULL
    );
    GO
    
    INSERT INTO dbo.Software(SoftwareID,SoftwareName,SoftwareSystemType)
    VALUES (1,'Dynamics AX 2009','ERP');
    INSERT INTO dbo.Software(SoftwareID,SoftwareName,SoftwareSystemType)
    VALUES (2,'Dynamics NAV 2009','SCM');
    INSERT INTO dbo.Software(SoftwareID,SoftwareName,SoftwareSystemType)
    VALUES (3,'Dynamics CRM 2011','CRM');
    INSERT INTO dbo.Software(SoftwareID,SoftwareName,SoftwareSystemType)
    VALUES (4,'Dynamics CRM 2013','CRM');
    INSERT INTO dbo.Software(SoftwareID,SoftwareName,SoftwareSystemType)
    VALUES (5,'Dynamics CRM 2015','CRM');
    GO
    /*
    CREATE UNIQUE INDEX IUN_Software_SoftwareName_SoftareSystemType
    ON dbo.Software(SoftwareName,SoftwareSystemType);
    GO
    */
    
    -- Session #1
    BEGIN TRANSACTION;
        UPDATE  dbo.Software
        SET     SoftwareName='Dynamics CRM',
                SoftwareSystemType='CRM'    
        WHERE   SoftwareID=5;
    
        WAITFOR DELAY '00:00:15' -- 15 seconds delay; you have less than 15 seconds to switch SSMS window to session #2
    
        UPDATE  dbo.Software
        SET     SoftwareName='Dynamics AX',
                SoftwareSystemType='ERP'
        WHERE   SoftwareID=1;
    COMMIT
    --ROLLBACK
    PRINT 'Session #1 results:';
    SELECT *
    FROM dbo.Software;
    

    Session #2 (SSMS > New Query > F5 (Execute))

    USE DemoEXISTS;
    GO
    -- Session #2
    DECLARE 
        @SoftwareName NVARCHAR(100),  
        @SoftwareSystemType NVARCHAR(50);
    SELECT
        @SoftwareName=N'Dynamics AX',
        @SoftwareSystemType=N'ERP';
    
    PRINT 'Session #2 results:';
    IF NOT EXISTS(SELECT *
        FROM dbo.Software s
        WHERE s.SoftwareName=@SoftwareName 
        AND s.SoftwareSystemType=@SoftwareSystemType)
    BEGIN
        PRINT 'Session #2: INSERT';
    
        INSERT INTO dbo.Software(SoftwareID,SoftwareName,SoftwareSystemType)
        VALUES (6,@SoftwareName,@SoftwareSystemType);
    END 
    PRINT 'Session #2: FINISH';
    SELECT  * 
    FROM    dbo.Software;
    

    Results:

    Session #1 results:
    SoftwareID  SoftwareName      SoftwareSystemType
    ----------- ----------------- ------------------
    1           Dynamics AX       ERP
    2           Dynamics NAV 2009 SCM
    3           Dynamics CRM 2011 CRM
    4           Dynamics CRM 2013 CRM
    5           Dynamics CRM      CRM
    
    Session #2 results:
    Session #2: INSERT
    Session #2: FINISH
    SoftwareID  SoftwareName      SoftwareSystemType
    ----------- ----------------- ------------------
    1           Dynamics AX       ERP <-- duplicate (row updated by session #1)
    2           Dynamics NAV 2009 SCM
    3           Dynamics CRM 2011 CRM
    4           Dynamics CRM 2013 CRM
    5           Dynamics CRM      CRM
    6           Dynamics AX       ERP <-- duplicate (row inserted by session #2)
    

    modal View controllers - how to display and dismiss

    This line:

    [self dismissViewControllerAnimated:YES completion:nil];
    

    isn't sending a message to itself, it's actually sending a message to its presenting VC, asking it to do the dismissing. When you present a VC, you create a relationship between the presenting VC and the presented one. So you should not destroy the presenting VC while it is presenting (the presented VC can't send that dismiss message back…). As you're not really taking account of it you are leaving the app in a confused state. See my answer Dismissing a Presented View Controller in which I recommend this method is more clearly written:

    [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
    

    In your case, you need to ensure that all of the controlling is done in mainVC . You should use a delegate to send the correct message back to MainViewController from ViewController1, so that mainVC can dismiss VC1 and then present VC2.

    In VC2 VC1 add a protocol in your .h file above the @interface:

    @protocol ViewController1Protocol <NSObject>
    
        - (void)dismissAndPresentVC2;
    
    @end
    

    and lower down in the same file in the @interface section declare a property to hold the delegate pointer:

    @property (nonatomic,weak) id <ViewController1Protocol> delegate;
    

    In the VC1 .m file, the dismiss button method should call the delegate method

    - (IBAction)buttonPressedFromVC1:(UIButton *)sender {
        [self.delegate dissmissAndPresentVC2]
    }
    

    Now in mainVC, set it as VC1's delegate when creating VC1:

    - (IBAction)present1:(id)sender {
        ViewController1* vc = [[ViewController1 alloc] initWithNibName:@"ViewController1" bundle:nil];
        vc.delegate = self;
        [self present:vc];
    }
    

    and implement the delegate method:

    - (void)dismissAndPresent2 {
        [self dismissViewControllerAnimated:NO completion:^{
            [self present2:nil];
        }];
    }
    

    present2: can be the same method as your VC2Pressed: button IBAction method. Note that it is called from the completion block to ensure that VC2 is not presented until VC1 is fully dismissed.

    You are now moving from VC1->VCMain->VC2 so you will probably want only one of the transitions to be animated.

    update

    In your comments you express surprise at the complexity required to achieve a seemingly simple thing. I assure you, this delegation pattern is so central to much of Objective-C and Cocoa, and this example is about the most simple you can get, that you really should make the effort to get comfortable with it.

    In Apple's View Controller Programming Guide they have this to say:

    Dismissing a Presented View Controller

    When it comes time to dismiss a presented view controller, the preferred approach is to let the presenting view controller dismiss it. In other words, whenever possible, the same view controller that presented the view controller should also take responsibility for dismissing it. Although there are several techniques for notifying the presenting view controller that its presented view controller should be dismissed, the preferred technique is delegation. For more information, see “Using Delegation to Communicate with Other Controllers.”

    If you really think through what you want to achieve, and how you are going about it, you will realise that messaging your MainViewController to do all of the work is the only logical way out given that you don't want to use a NavigationController. If you do use a NavController, in effect you are 'delegating', even if not explicitly, to the navController to do all of the work. There needs to be some object that keeps a central track of what's going on with your VC navigation, and you need some method of communicating with it, whatever you do.

    In practice Apple's advice is a little extreme... in normal cases, you don't need to make a dedicated delegate and method, you can rely on [self presentingViewController] dismissViewControllerAnimated: - it's when in cases like yours that you want your dismissing to have other effects on remote objects that you need to take care.

    Here is something you could imagine to work without all the delegate hassle...

    - (IBAction)dismiss:(id)sender {
        [[self presentingViewController] dismissViewControllerAnimated:YES 
                                                            completion:^{
            [self.presentingViewController performSelector:@selector(presentVC2:) 
                                                withObject:nil];
        }];
    
    }
    

    After asking the presenting controller to dismiss us, we have a completion block which calls a method in the presentingViewController to invoke VC2. No delegate needed. (A big selling point of blocks is that they reduce the need for delegates in these circumstances). However in this case there are a few things getting in the way...

    • in VC1 you don't know that mainVC implements the method present2 - you can end up with difficult-to-debug errors or crashes. Delegates help you to avoid this.
    • once VC1 is dismissed, it's not really around to execute the completion block... or is it? Does self.presentingViewController mean anything any more? You don't know (neither do I)... with a delegate, you don't have this uncertainty.
    • When I try to run this method, it just hangs with no warning or errors.

    So please... take the time to learn delegation!

    update2

    In your comment you have managed to make it work by using this in VC2's dismiss button handler:

     [self.view.window.rootViewController dismissViewControllerAnimated:YES completion:nil]; 
    

    This is certainly much simpler, but it leaves you with a number of issues.

    Tight coupling
    You are hard-wiring your viewController structure together. For example, if you were to insert a new viewController before mainVC, your required behaviour would break (you would navigate to the prior one). In VC1 you have also had to #import VC2. Therefore you have quite a lot of inter-dependencies, which breaks OOP/MVC objectives.

    Using delegates, neither VC1 nor VC2 need to know anything about mainVC or it's antecedents so we keep everything loosely-coupled and modular.

    Memory
    VC1 has not gone away, you still hold two pointers to it:

    • mainVC's presentedViewController property
    • VC2's presentingViewController property

    You can test this by logging, and also just by doing this from VC2

    [self dismissViewControllerAnimated:YES completion:nil]; 
    

    It still works, still gets you back to VC1.

    That seems to me like a memory leak.

    The clue to this is in the warning you are getting here:

    [self presentViewController:vc2 animated:YES completion:nil];
    [self dismissViewControllerAnimated:YES completion:nil];
     // Attempt to dismiss from view controller <VC1: 0x715e460>
     // while a presentation or dismiss is in progress!
    

    The logic breaks down, as you are attempting to dismiss the presenting VC of which VC2 is the presented VC. The second message doesn't really get executed - well perhaps some stuff happens, but you are still left with two pointers to an object you thought you had got rid of. (edit - I've checked this and it's not so bad, both objects do go away when you get back to mainVC)

    That's a rather long-winded way of saying - please, use delegates. If it helps, I made another brief description of the pattern here:
    Is passing a controller in a construtor always a bad practice?

    update 3
    If you really want to avoid delegates, this could be the best way out:

    In VC1:

    [self presentViewController:VC2
                       animated:YES
                     completion:nil];
    

    But don't dismiss anything... as we ascertained, it doesn't really happen anyway.

    In VC2:

    [self.presentingViewController.presentingViewController 
        dismissViewControllerAnimated:YES
                           completion:nil];
    

    As we (know) we haven't dismissed VC1, we can reach back through VC1 to MainVC. MainVC dismisses VC1. Because VC1 has gone, it's presented VC2 goes with it, so you are back at MainVC in a clean state.

    It's still highly coupled, as VC1 needs to know about VC2, and VC2 needs to know that it was arrived at via MainVC->VC1, but it's the best you're going to get without a bit of explicit delegation.

    A JRE or JDK must be available in order to run Eclipse. No JVM was found after searching the following locations

    Newb move on my part, but I had installed just the JRE instead of JDK. Installed JDK and my problem went immediately away.

    How can I get the average (mean) of selected columns

    Try using rowMeans:

    z$mean=rowMeans(z[,c("x", "y")], na.rm=TRUE)
    
      w x  y mean
    1 5 1  1    1
    2 6 2  2    2
    3 7 3  3    3
    4 8 4 NA    4