Programs & Examples On #Uncaught exception

UncaughtException is thrown when exception is not handled by try/catch block. UncaughtException wraps the original exception that has been occurred.

Unexpected token < in first line of HTML

Your page references a Javascript file at /Client/public/core.js.

This file probably can't be found, producing either the website's frontpage or an HTML error page instead. This is a pretty common issue for eg. websites running on an Apache server where paths are redirected by default to index.php.

If that's the case, make sure you replace /Client/public/core.js in your script tag <script type="text/javascript" src="/Client/public/core.js"></script> with the correct file path or put the missing file core.js at location /Client/public/ to fix your error!

If you do already find a file named core.js at /Client/public/ and the browser still produces a HTML page instead, check the permissions for folder and file. Either of these might be lacking the proper permissions.

Why am I getting InputMismatchException?

I encountered the same problem. Strange, but the reason was that the object Scanner interprets fractions depending on localization of system. If the current localization uses a comma to separate parts of the fractions, the fraction with the dot will turn into type String. Hence the error ...

How to deal with floating point number precision in JavaScript?

You are looking for an sprintf implementation for JavaScript, so that you can write out floats with small errors in them (since they are stored in binary format) in a format that you expect.

Try javascript-sprintf, you would call it like this:

var yourString = sprintf("%.2f", yourNumber);

to print out your number as a float with two decimal places.

You may also use Number.toFixed() for display purposes, if you'd rather not include more files merely for floating point rounding to a given precision.

Setting PayPal return URL and making it auto return?

one way i have found:

try to insert this field into your generated form code:

<input type='hidden' name='rm' value='2'>

rm means return method;

2 means (post)

Than after user purchases and returns to your site url, then that url gets the POST parameters as well

p.s. if using php, try to insert var_dump($_POST); in your return url(script),then make a test purchase and when you return back to your site you will see what variables are got on your url.

Check if a user has scrolled to the bottom

Pure JS with cross-browser and debouncing (Pretty good performance)

var CheckIfScrollBottom = debouncer(function() {
    if(getDocHeight() == getScrollXY()[1] + window.innerHeight) {
       console.log('Bottom!');
    }
},500);

document.addEventListener('scroll',CheckIfScrollBottom);

function debouncer(a,b,c){var d;return function(){var e=this,f=arguments,g=function(){d=null,c||a.apply(e,f)},h=c&&!d;clearTimeout(d),d=setTimeout(g,b),h&&a.apply(e,f)}}
function getScrollXY(){var a=0,b=0;return"number"==typeof window.pageYOffset?(b=window.pageYOffset,a=window.pageXOffset):document.body&&(document.body.scrollLeft||document.body.scrollTop)?(b=document.body.scrollTop,a=document.body.scrollLeft):document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)&&(b=document.documentElement.scrollTop,a=document.documentElement.scrollLeft),[a,b]}
function getDocHeight(){var a=document;return Math.max(a.body.scrollHeight,a.documentElement.scrollHeight,a.body.offsetHeight,a.documentElement.offsetHeight,a.body.clientHeight,a.documentElement.clientHeight)}

Demo : http://jsbin.com/geherovena/edit?js,output

PS: Debouncer, getScrollXY, getDocHeight not written by me

I just show how its work, And how I will do

Can I safely delete contents of Xcode Derived data folder?

 $ du -h -d=1 ~/Library/Developer/Xcode/*

shows at least two folders are huge:

 1.5G   /Users/horace/Library/Developer/Xcode/DerivedData
 9.4G   /Users/horace/Library/Developer/Xcode/iOS DeviceSupport

Feel free to remove stuff in the folders:

 rm -rf ~/Library/Developer/Xcode/DerivedData/*

and some in:

 open ~/Library/Developer/Xcode/iOS\ DeviceSupport/

Display filename before matching line

If you have the options -H and -n available (man grep is your friend):

$ cat file
foo
bar
foobar

$ grep -H foo file
file:foo
file:foobar

$ grep -Hn foo file
file:1:foo
file:3:foobar

Options:

-H, --with-filename

Print the file name for each match. This is the default when there is more than one file to search.

-n, --line-number

Prefix each line of output with the 1-based line number within its input file. (-n is specified by POSIX.)

-H is a GNU extension, but -n is specified by POSIX

SQL recursive query on self referencing table (Oracle)

It's a little on the cumbersome side, but I believe this should work (without the extra join). This assumes that you can choose a character that will never appear in the field in question, to act as a separator.

You can do it without nesting the select, but I find this a little cleaner that having four references to SYS_CONNECT_BY_PATH.

select id, 
       parent_id, 
       case 
         when lvl <> 1 
         then substr(name_path,
                     instr(name_path,'|',1,lvl-1)+1,
                     instr(name_path,'|',1,lvl)
                      -instr(name_path,'|',1,lvl-1)-1) 
         end as name 
from (
  SELECT id, parent_id, sys_connect_by_path(name,'|') as name_path, level as lvl
  FROM tbl 
  START WITH id = 1 
  CONNECT BY PRIOR id = parent_id)

How do I enable logging for Spring Security?

Basic debugging using Spring's DebugFilter can be configured like this:

@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.debug(true);
    }
}

Run java jar file on a server as background process

If you're using Ubuntu and have "Upstart" (http://upstart.ubuntu.com/) you can try this:

Create /var/init/yourservice.conf

with the following content

description "Your Java Service"  
author "You"  

start on runlevel [3]  
stop on shutdown  

expect fork  

script     
    cd /web 
    java -jar server.jar >/var/log/yourservice.log 2>&1  
    emit yourservice_running  
end script  

Now you can issue the service yourservice start and service yourservice stop commands. You can tail /var/log/yourservice.log to verify that it's working.

If you just want to run your jar from the console without it hogging the console window, you can just do:

java -jar /web/server.jar > /var/log/yourservice.log 2>&1

How do I get the value of a textbox using jQuery?

Possible Duplicate:

Just Additional Info which took me long time to find.what if you were using the field name and not id for identifying the form field. You do it like this:

For radio button:

 var inp= $('input:radio[name=PatientPreviouslyReceivedDrug]:checked').val();

For textbox:

 var txt=$('input:text[name=DrugDurationLength]').val();

How to lazy load images in ListView in Android

I have been using NetworkImageView from the new Android Volley Library com.android.volley.toolbox.NetworkImageView, and it seems to be working pretty well. Apparently, this is the same view that is used in Google Play and other new Google applications. Definitely worth checking out.

Append values to query string

The provided answers have issues with relative Url's, such as "/some/path/" This is a limitation of the Uri and UriBuilder class, which is rather hard to understand, since I don't see any reason why relative urls would be problematic when it comes to query manipulation.

Here is a workaround that works for both absolute and relative paths, written and tested in .NET 4:

(small note: this should also work in .NET 4.5, you will only have to change propInfo.GetValue(values, null) to propInfo.GetValue(values))

  public static class UriExtensions{
    /// <summary>
    ///     Adds query string value to an existing url, both absolute and relative URI's are supported.
    /// </summary>
    /// <example>
    /// <code>
    ///     // returns "www.domain.com/test?param1=val1&amp;param2=val2&amp;param3=val3"
    ///     new Uri("www.domain.com/test?param1=val1").ExtendQuery(new Dictionary&lt;string, string&gt; { { "param2", "val2" }, { "param3", "val3" } }); 
    /// 
    ///     // returns "/test?param1=val1&amp;param2=val2&amp;param3=val3"
    ///     new Uri("/test?param1=val1").ExtendQuery(new Dictionary&lt;string, string&gt; { { "param2", "val2" }, { "param3", "val3" } }); 
    /// </code>
    /// </example>
    /// <param name="uri"></param>
    /// <param name="values"></param>
    /// <returns></returns>
    public static Uri ExtendQuery(this Uri uri, IDictionary<string, string> values) {
      var baseUrl = uri.ToString();
      var queryString = string.Empty;
      if (baseUrl.Contains("?")) {
        var urlSplit = baseUrl.Split('?');
        baseUrl = urlSplit[0];
        queryString = urlSplit.Length > 1 ? urlSplit[1] : string.Empty;
      }

      NameValueCollection queryCollection = HttpUtility.ParseQueryString(queryString);
      foreach (var kvp in values ?? new Dictionary<string, string>()) {
        queryCollection[kvp.Key] = kvp.Value;
      }
      var uriKind = uri.IsAbsoluteUri ? UriKind.Absolute : UriKind.Relative;
      return queryCollection.Count == 0 
        ? new Uri(baseUrl, uriKind) 
        : new Uri(string.Format("{0}?{1}", baseUrl, queryCollection), uriKind);
    }

    /// <summary>
    ///     Adds query string value to an existing url, both absolute and relative URI's are supported.
    /// </summary>
    /// <example>
    /// <code>
    ///     // returns "www.domain.com/test?param1=val1&amp;param2=val2&amp;param3=val3"
    ///     new Uri("www.domain.com/test?param1=val1").ExtendQuery(new { param2 = "val2", param3 = "val3" }); 
    /// 
    ///     // returns "/test?param1=val1&amp;param2=val2&amp;param3=val3"
    ///     new Uri("/test?param1=val1").ExtendQuery(new { param2 = "val2", param3 = "val3" }); 
    /// </code>
    /// </example>
    /// <param name="uri"></param>
    /// <param name="values"></param>
    /// <returns></returns>
    public static Uri ExtendQuery(this Uri uri, object values) {
      return ExtendQuery(uri, values.GetType().GetProperties().ToDictionary
      (
          propInfo => propInfo.Name,
          propInfo => { var value = propInfo.GetValue(values, null); return value != null ? value.ToString() : null; }
      ));
    }
  }

And here is a suite of unit tests to test the behavior:

  [TestFixture]
  public class UriExtensionsTests {
    [Test]
    public void Add_to_query_string_dictionary_when_url_contains_no_query_string_and_values_is_empty_should_return_url_without_changing_it() {
      Uri url = new Uri("http://www.domain.com/test");
      var values = new Dictionary<string, string>();
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("http://www.domain.com/test")));
    }

    [Test]
    public void Add_to_query_string_dictionary_when_url_contains_hash_and_query_string_values_are_empty_should_return_url_without_changing_it() {
      Uri url = new Uri("http://www.domain.com/test#div");
      var values = new Dictionary<string, string>();
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("http://www.domain.com/test#div")));
    }

    [Test]
    public void Add_to_query_string_dictionary_when_url_contains_no_query_string_should_add_values() {
      Uri url = new Uri("http://www.domain.com/test");
      var values = new Dictionary<string, string> { { "param1", "val1" }, { "param2", "val2" } };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("http://www.domain.com/test?param1=val1&param2=val2")));
    }

    [Test]
    public void Add_to_query_string_dictionary_when_url_contains_hash_and_no_query_string_should_add_values() {
      Uri url = new Uri("http://www.domain.com/test#div");
      var values = new Dictionary<string, string> { { "param1", "val1" }, { "param2", "val2" } };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("http://www.domain.com/test#div?param1=val1&param2=val2")));
    }

    [Test]
    public void Add_to_query_string_dictionary_when_url_contains_query_string_should_add_values_and_keep_original_query_string() {
      Uri url = new Uri("http://www.domain.com/test?param1=val1");
      var values = new Dictionary<string, string> { { "param2", "val2" } };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("http://www.domain.com/test?param1=val1&param2=val2")));
    }

    [Test]
    public void Add_to_query_string_dictionary_when_url_is_relative_contains_no_query_string_should_add_values() {
      Uri url = new Uri("/test", UriKind.Relative);
      var values = new Dictionary<string, string> { { "param1", "val1" }, { "param2", "val2" } };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("/test?param1=val1&param2=val2", UriKind.Relative)));
    }

    [Test]
    public void Add_to_query_string_dictionary_when_url_is_relative_and_contains_query_string_should_add_values_and_keep_original_query_string() {
      Uri url = new Uri("/test?param1=val1", UriKind.Relative);
      var values = new Dictionary<string, string> { { "param2", "val2" } };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("/test?param1=val1&param2=val2", UriKind.Relative)));
    }

    [Test]
    public void Add_to_query_string_dictionary_when_url_is_relative_and_contains_query_string_with_existing_value_should_add_new_values_and_update_existing_ones() {
      Uri url = new Uri("/test?param1=val1", UriKind.Relative);
      var values = new Dictionary<string, string> { { "param1", "new-value" }, { "param2", "val2" } };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("/test?param1=new-value&param2=val2", UriKind.Relative)));
    }

    [Test]
    public void Add_to_query_string_object_when_url_contains_no_query_string_should_add_values() {
      Uri url = new Uri("http://www.domain.com/test");
      var values = new { param1 = "val1", param2 = "val2" };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("http://www.domain.com/test?param1=val1&param2=val2")));
    }


    [Test]
    public void Add_to_query_string_object_when_url_contains_query_string_should_add_values_and_keep_original_query_string() {
      Uri url = new Uri("http://www.domain.com/test?param1=val1");
      var values = new { param2 = "val2" };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("http://www.domain.com/test?param1=val1&param2=val2")));
    }

    [Test]
    public void Add_to_query_string_object_when_url_is_relative_contains_no_query_string_should_add_values() {
      Uri url = new Uri("/test", UriKind.Relative);
      var values = new { param1 = "val1", param2 = "val2" };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("/test?param1=val1&param2=val2", UriKind.Relative)));
    }

    [Test]
    public void Add_to_query_string_object_when_url_is_relative_and_contains_query_string_should_add_values_and_keep_original_query_string() {
      Uri url = new Uri("/test?param1=val1", UriKind.Relative);
      var values = new { param2 = "val2" };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("/test?param1=val1&param2=val2", UriKind.Relative)));
    }

    [Test]
    public void Add_to_query_string_object_when_url_is_relative_and_contains_query_string_with_existing_value_should_add_new_values_and_update_existing_ones() {
      Uri url = new Uri("/test?param1=val1", UriKind.Relative);
      var values = new { param1 = "new-value", param2 = "val2" };
      var result = url.ExtendQuery(values);
      Assert.That(result, Is.EqualTo(new Uri("/test?param1=new-value&param2=val2", UriKind.Relative)));
    }
  }

How to call a REST web service API from JavaScript?

I'm surprised nobody has mentioned the new Fetch API, supported by all browsers except IE11 at the time of writing. It simplifies the XMLHttpRequest syntax you see in many of the other examples.

The API includes a lot more, but start with the fetch() method. It takes two arguments:

  1. A URL or an object representing the request.
  2. Optional init object containing the method, headers, body etc.

Simple GET:

const userAction = async () => {
  const response = await fetch('http://example.com/movies.json');
  const myJson = await response.json(); //extract JSON from the http response
  // do something with myJson
}

Recreating the previous top answer, a POST:

const userAction = async () => {
  const response = await fetch('http://example.com/movies.json', {
    method: 'POST',
    body: myBody, // string or object
    headers: {
      'Content-Type': 'application/json'
    }
  });
  const myJson = await response.json(); //extract JSON from the http response
  // do something with myJson
}

Change MySQL default character set to UTF-8 in my.cnf?

This question already has a lot of answers, but Mathias Bynens mentioned that 'utf8mb4' should be used instead of 'utf8' in order to have better UTF-8 support ('utf8' does not support 4 byte characters, fields are truncated on insert). I consider this to be an important difference. So here is yet another answer on how to set the default character set and collation. One that'll allow you to insert a pile of poo ().

This works on MySQL 5.5.35.

Note, that some of the settings may be optional. As I'm not entirely sure that I haven't forgotten anything, I'll make this answer a community wiki.

Old Settings

mysql> SHOW VARIABLES LIKE 'char%'; SHOW VARIABLES LIKE 'collation%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

Config

#  
# UTF-8 should be used instead of Latin1. Obviously.
# NOTE "utf8" in MySQL is NOT full UTF-8: http://mathiasbynens.be/notes/mysql-utf8mb4

[client]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[mysql]
default-character-set = utf8mb4

New Settings

mysql> SHOW VARIABLES LIKE 'char%'; SHOW VARIABLES LIKE 'collation%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database   | utf8mb4_unicode_ci |
| collation_server     | utf8mb4_unicode_ci |
+----------------------+--------------------+
3 rows in set (0.00 sec)

character_set_system is always utf8.

This won't affect existing tables, it's just the default setting (used for new tables). The following ALTER code can be used to convert an existing table (without the dump-restore workaround):

ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Edit:

On a MySQL 5.0 server: character_set_client, character_set_connection, character_set_results, collation_connection remain at latin1. Issuing SET NAMES utf8 (utf8mb4 not available in that version) sets those to utf8 as well.


Caveat: If you had a utf8 table with an index column of type VARCHAR(255), it can't be converted in some cases, because the maximum key length is exceeded (Specified key was too long; max key length is 767 bytes.). If possible, reduce the column size from 255 to 191 (because 191 * 4 = 764 < 767 < 192 * 4 = 768). After that, the table can be converted.

How to loop through a HashMap in JSP?

Below code works for me

first I defined the partnerTypesMap like below in the server side,

Map<String, String> partnerTypes = new HashMap<>();

after adding values to it I added the object to model,

model.addAttribute("partnerTypesMap", partnerTypes);

When rendering the page I use below foreach to print them one by one.

<c:forEach items="${partnerTypesMap}" var="partnerTypesMap">
      <form:option value="${partnerTypesMap['value']}">${partnerTypesMap['key']}</form:option>
</c:forEach>

Keras input explanation: input_shape, units, batch_size, dim, etc

Input Dimension Clarified:

Not a direct answer, but I just realized the word Input Dimension could be confusing enough, so be wary:

It (the word dimension alone) can refer to:

a) The dimension of Input Data (or stream) such as # N of sensor axes to beam the time series signal, or RGB color channel (3): suggested word=> "InputStream Dimension"

b) The total number /length of Input Features (or Input layer) (28 x 28 = 784 for the MINST color image) or 3000 in the FFT transformed Spectrum Values, or

"Input Layer / Input Feature Dimension"

c) The dimensionality (# of dimension) of the input (typically 3D as expected in Keras LSTM) or (#RowofSamples, #of Senors, #of Values..) 3 is the answer.

"N Dimensionality of Input"

d) The SPECIFIC Input Shape (eg. (30,50,50,3) in this unwrapped input image data, or (30, 250, 3) if unwrapped Keras:

Keras has its input_dim refers to the Dimension of Input Layer / Number of Input Feature

model = Sequential()
model.add(Dense(32, input_dim=784))  #or 3 in the current posted example above
model.add(Activation('relu'))

In Keras LSTM, it refers to the total Time Steps

The term has been very confusing, is correct and we live in a very confusing world!!

I find one of the challenge in Machine Learning is to deal with different languages or dialects and terminologies (like if you have 5-8 highly different versions of English, then you need to very high proficiency to converse with different speakers). Probably this is the same in programming languages too.

How to include js file in another js file?

You can only include a script file in an HTML page, not in another script file. That said, you can write JavaScript which loads your "included" script into the same page:

var imported = document.createElement('script');
imported.src = '/path/to/imported/script';
document.head.appendChild(imported);

There's a good chance your code depends on your "included" script, however, in which case it may fail because the browser will load the "imported" script asynchronously. Your best bet will be to simply use a third-party library like jQuery or YUI, which solves this problem for you.

// jQuery
$.getScript('/path/to/imported/script.js', function()
{
    // script is now loaded and executed.
    // put your dependent JS here.
});

How to fix the error "Windows SDK version 8.1" was not found?

  • Install the required version of Windows SDK or change the SDK version in the project property pages

    or

  • by right-clicking the solution and selecting "Retarget solution"

If you do visual studio guide, you will resolve the problem.

Display exact matches only with grep

This may work for you

grep -E '(^|\s)OK($|\s)'

Bootstrap modal - close modal when "call to action" button is clicked

You need to bind the modal hide call to the onclick event.

Assuming you are using jQuery you can do that with:

$('#closemodal').click(function() {
    $('#modalwindow').modal('hide');
});

Also make sure the click event is bound after the document has finished loading:

$(function() {
   // Place the above code inside this block
});
enter code here

Alternative to a goto statement in Java

Try the code below. It works for me.

for (int iTaksa = 1; iTaksa <=8; iTaksa++) { // 'Count 8 Loop is  8 Taksa

    strTaksaStringStar[iCountTaksa] = strTaksaStringCount[iTaksa];

    LabelEndTaksa_Exit : {
        if (iCountTaksa == 1) { //If count is 6 then next it's 2
            iCountTaksa = 2;
            break  LabelEndTaksa_Exit;
        }

        if (iCountTaksa == 2) { //If count is 2 then next it's 3
            iCountTaksa = 3;
            break  LabelEndTaksa_Exit;
        }

        if (iCountTaksa == 3) { //If count is 3 then next it's 4
            iCountTaksa = 4;
            break  LabelEndTaksa_Exit;
        }

        if (iCountTaksa == 4) { //If count is 4 then next it's 7
            iCountTaksa = 7;
            break  LabelEndTaksa_Exit;
        }

        if (iCountTaksa == 7) { //If count is 7 then next it's 5
            iCountTaksa = 5;
            break  LabelEndTaksa_Exit;
        }

        if (iCountTaksa == 5) { //If count is 5 then next it's 8
            iCountTaksa = 8;
            break  LabelEndTaksa_Exit;
        }

        if (iCountTaksa == 8) { //If count is 8 then next it's 6
            iCountTaksa = 6;
            break  LabelEndTaksa_Exit;
        }

        if (iCountTaksa == 6) { //If count is 6 then loop 1  as 1 2 3 4 7 5 8 6  --> 1
            iCountTaksa = 1;
            break  LabelEndTaksa_Exit;
        }
    }   //LabelEndTaksa_Exit : {

} // "for (int iTaksa = 1; iTaksa <=8; iTaksa++) {"

Font scaling based on width of container

For dynamic text, this plugin is quite useful:

http://freqdec.github.io/slabText/

Simply add CSS:

.slabtexted .slabtext
{
    display: -moz-inline-box;
    display: inline-block;
    white-space: nowrap;
}
.slabtextinactive .slabtext
{
    display: inline;
    white-space: normal;
    font-size: 1em !important;
    letter-spacing: inherit !important;
    word-spacing: inherit !important;
    *letter-spacing: normal !important;
    *word-spacing: normal !important;
}
.slabtextdone .slabtext
{
    display: block;
}

And the script:

$('#mydiv').slabText();

Multiple "order by" in LINQ

This should work for you:

var movies = _db.Movies.OrderBy(c => c.Category).ThenBy(n => n.Name)

In TensorFlow, what is the difference between Session.run() and Tensor.eval()?

Tensorflow 2.x Compatible Answer: Converting mrry's code to Tensorflow 2.x (>= 2.0) for the benefit of the community.

!pip install tensorflow==2.1
import tensorflow as tf

tf.compat.v1.disable_eager_execution()    

t = tf.constant(42.0)
sess = tf.compat.v1.Session()
with sess.as_default():   # or `with sess:` to close on exit
    assert sess is tf.compat.v1.get_default_session()
    assert t.eval() == sess.run(t)

#The most important difference is that you can use sess.run() to fetch the values of many tensors in the same step:

t = tf.constant(42.0)
u = tf.constant(37.0)
tu = tf.multiply(t, u)
ut = tf.multiply(u, t)
with sess.as_default():
   tu.eval()  # runs one step
   ut.eval()  # runs one step
   sess.run([tu, ut])  # evaluates both tensors in a single step

How to correctly set the ORACLE_HOME variable on Ubuntu 9.x?

ORACLE_HOME needs to be at the top level of the Oracle directory structure for the database installation. From that point, Oracle knows how to find all the other files it needs. For example, the error message you get is because Oracle can't locate the message files to report errors with (should be in the various mesg directories below the oracle home. Instead of the above value you give, I would try

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0

How to comment out a block of code in Python

M-x comment-region, in Emacs' Python mode.

How to scroll to the bottom of a UITableView on the iPhone before the view appears

Use this simple code to scroll tableView bottom

NSInteger rows = [tableName numberOfRowsInSection:0];
if(rows > 0) {
    [tableName scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:rows-1 inSection:0]
                     atScrollPosition:UITableViewScrollPositionBottom
                             animated:YES];
}

Uncaught TypeError: Cannot read property 'value' of null

add "MainContent_" to ID value!

Example: (Error)

document.getElementById("Password").value = text;

(ok!)

document.getElementById("**MainContent_**Password").value = text;

How to "inverse match" with regex?

In perl you can do

process($line) if ($line =~ !/Andrea/);

Static link of shared library function in gcc

If you have the .a file of your shared library (.so) you can simply include it with its full path as if it was an object file, like this:

This generates main.o by just compiling:

gcc -c main.c

This links that object file with the corresponding static library and creates the executable (named "main"):

gcc main.o mylibrary.a -o main

Or in a single command:

gcc main.c mylibrary.a -o main

It could also be an absolute or relative path:

gcc main.c /usr/local/mylibs/mylibrary.a -o main

How to allow all Network connection types HTTP and HTTPS in Android (9) Pie?

The FULLY WORKING SOLUTION for both Android or React-native users facing this issue just add this android:usesCleartextTraffic="true" in AndroidManifest.xml file like this:

android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

in between <application>.. </application> tag like this:

<application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:allowBackup="false"
      android:theme="@style/AppTheme"
        android:usesCleartextTraffic="true"
        tools:ignore="GoogleAppIndexingWarning">
        <uses-library
            android:name="org.apache.http.legacy"
            android:required="false" />
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"/>
 </application>

How to handle errors with boto3?

Following @armod's update about exceptions being added right on client objects. I'll show how you can see all exceptions defined for your client class.

Exceptions are generated dynamically when you create your client with session.create_client() or boto3.client(). Internally it calls method botocore.errorfactory.ClientExceptionsFactory._create_client_exceptions() and fills client.exceptions field with constructed exception classes.

All class names are available in client.exceptions._code_to_exception dictionary, so you can list all types with following snippet:

client = boto3.client('s3')

for ex_code in client.exceptions._code_to_exception:
    print(ex_code)

Hope it helps.

Chrome Extension: Make it run every page load

From a background script you can listen to the chrome.tabs.onUpdated event and check the property changeInfo.status on the callback. It can be loading or complete. If it is complete, do the action.

Example:

chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
  if (changeInfo.status == 'complete') {

    // do your things

  }
})

Because this will probably trigger on every tab completion, you can also check if the tab is active on its homonymous attribute, like this:

chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
  if (changeInfo.status == 'complete' && tab.active) {

    // do your things

  }
})

Arraylist swap elements

You can use Collections.swap(List<?> list, int i, int j);

X-Frame-Options Allow-From multiple domains

The RFC for the HTTP Header Field X-Frame-Options states that the "ALLOW-FROM" field in the X-Frame-Options header value can only contain one domain. Multiple domains are not allowed.

The RFC suggests a work around for this problem. The solution is to specify the domain name as a url parameter in the iframe src url. The server that hosts the iframe src url can then check the domain name given in the url parameters. If the domain name matches a list of valid domain names, then the server can send the X-Frame-Options header with the value: "ALLOW-FROM domain-name", where domain name is the name of the domain that is trying to embed the remote content. If the domain name is not given or is not valid, then the X-Frame-Options header can be sent with the value: "deny".

SQL Server ON DELETE Trigger

CREATE TRIGGER sampleTrigger
    ON database1.dbo.table1
    FOR DELETE
AS
    DELETE FROM database2.dbo.table2
    WHERE bar = 4 AND ID IN(SELECT deleted.id FROM deleted)
GO

View tabular file such as CSV from command line

Ofri's answer gives you everything you asked for. But.. if you don't want to remember the command you can add this to your ~/.bashrc (or equivalent):

csview()
{
local file="$1"
sed "s/,/\t/g" "$file" | less -S
}

This is exactly the same as Ofri's answer except I have wrapped it in a shell function and am using the less -S option to stop the wrapping of lines (makes less behaves more like a office/oocalc).

Open a new shell (or type source ~/.bashrc in your current shell) and run the command using:

csview <filename>

What is the difference between "px", "dip", "dp" and "sp"?

Moreover you should have clear understanding about the following concepts:

Screen size:

Actual physical size, measured as the screen's diagonal. For simplicity, Android groups all actual screen sizes into four generalized sizes: small, normal, large, and extra large.

Screen density:

The quantity of pixels within a physical area of the screen; usually referred to as dpi (dots per inch). For example, a "low" density screen has fewer pixels within a given physical area, compared to a "normal" or "high" density screen. For simplicity, Android groups all actual screen densities into four generalized densities: low, medium, high, and extra high.

Orientation:

The orientation of the screen from the user's point of view. This is either landscape or portrait, meaning that the screen's aspect ratio is either wide or tall, respectively. Be aware that not only do different devices operate in different orientations by default, but the orientation can change at runtime when the user rotates the device.

Resolution:

The total number of physical pixels on a screen. When adding support for multiple screens, applications do not work directly with resolution; applications should be concerned only with screen size and density, as specified by the generalized size and density groups.

Density-independent pixel (dp):

A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way. The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp units when defining your application's UI, to ensure proper display of your UI on screens with different densities.

Reference: Android developers site

Styling an anchor tag to look like a submit button

Using a button tag instead of the input, resetting it and put a span inside, you'll then just have to style both the link and the span in the same way. It involve extra markup, but it worked for me.

the markup:

<button type="submit">
    <span>submit</span>
</button>
<a>cancel</a>

the css:

button[type="submit"] {
    display: inline;
    border: none;
    padding: 0;
    background: none;
}

How to forward declare a template class in namespace std?

there is a limited alternative you can use

header:

class std_int_vector;

class A{
    std_int_vector* vector;
public:
    A();
    virtual ~A();
};

cpp:

#include "header.h"
#include <vector>
class std_int_vector: public std::vectror<int> {}

A::A() : vector(new std_int_vector()) {}
[...]

not tested in real programs, so expect it to be non-perfect.

How can I prevent the TypeError: list indices must be integers, not tuple when copying a python list to a numpy array?

import numpy as np

mean_data = np.array([
[6.0, 315.0, 4.8123788544375692e-06],
[6.5, 0.0, 2.259217450023793e-06],
[6.5, 45.0, 9.2823565008402673e-06],
[6.5, 90.0, 8.309270169336028e-06],
[6.5, 135.0, 6.4709418114245381e-05],
[6.5, 180.0, 1.7227922423558414e-05],
[6.5, 225.0, 1.2308522579848724e-05],
[6.5, 270.0, 2.6905672894824344e-05],
[6.5, 315.0, 2.2727114437176048e-05]])

R = mean_data[:,0]
print R
print R.shape

EDIT

The reason why you had an invalid index error is the lack of a comma between mean_data and the values you wanted to add.

Also, np.append returns a copy of the array, and does not change the original array. From the documentation :

Returns : append : ndarray

A copy of arr with values appended to axis. Note that append does not occur in-place: a new array is allocated and filled. If axis is None, out is a flattened array.

So you have to assign the np.append result to an array (could be mean_data itself, I think), and, since you don't want a flattened array, you must also specify the axis on which you want to append.

With that in mind, I think you could try something like

mean_data = np.append(mean_data, [[ur, ua, np.mean(data[samepoints,-1])]], axis=0)

Do have a look at the doubled [[ and ]] : I think they are necessary since both arrays must have the same shape.

How can I specify a [DllImport] path at runtime?

Even better than Ran's suggestion of using GetProcAddress, simply make the call to LoadLibrary before any calls to the DllImport functions (with only a filename without a path) and they'll use the loaded module automatically.

I've used this method to choose at runtime whether to load a 32-bit or 64-bit native DLL without having to modify a bunch of P/Invoke-d functions. Stick the loading code in a static constructor for the type that has the imported functions and it'll all work fine.

C# Sort and OrderBy comparison

No, they aren't the same algorithm. For starters, the LINQ OrderBy is documented as stable (i.e. if two items have the same Name, they'll appear in their original order).

It also depends on whether you buffer the query vs iterate it several times (LINQ-to-Objects, unless you buffer the result, will re-order per foreach).

For the OrderBy query, I would also be tempted to use:

OrderBy(n => n.Name, StringComparer.{yourchoice}IgnoreCase);

(for {yourchoice} one of CurrentCulture, Ordinal or InvariantCulture).

List<T>.Sort

This method uses Array.Sort, which uses the QuickSort algorithm. This implementation performs an unstable sort; that is, if two elements are equal, their order might not be preserved. In contrast, a stable sort preserves the order of elements that are equal.

Enumerable.OrderBy

This method performs a stable sort; that is, if the keys of two elements are equal, the order of the elements is preserved. In contrast, an unstable sort does not preserve the order of elements that have the same key. sort; that is, if two elements are equal, their order might not be preserved. In contrast, a stable sort preserves the order of elements that are equal.

How to install Visual C++ Build tools?

I just stumbled onto this issue accessing some Python libraries: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools". The latest link to that is actually here: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019

When you begin the installer, it will have several "options" enabled which will balloon the install size to 5gb. If you have Windows 10, you'll need to leave selected the "Windows 10 SDK" option as mentioned here.

enter image description here

I hope it helps save others time!

How can I convert an HTML element to a canvas element?

Building on top of the Mozdev post that natevw references I've started a small project to render HTML to canvas in Firefox, Chrome & Safari. So for example you can simply do:

rasterizeHTML.drawHTML('<span class="color: green">This is HTML</span>' 
                     + '<img src="local_img.png"/>', canvas);

Source code and a more extensive example is here.

Storing query results into a variable and modifying it inside a Stored Procedure

Try this example

CREATE PROCEDURE MyProc
BEGIN
    --Stored Procedure variables
    Declare @maxOr int; 
    Declare @maxCa int; 

    --Getting query result in the variable (first variant of syntax)
    SET @maxOr = (SELECT MAX(orId) FROM [order]); 

    --Another variant of seting variable from query
    SELECT @maxCa=MAX(caId) FROM [cart]; 

    --Updating record through the variable
    INSERT INTO [order_cart] (orId,caId)
    VALUES(@maxOr, @maxCa); 

    --return values to the program as dataset
    SELECT
       @maxOr AS maxOr,
       @maxCa AS maxCa

    -- return one int value as "return value"
    RETURN @maxOr
END
GO

SQL-command to call the stored procedure

EXEC MyProc

Deleting folders in python recursively

Try shutil.rmtree:

import shutil
shutil.rmtree('/path/to/your/dir/')

Convert Month Number to Month Name Function in SQL

You can use the inbuilt CONVERT function

select CONVERT(varchar(3), Date, 100)  as Month from MyTable.

This will display first 3 characters of month (JAN,FEB etc..)

Find first element by predicate


import org.junit.Test;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

// Stream is ~30 times slower for same operation...
public class StreamPerfTest {

    int iterations = 100;
    List<Integer> list = Arrays.asList(1, 10, 3, 7, 5);


    // 55 ms
    @Test
    public void stream() {

        for (int i = 0; i < iterations; i++) {
            Optional<Integer> result = list.stream()
                    .filter(x -> x > 5)
                    .findFirst();

            System.out.println(result.orElse(null));
        }
    }

    // 2 ms
    @Test
    public void loop() {

        for (int i = 0; i < iterations; i++) {
            Integer result = null;
            for (Integer walk : list) {
                if (walk > 5) {
                    result = walk;
                    break;
                }
            }
            System.out.println(result);
        }
    }
}

Is it possible to read the value of a annotation in java?

Yes, if your Column annotation has the runtime retention

@Retention(RetentionPolicy.RUNTIME)
@interface Column {
    ....
}

you can do something like this

for (Field f: MyClass.class.getFields()) {
   Column column = f.getAnnotation(Column.class);
   if (column != null)
       System.out.println(column.columnName());
}

UPDATE : To get private fields use

Myclass.class.getDeclaredFields()

How to read and write INI file with Python3?

This can be something to start with:

import configparser

config = configparser.ConfigParser()
config.read('FILE.INI')
print(config['DEFAULT']['path'])     # -> "/path/name/"
config['DEFAULT']['path'] = '/var/shared/'    # update
config['DEFAULT']['default_message'] = 'Hey! help me!!'   # create

with open('FILE.INI', 'w') as configfile:    # save
    config.write(configfile)

You can find more at the official configparser documentation.

Should I use "camel case" or underscores in python?

PEP 8 advises the first form for readability. You can find it here.

Function names should be lowercase, with words separated by underscores as necessary to improve readability.

Bootstrap $('#myModal').modal('show') is not working

Try This without paramater

$('#myModal').modal();

it should be worked

scroll up and down a div on button click using jquery

For the go up, you just need to use scrollTop instead of scrollBottom:

$("#upClick").on("click", function () {
    scrolled = scrolled - 300;
    $(".cover").stop().animate({
        scrollTop: scrolled
    });
});

Also, use the .stop() method to stop the currently-running animation on the cover div. When .stop() is called on an element, the currently-running animation (if any) is immediately stopped.

FIDDLE DEMO

Web API optional parameters

I figured it out. I was using a bad example I found in the past of how to map query string to the method parameters.

In case anyone else needs it, in order to have optional parameters in a query string such as:

  • ~/api/products/filter?apc=AA&xpc=BB
  • ~/api/products/filter?sku=7199123

you would use:

[Route("products/filter/{apc?}/{xpc?}/{sku?}")]
public IHttpActionResult Get(string apc = null, string xpc = null, int? sku = null)
{ ... }

It seems odd to have to define default values for the method parameters when these types already have a default.

How do I copy to the clipboard in JavaScript?

This was the only thing that worked for me:

let textarea = document.createElement('textarea');
textarea.setAttribute('type', 'hidden');
textarea.textContent = 'the string you want to copy';
document.body.appendChild(textarea);
textarea.select();
document.execCommand('copy');

How is a tag different from a branch in Git? Which should I use, here?

If you think of your repository as a book that chronicles progress on your project...

Branches

You can think of a branch as one of those sticky bookmarks:

enter image description here

A brand new repository has only one of those (called master), which automatically moves to the latest page (think commit) you've written. However, you're free to create and use more bookmarks, in order to mark other points of interest in the book, so you can return to them quickly.

Also, you can always move a particular bookmark to some other page of the book (using git-reset, for instance); points of interest typically vary over time.

Tags

You can think of tags as chapter headings.

bookmarks

It may contain a title (think annotated tags) or not. A tag is similar but different to a branch, in that it marks a point of historical interest in the book. To maintain its historical aspect, once you've shared a tag (i.e. pushed it to a shared remote), you're not supposed to move it to some other place in the book.

Why does JSON.parse fail with the empty string?

For a valid JSON string at least a "{}" is required. See more at the http://json.org/

How do you write to a folder on an SD card in Android?

Add Permission to Android Manifest

Add this WRITE_EXTERNAL_STORAGE permission to your applications manifest.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.company.package"
    android:versionCode="1"
    android:versionName="0.1">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <!-- ... -->
    </application>
    <uses-sdk android:minSdkVersion="7" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest> 

Check availability of external storage

You should always check for availability first. A snippet from the official android documentation on external storage.

boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();

if (Environment.MEDIA_MOUNTED.equals(state)) {
    // We can read and write the media
    mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // We can only read the media
    mExternalStorageAvailable = true;
    mExternalStorageWriteable = false;
} else {
    // Something else is wrong. It may be one of many other states, but all we need
    //  to know is we can neither read nor write
    mExternalStorageAvailable = mExternalStorageWriteable = false;
}

Use a Filewriter

At last but not least forget about the FileOutputStream and use a FileWriter instead. More information on that class form the FileWriter javadoc. You'll might want to add some more error handling here to inform the user.

// get external storage file reference
FileWriter writer = new FileWriter(getExternalStorageDirectory()); 
// Writes the content to the file
writer.write("This\n is\n an\n example\n"); 
writer.flush();
writer.close();

Change action bar color in android

Just simply go to res/values/styles.xml file and edit the xml file to change the color of xml file .Here is the sample code

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->

// below code is for changing the color of action bar

    <item name="colorPrimary">"type your color code here. eg:#ffffff"</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

Hope it will help you...

Reading a key from the Web.Config using ConfigurationManager

If the caller is another project, you should write the config in caller project not the called one.

How to clear react-native cache?

Clearing the Cache of your React Native Project: if you are sure the module exists, try this steps:

  1. Clear watchman watches: npm watchman watch-del-all
  2. Delete node_modules: rm -rf node_modules and run yarn install
  3. Reset Metro's cache: yarn start --reset-cache
  4. Remove the cache: rm -rf /tmp/metro-*

How can I set the color of a selected row in DataGrid

Some of the reason which I experienced the row selected event not working

  1. Style is set up for DataGridCell
  2. Using Templated columns
  3. Trigger is set up at the DataGridRow

This is what helped me. Setting the Style for DataGridCell

<Style TargetType="{x:Type DataGridCell}">
  <Style.Triggers>
    <Trigger Property="IsSelected" Value="True">
      <Setter Property="Background" Value="Green"/>
      <Setter Property="Foreground" Value="White"/>
    </Trigger>
  </Style.Triggers> 
</Style>

And since I was using a template column with a label inside, I bound the Foreground property to the container Foreground using RelativeSource binding:

<DataGridTemplateColumn>
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
      <Label Content="{Binding CategoryName,
                 Mode=TwoWay,
                 UpdateSourceTrigger=LostFocus}"
             Foreground="{Binding Foreground,
                 RelativeSource={RelativeSource Mode=FindAncestor,
                     AncestorLevel=1, 
                     AncestorType={x:Type DataGridCell}}}"
             Width="150"/>
    </DataTemplate>
  </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

Where's javax.servlet?

Have you instaled the J2EE? If you installed just de standard (J2SE) it won´t find.

What is the difference between a Docker image and a container?

In easy words.

Images -

The file system and configuration(read-only) application which is used to create containers. More detail.

Containers -

The major difference between a container and an image is the top writable layer. Containers are running instances of Docker images with top writable layer. Containers run the actual applications. A container includes an application and all of its dependencies. When the container is deleted, the writable layer is also deleted. The underlying image remains unchanged. More detail.


Other important terms to notice:


Docker daemon -

The background service running on the host that manages the building, running and distributing Docker containers.

Docker client -

The command line tool that allows the user to interact with the Docker daemon.

Docker Store -

Store is, among other things, a registry of Docker images. You can think of the registry as a directory of all available Docker images.

A picture from this blog post is worth a thousand words.

Enter image description here

(For deeper understanding please read this.)

Summary:

  • Pull image from Docker hub or build from a Dockerfile => Gives a Docker image (not editable).
  • Run the image (docker run image_name:tag_name) => Gives a running Image i.e. container (editable)

#1071 - Specified key was too long; max key length is 767 bytes

Due to prefix limitations this error will occur. 767 bytes is the stated prefix limitation for InnoDB tables in MySQL versions before 5.7 . It's 1,000 bytes long for MyISAM tables. In MySQL version 5.7 and upwards this limit has been increased to 3072 bytes.

Running the following on the service giving you the error should resolve your issue. This has to be run in the MYSQL CLI.

SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=on;
SET GLOBAL innodb_large_prefix=on;

Creating a static class with no instances

You could use a classmethod or staticmethod

class Paul(object):
    elems = []

    @classmethod
    def addelem(cls, e):
        cls.elems.append(e)

    @staticmethod
    def addelem2(e):
        Paul.elems.append(e)

Paul.addelem(1)
Paul.addelem2(2)

print(Paul.elems)

classmethod has advantage that it would work with sub classes, if you really wanted that functionality.

module is certainly best though.

HTML how to clear input using javascript?

For me this is the best way:

<form id="myForm">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br><br>
  <input type="button" onclick="myFunction()" value="Reset form">
</form>

<script>
function myFunction() {
    document.getElementById("myForm").reset();
}
</script>

How do I detect the Python version at runtime?

Try this code, this should work:

import platform
print(platform.python_version())

C++ - unable to start correctly (0xc0150002)

I agree with Brandrew, the problem is most likely caused by some missing dlls that can't be found neither on the system path nor in the folder where the executable is. Try putting the following DLLs nearby the executable:

  • the Visual Studio C++ runtime (in VS2008, they could be found at places like C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86.) Include all 3 of the DLL files as well as the manifest file.
  • the four OpenCV dlls (cv210.dll, cvaux210.dll, cxcore210.dll and highgui210.dll, or the ones your OpenCV version has)
  • if that still doesn't work, try the debug VS runtime (executables compiled for "Debug" use a different set of dlls, named something like msvcrt9d.dll, important part is the "d")

Alternatively, try loading the executable into Dependency Walker ( http://www.dependencywalker.com/ ), it should point out the missing dlls for you.

pg_config executable not found

On alpine, the library containing pg_config is postgresql-dev. To install, run:

apk add postgresql-dev

typedef struct vs struct definitions

In C (not C++), you have to declare struct variables like:

struct myStruct myVariable;

In order to be able to use myStruct myVariable; instead, you can typedef the struct:

typedef struct myStruct someStruct;
someStruct myVariable;

You can combine struct definition and typedefs it in a single statement which declares an anonymous struct and typedefs it.

typedef struct { ... } myStruct;

Magento How to debug blank white screen

Same problem, I have just purged cache

rm -rf var/cache/* 

Et voila ! I don't understand what it was...

setup.py examples?

Here is the utility I wrote to generate a simple setup.py file (template) with useful comments and links. I hope, it will be useful.

Installation

sudo pip install setup-py-cli

Usage

To generate setup.py file just type in the terminal.

setup-py

Now setup.py file should occur in the current directory.

Generated setup.py

from distutils.core import setup
from setuptools import find_packages
import os


# User-friendly description from README.md
current_directory = os.path.dirname(os.path.abspath(__file__))
try:
    with open(os.path.join(current_directory, 'README.md'), encoding='utf-8') as f:
        long_description = f.read()
except Exception:
    long_description = ''

setup(
    # Name of the package
    name=<name of current directory>,

    # Packages to include into the distribution
    packages=find_packages('.'), 

    # Start with a small number and increase it with every change you make
    # https://semver.org
    version='1.0.0',

    # Chose a license from here: https://help.github.com/articles/licensing-a-repository
    # For example: MIT
    license='',

    # Short description of your library
    description='',

    # Long description of your library
    long_description = long_description,
    long_description_context_type = 'text/markdown',

    # Your name
    author='', 

    # Your email
    author_email='',     

    # Either the link to your github or to your website
    url='',

    # Link from which the project can be downloaded
    download_url='',

    # List of keyword arguments
    keywords=[],

    # List of packages to install with this one
    install_requires=[],

    # https://pypi.org/classifiers/
    classifiers=[]  
)

Content of the generated setup.py:

  • automatically fulfilled package name based on the name of the current directory.
  • some basic fields to fulfill.
  • clarifying comments and links to useful resources.
  • automatically inserted description from README.md or an empty string if there is no README.md.

Here is the link to the repository. Fill free to enhance the solution.

How to set up subdomains on IIS 7

This one drove me crazy... basically you need two things:

1) Make sure your DNS is setup to point to your subdomain. This means to make sure you have an A Record in the DNS for your subdomain and point to the same IP.

2) You must add an additional website in IIS 7 named subdomain.example.com

  • Sites > Add Website
  • Site Name: subdomain.example.com
  • Physical Path: select the subdomain directory
  • Binding: same ip as example.com
  • Host name: subdomain.example.com

Refused to load the font 'data:font/woff.....'it violates the following Content Security Policy directive: "default-src 'self'". Note that 'font-src'

To fix this specific error, CSP should include this:

font-src 'self' data:;

So, index.html meta should read:

<meta http-equiv="Content-Security-Policy" content="font-src 'self' data:; img-src 'self' data:; default-src 'self' http://121.0.0:3000/">

How to install Python package from GitHub?

You need to use the proper git URL:

pip install git+https://github.com/jkbr/httpie.git#egg=httpie

Also see the VCS Support section of the pip documentation.

Don’t forget to include the egg=<projectname> part to explicitly name the project; this way pip can track metadata for it without having to have run the setup.py script.

Check if a string contains another string

You can also use the special word like:

Public Sub Search()
  If "My Big String with, in the middle" Like "*,*" Then
    Debug.Print ("Found ','")
  End If
End Sub

Using a cursor with dynamic SQL in a stored procedure

A cursor will only accept a select statement, so if the SQL really needs to be dynamic make the declare cursor part of the statement you are executing. For the below to work your server will have to be using global cursors.

Declare @UserID varchar(100)
declare @sqlstatement nvarchar(4000)
--move declare cursor into sql to be executed
set @sqlstatement = 'Declare  users_cursor CURSOR FOR SELECT userId FROM users'

exec sp_executesql @sqlstatement


OPEN users_cursor
FETCH NEXT FROM users_cursor
INTO @UserId

WHILE @@FETCH_STATUS = 0
BEGIN
Print @UserID
EXEC asp_DoSomethingStoredProc @UserId

FETCH NEXT FROM users_cursor --have to fetch again within loop
INTO @UserId

END
CLOSE users_cursor
DEALLOCATE users_cursor

If you need to avoid using the global cursors, you could also insert the results of your dynamic SQL into a temporary table, and then use that table to populate your cursor.

Declare @UserID varchar(100)
create table #users (UserID varchar(100))

declare @sqlstatement nvarchar(4000)
set @sqlstatement = 'Insert into #users (userID) SELECT userId FROM users'
exec(@sqlstatement)

declare users_cursor cursor for Select UserId from #Users
OPEN users_cursor
FETCH NEXT FROM users_cursor
INTO @UserId

WHILE @@FETCH_STATUS = 0
BEGIN

EXEC asp_DoSomethingStoredProc @UserId

FETCH NEXT FROM users_cursor
INTO @UserId

END
CLOSE users_cursor
DEALLOCATE users_cursor

drop table #users

jQuery - get all divs inside a div with class ".container"

To set the class when clicking on a div immediately within the .container element, you could use:

<script>
$('.container>div').click(function () {
        $(this).addClass('whatever')
    });
</script>

java.math.BigInteger cannot be cast to java.lang.Long

Try to convert the BigInteger to a long like this

Long longNumber= bigIntegerNumber.longValue();

Python strftime - date without leading 0?

Because Python really just calls the C language strftime(3) function on your platform, it might be that there are format characters you could use to control the leading zero; try man strftime and take a look. But, of course, the result will not be portable, as the Python manual will remind you. :-)

I would try using a new-style datetime object instead, which has attributes like t.year and t.month and t.day, and put those through the normal, high-powered formatting of the % operator, which does support control of leading zeros. See http://docs.python.org/library/datetime.html for details. Better yet, use the "".format() operator if your Python has it and be even more modern; it has lots of format options for numbers as well. See: http://docs.python.org/library/string.html#string-formatting.

How to post JSON to PHP with curl

You need to set a few extra flags so that curl sends the data as JSON.

command

$ curl -H "Content-Type: application/json" \
       -X POST \
       -d '{"JSON": "HERE"}' \
       http://localhost:3000/api/url

flags

  • -H: custom header, next argument is expected to be header
  • -X: custom HTTP verb, next argument is expected to be verb
  • -d: sends the next argument as data in an HTTP POST request

resources

Change background color for selected ListBox item

If selection is not important, it is better to use an ItemsControl wrapped in a ScrollViewer. This combination is more light-weight than the Listbox (which actually is derived from ItemsControl already) and using it would eliminate the need to use a cheap hack to override behavior that is already absent from the ItemsControl.

In cases where the selection behavior IS actually important, then this obviously will not work. However, if you want to change the color of the Selected Item Background in such a way that it is not visible to the user, then that would only serve to confuse them. In cases where your intention is to change some other characteristic to indicate that the item is selected, then some of the other answers to this question may still be more relevant.

Here is a skeleton of how the markup should look:

    <ScrollViewer>
        <ItemsControl>
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    ...
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </ScrollViewer>

How to process a file in PowerShell line-by-line as a stream

System.IO.File.ReadLines() is perfect for this scenario. It returns all the lines of a file, but lets you begin iterating over the lines immediately which means it does not have to store the entire contents in memory.

Requires .NET 4.0 or higher.

foreach ($line in [System.IO.File]::ReadLines($filename)) {
    # do something with $line
}

http://msdn.microsoft.com/en-us/library/dd383503.aspx

How to remove frame from matplotlib (pyplot.figure vs matplotlib.figure ) (frameon=False Problematic in matplotlib)

ax.axis('off'), will as Joe Kington pointed out, remove everything except the plotted line.

For those wanting to only remove the frame (border), and keep labels, tickers etc, one can do that by accessing the spines object on the axis. Given an axis object ax, the following should remove borders on all four sides:

ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)

And, in case of removing x and y ticks from the plot:

 ax.get_xaxis().set_ticks([])
 ax.get_yaxis().set_ticks([])

Creating your own header file in C

header files contain prototypes for functions you define in a .c or .cpp/.cxx file (depending if you're using c or c++). You want to place #ifndef/#defines around your .h code so that if you include the same .h twice in different parts of your programs, the prototypes are only included once.

client.h

#ifndef CLIENT_H
#define CLIENT_H

short socketConnect(char *host,unsigned short port,char *sendbuf,char *recievebuf, long rbufsize);


#endif /** CLIENT_H */

Then you'd implement the .h in a .c file like so:

client.c

#include "client.h"

short socketConnect(char *host,unsigned short port,char *sendbuf,char *recievebuf, long rbufsize) {
 short ret = -1;
 //some implementation here
 return ret;
}

jquery get all input from specific form

Use HTML Form "elements" attribute:

$.each($("form").elements, function(){ 
    console.log($(this));
    });

Now it's not necessary to provide such names as "input, textarea, select ..." etc.

How to get rid of "Unnamed: 0" column in a pandas DataFrame?

It's the index column, pass pd.to_csv(..., index=False) to not write out an unnamed index column in the first place, see the to_csv() docs.

Example:

In [37]:
df = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
pd.read_csv(io.StringIO(df.to_csv()))

Out[37]:
   Unnamed: 0         a         b         c
0           0  0.109066 -1.112704 -0.545209
1           1  0.447114  1.525341  0.317252
2           2  0.507495  0.137863  0.886283
3           3  1.452867  1.888363  1.168101
4           4  0.901371 -0.704805  0.088335

compare with:

In [38]:
pd.read_csv(io.StringIO(df.to_csv(index=False)))

Out[38]:
          a         b         c
0  0.109066 -1.112704 -0.545209
1  0.447114  1.525341  0.317252
2  0.507495  0.137863  0.886283
3  1.452867  1.888363  1.168101
4  0.901371 -0.704805  0.088335

You could also optionally tell read_csv that the first column is the index column by passing index_col=0:

In [40]:
pd.read_csv(io.StringIO(df.to_csv()), index_col=0)

Out[40]:
          a         b         c
0  0.109066 -1.112704 -0.545209
1  0.447114  1.525341  0.317252
2  0.507495  0.137863  0.886283
3  1.452867  1.888363  1.168101
4  0.901371 -0.704805  0.088335

How can I change the default Django date template format?

In order to change date format in the views.py and then assign it to template.

# get the object details 
home = Home.objects.get(home_id=homeid)

# get the start date
_startDate = home.home_startdate.strftime('%m/%d/%Y')

# assign it to template 
return render_to_response('showme.html' 
                                        {'home_startdate':_startDate},   
                                         context_instance=RequestContext(request) )  

Cannot deserialize the current JSON array (e.g. [1,2,3]) into type

It looks like the string contains an array with a single MyStok object in it. If you remove square brackets from both ends of the input, you should be able to deserialize the data as a single object:

MyStok myobj = JSON.Deserialize<MyStok>(sc.Substring(1, sc.Length-2));

You could also deserialize the array into a list of MyStok objects, and take the object at index zero.

var myobjList = JSON.Deserialize<List<MyStok>>(sc);
var myObj = myobjList[0];

android pick images from gallery

Just to offer an update to the answer for people with API min 19, per the docs:

On Android 4.4 (API level 19) and higher, you have the additional option of using the ACTION_OPEN_DOCUMENT intent, which displays a system-controlled picker UI controlled that allows the user to browse all files that other apps have made available. From this single UI, the user can pick a file from any of the supported apps.

On Android 5.0 (API level 21) and higher, you can also use the ACTION_OPEN_DOCUMENT_TREE intent, which allows the user to choose a directory for a client app to access.

Open files using storage access framework - Android Docs

     val intent = Intent(Intent.ACTION_OPEN_DOCUMENT)
     intent.type = "image/*"
     startActivityForResult(intent, PICK_IMAGE_REQUEST_CODE)

How to merge many PDF files into a single one?

You can also use Ghostscript to merge different PDFs. You can even use it to merge a mix of PDFs, PostScript (PS) and EPS into one single output PDF file:

gs \
  -o merged.pdf \
  -sDEVICE=pdfwrite \
  -dPDFSETTINGS=/prepress \
   input_1.pdf \
   input_2.pdf \
   input_3.eps \
   input_4.ps \
   input_5.pdf

However, I agree with other answers: for your use case of merging PDF file types only, pdftk may be the best (and certainly fastest) option.

Update:
If processing time is not the main concern, but if the main concern is file size (or a fine-grained control over certain features of the output file), then the Ghostscript way certainly offers more power to you. To highlight a few of the differences:

  • Ghostscript can 'consolidate' the fonts of the input files which leads to a smaller file size of the output. It also can re-sample images, or scale all pages to a different size, or achieve a controlled color conversion from RGB to CMYK (or vice versa) should you need this (but that will require more CLI options than outlined in above command).
  • pdftk will just concatenate each file, and will not convert any colors. If each of your 16 input PDFs contains 5 subsetted fonts, the resulting output will contain 80 subsetted fonts. The resulting PDF's size is (nearly exactly) the sum of the input file bytes.

Unable to Git-push master to Github - 'origin' does not appear to be a git repository / permission denied

One possibility that the above answers don't address is that you may not have an ssh access from your shell. That is, you may be in a network (some college networks do this) where ssh service is blocked.In that case you will not only be able to get github services but also any other ssh services. You can test if this is the problem by trying to use any other ssh service.This was the case with me.

Why am I getting "(304) Not Modified" error on some links when using HttpWebRequest?

This is intended behavior.

When you make an HTTP request, the server normally returns code 200 OK. If you set If-Modified-Since, the server may return 304 Not modified (and the response will not have the content). This is supposed to be your cue that the page has not been modified.

The authors of the class have foolishly decided that 304 should be treated as an error and throw an exception. Now you have to clean up after them by catching the exception every time you try to use If-Modified-Since.

VBA Public Array : how to?

Declare array as global across subs in a application:

Public GlobalArray(10) as String
GlobalArray = Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L')

Sub DisplayArray()
    Dim i As Integer

    For i = 0 to UBound(GlobalArray, 1)
        MsgBox GlobalArray(i)

    Next i
End Sub

Method 2: Pass an array to sub. Use ParamArray.

Sub DisplayArray(Name As String, ParamArray Arr() As Variant)
    Dim i As Integer

    For i = 0 To UBound(Arr())
        MsgBox Name & ": " & Arr(i)
    Next i
End Sub

ParamArray must be the last parameter.

Best Timer for using in a Windows service

As already stated both System.Threading.Timer and System.Timers.Timer will work. The big difference between the two is that System.Threading.Timer is a wrapper arround the other one.

System.Threading.Timer will have more exception handling while System.Timers.Timer will swallow all the exceptions.

This gave me big problems in the past so I would always use 'System.Threading.Timer' and still handle your exceptions very well.

How to access array elements in a Django template?

when you render a request tou coctext some information: for exampel:

return render(request, 'path to template',{'username' :username , 'email'.email})

you can acces to it on template like this : for variabels :

{% if username %}{{ username }}{% endif %}

for array :

{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}

you can also name array objects in views.py and ten use it like:

{% if username %}{{ username.first }}{% endif %}

if there is other problem i wish to help you

What's the difference between an element and a node in XML?

Different W3C specifications define different sets of "Node" types.

Thus, the DOM spec defines the following types of nodes:

  • Document -- Element (maximum of one), ProcessingInstruction, Comment, DocumentType
  • DocumentFragment -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
  • DocumentType -- no children
  • EntityReference -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
  • Element -- Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference
  • Attr -- Text, EntityReference
  • ProcessingInstruction -- no children
  • Comment -- no children
  • Text -- no children
  • CDATASection -- no children
  • Entity -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
  • Notation -- no children

The XML Infoset (used by XPath) has a smaller set of nodes:

  • The Document Information Item
  • Element Information Items
  • Attribute Information Items
  • Processing Instruction Information Items
  • Unexpanded Entity Reference Information Items
  • Character Information Items
  • Comment Information Items
  • The Document Type Declaration Information Item
  • Unparsed Entity Information Items
  • Notation Information Items
  • Namespace Information Items
  • XPath has the following Node types:

    • root nodes
    • element nodes
    • text nodes
    • attribute nodes
    • namespace nodes
    • processing instruction nodes
    • comment nodes

    The answer to your question "What is the difference between an element and a node" is:

    An element is a type of node. Many other types of nodes exist and serve different purposes.

    Is it possible to append to innerHTML without destroying descendants' event listeners?

    something.innerHTML += 'add whatever you want';

    it worked for me. I added a button to an input text using this solution

    Delete all data rows from an Excel table (apart from the first)

    This VBA Sub will delete all data rows (apart from the first, which it will just clear) -

    Sub DeleteTableRows(ByRef Table as ListObject)
    
            '** Work out the current number of rows in the table
            On Error Resume Next                    ' If there are no rows, then counting them will cause an error
            Dim Rows As Integer
            Rows = Table.DataBodyRange.Rows.Count   ' Cound the number of rows in the table
            If Err.Number <> 0 Then                 ' Check to see if there has been an error
                Rows = 0                            ' Set rows to 0, as the table is empty
                Err.Clear                           ' Clear the error
            End If
            On Error GoTo 0                         ' Reset the error handling
    
            '** Empty the table *'
            With Table
                If Rows > 0 Then ' Clear the first row
                    .DataBodyRange.Rows(1).ClearContents
                End If
                If Rows > 1 Then ' Delete all the other rows
                    .DataBodyRange.Offset(1, 0).Resize(.DataBodyRange.Rows.Count - 1, .DataBodyRange.Columns.Count).Rows.Delete
                End If
            End With
    
    End Sub
    

    Stop handler.postDelayed()

      Boolean condition=false;  //Instance variable declaration.
    
     //-----------------Inside oncreate--------------------------------------------------- 
      start =(Button)findViewById(R.id.id_start);
            start.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    starthandler();
    
                    if(condition=true)
                    {
                        condition=false;
                    }
    
    
                }
            });
    
            stop=(Button) findViewById(R.id.id_stoplocatingsmartplug);
    
            stop.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    stophandler();
    
                }
            });
    
    
        }
    
    //-----------------Inside oncreate---------------------------------------------------
    
     public void starthandler()
        {
    
            handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
    
    
                    if(!condition)
                    {
                        //Do something after 100ms 
    
    
                    }
    
                }
            }, 5000);
    
        }
    
    
        public void stophandler()
        {
            condition=true;
        }
    

    "The stylesheet was not loaded because its MIME type, "text/html" is not "text/css"

    In Ubuntu In the conf file: /etc/apache2/sites-enabled/your-file.conf

    change

    AddHandler application/x-httpd-php .js .xml .htc .css
    

    to:

    AddHandler application/x-httpd-php .js .xml .htc
    

    session handling in jquery

    In my opinion you should not load and use plugins you don't have to. This particular jQuery plugin doesn't give you anything since directly using the JavaScript sessionStorage object is exactly the same level of complexity. Nor, does the plugin provide some easier way to interact with other jQuery functionality. In addition the practice of using a plugin discourages a deep understanding of how something works. sessionStorage should be used only if its understood. If its understood, then using the jQuery plugin is actually MORE effort.

    Consider using sessionStorage directly: https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#sessionStorage

    How to assign string to bytes array

    Piece of cake:

    arr := []byte("That's all folks!!")
    

    How to select only date from a DATETIME field in MySQL?

    if time column is on timestamp , you will get date value from that timestamp using this query

    SELECT DATE(FROM_UNIXTIME(time)) from table 
    

    HTML input fields does not get focus when clicked

    iPhone6 chrome

    Problem for me was placing the input field inside <label> and <p>

    like this :

    <label>
      <p>
         <input/>
      </p>
    </label>
    

    I changed them to

    <div>
      <div>
         <input/>
      </div>
    </div>
    

    And it works for me .

    After check this answer, Please check other answers in this page, this issue may have different reasons

    Getting "type or namespace name could not be found" but everything seems ok?

    I had same problem as discussed: VS 2017 underlines a class in referenced project as error but the solution builds ok and even intellisense works.

    Here is how I managed to solve this issu:

    1. Unload the referenced project
    2. Open .proj file in VS ( i was looking for duplicates as someone suggested here)
    3. Reload project again (I did not change or even save the proj file as I did not have any duplicates)

    Pylint "unresolved import" error in Visual Studio Code

    I have a different solution: my Visual Studio Code instance had picked up the virtualenv stored in .venv, but it was using the wrong Python binary. It was using .venv/bin/python3.7; using the switcher in the blue status bar.

    I changed it to use .venv/bin/python and all of my imports were resolved correctly.

    I don't know what Visual Studio Code is doing behind the scenes when I do this, nor do I understand why this was causing my problem, but for me this was a slightly simpler solution than editing my workspace settings.

    Filter values only if not null using lambda in Java8

    Leveraging the power of java.util.Optional#map():

    List<Car> requiredCars = cars.stream()
      .filter (car -> 
        Optional.ofNullable(car)
          .map(Car::getName)
          .map(name -> name.startsWith("M"))
          .orElse(false) // what to do if either car or getName() yields null? false will filter out the element
        )
      .collect(Collectors.toList())
    ;
    

    How to log out user from web site using BASIC authentication?

    All you need is redirect user on some logout URL and return 401 Unauthorized error on it. On error page (which must be accessible without basic auth) you need to provide a full link to your home page (including scheme and hostname). User will click this link and browser will ask for credentials again.

    Example for Nginx:

    location /logout {
        return 401;
    }
    
    error_page 401 /errors/401.html;
    
    location /errors {
        auth_basic off;
        ssi        on;
        ssi_types  text/html;
        alias /home/user/errors;
    }
    

    Error page /home/user/errors/401.html:

    <!DOCTYPE html>
    <p>You're not authorised. <a href="<!--# echo var="scheme" -->://<!--# echo var="host" -->/">Login</a>.</p>
    

    Using Regular Expressions to Extract a Value in Java

    Simple Solution

    // Regexplanation:
    // ^       beginning of line
    // \\D+    1+ non-digit characters
    // (\\d+)  1+ digit characters in a capture group
    // .*      0+ any character
    String regexStr = "^\\D+(\\d+).*";
    
    // Compile the regex String into a Pattern
    Pattern p = Pattern.compile(regexStr);
    
    // Create a matcher with the input String
    Matcher m = p.matcher(inputStr);
    
    // If we find a match
    if (m.find()) {
        // Get the String from the first capture group
        String someDigits = m.group(1);
        // ...do something with someDigits
    }
    

    Solution in a Util Class

    public class MyUtil {
        private static Pattern pattern = Pattern.compile("^\\D+(\\d+).*");
        private static Matcher matcher = pattern.matcher("");
    
        // Assumptions: inputStr is a non-null String
        public static String extractFirstNumber(String inputStr){
            // Reset the matcher with a new input String
            matcher.reset(inputStr);
    
            // Check if there's a match
            if(matcher.find()){
                // Return the number (in the first capture group)
                return matcher.group(1);
            }else{
                // Return some default value, if there is no match
                return null;
            }
        }
    }
    
    ...
    
    // Use the util function and print out the result
    String firstNum = MyUtil.extractFirstNumber("Testing4234Things");
    System.out.println(firstNum);
    

    Tomcat 7 "SEVERE: A child container failed during start"

    for me one case was I just missed to maven update project which caused the same issue

    maven update project and try if you see any errors in POM.xml

    Is double square brackets [[ ]] preferable over single square brackets [ ] in Bash?

    In a nutshell, [[ is better because it doesn't fork another process. No brackets or a single bracket is slower than a double bracket because it forks another process.

    Using Pandas to pd.read_excel() for multiple worksheets of the same workbook

    Yes unfortunately it will always load the full file. If you're doing this repeatedly probably best to extract the sheets to separate CSVs and then load separately. You can automate that process with d6tstack which also adds additional features like checking if all the columns are equal across all sheets or multiple Excel files.

    import d6tstack
    c = d6tstack.convert_xls.XLStoCSVMultiSheet('multisheet.xlsx')
    c.convert_all() # ['multisheet-Sheet1.csv','multisheet-Sheet2.csv']
    

    See d6tstack Excel examples

    TypeError: 'undefined' is not an object

    I'm not sure how you could just check if something isn't undefined and at the same time get an error that it is undefined. What browser are you using?

    You could check in the following way (extra = and making length a truthy evaluation)

    if (typeof(sub.from) !== 'undefined' && sub.from.length) {
    

    [update]

    I see that you reset sub and thereby reset sub.from but fail to re check if sub.from exist:

    for (var i = 0; i < sub.from.length; i++) {//<== assuming sub.from.exist
                mainid = sub.from[i]['id'];
                var sub = afcHelper_Submissions[mainid]; // <== re setting sub
    

    My guess is that the error is not on the if statement but on the for(i... statement. In Firebug you can break automatically on an error and I guess it'll break on that line (not on the if statement).

    File Upload with Angular Material

    File uploader with AngularJs Material and a mime type validation:

    Directive:

    function apsUploadFile() {
        var directive = {
            restrict: 'E',
            require:['ngModel', 'apsUploadFile'],
            transclude: true,
            scope: {
                label: '@',
                mimeType: '@',
            },
            templateUrl: '/build/html/aps-file-upload.html',
            controllerAs: 'ctrl',
            controller: function($scope) {
                var self = this;
    
                this.model = null;
    
                this.setModel = function(ngModel) {
                    this.$error = ngModel.$error;
    
                    ngModel.$render = function() {
                        self.model = ngModel.$viewValue;
                    };
    
                    $scope.$watch('ctrl.model', function(newval) {
                        ngModel.$setViewValue(newval);
                    });
                };
            },
            link: apsUploadFileLink
        };
        return directive;
    }
    
    function apsUploadFileLink(scope, element, attrs, controllers) {
    
        var ngModelCtrl = controllers[0];
        var apsUploadFile = controllers[1];
    
        apsUploadFile.inputname = attrs.name;
        apsUploadFile.setModel(ngModelCtrl);
    
        var reg;
        attrs.$observe('mimeType', function(value) {
            var accept = value.replace(/,/g,'|');
            reg = new RegExp(accept, "i");
            ngModelCtrl.$validate();
        });
    
        ngModelCtrl.$validators.mimetype = function(modelValue, viewValue) {
    
            if(modelValue.data == null){
                return apsUploadFile.valid = true;
            }
    
            if(modelValue.type.match(reg)){
                return apsUploadFile.valid = true;
            }else{
                return apsUploadFile.valid = false;
            }
    
        };
    
        var input = $(element[0].querySelector('#fileInput'));
        var button = $(element[0].querySelector('#uploadButton'));
        var textInput = $(element[0].querySelector('#textInput'));
    
        if (input.length && button.length && textInput.length) {
            button.click(function(e) {
                input.click();
            });
            textInput.click(function(e) {
                input.click();
            });
        }
    
        input.on('change', function(e) {
    
            //scope.fileLoaded(e);
            var files = e.target.files;
    
            if (files[0]) {
                ngModelCtrl.$viewValue.filename = scope.filename = files[0].name;
                ngModelCtrl.$viewValue.type = files[0].type;
                ngModelCtrl.$viewValue.size = files[0].size;
    
                var fileReader = new FileReader();
                fileReader.onload = function () {
                    ngModelCtrl.$viewValue.data = fileReader.result;
                    ngModelCtrl.$validate();
                };
                fileReader.readAsDataURL(files[0]);
    
                ngModelCtrl.$render();
            } else {
                ngModelCtrl.$viewValue = null;
            }
    
            scope.$apply();
        });
    
    }
    app.directive('apsUploadFile', apsUploadFile);
    

    html template:

    <input id="fileInput" type="file" name="ctrl.inputname" class="ng-hide">
    <md-input-container md-is-error="!ctrl.valid">
        <label>{@{label}@}</label>
        <input id="textInput" ng-model="ctrl.model.filename" type="text" ng-readonly="true">
        <div ng-messages="ctrl.$error" ng-transclude></div>
    </md-input-container>
    <md-button id="uploadButton" class="md-icon-button md-primary" aria-label="attach_file">
        <md-icon class="material-icons">cloud_upload</md-icon>
    </md-button>
    

    Exemple:

    <div layout-gt-sm="row">
        <aps-upload-file name="strip" ng-model="cardDesign.strip" label="Strip" mime-type="image/png" class="md-block">
            <div ng-message="mimetype" class="md-input-message-animation ng-scope" style="opacity: 1; margin-top: 0px;">Your image must be PNG.</div>
        </aps-upload-file>
    </div>
    

    How to call a PHP file from HTML or Javascript

    As you have already stated in your question you have more than one option. A very basic approach would be using the tag referencing your PHP file in the method attribute. However as esoteric as it may sound AJAX is a more complete approach. Considering that an AJAX call (in combination with jQuery) can be as simple as:

    $.post("yourfile.php", {data : "This can be as long as you want"});
    

    And you get a more flexible solution, for example triggering a function after the server request is completed. Hope this helps.

    Can I dynamically add HTML within a div tag from C# on load event?

    You want to put code in the master page code behind that inserts HTML into the contents of a page that is using that master page?

    I would not search for the control via FindControl as this is a fragile solution that could easily be broken if the name of the control changed.

    Your best bet is to declare an event in the master page that any child page could handle. The event could pass the HTML as an EventArg.

    Difference between parameter and argument

    Argument is often used in the sense of actual argument vs. formal parameter.

    The formal parameter is what is given in the function declaration/definition/prototype, while the actual argument is what is passed when calling the function — an instance of a formal parameter, if you will.

    That being said, they are often used interchangeably, their exact use depending on different programming languages and their communities. For example, I have also heard actual parameter etc.

    So here, x and y would be formal parameters:

    int foo(int x, int y) {
        ...
    }
    

    Whereas here, in the function call, 5 and z are the actual arguments:

    foo(5, z);
    

    Angular2 change detection: ngOnChanges not firing for nested object

    suppose you have a nested object, like

    var obj = {"parent": {"child": {....}}}

    If you passed the reference of the complete object, like

    [wholeObj] = "obj"

    In that case, you can't detect the changes in the child objects, so to overcome this problem you can also pass the reference of the child object through another property, like

    [wholeObj] = "obj" [childObj] = "obj.parent.child"

    So you can also detect the changes from the child objects too.

    ngOnChanges(changes: SimpleChanges) { 
        if (changes.childObj) {// your logic here}
    }
    

    Server.Mappath in C# classlibrary

    Maybe you could abstract this as a dependency and create an IVirtualPathResolver. This way your service classes wouldn't be bound to System.Web and you could create another implementation if you wanted to reuse your logic in a different UI technology.

    Is there a way to specify which pytest tests to run from a file?

    My answer provides a ways to run a subset of test in different scenarios.

    Run all tests in a project

    pytest
    

    Run tests in a Single Directory

    To run all the tests from one directory, use the directory as a parameter to pytest:

    pytest tests/my-directory
    

    Run tests in a Single Test File/Module

    To run a file full of tests, list the file with the relative path as a parameter to pytest:

    pytest tests/my-directory/test_demo.py
    

    Run a Single Test Function

    To run a single test function, add :: and the test function name:

    pytest -v tests/my-directory/test_demo.py::test_specific_function
    

    -v is used so you can see which function was run.

    Run a Single Test Class

    To run just a class, do like we did with functions and add ::, then the class name to the file parameter:

    pytest -v tests/my-directory/test_demo.py::TestClassName
    

    Run a Single Test Method of a Test Class

    If you don't want to run all of a test class, just one method, just add another :: and the method name:

    pytest -v tests/my-directory/test_demo.py::TestClassName::test_specific_method
    

    Run a Set of Tests Based on Test Name

    The -k option enables you to pass in an expression to run tests that have certain names specified by the expression as a substring of the test name. It is possible to use and, or, and not to create complex expressions.

    For example, to run all of the functions that have _raises in their name:

    pytest -v -k _raises
    

    Sending a file over TCP sockets in Python

    Client need to notify that it finished sending, using socket.shutdown (not socket.close which close both reading/writing part of the socket):

    ...
    print "Done Sending"
    s.shutdown(socket.SHUT_WR)
    print s.recv(1024)
    s.close()
    

    UPDATE

    Client sends Hello server! to the server; which is written to the file in the server side.

    s.send("Hello server!")
    

    Remove above line to avoid it.

    Loop through list with both content and index

    Like everyone else:

    for i, val in enumerate(data):
        print i, val
    

    but also

    for i, val in enumerate(data, 1):
        print i, val
    

    In other words, you can specify as starting value for the index/count generated by enumerate() which comes in handy if you don't want your index to start with the default value of zero.

    I was printing out lines in a file the other day and specified the starting value as 1 for enumerate(), which made more sense than 0 when displaying information about a specific line to the user.

    An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

    I think your EmpID column is string and you forget to use ' ' in your value.

    Because when you write EmpID=" + id.Text, your command looks like EmpID = 12345 instead of EmpID = '12345'

    Change your SqlCommand to

    SqlCommand cmd = new SqlCommand("SELECT EmpName FROM Employee WHERE EmpID='" + id.Text +"'", con);
    

    Or as a better way you can (and should) always use parameterized queries. This kind of string concatenations are open for SQL Injection attacks.

    SqlCommand cmd = new SqlCommand("SELECT EmpName FROM Employee WHERE EmpID = @id", con);
    cmd.Parameters.AddWithValue("@id", id.Text);
    

    I think your EmpID column keeps your employee id's, so it's type should some numerical type instead of character.

    How to round a numpy array?

    Numpy provides two identical methods to do this. Either use

    np.round(data, 2)
    

    or

    np.around(data, 2)
    

    as they are equivalent.

    See the documentation for more information.


    Examples:

    >>> import numpy as np
    >>> a = np.array([0.015, 0.235, 0.112])
    >>> np.round(a, 2)
    array([0.02, 0.24, 0.11])
    >>> np.around(a, 2)
    array([0.02, 0.24, 0.11])
    >>> np.round(a, 1)
    array([0. , 0.2, 0.1])
    

    How to get the difference between two arrays in JavaScript?

    Quick solution. Although it seems that others have already posted different variations of the same method. I am not sure this is the best for huge arrays, but it works for my arrays which won't be larger than 10 or 15.

    Difference b - a

    for(var i = 0; i < b.length; i++){
      for(var j = 0; j < a.length; j ++){
        var loc = b.indexOf(a[j]);
        if(loc > -1){
          b.splice(loc, 1);
        }
      }
    }
    

    How to while loop until the end of a file in Python without checking for empty line?

    for line in f

    reads all file to a memory, and that can be a problem.

    My offer is to change the original source by replacing stripping and checking for empty line. Because if it is not last line - You will receive at least newline character in it ('\n'). And '.strip()' removes it. But in last line of a file You will receive truely empty line, without any characters. So the following loop will not give You false EOF, and You do not waste a memory:

    with open("blablabla.txt", "r") as fl_in:
       while True:
          line = fl_in.readline()
    
            if not line:
                break
    
          line = line.strip()
          # do what You want
    

    How can I hide select options with JavaScript? (Cross browser)

    Since you mentioned that you want to re-add the options later, I would suggest that you load an array or object with the contents of the select box on page load - that way you always have a "master list" of the original select if you need to restore it.

    I made a simple example that removes the first element in the select and then a restore button puts the select box back to it's original state:

    http://jsfiddle.net/CZcvM/

    How to navigate to a directory in C:\ with Cygwin?

    You can just use

    cd C:/Users/../..
    

    Count number of days between two dates

    Rails has some built in helpers that might solve this for you. One thing to keep in mind is that this is part of the Actionview Helpers, so they wont be available directly from the console.

    Try this

    <% start_time =  "2012-03-02 14:46:21 +0100" %>
    <% end_time   =  "2012-04-02 14:46:21 +0200" %>
    <%= distance_of_time_in_words(start_time, end_time)  %>
    
     "about 1 month"
    

    $_POST vs. $_SERVER['REQUEST_METHOD'] == 'POST'

    You can submit a form by hitting the enter key (i.e. without clicking the submit button) in most browsers but this does not necessarily send submit as a variable - so it is possible to submit an empty form i.e. $_POST will be empty but the form will still have generated a http post request to the php page. In this case if ($_SERVER['REQUEST_METHOD'] == 'POST') is better.

    Is it possible to style html5 audio tag?

    some color tunings

    audio {
        filter: sepia(20%) saturate(70%) grayscale(1) contrast(99%) invert(12%);
        width: 200px;
        height: 25px;
    }
    

    ssl.SSLError: tlsv1 alert protocol version

    I had the same error and google brought me to this question, so here is what I did, hoping that it helps others in a similar situation.

    This is applicable for OS X.

    Check in the Terminal which version of OpenSSL I had:

    $ python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
    >> OpenSSL 0.9.8zh 14 Jan 2016
    

    As my version of OpenSSL was too old, the accepted answer did not work.

    So I had to update OpenSSL. To do this, I updated Python to the latest version (from version 3.5 to version 3.6) with Homebrew, following some of the steps suggested here:

    $ brew update
    $ brew install openssl
    $ brew install python3
    

    Then I was having problems with the PATH and the version of python being used, so I just created a new virtualenv making sure that the newest version of python was taken:

    $ virtualenv webapp --python=python3.6
    

    Issue solved.

    border-radius not working

    you may include bootstrap to your html file and you put it under the style file so if you do that bootstrap file will override the style file briefly like this

         // style file
         <link rel="stylesheet" href="css/style.css" />
         // bootstrap file
         <link rel="stylesheet" href="css/bootstrap.min.css" />
    

    the right way is this

        // bootstrap file
        <link rel="stylesheet" href="css/bootstrap.min.css" />
        // style file
        <link rel="stylesheet" href="css/style.css" />
    

    ?: ?? Operators Instead Of IF|ELSE

    The ternary operator RETURNS one of two values. Or, it can execute one of two statements based on its condition, but that's generally not a good idea, as it can lead to unintended side-effects.

    bar ? () : baz();
    

    In this case, the () does nothing, while baz does something. But you've only made the code less clear. I'd go for more verbose code that's clearer and easier to maintain.

    Further, this makes little sense at all:

    var foo = bar ? () : baz();
    

    since () has no return type (it's void) and baz has a return type that's unknown at the point of call in this sample. If they don't agree, the compiler will complain, and loudly.

    How to run a Command Prompt command with Visual Basic code?

    Or, you could do it the really simple way.

    Dim OpenCMD 
    OpenCMD = CreateObject("wscript.shell")
    OpenCMD.run("Command Goes Here")
    

    How to run code after some delay in Flutter?

    Future.delayed(Duration(seconds: 3) , your_function)

    Javascript how to split newline

    Since you are using textarea, you may find \n or \r (or \r\n) for line breaks. So, the following is suggested:

    $('#keywords').val().split(/\r|\n/)

    ref: check whether string contains a line break

    IIS7: A process serving application pool 'YYYYY' suffered a fatal communication error with the Windows Process Activation Service

    I ran into this recently. Our organization restricts the accounts that run application pools to a select list of servers in Active Directory. I found that I had not added one of the machines hosting the application to the "Log On To" list for the account in AD.

    How can I rebuild indexes and update stats in MySQL innoDB?

    To date (mysql 8.0.18) there is no suitable function inside mysql to re-create indexes.
    Since mysql 8.0 myisam is slowly phasing into deprecated status, innodb is the current main storage engine.
    In most practical cases innodb is the best choice and it's supposed to keep indexes working well.
    In most practical cases innodb also does a good job, you do not need to recreate indexes. Almost always.

    When it comes to large tables with hundreds of GB data amd rows and a lot of writing the situation changes, indexes can degrade in performance.
    In my personal case I've seen performance drop from ~15 minutes for a count(*) using a secondary index to 4300 minutes after 2 months of writing to the table with linear time increase.
    After recreating the index the performance goes back to 15 minutes.

    To date we have two options to do that:
    1) OPTIMIZE TABLE (or ALTER TABLE)
    Innodb doesn't support optimization so in both cases the entire table will be read and re-created.
    This means you need the storage for the temporary file and depending on the table a lot of time (I've cases where an optimize takes a week to complete). This will compact the data and rebuild all indexes.
    Despite not being officially recommended, I highly recommend the OPTIMIZE process on write-heavy tables up to 100GB in size.

    2) ALTER TABLE DROP KEY -> ALTER TABLE ADD KEY
    You manually drop the key by name, you manually create it again. In a production environment you'll want to create it first, then drop the old version.
    The upside: this can be a lot faster than optimize. The downside: you need to manually create the syntax.
    "SHOW CREATE TABLE" can be used to quickly see which indexes are available and how they are called.

    Appendix:
    1) To just update statistics you can use the already mentioned "ANALYZE TABLE".
    2) If you experience performance degradation on write-heavy servers you might need to restart mysql. There are a couple of bugs in current mysql (8.0) that can cause significant slowdown without showing up in error log. Eventually those slowdowns lead to a server crash but it can take weeks or even months to build up to the crash, in this process the server gets slower and slower in responses.
    3) If you wish to re-create a large table that takes weeks to complete or fails after hours due to internal data integrity problems you should do a CREATE TABLE LIKE, INSERT INTO SELECT *. then 'atomic RENAME' the tables.
    4) If INSERT INTO SELECT * takes hours to days to complete on huge tables you can speed up the process by about 20-30 times using a multi-threaded approach. You "partition" the table into chunks and INSERT INTO SELECT * in parallel.

    What does the 'b' character do in front of a string literal?

    The b denotes a byte string.

    Bytes are the actual data. Strings are an abstraction.

    If you had multi-character string object and you took a single character, it would be a string, and it might be more than 1 byte in size depending on encoding.

    If took 1 byte with a byte string, you'd get a single 8-bit value from 0-255 and it might not represent a complete character if those characters due to encoding were > 1 byte.

    TBH I'd use strings unless I had some specific low level reason to use bytes.

    Java format yyyy-MM-dd'T'HH:mm:ss.SSSz to yyyy-mm-dd HH:mm:ss

    String dateStr = "2016-09-17T08:14:03+00:00";
    String s = dateStr.replace("Z", "+00:00");
    s = s.substring(0, 22) + s.substring(23);
    Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse(s);
    Timestamp createdOn = new Timestamp(date.getTime());
    mcList.setCreated_on(createdOn);
    

    Java 7 added support for time zone descriptors according to ISO 8601. This can be use in Java 7.

    Iterate through 2 dimensional array

    Consider it as an array of arrays and this will work for sure.

    int mat[][] = { {10, 20, 30, 40, 50, 60, 70, 80, 90},
                    {15, 25, 35, 45},
                    {27, 29, 37, 48},
                    {32, 33, 39, 50, 51, 89},
                  };
    
    
        for(int i=0; i<mat.length; i++) {
            for(int j=0; j<mat[i].length; j++) {
                System.out.println("Values at arr["+i+"]["+j+"] is "+mat[i][j]);
            }
        }
    

    When should I use a List vs a LinkedList

    A common circumstance to use LinkedList is like this:

    Suppose you want to remove many certain strings from a list of strings with a large size, say 100,000. The strings to remove can be looked up in HashSet dic, and the list of strings is believed to contain between 30,000 to 60,000 such strings to remove.

    Then what's the best type of List for storing the 100,000 Strings? The answer is LinkedList. If the they are stored in an ArrayList, then iterating over it and removing matched Strings whould take up to billions of operations, while it takes just around 100,000 operations by using an iterator and the remove() method.

    LinkedList<String> strings = readStrings();
    HashSet<String> dic = readDic();
    Iterator<String> iterator = strings.iterator();
    while (iterator.hasNext()){
        String string = iterator.next();
        if (dic.contains(string))
        iterator.remove();
    }
    

    What is the suggested way to install brew, node.js, io.js, nvm, npm on OS X?

    2019 update: Use NVM to install node, not Homebrew

    In most of the answers , recommended way to install nvm is to use Homebrew

    Do not do that

    At Github Page for nvm it is clearly called out:

    Homebrew installation is not supported. If you have issues with homebrew-installed nvm, please brew uninstall it, and install it using the instructions below, before filing an issue.

    Use the following method instead

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
    

    The script clones the nvm repository to ~/.nvm and adds the source line to your profile (~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc).

    And then use nvm to install node. For example to install latest LTS version do:

    nvm install v8.11.1
    

    Clean and hassle free. It would mark this as your default node version as well so you should be all set

    Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null

    I was getting the same error and could not figure it out. I have a functional component exported and then imported into my App component. I set up my functional component in arrow function format, and was getting the error. I put a "return" statement inside the curly braquets, "return ()" and put all my JSX inside the parens. Hopefully this is useful to someone and not redundant. It seems stackoverflow will auto format this into a single line, however, in my editor, VSCode, it's over multiple lines. Maybe not a big deal, but want to be concise.

    import React from 'react';
    
    const Layout = (props) => {
        return (
            <>
                <div>toolbar, sidedrawer, backdrop</div>
                <main>
                    {props.children}
                </main>
            </>
        );
    };
    
    export default Layout;
    

    How to succinctly write a formula with many variables from a data frame?

    You can check the package leaps and in particular the function regsubsets() functions for model selection. As stated in the documentation:

    Model selection by exhaustive search, forward or backward stepwise, or sequential replacement

    Display a jpg image on a JPanel

    I'd probably use an ImageIcon and set it on a JLabel which I'd add to the JPanel.

    Here's Sun's docs on the subject matter.

    How to properly upgrade node using nvm

    This may work:

    nvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION
    

    For example:

    nvm install 6.7 --reinstall-packages-from=6.4
    

    then, if you want, you can delete your previous version with:

    nvm uninstall OLD_VERSION
    

    Where, in your case, NEW_VERSION = 5.4 OLD_VERSION = 5.0

    Alternatively, try:

    nvm install stable --reinstall-packages-from=current
    

    What is the difference between .py and .pyc files?

    .pyc contain the compiled bytecode of Python source files. The Python interpreter loads .pyc files before .py files, so if they're present, it can save some time by not having to re-compile the Python source code. You can get rid of them if you want, but they don't cause problems, they're not big, and they may save some time when running programs.

    MSBUILD : error MSB1008: Only one project can be specified

    For future readers.

    I got this error because my specified LOG file had a space in it:

    BEFORE:

    /l:FileLogger,Microsoft.Build.Engine;logfile=c:\Folder With Spaces\My_Log.log
    

    AFTER: (which resolved it)

    /l:FileLogger,Microsoft.Build.Engine;logfile="c:\Folder With Spaces\My_Log.log"
    

    Receive JSON POST with PHP

    I'd like to post an answer that also uses curl to get the contents, and mpdf to save the results to a pdf, so you get all the steps of a tipical use case. It's only raw code (so to be adapted to your needs), but it works.

    // import mpdf somewhere
    require_once dirname(__FILE__) . '/mpdf/vendor/autoload.php';
    
    // get mpdf instance
    $mpdf = new \Mpdf\Mpdf();
    
    // src php file
    $mysrcfile = 'http://www.somesite.com/somedir/mysrcfile.php';
    // where we want to save the pdf
    $mydestination = 'http://www.somesite.com/somedir/mypdffile.pdf';
    
    // encode $_POST data to json
    $json = json_encode($_POST);
    
    // init curl > pass the url of the php file we want to pass 
    // data to and then print out to pdf
    $ch = curl_init($mysrcfile);
    
    // tell not to echo the results
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1 );
    
    // set the proper headers
    curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Content-Length: ' . strlen($json) ]);
    
    // pass the json data to $mysrcfile
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
    
    // exec curl and save results
    $html = curl_exec($ch);
    
    curl_close($ch);
    
    // parse html and then save to a pdf file
    $mpdf->WriteHTML($html);
    $this->mpdf->Output($mydestination, \Mpdf\Output\Destination::FILE);
    

    In $mysrcfile I'll read json data like this (as stated on previous answers):

    $data = json_decode(file_get_contents('php://input'));
    // (then process it and build the page source)
    

    What does "The code generator has deoptimised the styling of [some file] as it exceeds the max of "100KB"" mean?

    This is related to compact option of Babel compiler, which commands to "not include superfluous whitespace characters and line terminators. When set to 'auto' compact is set to true on input sizes of >100KB." By default its value is "auto", so that is probably the reason you are getting the warning message. See Babel documentation.

    You can change this option from Webpack using a query parameter. For example:

    loaders: [
        { test: /\.js$/, loader: 'babel', query: {compact: false} }
    ]
    

    How to set a CMake option() at command line

    Delete the CMakeCache.txt file and try this:

    cmake -G %1 -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DBUILD_TESTS=ON ..
    

    You have to enter all your command-line definitions before including the path.

    The operation cannot be completed because the DbContext has been disposed error

    This can be as simple as adding ToList() in your repository. For example:

    public IEnumerable<MyObject> GetMyObjectsForId(string id)
    {
        using (var ctxt = new RcContext())
        {
            // causes an error
            return ctxt.MyObjects.Where(x => x.MyObjects.Id == id);
        }
    }
    

    Will yield the Db Context disposed error in the calling class but this can be resolved by explicitly exercising the enumeration by adding ToList() on the LINQ operation:

    public IEnumerable<MyObject> GetMyObjectsForId(string id)
    {
        using (var ctxt = new RcContext())
        {
            return ctxt.MyObjects.Where(x => x.MyObjects.Id == id).ToList();
        }
    }
    

    In C#, how to check whether a string contains an integer?

            string text = Console.ReadLine();
            bool isNumber = false;
    
            for (int i = 0; i < text.Length; i++)
            {
                if (char.IsDigit(text[i]))
                {
                    isNumber = true;
                    break;
                }
            }
    
            if (isNumber)
            {
                Console.WriteLine("Text contains number.");
            }
            else
            {
                Console.WriteLine("Text doesn't contain number.");
            }
    
            Console.ReadKey();
    

    Or Linq:

            string text = Console.ReadLine();
    
            bool isNumberOccurance =text.Any(letter => char.IsDigit(letter));
            Console.WriteLine("{0}",isDigitPresent ? "Text contains number." : "Text doesn't contain number.");
            Console.ReadKey();
    

    Common elements comparison between 2 lists

    >>> list1 = [1,2,3,4,5,6]
    >>> list2 = [3, 5, 7, 9]
    >>> list(set(list1).intersection(list2))
    [3, 5]
    

    Best practice to return errors in ASP.NET Web API

    For Web API 2 my methods consistently return IHttpActionResult so I use...

    public IHttpActionResult Save(MyEntity entity)
    {
      ....
    
        return ResponseMessage(
            Request.CreateResponse(
                HttpStatusCode.BadRequest, 
                validationErrors));
    }
    

    OAuth2 and Google API: access token expiration time?

    You shouldn't design your application based on specific lifetimes of access tokens. Just assume they are (very) short lived.

    However, after a successful completion of the OAuth2 installed application flow, you will get back a refresh token. This refresh token never expires, and you can use it to exchange it for an access token as needed. Save the refresh tokens, and use them to get access tokens on-demand (which should then immediately be used to get access to user data).

    EDIT: My comments above notwithstanding, there are two easy ways to get the access token expiration time:

    1. It is a parameter in the response (expires_in)when you exchange your refresh token (using /o/oauth2/token endpoint). More details.
    2. There is also an API that returns the remaining lifetime of the access_token:

      https://www.googleapis.com/oauth2/v1/tokeninfo?access_token={accessToken}

      This will return a json array that will contain an expires_in parameter, which is the number of seconds left in the lifetime of the token.

    How to make a <div> always full screen?

    This is the most stable (and easy) way to do it, and it works in all modern browsers:

    _x000D_
    _x000D_
    .fullscreen {_x000D_
      position: fixed;_x000D_
      top: 0;_x000D_
      left: 0;_x000D_
      bottom: 0;_x000D_
      right: 0;_x000D_
      overflow: auto;_x000D_
      background: lime; /* Just to visualize the extent */_x000D_
      _x000D_
    }
    _x000D_
    <div class="fullscreen">_x000D_
      Suspendisse aliquam in ante a ornare. Pellentesque quis sapien sit amet dolor euismod congue. Donec non semper arcu. Sed tortor ante, cursus in dui vitae, interdum vestibulum massa. Suspendisse aliquam in ante a ornare. Pellentesque quis sapien sit amet dolor euismod congue. Donec non semper arcu. Sed tortor ante, cursus in dui vitae, interdum vestibulum massa. Suspendisse aliquam in ante a ornare. Pellentesque quis sapien sit amet dolor euismod congue. Donec non semper arcu. Sed tortor ante, cursus in dui vitae, interdum vestibulum massa. Suspendisse aliquam in ante a ornare. Pellentesque quis sapien sit amet dolor euismod congue. Donec non semper arcu. Sed tortor ante, cursus in dui vitae, interdum vestibulum massa._x000D_
    </div>
    _x000D_
    _x000D_
    _x000D_

    Tested to work in Firefox, Chrome, Opera, Vivaldi, IE7+ (based on emulation in IE11).

    How can I convert a dictionary into a list of tuples?

    A simpler one would be

    list(dictionary.items())  # list of (key, value) tuples
    list(zip(dictionary.values(), dictionary.keys()))  # list of (key, value) tuples
    

    HTML: Changing colors of specific words in a string of text

    Tailor this code however you like to fit your needs, you can select text? in the paragraph to be what font or style you need!:

    <head>
    <style>
    p{ color:#ff0000;font-family: "Times New Roman", Times, serif;} 
    font{color:#000fff;background:#000000;font-size:225%;}
    b{color:green;}
    </style>
    </head>
    <body>
    <p>This is your <b>text. <font>Type</font></strong></b>what you like</p>
    </body>
    

    Defining a percentage width for a LinearLayout?

    You have to set the weight property of your elements. Create three RelativeLayouts as children to your LinearLayout and set weights 0.15, 0.70, 0.15. Then add your buttons to the second RelativeLayout(the one with weight 0.70).

    Like this:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:id="@+id/layoutContainer" android:orientation="horizontal">
        <RelativeLayout
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="0.15">
        </RelativeLayout>
        <RelativeLayout
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="0.7">
            
            <!-- This is the part that's 70% of the total width. I'm inserting a LinearLayout and buttons.-->   
                <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:orientation="vertical">
                    
                    <Button 
                        android:text="Button1"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content">
                    </Button>
                    <Button
                        android:text="Button2"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content">
                    </Button>
                    <Button
                        android:text="Button3"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content">
                    </Button>
                    
                </LinearLayout>
            <!-- 70% Width End-->
            
        </RelativeLayout>
        <RelativeLayout
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="0.15">
        </RelativeLayout>
    </LinearLayout>
    

    Why are the weights 0.15, 0.7 and 0.15? Because the total weight is 1 and 0.7 is 70% of the total.

    Result:

    enter image description here

    Edit: Thanks to @SimonVeloper for pointing out that the orientation should be horizontal and not vertical and to @Andrew for pointing out that weights can be decimals instead of integers.

    Can I check if Bootstrap Modal Shown / Hidden?

    When modal hide? we check like this :

    $('.yourmodal').on('hidden.bs.modal', function () {
        // do something here
    })
    

    Define global constants

    You can make a class for your global variable and then export this class like this:

    export class CONSTANT {
        public static message2 = [
            { "NAME_REQUIRED": "Name is required" }
        ]
    
        public static message = {
            "NAME_REQUIRED": "Name is required",
        }
    }
    

    After creating and exporting your CONSTANT class, you should import this class in that class where you want to use, like this:

    import { Component, OnInit                       } from '@angular/core';
    import { CONSTANT                                } from '../../constants/dash-constant';
    
    
    @Component({
      selector   : 'team-component',
      templateUrl: `../app/modules/dashboard/dashComponents/teamComponents/team.component.html`,
    })
    
    export class TeamComponent implements OnInit {
      constructor() {
        console.log(CONSTANT.message2[0].NAME_REQUIRED);
        console.log(CONSTANT.message.NAME_REQUIRED);
      }
    
      ngOnInit() {
        console.log("oninit");
        console.log(CONSTANT.message2[0].NAME_REQUIRED);
        console.log(CONSTANT.message.NAME_REQUIRED);
      }
    }
    

    You can use this either in constructor or ngOnInit(){}, or in any predefine methods.

    Create a new object from type parameter in generic class

    This is what I do to retain type info:

    class Helper {
       public static createRaw<T>(TCreator: { new (): T; }, data: any): T
       {
         return Object.assign(new TCreator(), data);
       }
       public static create<T>(TCreator: { new (): T; }, data: T): T
       {
          return this.createRaw(TCreator, data);
       }
    }
    
    ...
    
    it('create helper', () => {
        class A {
            public data: string;
        }
        class B {
            public data: string;
            public getData(): string {
                return this.data;
            }
        }
        var str = "foobar";
    
        var a1 = Helper.create<A>(A, {data: str});
        expect(a1 instanceof A).toBeTruthy();
        expect(a1.data).toBe(str);
    
        var a2 = Helper.create(A, {data: str});
        expect(a2 instanceof A).toBeTruthy();
        expect(a2.data).toBe(str);
    
        var b1 = Helper.createRaw(B, {data: str});
        expect(b1 instanceof B).toBeTruthy();
        expect(b1.data).toBe(str);
        expect(b1.getData()).toBe(str);
    
    });
    

    javascript: calculate x% of a number

    In order to fully avoid floating point issues, the amount whose percent is being calculated and the percent itself need to be converted to integers. Here's how I resolved this:

    function calculatePercent(amount, percent) {
        const amountDecimals = getNumberOfDecimals(amount);
        const percentDecimals = getNumberOfDecimals(percent);
        const amountAsInteger = Math.round(amount + `e${amountDecimals}`);
        const percentAsInteger = Math.round(percent + `e${percentDecimals}`);
        const precisionCorrection = `e-${amountDecimals + percentDecimals + 2}`;    // add 2 to scale by an additional 100 since the percentage supplied is 100x the actual multiple (e.g. 35.8% is passed as 35.8, but as a proper multiple is 0.358)
    
        return Number((amountAsInteger * percentAsInteger) + precisionCorrection);
    }
    
    function getNumberOfDecimals(number) {
        const decimals = parseFloat(number).toString().split('.')[1];
    
        if (decimals) {
            return decimals.length;
        }
    
        return 0;
    }
    
    calculatePercent(20.05, 10); // 2.005
    

    As you can see, I:

    1. Count the number of decimals in both the amount and the percent
    2. Convert both amount and percent to integers using exponential notation
    3. Calculate the exponential notation needed to determine the proper end value
    4. Calculate the end value

    The usage of exponential notation was inspired by Jack Moore's blog post. I'm sure my syntax could be shorter, but I wanted to be as explicit as possible in my usage of variable names and explaining each step.

    How to show math equations in general github's markdown(not github's blog)

    I use the below mentioned process to convert equations to markdown. This works very well for me. Its very simple!!

    Let's say, I want to represent matrix multiplication equation

    Step 1:

    Get the script for your formulae from here - https://csrgxtu.github.io/2015/03/20/Writing-Mathematic-Fomulars-in-Markdown/

    My example: I wanted to represent Z(i,j)=X(i,k) * Y(k, j); k=1 to n into a summation formulae.

    enter image description here

    Referencing the website, the script needed was => Z_i_j=\sum_{k=1}^{10} X_i_k * Y_k_j

    Step 2:

    Use URL encoder - https://www.urlencoder.org/ to convert the script to a valid url

    My example:

    enter image description here

    Step 3:

    Use this website to generate the image by copy-pasting the output from Step 2 in the "eq" request parameter - http://www.sciweavers.org/tex2img.php?eq=<b><i>paste-output-here</i></b>&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=

    - My example:
    http://www.sciweavers.org/tex2img.php?eq=Z_i_j=\sum_{k=1}^{10}%20X_i_k%20*%20Y_k_j&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=

    enter image description here

    Step 4:

    Reference image using markdown syntax - ![alt text](enter url here)

    - Copy this in your markdown and you are good to go:

    ![Z(i,j)=X(i,k) * Y(k, j); k=1 to n](http://www.sciweavers.org/tex2img.php?eq=Z_i_j%3D%5Csum_%7Bi%3D1%7D%5E%7B10%7D%20X_i_k%20%2A%20Y_k_j&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

    Image below is the output of markdown. Hurray!!


    enter image description here

    angular2: Error: TypeError: Cannot read property '...' of undefined

    That's because abc is undefined at the moment of the template rendering. You can use safe navigation operator (?) to "protect" template until HTTP call is completed:

    {{abc?.xyz?.name}}
    

    You can read more about safe navigation operator here.

    Update:

    Safe navigation operator can't be used in arrays, you will have to take advantage of NgIf directive to overcome this problem:

    <div *ngIf="arr && arr.length > 0">
        {{arr[0].name}}
    </div>
    

    Read more about NgIf directive here.

    Printing leading 0's in C

    ZIP Code is a highly localised field, and many countries have characters in their postcodes, e.g., UK, Canada. Therefore, in this example, you should use a string / varchar field to store it if at any point you would be shipping or getting users, customers, clients, etc. from other countries.

    However, in the general case, you should use the recommended answer (printf("%05d", number);).

    Waiting until two async blocks are executed before starting another block

    Answers above are all cool, but they all missed one thing. group executes tasks(blocks) in the thread where it entered when you use dispatch_group_enter/dispatch_group_leave.

    - (IBAction)buttonAction:(id)sender {
          dispatch_queue_t demoQueue = dispatch_queue_create("com.demo.group", DISPATCH_QUEUE_CONCURRENT);
          dispatch_async(demoQueue, ^{
            dispatch_group_t demoGroup = dispatch_group_create();
            for(int i = 0; i < 10; i++) {
              dispatch_group_enter(demoGroup);
              [self testMethod:i
                         block:^{
                           dispatch_group_leave(demoGroup);
                         }];
            }
    
            dispatch_group_notify(demoGroup, dispatch_get_main_queue(), ^{
              NSLog(@"All group tasks are done!");
            });
          });
        }
    
        - (void)testMethod:(NSInteger)index block:(void(^)(void))completeBlock {
          NSLog(@"Group task started...%ld", index);
          NSLog(@"Current thread is %@ thread", [NSThread isMainThread] ? @"main" : @"not main");
          [NSThread sleepForTimeInterval:1.f];
    
          if(completeBlock) {
            completeBlock();
          }
        }
    

    this runs in the created concurrent queue demoQueue. If i dont create any queue, it runs in main thread.

    - (IBAction)buttonAction:(id)sender {
        dispatch_group_t demoGroup = dispatch_group_create();
        for(int i = 0; i < 10; i++) {
          dispatch_group_enter(demoGroup);
          [self testMethod:i
                     block:^{
                       dispatch_group_leave(demoGroup);
                     }];
        }
    
        dispatch_group_notify(demoGroup, dispatch_get_main_queue(), ^{
          NSLog(@"All group tasks are done!");
        });
        }
    
        - (void)testMethod:(NSInteger)index block:(void(^)(void))completeBlock {
          NSLog(@"Group task started...%ld", index);
          NSLog(@"Current thread is %@ thread", [NSThread isMainThread] ? @"main" : @"not main");
          [NSThread sleepForTimeInterval:1.f];
    
          if(completeBlock) {
            completeBlock();
          }
        }
    

    and there's a third way to make tasks executed in another thread:

    - (IBAction)buttonAction:(id)sender {
          dispatch_queue_t demoQueue = dispatch_queue_create("com.demo.group", DISPATCH_QUEUE_CONCURRENT);
          //  dispatch_async(demoQueue, ^{
          __weak ViewController* weakSelf = self;
          dispatch_group_t demoGroup = dispatch_group_create();
          for(int i = 0; i < 10; i++) {
            dispatch_group_enter(demoGroup);
            dispatch_async(demoQueue, ^{
              [weakSelf testMethod:i
                             block:^{
                               dispatch_group_leave(demoGroup);
                             }];
            });
          }
    
          dispatch_group_notify(demoGroup, dispatch_get_main_queue(), ^{
            NSLog(@"All group tasks are done!");
          });
          //  });
        }
    

    Of course, as mentioned you can use dispatch_group_async to get what you want.

    How to show live preview in a small popup of linked page on mouse over on link?

    I have done a little plugin to show a iframe window to preview a link. Still in beta version. Maybe it fits your case: https://github.com/Fischer-L/previewbox.

    How to calculate the bounding box for a given lat/lng location?

    Here I have converted Federico A. Ramponi's answer to C# for anybody interested:

    public class MapPoint
    {
        public double Longitude { get; set; } // In Degrees
        public double Latitude { get; set; } // In Degrees
    }
    
    public class BoundingBox
    {
        public MapPoint MinPoint { get; set; }
        public MapPoint MaxPoint { get; set; }
    }        
    
    // Semi-axes of WGS-84 geoidal reference
    private const double WGS84_a = 6378137.0; // Major semiaxis [m]
    private const double WGS84_b = 6356752.3; // Minor semiaxis [m]
    
    // 'halfSideInKm' is the half length of the bounding box you want in kilometers.
    public static BoundingBox GetBoundingBox(MapPoint point, double halfSideInKm)
    {            
        // Bounding box surrounding the point at given coordinates,
        // assuming local approximation of Earth surface as a sphere
        // of radius given by WGS84
        var lat = Deg2rad(point.Latitude);
        var lon = Deg2rad(point.Longitude);
        var halfSide = 1000 * halfSideInKm;
    
        // Radius of Earth at given latitude
        var radius = WGS84EarthRadius(lat);
        // Radius of the parallel at given latitude
        var pradius = radius * Math.Cos(lat);
    
        var latMin = lat - halfSide / radius;
        var latMax = lat + halfSide / radius;
        var lonMin = lon - halfSide / pradius;
        var lonMax = lon + halfSide / pradius;
    
        return new BoundingBox { 
            MinPoint = new MapPoint { Latitude = Rad2deg(latMin), Longitude = Rad2deg(lonMin) },
            MaxPoint = new MapPoint { Latitude = Rad2deg(latMax), Longitude = Rad2deg(lonMax) }
        };            
    }
    
    // degrees to radians
    private static double Deg2rad(double degrees)
    {
        return Math.PI * degrees / 180.0;
    }
    
    // radians to degrees
    private static double Rad2deg(double radians)
    {
        return 180.0 * radians / Math.PI;
    }
    
    // Earth radius at a given latitude, according to the WGS-84 ellipsoid [m]
    private static double WGS84EarthRadius(double lat)
    {
        // http://en.wikipedia.org/wiki/Earth_radius
        var An = WGS84_a * WGS84_a * Math.Cos(lat);
        var Bn = WGS84_b * WGS84_b * Math.Sin(lat);
        var Ad = WGS84_a * Math.Cos(lat);
        var Bd = WGS84_b * Math.Sin(lat);
        return Math.Sqrt((An*An + Bn*Bn) / (Ad*Ad + Bd*Bd));
    }
    

    Is there a shortcut to make a block comment in Xcode?

    I modified the code of Nikola Milicevic a little bit so it also remove comment block if code is already commented:

    on run {input, parameters}
        repeat with anInput in input
            if "/*" is in anInput then
                set input to replaceText("/*", "", input as string)
                set input to replaceText("*/", "", input as string)
    
                return input
                exit repeat
            end if
        end repeat
        return "/*" & (input as string) & "*/"
    end run
    
    on replaceText(find, replace, textString)
        set prevTIDs to AppleScript's text item delimiters
        set AppleScript's text item delimiters to find
        set textString to text items of textString
        set AppleScript's text item delimiters to replace
        set textString to "" & textString
        set AppleScript's text item delimiters to prevTIDs
        return textString
    end replaceText
    

    Hope this will help someone.enter image description here

    Passing an array as an argument to a function in C

    Arrays in C are converted, in most of the cases, to a pointer to the first element of the array itself. And more in detail arrays passed into functions are always converted into pointers.

    Here a quote from K&R2nd:

    When an array name is passed to a function, what is passed is the location of the initial element. Within the called function, this argument is a local variable, and so an array name parameter is a pointer, that is, a variable containing an address.

    Writing:

    void arraytest(int a[])
    

    has the same meaning as writing:

    void arraytest(int *a)
    

    So despite you are not writing it explicitly it is as you are passing a pointer and so you are modifying the values in the main.

    For more I really suggest reading this.

    Moreover, you can find other answers on SO here

    Making interface implementations async

    An abstract class can be used instead of an interface (in C# 7.3).

    // Like interface
    abstract class IIO
    {
        public virtual async Task<string> DoOperation(string Name)
        {
            throw new NotImplementedException(); // throwing exception
            // return await Task.Run(() => { return ""; }); // or empty do
        }
    }
    
    // Implementation
    class IOImplementation : IIO
    {
        public override async Task<string> DoOperation(string Name)
        {
            return await await Task.Run(() =>
            {
                if(Name == "Spiderman")
                    return "ok";
                return "cancel";
            }); 
        }
    }
    

    Check if key exists and iterate the JSON array using Python

    If all you want is to check if key exists or not

    h = {'a': 1}
    'b' in h # returns False
    

    If you want to check if there is a value for key

    h.get('b') # returns None
    

    Return a default value if actual value is missing

    h.get('b', 'Default value')
    

    How to Verify if file exist with VB script

    There is no built-in functionality in VBS for that, however, you can use the FileSystemObject FileExists function for that :

    Option Explicit
    DIM fso    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    If (fso.FileExists("C:\Program Files\conf")) Then
      WScript.Echo("File exists!")
      WScript.Quit()
    Else
      WScript.Echo("File does not exist!")
    End If
    
    WScript.Quit()
    

    how to modify the size of a column

    Regardless of what error Oracle SQL Developer may indicate in the syntax highlighting, actually running your alter statement exactly the way you originally had it works perfectly:

    ALTER TABLE TEST_PROJECT2 MODIFY proj_name VARCHAR2(300);
    

    You only need to add parenthesis if you need to alter more than one column at once, such as:

    ALTER TABLE TEST_PROJECT2 MODIFY (proj_name VARCHAR2(400), proj_desc VARCHAR2(400));
    

    How to convert object to Dictionary<TKey, TValue> in C#?

    Simple way:

    public IDictionary<T, V> toDictionary<T, V>(Object objAttached)
    {
        var dicCurrent = new Dictionary<T, V>();
        foreach (DictionaryEntry dicData in (objAttached as IDictionary))
        {
            dicCurrent.Add((T)dicData.Key, (V)dicData.Value);
        }
        return dicCurrent;
    }
    

    Increment a database field by 1

    This is more a footnote to a number of the answers above which suggest the use of ON DUPLICATE KEY UPDATE, BEWARE that this is NOT always replication safe, so if you ever plan on growing beyond a single server, you'll want to avoid this and use two queries, one to verify the existence, and then a second to either UPDATE when a row exists, or INSERT when it does not.

    How to use sed to replace only the first occurrence in a file?

    #!/bin/sed -f
    1,/^#include/ {
        /^#include/i\
    #include "newfile.h"
    }
    

    How this script works: For lines between 1 and the first #include (after line 1), if the line starts with #include, then prepend the specified line.

    However, if the first #include is in line 1, then both line 1 and the next subsequent #include will have the line prepended. If you are using GNU sed, it has an extension where 0,/^#include/ (instead of 1,) will do the right thing.

    Python: Generate random number between x and y which is a multiple of 5

    >>> import random
    >>> random.randrange(5,60,5)
    

    should work in any Python >= 2.

    How to generate different random numbers in a loop in C++?

    The way the function rand() works is that every time you call it, it generates a random number. In your code, you've called it once and stored it into the variable random_x. To get your desired random numbers instead of storing it into a variable, just call the function like this:

    for (int t=0;t<10;t++)
    {
        cout << "\nRandom X = " << rand() % 100;
    }
    

    Saving image from PHP URL

    Here you go, the example saves the remote image to image.jpg.

    function save_image($inPath,$outPath)
    { //Download images from remote server
        $in=    fopen($inPath, "rb");
        $out=   fopen($outPath, "wb");
        while ($chunk = fread($in,8192))
        {
            fwrite($out, $chunk, 8192);
        }
        fclose($in);
        fclose($out);
    }
    
    save_image('http://www.someimagesite.com/img.jpg','image.jpg');
    

    update listview dynamically with adapter

    If you create your own adapter, there is one notable abstract function:

    public void registerDataSetObserver(DataSetObserver observer) {
        ...
    }
    

    You can use the given observers to notify the system to update:

    private ArrayList<DataSetObserver> observers = new ArrayList<DataSetObserver>();
    
    public void registerDataSetObserver(DataSetObserver observer) {
        observers.add(observer);
    }
    public void notifyDataSetChanged(){
        for (DataSetObserver observer: observers) {
            observer.onChanged();
        }
    }
    

    Though aren't you glad there are things like the SimpleAdapter and ArrayAdapter and you don't have to do all that?

    Deleting Elements in an Array if Element is a Certain value VBA

    I'm pretty new to vba & excel - only been doing this for about 3 months - I thought I'd share my array de-duplication method here as this post seems relevant to it:

    This code if part of a bigger application that analyses pipe data- Pipes are listed in a sheet with number in xxxx.1, xxxx.2, yyyy.1, yyyy.2 .... format. so thats why all the string manipulation exists. basically it only collects the pipe number once only, and not the .2 or .1 part.

            With wbPreviousSummary.Sheets(1)
    '   here, we will write the edited pipe numbers to a collection - then pass the collection to an array
            Dim PipeDict As New Dictionary
    
            Dim TempArray As Variant
    
            TempArray = .Range(.Cells(3, 2), .Cells(3, 2).End(xlDown)).Value
    
            For ele = LBound(TempArray, 1) To UBound(TempArray, 1)
    
                If Not PipeDict.Exists(Left(TempArray(ele, 1), Len(TempArray(ele, 1) - 2))) Then
    
                    PipeDict.Add Key:=Left(TempArray(ele, 1), Len(TempArray(ele, 1) - 2)), _
                                                            Item:=Left(TempArray(ele, 1), Len(TempArray(ele, 1) - 2))
    
                End If
    
            Next ele
    
            TempArray = PipeDict.Items
    
            For ele = LBound(TempArray) To UBound(TempArray)
                MsgBox TempArray(ele)
            Next ele
    
        End With
        wbPreviousSummary.Close SaveChanges:=False
    
        Set wbPreviousSummary = Nothing 'done early so we dont have the information loaded in memory
    

    Using a heap of message boxes for debugging atm - im sure you'll change it to suit your own work.

    I hope people find this useful, Regards Joe

    How can I center an image in Bootstrap?

    Since the img is an inline element, Just use text-center on it's container. Using mx-auto will center the container (column) too.

    <div class="row">
        <div class="col-4 mx-auto text-center">
            <img src="..">
        </div>
    </div>
    

    By default, images are display:inline. If you only want the center the image (and not the other column content), make the image display:block using the d-block class, and then mx-auto will work.

    <div class="row">
      <div class="col-4">
        <img class="mx-auto d-block" src="..">
      </div>
    </div>
    

    Demo: http://codeply.com/go/iakGGLdB8s

    Get week number (in the year) from a date PHP

    I have tried to solve this question for years now, I thought I found a shorter solution but had to come back again to the long story. This function gives back the right ISO week notation:

    /**
     * calcweek("2018-12-31") => 1901
     * This function calculates the production weeknumber according to the start on 
     * monday and with at least 4 days in the new year. Given that the $date has
     * the following format Y-m-d then the outcome is and integer.
     *
     * @author M.S.B. Bachus
     *
     * @param date-notation PHP "Y-m-d" showing the data as yyyy-mm-dd
     * @return integer
     **/
    function calcweek($date) {
      // 1. Convert input to $year, $month, $day
      $dateset      = strtotime($date);
      $year         = date("Y", $dateset);
      $month        = date("m", $dateset);
      $day          = date("d", $dateset);
    
      $referenceday = getdate(mktime(0,0,0, $month, $day, $year));
      $jan1day      = getdate(mktime(0,0,0,1,1,$referenceday[year]));
    
      // 2. check if $year is a  leapyear
      if ( ($year%4==0 && $year%100!=0) || $year%400==0) {
        $leapyear = true;
      } else {
        $leapyear = false;
      }
    
      // 3. check if $year-1 is a  leapyear
      if ( (($year-1)%4==0 && ($year-1)%100!=0) || ($year-1)%400==0 ) {
        $leapyearprev = true;
      } else {
        $leapyearprev = false;
      }
    
      // 4. find the dayofyearnumber for y m d
      $mnth = array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
      $dayofyearnumber = $day + $mnth[$month-1];
      if ( $leapyear && $month > 2 ) { $dayofyearnumber++; }
    
      // 5. find the jan1weekday for y (monday=1, sunday=7)
      $yy = ($year-1)%100;
      $c  = ($year-1) - $yy;
      $g  = $yy + intval($yy/4);
      $jan1weekday = 1+((((intval($c/100)%4)*5)+$g)%7);
    
      // 6. find the weekday for y m d
      $h = $dayofyearnumber + ($jan1weekday-1);
      $weekday = 1+(($h-1)%7);
    
      // 7. find if y m d falls in yearnumber y-1, weeknumber 52 or 53
      $foundweeknum = false;
      if ( $dayofyearnumber <= (8-$jan1weekday) && $jan1weekday > 4 ) {
        $yearnumber = $year - 1;
        if ( $jan1weekday = 5 || ( $jan1weekday = 6 && $leapyearprev )) {
          $weeknumber = 53;
        } else {
          $weeknumber = 52;
        }
        $foundweeknum = true;
      } else {
        $yearnumber = $year;
      }
    
      // 8. find if y m d falls in yearnumber y+1, weeknumber 1
      if ( $yearnumber == $year && !$foundweeknum) {
        if ( $leapyear ) {
          $i = 366;
        } else {
          $i = 365;
        }
        if ( ($i - $dayofyearnumber) < (4 - $weekday) ) {
          $yearnumber = $year + 1;
          $weeknumber = 1;
          $foundweeknum = true;
        }
      }
    
      // 9. find if y m d falls in yearnumber y, weeknumber 1 through 53
      if ( $yearnumber == $year && !$foundweeknum ) {
        $j = $dayofyearnumber + (7 - $weekday) + ($jan1weekday - 1);
        $weeknumber = intval( $j/7 );
        if ( $jan1weekday > 4 ) { $weeknumber--; }
      }
    
      // 10. output iso week number (YYWW)
      return ($yearnumber-2000)*100+$weeknumber;
    }
    

    I found out that my short solution missed the 2018-12-31 as it gave back 1801 instead of 1901. So I had to put in this long version which is correct.

    Command to close an application of console?

     //How to start another application from the current application
     Process runProg = new Process();
     runProg.StartInfo.FileName = pathToFile; //the path of the application
     runProg.StartInfo.Arguments = genArgs; //any arguments you want to pass
     runProg.StartInfo.CreateNoWindow = true;
     runProg.Start();
    
     //How to end the same application from the current application
     int IDstring = System.Convert.ToInt32(runProg.Id.ToString());
     Process tempProc = Process.GetProcessById(IDstring);
     tempProc.CloseMainWindow();
     tempProc.WaitForExit();
    

    Logical operators ("and", "or") in DOS batch

    Only the OR part is tricky, but with a general boolean expression containing NOT OR AND the only nice solution is this:

    REM if A == B OR C == C then yes
    
    (call :strequ A B || call :strequ C C) && echo yes
    exit /b
    
    :strequ
    if "%1" == "%2" exit /b 0
    exit /b 1
    

    YYYY-MM-DD format date in shell script

    Whenever I have a task like this I end up falling back to

    $ man strftime
    

    to remind myself of all the possibilities for time formatting options.

    Get Country of IP Address with PHP

    Look at the GeoIP functions under "Other Basic Extensions." http://php.net/manual/en/book.geoip.php

    How to avoid warning when introducing NAs by coercion

    suppressWarnings() has already been mentioned. An alternative is to manually convert the problematic characters to NA first. For your particular problem, taRifx::destring does just that. This way if you get some other, unexpected warning out of your function, it won't be suppressed.

    > library(taRifx)
    > x <- as.numeric(c("1", "2", "X"))
    Warning message:
    NAs introduced by coercion 
    > y <- destring(c("1", "2", "X"))
    > y
    [1]  1  2 NA
    > x
    [1]  1  2 NA
    

    How to remove element from ArrayList by checking its value?

    Use a iterator to loop through list and then delete the required object.

        Iterator itr = a.iterator();
        while(itr.hasNext()){
            if(itr.next().equals("acbd"))
                itr.remove();
        }
    

    Best C++ IDE or Editor for Windows

    My favorite IDE was good old msdev.exe, a.k.a., Microsoft Development Studio, a.k.a., Microsoft Visual C++ 6. It was the last version of Visual C++ that didn't require me to get new hardware just to run it.

    However, the compiler wasn't standard-compliant. Not even remotely.