Programs & Examples On #Unrar

Unrar is the name of two different command-line applications for extracting RAR archives.

phpMyAdmin is throwing a #2002 cannot log in to the mysql server phpmyadmin

This the following line in your php.ini file

mysql.default_socket = "MySQL"

to

mysql.default_socket = /var/run/mysqld/mysqld.sock

How to get value of Radio Buttons?

I found that using the Common Event described above works well and you could have the common event set up like this:

private void checkChanged(object sender, EventArgs e)
    {
        foreach (RadioButton r in yourPanel.Controls)
        {
            if (r.Checked)
                textBox.Text = r.Text;
        }
    }

Of course, then you can't have other controls in your panel that you use, but it's useful if you just have a separate panel for all your radio buttons (such as using a sub panel inside a group box or however you prefer to organize your controls)

Python argparse: default value or specified value

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--example', nargs='?', const=1, type=int)
args = parser.parse_args()
print(args)

% test.py 
Namespace(example=None)
% test.py --example
Namespace(example=1)
% test.py --example 2
Namespace(example=2)

  • nargs='?' means 0-or-1 arguments
  • const=1 sets the default when there are 0 arguments
  • type=int converts the argument to int

If you want test.py to set example to 1 even if no --example is specified, then include default=1. That is, with

parser.add_argument('--example', nargs='?', const=1, type=int, default=1)

then

% test.py 
Namespace(example=1)

Generate a Hash from string in Javascript

Thanks to the example by mar10, I found a way to get the same results in C# AND Javascript for an FNV-1a. If unicode chars are present, the upper portion is discarded for the sake of performance. Don't know why it would be helpful to maintain those when hashing, as am only hashing url paths for now.

C# Version

private static readonly UInt32 FNV_OFFSET_32 = 0x811c9dc5;   // 2166136261
private static readonly UInt32 FNV_PRIME_32 = 0x1000193;     // 16777619

// Unsigned 32bit integer FNV-1a
public static UInt32 HashFnv32u(this string s)
{
    // byte[] arr = Encoding.UTF8.GetBytes(s);      // 8 bit expanded unicode array
    char[] arr = s.ToCharArray();                   // 16 bit unicode is native .net 

    UInt32 hash = FNV_OFFSET_32;
    for (var i = 0; i < s.Length; i++)
    {
        // Strips unicode bits, only the lower 8 bits of the values are used
        hash = hash ^ unchecked((byte)(arr[i] & 0xFF));
        hash = hash * FNV_PRIME_32;
    }
    return hash;
}

// Signed hash for storing in SQL Server
public static Int32 HashFnv32s(this string s)
{
    return unchecked((int)s.HashFnv32u());
}

JavaScript Version

var utils = utils || {};

utils.FNV_OFFSET_32 = 0x811c9dc5;

utils.hashFnv32a = function (input) {
    var hval = utils.FNV_OFFSET_32;

    // Strips unicode bits, only the lower 8 bits of the values are used
    for (var i = 0; i < input.length; i++) {
        hval = hval ^ (input.charCodeAt(i) & 0xFF);
        hval += (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24);
    }

    return hval >>> 0;
}

utils.toHex = function (val) {
    return ("0000000" + (val >>> 0).toString(16)).substr(-8);
}

checking memory_limit in PHP

Thank you for inspiration.

I had the same problem and instead of just copy-pasting some function from the Internet, I wrote an open source tool for it. Feel free to use it or provide feedback!

https://github.com/BrandEmbassy/php-memory

Just install it using Composer and then you get the current PHP memory limit like this:

$configuration = new \BrandEmbassy\Memory\MemoryConfiguration();
$limitProvider = new \BrandEmbassy\Memory\MemoryLimitProvider($configuration);
$limitInBytes = $memoryLimitProvider->getLimitInBytes();

How can I check a C# variable is an empty string "" or null?

if the variable is a string

bool result = string.IsNullOrEmpty(variableToTest);

if you only have an object which may or may not contain a string then

bool result = string.IsNullOrEmpty(variableToTest as string);

how to generate a unique token which expires after 24 hours?

you need to store the token while creating for 1st registration. When you retrieve data from login table you need to differentiate entered date with current date if it is more than 1 day (24 hours) you need to display message like your token is expired.

To generate key refer here

EditText, inputType values (xml)

Supplemental answer

Here is how the standard keyboard behaves for each of these input types.

enter image description here

See this answer for more details.

jQuery load first 3 elements, click "load more" to display next 5 elements

The expression $(document).ready(function() deprecated in jQuery3.

See working fiddle with jQuery 3 here

Take into account I didn't include the showless button.

Here's the code:

JS

$(function () {
    x=3;
    $('#myList li').slice(0, 3).show();
    $('#loadMore').on('click', function (e) {
        e.preventDefault();
        x = x+5;
        $('#myList li').slice(0, x).slideDown();
    });
});

CSS

#myList li{display:none;
}
#loadMore {
    color:green;
    cursor:pointer;
}
#loadMore:hover {
    color:black;
}

How do you decrease navbar height in Bootstrap 3?

The answer above worked fine (MVC5 + Bootstrap 3.0), but the height returned to the default once the navbar button showed up (very small screen). Had to add the below in my .css to fix that as well.

.navbar-header .navbar-toggle {
    margin-top:0px;
    margin-bottom:0px;
    padding-bottom:0px;
}

In jQuery, how do I get the value of a radio button when they all have the same name?

In your code, jQuery just looks for the first instance of an input with name q12_3, which in this case has a value of 1. You want an input with name q12_3 that is :checked.

_x000D_
_x000D_
$("#submit").click(() => {_x000D_
  const val = $('input[name=q12_3]:checked').val();_x000D_
  alert(val);_x000D_
});
_x000D_
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>_x000D_
_x000D_
<table>_x000D_
  <tr>_x000D_
    <td>Sales Promotion</td>_x000D_
    <td><input type="radio" name="q12_3" value="1">1</td>_x000D_
    <td><input type="radio" name="q12_3" value="2">2</td>_x000D_
    <td><input type="radio" name="q12_3" value="3">3</td>_x000D_
    <td><input type="radio" name="q12_3" value="4">4</td>_x000D_
    <td><input type="radio" name="q12_3" value="5">5</td>_x000D_
  </tr>_x000D_
</table>_x000D_
<button id="submit">submit</button>
_x000D_
_x000D_
_x000D_

Note that the above code is not the same as using .is(":checked"). jQuery's is() function returns a boolean (true or false) and not (an) element(s).


Because this answer keeps getting a lot of attention, I'll also include a vanilla JavaScript snippet.

_x000D_
_x000D_
document.querySelector("#submit").addEventListener("click", () => {_x000D_
  const val = document.querySelector("input[name=q12_3]:checked").value;_x000D_
  alert(val);_x000D_
});
_x000D_
<table>_x000D_
  <tr>_x000D_
    <td>Sales Promotion</td>_x000D_
    <td><input type="radio" name="q12_3" value="1">1</td>_x000D_
    <td><input type="radio" name="q12_3" value="2">2</td>_x000D_
    <td><input type="radio" name="q12_3" value="3">3</td>_x000D_
    <td><input type="radio" name="q12_3" value="4">4</td>_x000D_
    <td><input type="radio" name="q12_3" value="5">5</td>_x000D_
  </tr>_x000D_
</table>_x000D_
<button id="submit">submit</button>
_x000D_
_x000D_
_x000D_

Using Node.JS, how do I read a JSON file into (server) memory?

https://nodejs.org/dist/latest-v6.x/docs/api/fs.html#fs_fs_readfile_file_options_callback

var fs = require('fs');  

fs.readFile('/etc/passwd', (err, data) => {
  if (err) throw err;
  console.log(data);
});  

// options
fs.readFile('/etc/passwd', 'utf8', callback);

https://nodejs.org/dist/latest-v6.x/docs/api/fs.html#fs_fs_readfilesync_file_options

You can find all usage of Node.js at the File System docs!
hope this help for you!

How to hide close button in WPF window?

As stated in other answers, you can use WindowStyle="None" to remove the Title Bar altogether.

And, as stated in the comments to those other answers, this prevents the window from being draggable so it is hard to move it from its initial position.

However, you can overcome this by adding a single line of code to the Constructor in the Window's Code Behind file:

MouseDown += delegate { DragMove(); };

Or, if you prefer Lambda Syntax:

MouseDown += (sender, args) => DragMove();

This makes the entire Window draggable. Any interactive controls present in the Window, such as Buttons, will still work as normal and won't act as drag-handles for the Window.

Android - How to get application name? (Not package name)

There's an easier way than the other answers that doesn't require you to name the resource explicitly or worry about exceptions with package names. It also works if you have used a string directly instead of a resource.

Just do:

public static String getApplicationName(Context context) {
    ApplicationInfo applicationInfo = context.getApplicationInfo();
    int stringId = applicationInfo.labelRes;
    return stringId == 0 ? applicationInfo.nonLocalizedLabel.toString() : context.getString(stringId);
}

Hope this helps.

Edit

In light of the comment from Snicolas, I've modified the above so that it doesn't try to resolve the id if it is 0. Instead it uses, nonLocalizedLabel as a backoff. No need for wrapping in try/catch.

Forbidden :You don't have permission to access /phpmyadmin on this server

Edit file: sudo nano /etc/httpd/conf.d/phpMyAdmin.conf and replace yours with following:

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8
   <IfModule mod_authz_core.c>
     # Apache 2.4
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
   </IfModule>
</Directory>

Restart Apache: service httpd restart

(phpMyAdmin v4.0.10.8)

Convert textbox text to integer

You don't need to write a converter, just do this in your handler/codebehind:

int i = Convert.ToInt32(txtMyTextBox.Text);

OR

int i = int.Parse(txtMyTextBox.Text);

The Text property of your textbox is a String type, so you have to perform the conversion in the code.

The response content cannot be parsed because the Internet Explorer engine is not available, or

I have had this issue also, and while -UseBasicParsing will work for some, if you actually need to interact with the dom it wont work. Try using a a group policy to stop the initial configuration window from ever appearing and powershell won't stop you anymore. See here https://wahlnetwork.com/2015/11/17/solving-the-first-launch-configuration-error-with-powershells-invoke-webrequest-cmdlet/

Took me just a few minutes once I found this page, once the GP is set, powershell will allow you through.

MS Access DB Engine (32-bit) with Office 64-bit

Install the 2007 version, it seems that if you install the version opposite to the version of Office you are using you can make it work.

http://www.microsoft.com/en-us/download/details.aspx?id=23734

TypeScript and array reduce function

Reduce() is..

  • The reduce() method reduces the array to a single value.
  • The reduce() method executes a provided function for each value of the array (from left-to-right).
  • The return value of the function is stored in an accumulator (result/total).

It was ..

let array=[1,2,3];
function sum(acc,val){ return acc+val;} // => can change to (acc,val)=>acc+val
let answer= array.reduce(sum); // answer is 6

Change to

let array=[1,2,3];
let answer=arrays.reduce((acc,val)=>acc+val);

Also you can use in

  1. find max
    let array=[5,4,19,2,7];
    function findMax(acc,val)
    {
     if(val>acc){
       acc=val; 
     }
    }

    let biggest=arrays.reduce(findMax); // 19
  1. find an element that not repeated.
    arr = [1, 2, 5, 4, 6, 8, 9, 2, 1, 4, 5, 8, 9]
    v = 0
    for i in range(len(arr)):
    v = v ^ arr[i]
    print(value)  //6

Why is the parent div height zero when it has floated children

Content that is floating does not influence the height of its container. The element contains no content that isn't floating (so nothing stops the height of the container being 0, as if it were empty).

Setting overflow: hidden on the container will avoid that by establishing a new block formatting context. See methods for containing floats for other techniques and containing floats for an explanation about why CSS was designed this way.

How do I check if a type is a subtype OR the type of an object?

If you're trying to do it in a Xamarin Forms PCL project, the above solutions using IsAssignableFrom gives an error:

Error: 'Type' does not contain a definition for 'IsAssignableFrom' and no extension method 'IsAssignableFrom' accepting a first argument of type 'Type' could be found (are you missing a using directive or an assembly reference?)

because IsAssignableFrom asks for a TypeInfo object. You can use the GetTypeInfo() method from System.Reflection:

typeof(BaseClass).GetTypeInfo().IsAssignableFrom(typeof(unknownType).GetTypeInfo())

Display current date and time without punctuation

Here you go:

date +%Y%m%d%H%M%S

As man date says near the top, you can use the date command like this:

date [OPTION]... [+FORMAT]

That is, you can give it a format parameter, starting with a +. You can probably guess the meaning of the formatting symbols I used:

  • %Y is for year
  • %m is for month
  • %d is for day
  • ... and so on

You can find this, and other formatting symbols in man date.

Difference between iCalendar (.ics) and the vCalendar (.vcs)

Both .ics and .vcs files are in ASCII. If you use "Save As" option to save a calendar entry (Appt, Meeting Request/Response/Postpone/Cancel and etc) in both .ics and .vcs format and use vimdiff, you can easily see the difference.

Both .vcs (vCal) and .ics (iCal) belongs to the same VCALENDAR camp, but .vcs file shows "VERSION:1.0" whereas .ics file uses "VERSION:2.0".

The spec for vCalendar v1.0 can be found at http://www.imc.org/pdi/pdiproddev.html. The spec for iCalendar (vCalendar v2.0) is in RFC5545. In general, the newer is better, and that is true for Outlook 2007 and onward, but not for Outlook 2003.

For Outlook 2003, the behavior is peculiar. It can save the same calendar entry in both .ics and .vcs format, but it only read & display .vcs file correctly. It can read .ics file but it omits some fields and does not display it in calendar mode. My guess is that back then Microsoft wanted to provide .ics to be compatible with Mac's iCal but not quite committed to v2.0 yet.

So I would say for Outlook 2003, .vcs is the native format.

Action Image MVC3 Razor

You can use Url.Content which works for all links as it translates the tilde ~ to the root uri.

<a href="@Url.Action("Edit", new { id=MyId })">
    <img src="@Url.Content("~/Content/Images/Image.bmp")", alt="Edit" />
</a>

How to pass an array into a function, and return the results with an array

Here is how I do it. This way I can actually get a function to simulate returning multiple values;

function foo($array) 
{ 
    foreach($array as $_key => $_value) 
    {
       $str .= "{$_key}=".$_value.'&';
    }
    return $str = substr($str, 0, -1);
} 

/* Set the variables to pass to function, in an Array */

    $waffles['variable1'] = "value1"; 
    $waffles['variable2'] = "value2"; 
    $waffles['variable3'] = "value3"; 

/* Call Function */

    parse_str( foo( $waffles ));

/* Function returns multiple variable/value pairs */

    echo $variable1 ."<br>";
    echo $variable2 ."<br>";
    echo $variable3 ."<br>";

Especially usefull if you want, for example all fields in a database to be returned as variables, named the same as the database table fields. See 'db_fields( )' function below.

For example, if you have a query

select login, password, email from members_table where id = $id

Function returns multiple variables:

$login, $password and $email

Here is the function:

function db_fields($field, $filter, $filter_by,  $table = 'members_table') {

 /*
    This function will return as variable names, all fields that you request, 
    and the field values assigned to the variables as variable values.  

    $filter_by = TABLE FIELD TO FILTER RESULTS BY
    $filter =  VALUE TO FILTER BY
    $table = TABLE TO RUN QUERY AGAINST

    Returns single string value or ARRAY, based on whether user requests single
    field or multiple fields.

    We return all fields as variable names. If multiple rows
    are returned, check is_array($return_field); If > 0, it contains multiple rows.
    In that case, simply run parse_str($return_value) for each Array Item. 
*/
    $field = ($field == "*") ? "*,*" : $field;
    $fields = explode(",",$field);

    $assoc_array = ( count($fields) > 0 ) ? 1 : 0;

    if (!$assoc_array) {
        $result = mysql_fetch_assoc(mysql_query("select $field from $table where $filter_by = '$filter'"));
        return ${$field} = $result[$field];
    }
    else
    {
        $query = mysql_query("select $field from $table where $filter_by = '$filter'");
        while ($row = mysql_fetch_assoc($query)) {
            foreach($row as $_key => $_value) {
                $str .= "{$_key}=".$_value.'&';
            }
            return $str = substr($str, 0, -1);
        }
    }
}

Below is a sample call to function. So, If we need to get User Data for say $user_id = 12345, from the members table with fields ID, LOGIN, PASSWORD, EMAIL:

$filter = $user_id;
$filter_by = "ID";
$table_name = "members_table"

parse_str(db_fields('LOGIN, PASSWORD, EMAIL', $filter, $filter_by, $table_name));

/* This will return the following variables: */

echo $LOGIN ."<br>";
echo $PASSWORD ."<br>";
echo $EMAIL ."<br>";

We could also call like this:

parse_str(db_fields('*', $filter, $filter_by, $table_name));

The above call would return all fields as variable names.

Build an iOS app without owning a mac?

XAMARIN CROSS Platform

You can use Xamarin , its a cross platform with IDE Visual studio and integrate xamarin into it . It is vey simple to code into xamarin and make your ios apps by using C# code .

How do I use sudo to redirect output to a location I don't have permission to write to?

Make sudo run a shell, like this:

sudo sh -c "echo foo > ~root/out"

How do I declare an array of undefined or no initial size?

Try to implement dynamic data structure such as a linked list

Push method in React Hooks (useState)?

I tried the above methods for pushing an object into an array of objects in useState but had the following error when using TypeScript:

Type 'TxBacklog[] | undefined' must have a 'Symbol.iterator' method that returns an iterator.ts(2488)

The setup for the tsconfig.json was apparently right:

{
   "compilerOptions": {
   "target": "es6",
   "lib": [
      "dom",
      "dom.iterable",
      "esnext",
      "es6",
],

This workaround solved the problem (my sample code):

Interface:

   interface TxBacklog {
      status: string,
      txHash: string,
   }

State variable:

    const [txBacklog, setTxBacklog] = React.useState<TxBacklog[]>();

Push new object into array:

    // Define new object to be added
    const newTx = {
       txHash: '0x368eb7269eb88ba86..',
       status: 'pending'
    };
    // Push new object into array
    (txBacklog) 
       ? setTxBacklog(prevState => [ ...prevState!, newTx ])
       : setTxBacklog([newTx]);

Reload chart data via JSON with Highcharts

You can always load a json data

here i defined Chart as namespace

 $.getJSON('data.json', function(data){
                Chart.options.series[0].data = data[0].data;
                Chart.options.series[1].data = data[1].data;
                Chart.options.series[2].data = data[2].data;

                var chart = new Highcharts.Chart(Chart.options);

            });

Angular JS - angular.forEach - How to get key of the object?

The first parameter to the iterator in forEach is the value and second is the key of the object.

angular.forEach(objectToIterate, function(value, key) {
    /* do something for all key: value pairs */
});

In your example, the outer forEach is actually:

angular.forEach($scope.filters, function(filterObj , filterKey)

Comparing date part only without comparing time in JavaScript

The date.js library is handy for these things. It makes all JS date-related scriping a lot easier.

Cannot find libcrypto in Ubuntu

ld is trying to find libcrypto.sowhich is not present as seen in your locate output. You can make a copy of the libcrypto.so.0.9.8 and name it as libcrypto.so. Put this is your ld path. ( If you do not have root access then you can put it in a local path and specify the path manually )

Difference between signature versions - V1 (Jar Signature) and V2 (Full APK Signature) while generating a signed APK in Android Studio?

According to this link: signature help

APK Signature Scheme v2 offers:

  1. Faster app install times
  2. More protection against unauthorized alterations to APK files.

Android 7.0 introduces APK Signature Scheme v2, a new app-signing scheme that offers faster app install times and more protection against unauthorized alterations to APK files. By default, Android Studio 2.2 and the Android Plugin for Gradle 2.2 sign your app using both APK Signature Scheme v2 and the traditional signing scheme, which uses JAR signing.

It is recommended to use APK Signature Scheme v2 but is not mandatory.

Although we recommend applying APK Signature Scheme v2 to your app, this new scheme is not mandatory. If your app doesn't build properly when using APK Signature Scheme v2, you can disable the new scheme.

Flask example with POST

Here is the example in which you can easily find the way to use Post,GET method and use the same way to add other curd operations as well..

#libraries to include

import os
from flask import request, jsonify
from app import app, mongo
import logger
ROOT_PATH = os.environ.get('ROOT_PATH')<br>
@app.route('/get/questions/', methods=['GET', 'POST','DELETE', 'PATCH'])
    def question():
    # request.args is to get urls arguments 


    if request.method == 'GET':
        start = request.args.get('start', default=0, type=int)
        limit_url = request.args.get('limit', default=20, type=int)
        questions = mongo.db.questions.find().limit(limit_url).skip(start);
        data = [doc for doc in questions]
        return jsonify(isError= False,
                    message= "Success",
                    statusCode= 200,
                    data= data), 200

# request.form to get form parameter

    if request.method == 'POST':
        average_time = request.form.get('average_time')
        choices = request.form.get('choices')
        created_by = request.form.get('created_by')
        difficulty_level = request.form.get('difficulty_level')
        question = request.form.get('question')
        topics = request.form.get('topics')

    ##Do something like insert in DB or Render somewhere etc. it's up to you....... :)

The specified DSN contains an architecture mismatch between the Driver and Application. JAVA

To solve this problem first make sure that your java software should be 32bit version if it is 64 bit version clearly it will show the mismatch error so try to re-install 32bit of java version And execute the java program in the command of c:\windows\sysWOW64\odbcad32.exe (easiest to copy and paste into run dialog) that's enough your program definitely work

How can I use pointers in Java?

You can use addresses and pointers using the Unsafe class. However as the name suggests, these methods are UNSAFE and generally a bad idea. Incorrect usage can result in your JVM randomly dying (actually the same problem get using pointers incorrectly in C/C++)

While you may be used to pointers and think you need them (because you don't know how to code any other way), you will find that you don't and you will be better off for it.

Regex to validate password strength

codaddict's solution works fine, but this one is a bit more efficient: (Python syntax)

password = re.compile(r"""(?#!py password Rev:20160831_2100)
    # Validate password: 2 upper, 1 special, 2 digit, 1 lower, 8 chars.
    ^                        # Anchor to start of string.
    (?=(?:[^A-Z]*[A-Z]){2})  # At least two uppercase.
    (?=[^!@#$&*]*[!@#$&*])   # At least one "special".
    (?=(?:[^0-9]*[0-9]){2})  # At least two digit.
    .{8,}                    # Password length is 8 or more.
    $                        # Anchor to end of string.
    """, re.VERBOSE)

The negated character classes consume everything up to the desired character in a single step, requiring zero backtracking. (The dot star solution works just fine, but does require some backtracking.) Of course with short target strings such as passwords, this efficiency improvement will be negligible.

ImportError: No module named PyQt4

It is likely that you are running the python executable from /usr/bin (Apple version) instead of /usr/loca/bin (Brew version)

You can either

a) check your PATH variable

or

b) run brew doctor

or

c) run which python

to check if it is the case.

Should a function have only one return statement?

One might argue... if you have multiple conditions that must be satisfied before the tasks of the function are to be performed, then don't invoke the function until those conditions are met:

Instead of:

function doStuff(foo) {
    if (foo != null) return;
}

Or

function doStuff(foo) {
    if (foo !== null) {
        ...
    }
}

Don't invoke doStuff until foo != null

if(foo != null) doStuff(foo);

Which, requires that every call site ensures that the conditions for the invocation are satisfied before the call. If there are multiple call sites, this logic is perhaps best placed in a separate function, in a method of the to-be-invoked function (assuming they are first-class citizens), or in a proxy.

On the topic of whether or not the function is mathematically provable, consider the logic over the syntax. If a function has multiple return points, this doesn't mean (by default) that it is not mathematically provable.

hexadecimal string to byte array in python

You can use the Codecs module in the Python Standard Library, i.e.

import codecs

codecs.decode(hexstring, 'hex_codec')

How to pass ArrayList<CustomeObject> from one activity to another?

you need implements Parcelable in your ContactBean class, I put one example for you:

public class ContactClass implements Parcelable {

private String id;
private String photo;
private String firstname;
private String lastname;

public ContactClass()
{

}

private ContactClass(Parcel in) {
    firstname = in.readString();
    lastname = in.readString();
    photo = in.readString();
    id = in.readString();

}

@Override
public int describeContents() {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {

    dest.writeString(firstname);
    dest.writeString(lastname);
    dest.writeString(photo);
    dest.writeString(id);

}

 public static final Parcelable.Creator<ContactClass> CREATOR = new Parcelable.Creator<ContactClass>() {
        public ContactClass createFromParcel(Parcel in) {
            return new ContactClass(in);
        }

        public ContactClass[] newArray(int size) {
            return new ContactClass[size];

        }
    };

   // all get , set method 
 }

and this get and set for your code:

Intent intent = new Intent(this,DisplayContact.class);
intent.putExtra("Contact_list", ContactLis);
startActivity(intent);

second class:

ArrayList<ContactClass> myList = getIntent().getParcelableExtra("Contact_list");

How to convert JSON string into List of Java object?

For any one who looks for answer yet:

1.Add jackson-databind library to your build tools like Gradle or Maven

2.in your Code:

ObjectMapper mapper = new ObjectMapper();

List<Student> studentList = new ArrayList<>();

studentList = Arrays.asList(mapper.readValue(jsonStringArray, Student[].class));

How schedule build in Jenkins?

The steps for schedule jobs in Jenkins:

  1. click on "Configure" of the job requirement
  2. scroll down to "Build Triggers" - subtitle
  3. Click on the checkBox of Build periodically
  4. Add time schedule in the Schedule field, for example, @midnight

enter image description here

Note: under the schedule field, can see the last and the next date-time run.

Jenkins also supports predefined aliases to schedule build:

@hourly, @daily, @weekly, @monthly, @midnight

@hourly --> Build every hour at the beginning of the hour --> 0 * * * *

@daily, @midnight --> Build every day at midnight --> 0 0 * * *

@weekly --> Build every week at midnight on Sunday morning --> 0 0 * * 0

@monthly --> Build every month at midnight of the first day of the month --> 0 0 1 * *

Can't install nuget package because of "Failed to initialize the PowerShell host"

after trying all the suggested solution nothing worked on VS 2015 update 2

deleting the package folder from the solution folder and restoring it from visual studio worked for me

In Perl, what is the difference between a .pm (Perl module) and .pl (Perl script) file?

At the very core, the file extension you use makes no difference as to how perl interprets those files.

However, putting modules in .pm files following a certain directory structure that follows the package name provides a convenience. So, if you have a module Example::Plot::FourD and you put it in a directory Example/Plot/FourD.pm in a path in your @INC, then use and require will do the right thing when given the package name as in use Example::Plot::FourD.

The file must return true as the last statement to indicate successful execution of any initialization code, so it's customary to end such a file with 1; unless you're sure it'll return true otherwise. But it's better just to put the 1;, in case you add more statements.

If EXPR is a bareword, the require assumes a ".pm" extension and replaces "::" with "/" in the filename for you, to make it easy to load standard modules. This form of loading of modules does not risk altering your namespace.

All use does is to figure out the filename from the package name provided, require it in a BEGIN block and invoke import on the package. There is nothing preventing you from not using use but taking those steps manually.

For example, below I put the Example::Plot::FourD package in a file called t.pl, loaded it in a script in file s.pl.

C:\Temp> cat t.pl
package Example::Plot::FourD;

use strict; use warnings;

sub new { bless {} => shift }

sub something { print "something\n" }

"Example::Plot::FourD"

C:\Temp> cat s.pl
#!/usr/bin/perl
use strict; use warnings;

BEGIN {
    require 't.pl';
}

my $p = Example::Plot::FourD->new;
$p->something;


C:\Temp> s
something

This example shows that module files do not have to end in 1, any true value will do.

How do I concatenate or merge arrays in Swift?

My favorite method since Swift 2.0 is flatten

var a:[CGFloat] = [1, 2, 3]
var b:[CGFloat] = [4, 5, 6]

let c = [a, b].flatten()

This will return FlattenBidirectionalCollection so if you just want a CollectionType this will be enough and you will have lazy evaluation for free. If you need exactly the Array you can do this:

let c = Array([a, b].flatten())

Difference between jQuery .hide() and .css("display", "none")

Difference between show() and css({'display':'block'})

Assuming you have this at the beginning:

<span id="thisElement" style="display: none;">Foo</span>

when you call:

$('#thisElement').show();

you will get:

<span id="thisElement" style="">Foo</span>

while:

$('#thisElement').css({'display':'block'});

does:

<span id="thisElement" style="display: block;">Foo</span>

so, yes there's a difference.

Difference between hide() and css({'display':'none'})

same as above but change these into hide() and display':'none'......

Another difference When .hide() is called the value of the display property is saved in jQuery's data cache, so when .show() is called, the initial display value is restored!

How to replace item in array?

var index = Array.indexOf(Array value);
        if (index > -1) {
          Array.splice(index, 1);
        }

from here you can delete a particular value from array and based on the same index you can insert value in array .

 Array.splice(index, 0, Array value);

Resize UIImage and change the size of UIImageView

When you get the width and height of a resized image Get width of a resized image after UIViewContentModeScaleAspectFit, you can resize your imageView:

imageView.frame = CGRectMake(0, 0, resizedWidth, resizedHeight);
imageView.center = imageView.superview.center;

I haven't checked if it works, but I think all should be OK

Format numbers in JavaScript similar to C#

Using JQuery.

$(document).ready(function()
 {
    //Only number and one dot
    function onlyDecimal(element, decimals)
    {
        $(element).keypress(function(event)
        {
            num = $(this).val() ;
            num = isNaN(num) || num === '' || num === null ? 0.00 : num ;
            if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57))
            {
                event.preventDefault();

            }
            if($(this).val() == parseFloat(num).toFixed(decimals))
            {
                event.preventDefault();
            }
        });
    }

     onlyDecimal("#TextBox1", 3) ;



});

Remove Item in Dictionary based on Value

Are you trying to remove a single value or all matching values?

If you are trying to remove a single value, how do you define the value you wish to remove?

The reason you don't get a key back when querying on values is because the dictionary could contain multiple keys paired with the specified value.

If you wish to remove all matching instances of the same value, you can do this:

foreach(var item in dic.Where(kvp => kvp.Value == value).ToList())
{
    dic.Remove(item.Key);
}

And if you wish to remove the first matching instance, you can query to find the first item and just remove that:

var item = dic.First(kvp => kvp.Value == value);

dic.Remove(item.Key);

Note: The ToList() call is necessary to copy the values to a new collection. If the call is not made, the loop will be modifying the collection it is iterating over, causing an exception to be thrown on the next attempt to iterate after the first value is removed.

ADB device list is empty

This helped me at the end:

Quick guide:

  • Download Google USB Driver

  • Connect your device with Android Debugging enabled to your PC

  • Open Device Manager of Windows from System Properties.

  • Your device should appear under Other devices listed as something like Android ADB Interface or 'Android Phone' or similar. Right-click that and click on Update Driver Software...

  • Select Browse my computer for driver software

  • Select Let me pick from a list of device drivers on my computer

  • Double-click Show all devices

  • Press the Have disk button

  • Browse and navigate to [wherever your SDK has been installed]\google-usb_driver and select android_winusb.inf

  • Select Android ADB Interface from the list of device types.

  • Press the Yes button

  • Press the Install button

  • Press the Close button

Now you've got the ADB driver set up correctly. Reconnect your device if it doesn't recognize it already.

Compiling C++ on remote Linux machine - "clock skew detected" warning

I have had this in the past - due to the clocks being out on the machines. Consider setting up NTP so that all machines have the same time.

What's the opposite of 'make install', i.e. how do you uninstall a library in Linux?

make clean generally only cleans built files in the directory containing the source code itself, and rarely touches any installed software.

Makefiles generally don't contain a target for uninstallation -- you usually have to do that yourself, by removing the files from the directory into which they were installed. For example, if you built a program and installed it (using make install) into /usr/local, you'd want to look through /usr/local/bin, /usr/local/libexec, /usr/local/share/man, etc., and remove the unwanted files. Sometimes a Makefile includes an uninstall target, but not always.

Of course, typically on a Linux system you install software using a package manager, which is capable of uninstalling software "automagically".

Error: Could not find or load main class in intelliJ IDE

I have tried all the hacks suggested here - to no avail. At the end I have simply created a new Maven application and manually copied into it - one by one - the pom.xml and the java files and resources. It all works now. I am new to IntelliJ and totally unimpressed but how easy it is to get it into an unstable state.

Python function global variables?

Here is one case that caught me out, using a global as a default value of a parameter.

globVar = None    # initialize value of global variable

def func(param = globVar):   # use globVar as default value for param
    print 'param =', param, 'globVar =', globVar  # display values

def test():
    global globVar
    globVar = 42  # change value of global
    func()

test()
=========
output: param = None, globVar = 42

I had expected param to have a value of 42. Surprise. Python 2.7 evaluated the value of globVar when it first parsed the function func. Changing the value of globVar did not affect the default value assigned to param. Delaying the evaluation, as in the following, worked as I needed it to.

def func(param = eval('globVar')):       # this seems to work
    print 'param =', param, 'globVar =', globVar  # display values

Or, if you want to be safe,

def func(param = None)):
    if param == None:
        param = globVar
    print 'param =', param, 'globVar =', globVar  # display values

USB Debugging option greyed out

You have to enable USB debugging before plugging your device in to the computer. Unplug device then try to enable USB debugging. This should work. If so, you can then plug it back into the computer and it should work

How do I count the number of rows and columns in a file using bash?

head -1 file.tsv |head -1 train.tsv |tr '\t' '\n' |wc -l

take the first line, change tabs (or you can use ',' instead of '\t' for commas), count the number of lines.

Convert .class to .java

This is for Mac users:

first of all you have to clarify where the class file is... so for example, in 'Terminal' (A Mac Application) you would type:

cd

then wherever you file is e.g:

cd /Users/CollarBlast/Desktop/JavaFiles/

then you would hit enter. After that you would do the command. e.g:

cd /Users/CollarBlast/Desktop/JavaFiles/ (then i would press enter...)

Then i would type the command:

javap -c JavaTestClassFile.class (then i would press enter again...)

and hopefully it should work!

Multiple condition in single IF statement

Yes that is valid syntax but it may well not do what you want.

Execution will continue after your RAISERROR except if you add a RETURN. So you will need to add a block with BEGIN ... END to hold the two statements.

Also I'm not sure why you plumped for severity 15. That usually indicates a syntax error.

Finally I'd simplify the conditions using IN

CREATE PROCEDURE [dbo].[AddApplicationUser] (@TenantId BIGINT,
                                            @UserType TINYINT,
                                            @UserName NVARCHAR(100),
                                            @Password NVARCHAR(100))
AS
  BEGIN
      IF ( @TenantId IS NULL
           AND @UserType IN ( 0, 1 ) )
        BEGIN
            RAISERROR('The value for @TenantID should not be null',15,1);

            RETURN;
        END
  END 

CR LF notepad++ removal

"View -> Show Symbol -> uncheck Show All characters" may not work if you have pending update for notepad++. So update Notepad++ and then View -> Show Symbol -> uncheck Show All characters

Hope this is helpful!

Declare and assign multiple string variables at the same time

An example of what I call Concatenated-declarations:

string Camnr = "",
        Klantnr = "",
        Ordernr = "",
        Bonnr = "",
        Volgnr = "",
        Omschrijving = "",
        Startdatum = "",
        Bonprioriteit = "",
        Matsoort = "",
        Dikte = "",
        Draaibaarheid = "",
        Draaiomschrijving = "",
        Orderleverdatum = "",
        Regeltaakkode = "",
        Gebruiksvoorkeur = "",
        Regelcamprog = "",
        Regeltijd = "",
        Orderrelease = "";

Just my 2 cents, hope it helps someone somewhere.

print spaces with String.format()

You need to specify the minimum width of the field.

String.format("%" + numberOfSpaces + "s", ""); 

Why do you want to generate a String of spaces of a certain length.

If you want a column of this length with values then you can do:

String.format("%" + numberOfSpaces + "s", "Hello"); 

which gives you numberOfSpaces-5 spaces followed by Hello. If you want Hello to appear on the left then add a minus sign in before numberOfSpaces.

What does bundle exec rake mean?

It means use rake that bundler is aware of and is part of your Gemfile over any rake that bundler is not aware of and run the db:migrate task.

Bulk Record Update with SQL

Your way is correct, and here is another way you can do it:

update      Table1
set         Description = t2.Description
from        Table1 t1
inner join  Table2 t2
on          t1.DescriptionID = t2.ID

The nested select is the long way of just doing a join.

This app won't run unless you update Google Play Services (via Bazaar)

I spent about one day to configure the new gmaps API (Google Maps Android API v2) on the Android emulator. None of the methods of those I found on the Internet was working correctly for me. But still I did it. Here is how:

  1. Create a new emulator with the following configuration:

Enter image description here

On the other versions I could not configure because of various errors when I installed the necessary applications.

2) Start the emulator and install the following applications:

  • GoogleLoginService.apk
  • GoogleServicesFramework.apk
  • Phonesky.apk

You can do this with following commands:

2.1) adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
2.2) adb shell chmod 777 /system/app
2.3-2.5) adb push Each_of_the_3_apk_files.apk /system/app/

Links to download APK files. I have copied them from my rooted Android device.

3) Install Google Play Services and Google Maps on the emulator. I have an error 491, if I install them from Google Play store. I uploaded the apps to the emulator and run the installation locally. (You can use adb to install this). Links to the apps:

4) I successfully run a demo sample on the emulator after these steps. Here is a screenshot:

Google Maps

Extract XML Value in bash script

I agree with Charles Duffy that a proper XML parser is the right way to go.

But as to what's wrong with your sed command (or did you do it on purpose?).

  • $data was not quoted, so $data is subject to shell's word splitting, filename expansion among other things. One of the consequences being that the spacing in the XML snippet is not preserved.

So given your specific XML structure, this modified sed command should work

title=$(sed -ne '/title/{s/.*<title>\(.*\)<\/title>.*/\1/p;q;}' <<< "$data")

Basically for the line that contains title, extract the text between the tags, then quit (so you don't extract the 2nd <title>)

How can I Remove .DS_Store files from a Git repository?

This will work:

find . -name "*.DS_Store" -type f -exec git-rm {} \;

It deletes all files whose names end with .DS_Store, including ._.DS_Store.

How to create JSON post to api using C#

Have you tried using the WebClient class?

you should be able to use

string result = "";
using (var client = new WebClient())
{
    client.Headers[HttpRequestHeader.ContentType] = "application/json"; 
    result = client.UploadString(url, "POST", json);
}
Console.WriteLine(result);

Documentation at

http://msdn.microsoft.com/en-us/library/system.net.webclient%28v=vs.110%29.aspx

http://msdn.microsoft.com/en-us/library/d0d3595k%28v=vs.110%29.aspx

How do I tell CMake to link in a static library in the source directory?

I found this helpful...

http://www.cmake.org/pipermail/cmake/2011-June/045222.html

From their example:

ADD_LIBRARY(boost_unit_test_framework STATIC IMPORTED)
SET_TARGET_PROPERTIES(boost_unit_test_framework PROPERTIES IMPORTED_LOCATION /usr/lib/libboost_unit_test_framework.a)
TARGET_LINK_LIBRARIES(mytarget A boost_unit_test_framework C)

Targeting only Firefox with CSS

The only way to do this is via various CSS hacks, which will make your page much more likely to fail on the next browser updates. If anything, it will be LESS safe than using a js-browser sniffer.

Javascript onload not working

You can try use in javascript:

window.onload = function() {
 alert("let's go!");
}

Its a good practice separate javascript of html

Redirect from an HTML page

You could use a META "redirect":

<meta http-equiv="refresh" content="0; url=http://new.example.com/address" />

or JavaScript redirect (note that not all users have JavaScript enabled so always prepare a backup solution for them)

<script language="javascript">
  window.location = "http://new.example.com/address";
</script>

But I'd rather recommend using mod_rewrite, if you have the option.

How to both read and write a file in C#

This thread seems to answer your question : simultaneous-read-write-a-file

Basically, what you need is to declare two FileStream, one for read operations, the other for write operations. Writer Filestream needs to open your file in 'Append' mode.

How to get the integer value of day of week

The correct way to get the integer value of an Enum such as DayOfWeek as a string is:

DayOfWeek.ToString("d")

Foreach value from POST from form

First, please do not use extract(), it can be a security problem because it is easy to manipulate POST parameters

In addition, you don't have to use variable variable names (that sounds odd), instead:

foreach($_POST as $key => $value) {
  echo "POST parameter '$key' has '$value'";
}

To ensure that you have only parameters beginning with 'item_name' you can check it like so:

$param_name = 'item_name';
if(substr($key, 0, strlen($param_name)) == $param_name) {
  // do something
}

Difference between rake db:migrate db:reset and db:schema:load

TLDR

Use

  • rake db:migrate If you wanna make changes to the schema
  • rake db:reset If you wanna drop the database, reload the schema from schema.rb, and reseed the database
  • rake db:schema:load If you wanna reset database to schema as provided in schema.rb (This will delete all data)

Explanations

rake db:schema:load will set up the schema as provided in schema.rb file. This is useful for a fresh install of app as it doesn't take as much time as db:migrate

Important note, db:schema:load will delete data on server.

rake db:migrate makes changes to the existing schema. Its like creating versions of schema. db:migrate will look in db/migrate/ for any ruby files and execute the migrations that aren't run yet starting with the oldest. Rails knows which file is the oldest by looking at the timestamp at the beginning of the migration filename. db:migrate comes with a benefit that data can also be put in the database. This is actually not a good practice. Its better to use rake db:seed to add data.

rake db:migrate provides tasks up, down etc which enables commands like rake db:rollback and makes it the most useful command.

rake db:reset does a db:drop and db:setup
It drops the database, create it again, loads the schema, and initializes with the seed data

Relevant part of the commands from databases.rake


namespace :schema do
  desc 'Creates a db/schema.rb file that is portable against any DB supported by Active Record'
  task :dump => [:environment, :load_config] do
    require 'active_record/schema_dumper'
    filename = ENV['SCHEMA'] || File.join(ActiveRecord::Tasks::DatabaseTasks.db_dir, 'schema.rb')
    File.open(filename, "w:utf-8") do |file|
      ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
    end
    db_namespace['schema:dump'].reenable
  end

  desc 'Loads a schema.rb file into the database'
  task :load => [:environment, :load_config, :check_protected_environments] do
    ActiveRecord::Tasks::DatabaseTasks.load_schema_current(:ruby, ENV['SCHEMA'])
  end

  # desc 'Drops and recreates the database from db/schema.rb for the current environment and loads the seeds.'
  task :reset => [ 'db:drop', 'db:setup' ]

namespace :migrate do
  # desc  'Rollbacks the database one migration and re migrate up (options: STEP=x, VERSION=x).'
  task :redo => [:environment, :load_config] do
    if ENV['VERSION']
      db_namespace['migrate:down'].invoke
      db_namespace['migrate:up'].invoke
    else
      db_namespace['rollback'].invoke
      db_namespace['migrate'].invoke
    end
  end

Best way to use multiple SSH private keys on one client

You can instruct ssh to try multiple keys in succession when connecting. Here's how:

$ cat ~/.ssh/config
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa_old
IdentityFile ~/.ssh/id_ed25519
# ... and so on

$ ssh server.example.com -v
....
debug1: Next authentication method: publickey
debug1: Trying private key: /home/example/.ssh/id_rsa
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/example/.ssh/id_rsa_old
debug1: read PEM private key done: type RSA
....
[server ~]$

This way you don't have to specify what key works with which server. It'll just use the first working key.

Also you would only enter a passphrase if a given server is willing to accept the key. As seen above ssh didn't try to ask for a password for .ssh/id_rsa even if it had one.

Surely it doesn't outbeat a per-server configuration as in other answers, but at least you won't have to add a configuration for all and every server you connect to!

Primitive type 'short' - casting in Java

EDIT: Okay, now we know it's Java...

Section 4.2.2 of the Java Language Specification states:

The Java programming language provides a number of operators that act on integral values:

[...]

  • The numerical operators, which result in a value of type int or long:
  • [...]
  • The additive operators + and - (§15.18)

  • In other words, it's like C# - the addition operator (when applied to integral types) only ever results in int or long, which is why you need to cast to assign to a short variable.

    Original answer (C#)

    In C# (you haven't specified the language, so I'm guessing), the only addition operators on primitive types are:

    int operator +(int x, int y);
    uint operator +(uint x, uint y);
    long operator +(long x, long y);
    ulong operator +(ulong x, ulong y);
    float operator +(float x, float y);
    double operator +(double x, double y);
    

    These are in the C# 3.0 spec, section 7.7.4. In addition, decimal addition is defined:

    decimal operator +(decimal x, decimal y);
    

    (Enumeration addition, string concatenation and delegate combination are also defined there.)

    As you can see, there's no short operator +(short x, short y) operator - so both operands are implicitly converted to int, and the int form is used. That means the result is an expression of type "int", hence the need to cast.

    Math functions in AngularJS bindings

    This is a hairy one to answer, because you didn't give the full context of what you're doing. The accepted answer will work, but in some cases will cause poor performance. That, and it's going to be harder to test.

    If you're doing this as part of a static form, fine. The accepted answer will work, even if it isn't easy to test, and it's hinky.

    If you want to be "Angular" about this:

    You'll want to keep any "business logic" (i.e. logic that alters data to be displayed) out of your views. This is so you can unit test your logic, and so you don't end up tightly coupling your controller and your view. Theoretically, you should be able to point your controller at another view and use the same values from the scopes. (if that makes sense).

    You'll also want to consider that any function calls inside of a binding (such as {{}} or ng-bind or ng-bind-html) will have to be evaluated on every digest, because angular has no way of knowing if the value has changed or not like it would with a property on the scope.

    The "angular" way to do this would be to cache the value in a property on the scope on change using an ng-change event or even a $watch.

    For example with a static form:

    angular.controller('MainCtrl', function($scope, $window) {
       $scope.count = 0;
       $scope.total = 1;
    
       $scope.updatePercentage = function () {
          $scope.percentage = $window.Math.round((100 * $scope.count) / $scope.total);
       };
    });
    
    <form name="calcForm">
       <label>Count <input name="count" ng-model="count" 
                      ng-change="updatePercentage()"
                      type="number" min="0" required/></label><br/>
       <label>Total <input name="total" ng-model="total"
                      ng-change="updatePercentage()"
                      type="number" min="1" required/></label><br/>
       <hr/>
       Percentage: {{percentage}}
    </form>
    

    And now you can test it!

    describe('Testing percentage controller', function() {
      var $scope = null;
      var ctrl = null;
    
      //you need to indicate your module in a test
      beforeEach(module('plunker'));
    
      beforeEach(inject(function($rootScope, $controller) {
        $scope = $rootScope.$new();
    
        ctrl = $controller('MainCtrl', {
          $scope: $scope
        });
      }));
    
      it('should calculate percentages properly', function() {
        $scope.count = 1;
        $scope.total = 1;
        $scope.updatePercentage();
        expect($scope.percentage).toEqual(100);
    
        $scope.count = 1;
        $scope.total = 2;
        $scope.updatePercentage();
        expect($scope.percentage).toEqual(50);
    
        $scope.count = 497;
        $scope.total = 10000;
        $scope.updatePercentage();
        expect($scope.percentage).toEqual(5); //4.97% rounded up.
    
        $scope.count = 231;
        $scope.total = 10000;
        $scope.updatePercentage();
        expect($scope.percentage).toEqual(2); //2.31% rounded down.
      });
    });
    

    How to set delay in android?

    Here's an example where I change the background image from one to another with a 2 second alpha fade delay both ways - 2s fadeout of the original image into a 2s fadein into the 2nd image.

        public void fadeImageFunction(View view) {
    
        backgroundImage = (ImageView) findViewById(R.id.imageViewBackground);
        backgroundImage.animate().alpha(0f).setDuration(2000);
    
        // A new thread with a 2-second delay before changing the background image
        new Timer().schedule(
                new TimerTask(){
                    @Override
                    public void run(){
                        // you cannot touch the UI from another thread. This thread now calls a function on the main thread
                        changeBackgroundImage();
                    }
                }, 2000);
       }
    
    // this function runs on the main ui thread
    private void changeBackgroundImage(){
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                backgroundImage = (ImageView) findViewById(R.id.imageViewBackground);
                backgroundImage.setImageResource(R.drawable.supes);
                backgroundImage.animate().alpha(1f).setDuration(2000);
            }
        });
    }
    

    Debugging with Android Studio stuck at "Waiting For Debugger" forever

    Restarting everything didn't work for me. What DID work was waiting for a few minutes while Android Studio unclogged itself. This was the first time I ran the debugger; after that, Android Studio fired up the debugger quickly.

    ERROR: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it

    Check whether MySQL server is running at all. If you not run apache server(or any server you use) this could happen. After run your local server and refresh the page.

    What does IFormatProvider do?

    By MSDN

    The .NET Framework includes the following three predefined IFormatProvider implementations to provide culture-specific information that is used in formatting or parsing numeric and date and time values:

    1. The NumberFormatInfo class, which provides information that is used to format numbers, such as the currency, thousands separator, and decimal separator symbols for a particular culture. For information about the predefined format strings recognized by a NumberFormatInfo object and used in numeric formatting operations, see Standard Numeric Format Strings and Custom Numeric Format Strings.
    2. The DateTimeFormatInfo class, which provides information that is used to format dates and times, such as the date and time separator symbols for a particular culture or the order and format of a date's year, month, and day components. For information about the predefined format strings recognized by a DateTimeFormatInfo object and used in numeric formatting operations, see Standard Date and Time Format Strings and Custom Date and Time Format Strings.
    3. The CultureInfo class, which represents a particular culture. Its GetFormat method returns a culture-specific NumberFormatInfo or DateTimeFormatInfo object, depending on whether the CultureInfo object is used in a formatting or parsing operation that involves numbers or dates and times.

    The .NET Framework also supports custom formatting. This typically involves the creation of a formatting class that implements both IFormatProvider and ICustomFormatter. An instance of this class is then passed as a parameter to a method that performs a custom formatting operation, such as String.Format(IFormatProvider, String, Object[]).

    Counting Number of Letters in a string variable

    string yourWord = "Derp derp";
    
    Console.WriteLine(new string(yourWord.Select(c => char.IsLetter(c) ? '_' : c).ToArray()));
    

    Yields:

    ____ ____

    Cross browser JavaScript (not jQuery...) scroll to top animation

    function scrollTo(element, to, duration) {
        if (duration <= 0) return;
        var difference = to - element.scrollTop;
        var perTick = difference / duration * 10;
    
        setTimeout(function() {
            element.scrollTop = element.scrollTop + perTick;
            if (element.scrollTop === to) return;
            scrollTo(element, to, duration - 10);
        }, 10);
    }
    

    Demo:

    _x000D_
    _x000D_
    function runScroll() {_x000D_
      scrollTo(document.body, 0, 600);_x000D_
    }_x000D_
    var scrollme;_x000D_
    scrollme = document.querySelector("#scrollme");_x000D_
    scrollme.addEventListener("click",runScroll,false)_x000D_
    _x000D_
    function scrollTo(element, to, duration) {_x000D_
      if (duration <= 0) return;_x000D_
      var difference = to - element.scrollTop;_x000D_
      var perTick = difference / duration * 10;_x000D_
    _x000D_
      setTimeout(function() {_x000D_
        element.scrollTop = element.scrollTop + perTick;_x000D_
        if (element.scrollTop == to) return;_x000D_
        scrollTo(element, to, duration - 10);_x000D_
      }, 10);_x000D_
    }
    _x000D_
    <p>Very long page.Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page.  Very long page.Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page.  Very long page.Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page.  Very long page.Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page.  Very long page.Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page. Very long page._x000D_
    </p>_x000D_
    <button id=scrollme type="button">To the top</button>
    _x000D_
    _x000D_
    _x000D_

    RecyclerView expand/collapse items

    There is a very simple to use library with gradle support: https://github.com/cachapa/ExpandableLayout.

    Right from the library docs:

    <net.cachapa.expandablelayout.ExpandableLinearLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:el_duration="1000"
        app:el_expanded="true">
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Click here to toggle expansion" />
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:text="Fixed height"
            app:layout_expandable="true" />
    
     </net.cachapa.expandablelayout.ExpandableLinearLayout>
    

    After you mark your expandable views, just call any of these methods on the container: expand(), collapse() or toggle()

    Default value for field in Django model

    Set editable to False and default to your default value.

    http://docs.djangoproject.com/en/stable/ref/models/fields/#editable

    b = models.CharField(max_length=7, default='0000000', editable=False)
    

    Also, your id field is unnecessary. Django will add it automatically.

    iloc giving 'IndexError: single positional indexer is out-of-bounds'

    This happens when you index a row/column with a number that is larger than the dimensions of your dataframe. For instance, getting the eleventh column when you have only three.

    import pandas as pd
    
    df = pd.DataFrame({'Name': ['Mark', 'Laura', 'Adam', 'Roger', 'Anna'],
                       'City': ['Lisbon', 'Montreal', 'Lisbon', 'Berlin', 'Glasgow'],
                       'Car': ['Tesla', 'Audi', 'Porsche', 'Ford', 'Honda']})
    

    You have 5 rows and three columns:

        Name      City      Car
    0   Mark    Lisbon    Tesla
    1  Laura  Montreal     Audi
    2   Adam    Lisbon  Porsche
    3  Roger    Berlin     Ford
    4   Anna   Glasgow    Honda
    

    Let's try to index the eleventh column (it doesn't exist):

    df.iloc[:, 10] # there is obviously no 11th column
    

    IndexError: single positional indexer is out-of-bounds

    If you are a beginner with Python, remember that df.iloc[:, 10] would refer to the eleventh column.

    Python socket receive - incoming packets always have a different size

    The network is always unpredictable. TCP makes a lot of this random behavior go away for you. One wonderful thing TCP does: it guarantees that the bytes will arrive in the same order. But! It does not guarantee that they will arrive chopped up in the same way. You simply cannot assume that every send() from one end of the connection will result in exactly one recv() on the far end with exactly the same number of bytes.

    When you say socket.recv(x), you're saying 'don't return until you've read x bytes from the socket'. This is called "blocking I/O": you will block (wait) until your request has been filled. If every message in your protocol was exactly 1024 bytes, calling socket.recv(1024) would work great. But it sounds like that's not true. If your messages are a fixed number of bytes, just pass that number in to socket.recv() and you're done.

    But what if your messages can be of different lengths? The first thing you need to do: stop calling socket.recv() with an explicit number. Changing this:

    data = self.request.recv(1024)
    

    to this:

    data = self.request.recv()
    

    means recv() will always return whenever it gets new data.

    But now you have a new problem: how do you know when the sender has sent you a complete message? The answer is: you don't. You're going to have to make the length of the message an explicit part of your protocol. Here's the best way: prefix every message with a length, either as a fixed-size integer (converted to network byte order using socket.ntohs() or socket.ntohl() please!) or as a string followed by some delimiter (like '123:'). This second approach often less efficient, but it's easier in Python.

    Once you've added that to your protocol, you need to change your code to handle recv() returning arbitrary amounts of data at any time. Here's an example of how to do this. I tried writing it as pseudo-code, or with comments to tell you what to do, but it wasn't very clear. So I've written it explicitly using the length prefix as a string of digits terminated by a colon. Here you go:

    length = None
    buffer = ""
    while True:
      data += self.request.recv()
      if not data:
        break
      buffer += data
      while True:
        if length is None:
          if ':' not in buffer:
            break
          # remove the length bytes from the front of buffer
          # leave any remaining bytes in the buffer!
          length_str, ignored, buffer = buffer.partition(':')
          length = int(length_str)
    
        if len(buffer) < length:
          break
        # split off the full message from the remaining bytes
        # leave any remaining bytes in the buffer!
        message = buffer[:length]
        buffer = buffer[length:]
        length = None
        # PROCESS MESSAGE HERE
    

    Html ordered list 1.1, 1.2 (Nested counters and scope) not working

    Keep it Simple!

    Simpler and a Standard solution to increment the number and to retain the dot at the end. Even if you get the css right, it will not work if your HTML is not correct. see below.

    CSS

    ol {
      counter-reset: item;
    }
    ol li {
      display: block;
    }
    ol li:before {
      content: counters(item, ". ") ". ";
      counter-increment: item;
    }
    

    SASS

    ol {
        counter-reset: item;
        li {
            display: block;
            &:before {
                content: counters(item, ". ") ". ";
                counter-increment: item
            }
        }
    }
    

    HTML Parent Child

    If you add the child make sure the it is under the parent li.

    <!-- WRONG -->
    <ol>
        <li>Parent 1</li> <!-- Parent is Individual. Not hugging -->
            <ol> 
                <li>Child</li>
            </ol>
        <li>Parent 2</li>
    </ol>
    
    <!-- RIGHT -->
    <ol>
        <li>Parent 1 
            <ol> 
                <li>Child</li>
            </ol>
        </li> <!-- Parent is Hugging the child -->
        <li>Parent 2</li>
    </ol>
    

    cursor.fetchall() vs list(cursor) in Python

    cursor.fetchall() and list(cursor) are essentially the same. The different option is to not retrieve a list, and instead just loop over the bare cursor object:

    for result in cursor:
    

    This can be more efficient if the result set is large, as it doesn't have to fetch the entire result set and keep it all in memory; it can just incrementally get each item (or batch them in smaller batches).

    What's the bad magic number error?

    The magic number comes from UNIX-type systems where the first few bytes of a file held a marker indicating the file type.

    Python puts a similar marker into its pyc files when it creates them.

    Then the python interpreter makes sure this number is correct when loading it.

    Anything that damages this magic number will cause your problem. This includes editing the pyc file or trying to run a pyc from a different version of python (usually later) than your interpreter.

    If they are your pyc files, just delete them and let the interpreter re-compile the py files. On UNIX type systems, that could be something as simple as:

    rm *.pyc
    

    or:

    find . -name '*.pyc' -delete
    

    If they are not yours, you'll have to either get the py files for re-compilation, or an interpreter that can run the pyc files with that particular magic value.

    One thing that might be causing the intermittent nature. The pyc that's causing the problem may only be imported under certain conditions. It's highly unlikely it would import sometimes. You should check the actual full stack trace when the import fails?

    As an aside, the first word of all my 2.5.1(r251:54863) pyc files is 62131, 2.6.1(r261:67517) is 62161. The list of all magic numbers can be found in Python/import.c, reproduced here for completeness (current as at the time the answer was posted, it may have changed since then):

    1.5:   20121
    1.5.1: 20121
    1.5.2: 20121
    1.6:   50428
    2.0:   50823
    2.0.1: 50823
    2.1:   60202
    2.1.1: 60202
    2.1.2: 60202
    2.2:   60717
    2.3a0: 62011
    2.3a0: 62021
    2.3a0: 62011
    2.4a0: 62041
    2.4a3: 62051
    2.4b1: 62061
    2.5a0: 62071
    2.5a0: 62081
    2.5a0: 62091
    2.5a0: 62092
    2.5b3: 62101
    2.5b3: 62111
    2.5c1: 62121
    2.5c2: 62131
    2.6a0: 62151
    2.6a1: 62161
    2.7a0: 62171
    

    Can gcc output C code after preprocessing?

    Run:

    gcc -E <file>.c
    

    or

    g++ -E <file>.cpp
    

    How to change a PG column to NULLABLE TRUE?

    From the fine manual:

    ALTER TABLE mytable ALTER COLUMN mycolumn DROP NOT NULL;
    

    There's no need to specify the type when you're just changing the nullability.

    Detect the Internet connection is offline?

    The HTML5 Application Cache API specifies navigator.onLine, which is currently available in the IE8 betas, WebKit (eg. Safari) nightlies, and is already supported in Firefox 3

    Copy file remotely with PowerShell

    Simply use the administrative shares to copy files between systems. It's much easier this way.

    Copy-Item -Path \\serverb\c$\programs\temp\test.txt -Destination \\servera\c$\programs\temp\test.txt;
    

    By using UNC paths instead of local filesystem paths, you help to ensure that your script is executable from any client system with access to those UNC paths. If you use local filesystem paths, then you are cornering yourself into running the script on a specific computer.

    This only works when a PowerShell session runs under the user who has rights to both administrative shares.

    I suggest to use regular network share on server B with read-only access to everyone and simply call (from Server A):

    Copy-Item -Path "\\\ServerB\SharedPathToSourceFile" -Destination "$Env:USERPROFILE" -Force -PassThru -Verbose
    

    The difference between bracket [ ] and double bracket [[ ]] for accessing the elements of a list or dataframe

    Both of them are ways of subsetting. The single bracket will return a subset of the list, which in itself will be a list. ie:It may or may not contain more than one elements. On the other hand a double bracket will return just a single element from the list.

    -Single bracket will give us a list. We can also use single bracket if we wish to return multiple elements from the list. consider the following list:-

    >r<-list(c(1:10),foo=1,far=2);
    

    Now please note the way the list is returned when I try to display it. I type r and press enter

    >r
    
    #the result is:-
    
    [[1]]
    
     [1]  1  2  3  4  5  6  7  8  9 10
    
    $foo
    
    [1] 1
    
    $far
    
    [1] 2
    

    Now we will see the magic of single bracket:-

    >r[c(1,2,3)]
    
    #the above command will return a list with all three elements of the actual list r as below
    
    [[1]]
    
     [1]  1  2  3  4  5  6  7  8  9 10
    
    $foo
    
    [1] 1
    
    
    $far
    
    [1] 2
    

    which is exactly the same as when we tried to display value of r on screen, which means the usage of single bracket has returned a list, where at index 1 we have a vector of 10 elements, then we have two more elements with names foo and far. We may also choose to give a single index or element name as input to the single bracket. eg:

    > r[1]
    
    [[1]]
    
     [1]  1  2  3  4  5  6  7  8  9 10
    

    In this example we gave one index "1" and in return got a list with one element(which is an array of 10 numbers)

    > r[2]
    
    $foo
    
    [1] 1
    

    In the above example we gave one index "2" and in return got a list with one element

    > r["foo"];
    
    $foo
    
    [1] 1
    

    In this example we passed the name of one element and in return a list was returned with one element.

    You may also pass a vector of element names like:-

    > x<-c("foo","far")
    
    > r[x];
    
    $foo
    
    [1] 1
    
    $far
    [1] 2
    

    In this example we passed an vector with two element names "foo" and "far"

    In return we got a list with two elements.

    In short single bracket will always return you another list with number of elements equal to the number of elements or number of indices you pass into the single bracket.

    In contrast, a double bracket will always return only one element. Before moving to double bracket a note to be kept in mind. NOTE:THE MAJOR DIFFERENCE BETWEEN THE TWO IS THAT SINGLE BRACKET RETURNS YOU A LIST WITH AS MANY ELEMENTS AS YOU WISH WHILE A DOUBLE BRACKET WILL NEVER RETURN A LIST. RATHER A DOUBLE BRACKET WILL RETURN ONLY A SINGLE ELEMENT FROM THE LIST.

    I will site a few examples. Please keep a note of the words in bold and come back to it after you are done with the examples below:

    Double bracket will return you the actual value at the index.(It will NOT return a list)

      > r[[1]]
    
         [1]  1  2  3  4  5  6  7  8  9 10
    
    
      >r[["foo"]]
    
        [1] 1
    

    for double brackets if we try to view more than one elements by passing a vector it will result in an error just because it was not built to cater to that need, but just to return a single element.

    Consider the following

    > r[[c(1:3)]]
    Error in r[[c(1:3)]] : recursive indexing failed at level 2
    > r[[c(1,2,3)]]
    Error in r[[c(1, 2, 3)]] : recursive indexing failed at level 2
    > r[[c("foo","far")]]
    Error in r[[c("foo", "far")]] : subscript out of bounds
    

    Why I cannot cout a string?

    Use c_str() to convert the std::string to const char *.

    cout << "String is  : " << text.c_str() << endl ;
    

    Fatal error: Call to undefined function socket_create()

    If you are using xampp 7.3.9. socket already installed. You can check xampp\php\ext and you will get the php_socket.dll. if you get it go to your xampp control panel open php.ini file and remove (;) from extension=sockets.

    No suitable driver found for 'jdbc:mysql://localhost:3306/mysql

    i had same problem i fix this using if developing jsp, put mysql connetor into WEB-INF->lib folder after puting that in eclipse right click and go build-path -> configure build patha in library tab add external jar file give location where lib folder is

    TypeScript or JavaScript type casting

    You can cast like this:

    return this.createMarkerStyle(<MarkerSymbolInfo> symbolInfo);
    

    Or like this if you want to be compatible with tsx mode:

    return this.createMarkerStyle(symbolInfo as MarkerSymbolInfo);
    

    Just remember that this is a compile-time cast, and not a runtime cast.

    Is Secure.ANDROID_ID unique for each device?

    Just list an alternaitve solution here, the Advertising ID:

    https://support.google.com/googleplay/android-developer/answer/6048248?hl=en

    Copied from the link above:

    The advertising ID is a unique, user-resettable ID for advertising, provided by Google Play services. It gives users better controls and provides developers with a simple, standard system to continue to monetize their apps. It enables users to reset their identifier or opt out of personalized ads (formerly known as interest-based ads) within Google Play apps.

    The limitations are:

    1. Google Play enabled devices only.
    2. Privacy Policy: https://support.google.com/googleplay/android-developer/answer/113469?hl=en&rd=1#privacy

    How can I add the sqlite3 module to Python?

    I have python 2.7.3 and this solved my problem:

    pip install pysqlite
    

    JS: Uncaught TypeError: object is not a function (onclick)

    Since the behavior is kind of strange, I have done some testing on the behavior, and here's my result:

    TL;DR

    If you are:

    • In a form, and
    • uses onclick="xxx()" on an element
    • don't add id="xxx" or name="xxx" to that element
      • (e.g. <form><button id="totalbandwidth" onclick="totalbandwidth()">BAD</button></form> )

    Here's are some test and their result:

    Control sample (can successfully call function)

    _x000D_
    _x000D_
    function totalbandwidth(){ alert("Total Bandwidth > 9000Mbps"); }
    _x000D_
    <form onsubmit="return false;">
      <button onclick="totalbandwidth()">SUCCESS</button>
    </form>
    _x000D_
    _x000D_
    _x000D_

    Add id to button (failed to call function)

    _x000D_
    _x000D_
    function totalbandwidth(){ alert("Total Bandwidth > 9000Mbps"); }
    _x000D_
    <form onsubmit="return false;">
      <button id="totalbandwidth" onclick="totalbandwidth()">FAILED</button>
    </form>
    _x000D_
    _x000D_
    _x000D_

    Add name to button (failed to call function)

    _x000D_
    _x000D_
    function totalbandwidth(){ alert("Total Bandwidth > 9000Mbps"); }
    _x000D_
    <form onsubmit="return false;">
      <button name="totalbandwidth" onclick="totalbandwidth()">FAILED</button>
    </form>
    _x000D_
    _x000D_
    _x000D_

    Add value to button (can successfully call function)

    _x000D_
    _x000D_
    function totalbandwidth(){ alert("Total Bandwidth > 9000Mbps"); }
    _x000D_
    <form onsubmit="return false;">
      <input type="button" value="totalbandwidth" onclick="totalbandwidth()" />SUCCESS
    </form>
    _x000D_
    _x000D_
    _x000D_

    Add id to button, but not in a form (can successfully call function)

    _x000D_
    _x000D_
    function totalbandwidth(){ alert("Total Bandwidth > 9000Mbps"); }
    _x000D_
    <button id="totalbandwidth" onclick="totalbandwidth()">SUCCESS</button>
    _x000D_
    _x000D_
    _x000D_

    Add id to another element inside the form (can successfully call function)

    _x000D_
    _x000D_
    function totalbandwidth(){ alert("The answer is no, the span will not affect button"); }
    _x000D_
    <form onsubmit="return false;">
    <span name="totalbandwidth" >Will this span affect button? </span>
    <button onclick="totalbandwidth()">SUCCESS</button>
    </form>
    _x000D_
    _x000D_
    _x000D_

    How to use ? : if statements with Razor and inline code blocks

    The key is to encapsulate the expression in parentheses after the @ delimiter. You can make any compound expression work this way.

    Event for Handling the Focus of the EditText

    Here is the focus listener example.

    editText.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean hasFocus) {
            if (hasFocus) {
                Toast.makeText(getApplicationContext(), "Got the focus", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(getApplicationContext(), "Lost the focus", Toast.LENGTH_LONG).show();
            }
        }
    });
    

    Can functions be passed as parameters?

    Yes, consider some of these examples:

    package main
    
    import "fmt"
    
    // convert types take an int and return a string value.
    type convert func(int) string
    
    // value implements convert, returning x as string.
    func value(x int) string {
        return fmt.Sprintf("%v", x)
    }
    
    // quote123 passes 123 to convert func and returns quoted string.
    func quote123(fn convert) string {
        return fmt.Sprintf("%q", fn(123))
    }
    
    func main() {
        var result string
    
        result = value(123)
        fmt.Println(result)
        // Output: 123
    
        result = quote123(value)
        fmt.Println(result)
        // Output: "123"
    
        result = quote123(func(x int) string { return fmt.Sprintf("%b", x) })
        fmt.Println(result)
        // Output: "1111011"
    
        foo := func(x int) string { return "foo" }
        result = quote123(foo)
        fmt.Println(result)
        // Output: "foo"
    
        _ = convert(foo) // confirm foo satisfies convert at runtime
    
        // fails due to argument type
        // _ = convert(func(x float64) string { return "" })
    }
    

    Play: http://play.golang.org/p/XNMtrDUDS0

    Tour: https://tour.golang.org/moretypes/25 (Function Closures)

    Message: Trying to access array offset on value of type null

    This happens because $cOTLdata is not null but the index 'char_data' does not exist. Previous versions of PHP may have been less strict on such mistakes and silently swallowed the error / notice while 7.4 does not do this anymore.

    To check whether the index exists or not you can use isset():

    isset($cOTLdata['char_data'])
    

    Which means the line should look something like this:

    $len = isset($cOTLdata['char_data']) ? count($cOTLdata['char_data']) : 0;
    

    Note I switched the then and else cases of the ternary operator since === null is essentially what isset already does (but in the positive case).

    Scheduling recurring task in Android

    Quoting the Scheduling Repeating Alarms - Understand the Trade-offs docs:

    A common scenario for triggering an operation outside the lifetime of your app is syncing data with a server. This is a case where you might be tempted to use a repeating alarm. But if you own the server that is hosting your app's data, using Google Cloud Messaging (GCM) in conjunction with sync adapter is a better solution than AlarmManager. A sync adapter gives you all the same scheduling options as AlarmManager, but it offers you significantly more flexibility.

    So, based on this, the best way to schedule a server call is using Google Cloud Messaging (GCM) in conjunction with sync adapter.

    disable horizontal scroll on mobile web

    Try this code,overflow will help to remove scrollbar.You can use it also for any div which is scrolling.

    html, body {
       overflow-x: hidden;
     }
    body {
       width:100%;
     }
    

    How do I test for an empty JavaScript object?

    I know this doesn't answer 100% your question, but I have faced similar issues before and here's how I use to solve them:

    I have an API that may return an empty object. Because I know what fields to expect from the API, I only check if any of the required fields are present or not.

    For example:

    API returns {} or {agentID: '1234' (required), address: '1234 lane' (opt),...}. In my calling function, I'll only check

    if(response.data && response.data.agentID) { 
      do something with my agentID 
    } else { 
      is empty response
    }
    

    This way I don't need to use those expensive methods to check if an object is empty. The object will be empty for my calling function if it doesn't have the agentID field.

    When to use async false and async true in ajax function in jquery

    In basic terms synchronous requests wait for the response to be received from the request before it allows any code processing to continue. At first this may seem like a good thing to do, but it absolutely is not.

    As mentioned, while the request is in process the browser will halt execution of all script and also rendering of the UI as the JS engine of the majority of browsers is (effectively) single-threaded. This means that to your users the browser will appear unresponsive and they may even see OS-level warnings that the program is not responding and to ask them if its process should be ended. It's for this reason that synchronous JS has been deprecated and you see warnings about its use in the devtools console.

    The alternative of asynchronous requests is by far the better practice and should always be used where possible. This means that you need to know how to use callbacks and/or promises in order to handle the responses to your async requests when they complete, and also how to structure your JS to work with this pattern. There are many resources already available covering this, this, for example, so I won't go into it here.

    There are very few occasions where a synchronous request is necessary. In fact the only one I can think of is when making a request within the beforeunload event handler, and even then it's not guaranteed to work.

    In summary. you should look to learn and employ the async pattern in all requests. Synchronous requests are now an anti-pattern which cause more issues than they generally solve.

    Is there a splice method for strings?

    The method Louis's answer, as a String prototype function:

    String.prototype.splice = function(index, count, add) {
      if (index < 0) {
        index = this.length + index;
        if (index < 0) {
          index = 0;
        }
      }
      return this.slice(0, index) + (add || "") + this.slice(index + count);
    }
    

    Example:

     > "Held!".splice(3,0,"lo Worl")
     < "Hello World!"
    

    NodeJS / Express: what is "app.use"?

    app.use is a function requires middleware. For example:

     app.use('/user/:id', function (req, res, next) {
           console.log('Request Type:', req.method);
            next();
         });
    

    This example shows the middleware function installed in the /user/:id path. This function is executed for any type of HTTP request in the /user/:id path.

    It is similar to the REST Web Server, just use different /xx to represent different actions.

    Return back to MainActivity from another activity

    I'm used it and worked perfectly...

    startActivity(new Intent(getApplicationContext(),MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); 
    

    because Finish() use for 2 activities, not for multiple activities

    Why can't I duplicate a slice with `copy()`?

    NOTE: This is an incorrect solution as @benlemasurier proved

    Here is a way to copy a slice. I'm a bit late, but there is a simpler, and faster answer than @Dave's. This are the instructions generated from a code like @Dave's. These is the instructions generated by mine. As you can see there are far fewer instructions. What is does is it just does append(slice), which copies the slice. This code:

    package main
    
    import "fmt"
    
    func main() {
        var foo = []int{1, 2, 3, 4, 5}
        fmt.Println("foo:", foo)
        var bar = append(foo)
        fmt.Println("bar:", bar)
        bar = append(bar, 6)
        fmt.Println("foo after:", foo)
        fmt.Println("bar after:", bar)
    }
    

    Outputs this:

    foo: [1 2 3 4 5]
    bar: [1 2 3 4 5]
    foo after: [1 2 3 4 5]
    bar after: [1 2 3 4 5 6]
    

    How to sort findAll Doctrine's method?

    You can sort an existing ArrayCollection using an array iterator.

    assuming $collection is your ArrayCollection returned by findAll()

    $iterator = $collection->getIterator();
    $iterator->uasort(function ($a, $b) {
        return ($a->getPropery() < $b->getProperty()) ? -1 : 1;
    });
    $collection = new ArrayCollection(iterator_to_array($iterator));
    

    This can easily be turned into a function you can put into your repository in order to create findAllOrderBy() method.

    Converting string to numeric

    I suspect you are having a problem with factors. For example,

    > x = factor(4:8)
    > x
    [1] 4 5 6 7 8
    Levels: 4 5 6 7 8
    > as.numeric(x)
    [1] 1 2 3 4 5
    > as.numeric(as.character(x))
    [1] 4 5 6 7 8
    

    Some comments:

    • You mention that your vector contains the characters "Down" and "NoData". What do expect/want as.numeric to do with these values?
    • In read.csv, try using the argument stringsAsFactors=FALSE
    • Are you sure it's sep="/t and not sep="\t"
    • Use the command head(pitchman) to check the first fews rows of your data
    • Also, it's very tricky to guess what your problem is when you don't provide data. A minimal working example is always preferable. For example, I can't run the command pichman <- read.csv(file="picman.txt", header=TRUE, sep="/t") since I don't have access to the data set.

    How do I make a checkbox required on an ASP.NET form?

    Scott's answer will work for classes of checkboxes. If you want individual checkboxes, you have to be a little sneakier. If you're just doing one box, it's better to do it with IDs. This example does it by specific check boxes and doesn't require jQuery. It's also a nice little example of how you can get those pesky control IDs into your Javascript.

    The .ascx:

    <script type="text/javascript">
    
        function checkAgreement(source, args)
        {                
            var elem = document.getElementById('<%= chkAgree.ClientID %>');
            if (elem.checked)
            {
                args.IsValid = true;
            }
            else
            {        
                args.IsValid = false;
            }
        }
    
        function checkAge(source, args)
        {
            var elem = document.getElementById('<%= chkAge.ClientID %>');
            if (elem.checked)
            {
                args.IsValid = true;
            }
            else
            {
                args.IsValid = false;
            }    
        }
    
    </script>
    
    <asp:CheckBox ID="chkAgree" runat="server" />
    <asp:Label AssociatedControlID="chkAgree" runat="server">I agree to the</asp:Label>
    <asp:HyperLink ID="lnkTerms" runat="server">Terms & Conditions</asp:HyperLink>
    <asp:Label AssociatedControlID="chkAgree" runat="server">.</asp:Label>
    <br />
    
    <asp:CustomValidator ID="chkAgreeValidator" runat="server" Display="Dynamic"
        ClientValidationFunction="checkAgreement">
        You must agree to the terms and conditions.
        </asp:CustomValidator>
    
    <asp:CheckBox ID="chkAge" runat="server" />
    <asp:Label AssociatedControlID="chkAge" runat="server">I certify that I am at least 18 years of age.</asp:Label>        
    <asp:CustomValidator ID="chkAgeValidator" runat="server" Display="Dynamic"
        ClientValidationFunction="checkAge">
        You must be 18 years or older to continue.
        </asp:CustomValidator>
    

    And the codebehind:

    Protected Sub chkAgreeValidator_ServerValidate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ServerValidateEventArgs) _
    Handles chkAgreeValidator.ServerValidate
        e.IsValid = chkAgree.Checked
    End Sub
    
    Protected Sub chkAgeValidator_ServerValidate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ServerValidateEventArgs) _
    Handles chkAgeValidator.ServerValidate
        e.IsValid = chkAge.Checked
    End Sub
    

    Disabling Strict Standards in PHP 5.4

    Heads up, you might need to restart LAMP, Apache or whatever your using to make this take affect. Racked our brains for a while on this one, seemed to make no affect until services were restarted, presumably because the website was caching.

    Best solution to protect PHP code without encryption

    You need to consider your objectives:

    1) Are you trying to prevent people from reading/modifying your code? If yes, you'll need an obfuscation/encryption tool. I've used Zend Guard with good success.

    2) Are you trying to prevent unauthorized redistribution of your code?? A EULA/proprietary license will give you the legal power to prevent that, but won't actually stop it. An key/activation scheme will allow you to actively monitor usage, but can be removed unless you also encrypt your code. Zend Guard also has capabilities to lock a particular script to a particular customer machine and/or create time limited versions of the code if that's what you want to do.

    I'm not familiar with vBulletin and the like, but they'd either need to encrypt/obfuscate or trust their users to do the right thing. In the latter case they have the protection of having a EULA which prohibits the behaviors they find undesirable, and the legal system to back up breaches of the EULA.

    If you're not prepared/able to take legal action to protect your software and you don't want to encrypt/obfuscate, your options are a) Release it with a EULA so you're have a legal option if you ever need it and hope for the best, or b) consider whether an open source license might be more appropriate and just allow redistribution.

    Paging UICollectionView by cells, not screen

    final class PagingFlowLayout: UICollectionViewFlowLayout {
        private var currentIndex = 0
    
        override func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint {
            let count = collectionView!.numberOfItems(inSection: 0)
            let currentAttribute = layoutAttributesForItem(
                at: IndexPath(item: currentIndex, section: 0)
                ) ?? UICollectionViewLayoutAttributes()
    
            let direction = proposedContentOffset.x > currentAttribute.frame.minX
            if collectionView!.contentOffset.x + collectionView!.bounds.width < collectionView!.contentSize.width || currentIndex < count - 1 {
                currentIndex += direction ? 1 : -1
                currentIndex = max(min(currentIndex, count - 1), 0)
            }
    
            let indexPath = IndexPath(item: currentIndex, section: 0)
            let closestAttribute = layoutAttributesForItem(at: indexPath) ?? UICollectionViewLayoutAttributes()
    
            let centerOffset = collectionView!.bounds.size.width / 2
            return CGPoint(x: closestAttribute.center.x - centerOffset, y: 0)
        }
    }
    

    Merge some list items in a Python List

    my telepathic abilities are not particularly great, but here is what I think you want:

    def merge(list_of_strings, indices):
        list_of_strings[indices[0]] = ''.join(list_of_strings[i] for i in indices)
        list_of_strings = [s for i, s in enumerate(list_of_strings) if i not in indices[1:]]
        return list_of_strings
    

    I should note, since it might be not obvious, that it's not the same as what is proposed in other answers.

    How to resize an image to a specific size in OpenCV?

    You can use CvInvoke.Resize for Emgu.CV 3.0

    e.g

    CvInvoke.Resize(inputImage, outputImage, new System.Drawing.Size(100, 100), 0, 0, Inter.Cubic);
    

    Details are here

    Fixed height and width for bootstrap carousel

    To have a consistent flow of the images on different devices, you'd have to specify the width and height value for each carousel image item, for instance here in my example the image would take the full width but with a height of "400px" (you can specify your personal value instead)

    <div class="item">
            <img src="image.jpg" style="width:100%; height: 400px;">
          </div>
    

    Hibernate Error executing DDL via JDBC Statement

    I have got this error when trying to create JPA entity with the name "User" (in Postgres) that is reserved. So the way it is resolved is to change the table name by @Table annotation:

    @Entity
    @Table(name="users")
    public class User {..}
    

    Or change the table name manually.

    Multiple conditions in if statement shell script

    You are trying to compare strings inside an arithmetic command (((...))). Use [[ instead.

    if [[ $username == "$username1" && $password == "$password1" ]] ||
       [[ $username == "$username2" && $password == "$password2" ]]; then
    

    Note that I've reduced this to two separate tests joined by ||, with the && moved inside the tests. This is because the shell operators && and || have equal precedence and are simply evaluated from left to right. As a result, it's not generally true that a && b || c && d is equivalent to the intended ( a && b ) || ( c && d ).

    How do you read a file into a list in Python?

    with open('C:/path/numbers.txt') as f:
        lines = f.read().splitlines()
    

    this will give you a list of values (strings) you had in your file, with newlines stripped.

    also, watch your backslashes in windows path names, as those are also escape chars in strings. You can use forward slashes or double backslashes instead.

    Empty brackets '[]' appearing when using .where

    Stuarts' answer is correct, but if you are not sure if you are saving the titles in lowercase, you can also make a case insensitive search

    There are a lot of answered questions in Stack Overflow with more data on this:

    Example 1

    Example 2

    redistributable offline .NET Framework 3.5 installer for Windows 8

    After several month without real solution for this problem, I suppose that the best solution is to upgrade the application to .NET framework 4.0, which is supported by Windows 8, Windows 10 and Windows 2012 Server by default and it is still available as offline installation for Windows XP.

    DataGridView changing cell background color

    dataGridView1.Rows[i].Cells[7].Style.BackColor = Color.LightGreen;
    

    Is there a portable way to get the current username in Python?

    Combined pwd and getpass approach, based on other answers:

    try:
      import pwd
    except ImportError:
      import getpass
      pwd = None
    
    def current_user():
      if pwd:
        return pwd.getpwuid(os.geteuid()).pw_name
      else:
        return getpass.getuser()
    

    How to get the current working directory using python 3?

    It seems that IDLE changes its current working dir to location of the script that is executed, while when running the script using cmd doesn't do that and it leaves CWD as it is.

    To change current working dir to the one containing your script you can use:

    import os
    os.chdir(os.path.dirname(__file__))
    print(os.getcwd())
    

    The __file__ variable is available only if you execute script from file, and it contains path to the file. More on it here: Python __file__ attribute absolute or relative?

    Using HTML5/JavaScript to generate and save a file

    This thread was invaluable to figure out how to generate a binary file and prompt to download the named file, all in client code without a server.

    First step for me was generating the binary blob from data that I was saving. There's plenty of samples for doing this for a single binary type, in my case I have a binary format with multiple types which you can pass as an array to create the blob.

    saveAnimation: function() {
    
        var device = this.Device;
        var maxRow = ChromaAnimation.getMaxRow(device);
        var maxColumn = ChromaAnimation.getMaxColumn(device);
        var frames = this.Frames;
        var frameCount = frames.length;
    
        var writeArrays = [];
    
    
        var writeArray = new Uint32Array(1);
        var version = 1;
        writeArray[0] = version;
        writeArrays.push(writeArray.buffer);
        //console.log('version:', version);
    
    
        var writeArray = new Uint8Array(1);
        var deviceType = this.DeviceType;
        writeArray[0] = deviceType;
        writeArrays.push(writeArray.buffer);
        //console.log('deviceType:', deviceType);
    
    
        var writeArray = new Uint8Array(1);
        writeArray[0] = device;
        writeArrays.push(writeArray.buffer);
        //console.log('device:', device);
    
    
        var writeArray = new Uint32Array(1);
        writeArray[0] = frameCount;
        writeArrays.push(writeArray.buffer);
        //console.log('frameCount:', frameCount);
    
        for (var index = 0; index < frameCount; ++index) {
    
          var frame = frames[index];
    
          var writeArray = new Float32Array(1);
          var duration = frame.Duration;
          if (duration < 0.033) {
            duration = 0.033;
          }
          writeArray[0] = duration;
          writeArrays.push(writeArray.buffer);
    
          //console.log('Frame', index, 'duration', duration);
    
          var writeArray = new Uint32Array(maxRow * maxColumn);
          for (var i = 0; i < maxRow; ++i) {
            for (var j = 0; j < maxColumn; ++j) {
              var color = frame.Colors[i][j];
              writeArray[i * maxColumn + j] = color;
            }
          }
          writeArrays.push(writeArray.buffer);
        }
    
        var blob = new Blob(writeArrays, {type: 'application/octet-stream'});
    
        return blob;
    }
    

    The next step is to get the browser to prompt the user to download this blob with a predefined name.

    All I needed was a named link I added in the HTML5 that I could reuse to rename the initial filename. I kept it hidden since the link doesn't need display.

    <a id="lnkDownload" style="display: none" download="client.chroma" href="" target="_blank"></a>
    

    The last step is to prompt the user to download the file.

    var data = animation.saveAnimation();
    var uriContent = URL.createObjectURL(data);
    var lnkDownload = document.getElementById('lnkDownload');
    lnkDownload.download = 'theDefaultFileName.extension';
    lnkDownload.href = uriContent;
    lnkDownload.click();
    

    How to activate JMX on my JVM for access with jconsole?

    Run your java application with the following command line parameters:

    -Dcom.sun.management.jmxremote.port=8855
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.ssl=false
    

    It is important to use the -Dcom.sun.management.jmxremote.ssl=false parameter if you don't want to setup digital certificates on the jmx host.

    If you started your application on a machine having IP address 192.168.0.1, open jconsole, put 192.168.0.1:8855 in the Remote Process field, and click Connect.

    What are -moz- and -webkit-?

    These are the vendor-prefixed properties offered by the relevant rendering engines (-webkit for Chrome, Safari; -moz for Firefox, -o for Opera, -ms for Internet Explorer). Typically they're used to implement new, or proprietary CSS features, prior to final clarification/definition by the W3.

    This allows properties to be set specific to each individual browser/rendering engine in order for inconsistencies between implementations to be safely accounted for. The prefixes will, over time, be removed (at least in theory) as the unprefixed, the final version, of the property is implemented in that browser.

    To that end it's usually considered good practice to specify the vendor-prefixed version first and then the non-prefixed version, in order that the non-prefixed property will override the vendor-prefixed property-settings once it's implemented; for example:

    .elementClass {
        -moz-border-radius: 2em;
        -ms-border-radius: 2em;
        -o-border-radius: 2em;
        -webkit-border-radius: 2em;
        border-radius: 2em;
    }
    

    Specifically, to address the CSS in your question, the lines you quote:

    -webkit-column-count: 3;
    -webkit-column-gap: 10px;
    -webkit-column-fill: auto;
    -moz-column-count: 3;
    -moz-column-gap: 10px;
    -moz-column-fill: auto;
    

    Specify the column-count, column-gap and column-fill properties for Webkit browsers and Firefox.

    References:

    How to set margin with jquery?

    Set it with a px value. Changing the code like below should work

    el.css('marginLeft', mrg + 'px');
    

    How to avoid a System.Runtime.InteropServices.COMException?

    Probably you are trying to access the excel with the index 0, please note that Excel rows/columns start from 1.

    ASP.NET MVC Razor render without encoding

    You can also use the WriteLiteral method

    Automatically pass $event with ng-click?

    As others said, you can't actually strictly do what you are asking for. That said, all of the tools available to the angular framework are actually available to you as well! What that means is you can actually write your own elements and provide this feature yourself. I wrote one of these up as an example which you can see at the following plunkr (http://plnkr.co/edit/Qrz9zFjc7Ud6KQoNMEI1).

    The key parts of this are that I define a "clickable" element (don't do this if you need older IE support). In code that looks like:

    <clickable>
      <h1>Hello World!</h1>
    </clickable>
    

    Then I defined a directive to take this clickable element and turn it into what I want (something that automatically sets up my click event):

    app.directive('clickable', function() {
        return {
            transclude: true,
            restrict: 'E',
            template: '<div ng-transclude ng-click="handleClick($event)"></div>'
        };
    });
    

    Finally in my controller I have the click event ready to go:

    $scope.handleClick = function($event) {
        var i = 0;
    };
    

    Now, its worth stating that this hard codes the name of the method that handles the click event. If you wanted to eliminate this, you should be able to provide the directive with the name of your click handler and "tada" - you have an element (or attribute) that you can use and never have to inject "$event" again.

    Hope that helps!

    Is recursion ever faster than looping?

    In any realistic system, no, creating a stack frame will always be more expensive than an INC and a JMP. That's why really good compilers automatically transform tail recursion into a call to the same frame, i.e. without the overhead, so you get the more readable source version and the more efficient compiled version. A really, really good compiler should even be able to transform normal recursion into tail recursion where that is possible.

    Python threading. How do I lock a thread?

    You can see that your locks are pretty much working as you are using them, if you slow down the process and make them block a bit more. You had the right idea, where you surround critical pieces of code with the lock. Here is a small adjustment to your example to show you how each waits on the other to release the lock.

    import threading
    import time
    import inspect
    
    class Thread(threading.Thread):
        def __init__(self, t, *args):
            threading.Thread.__init__(self, target=t, args=args)
            self.start()
    
    count = 0
    lock = threading.Lock()
    
    def incre():
        global count
        caller = inspect.getouterframes(inspect.currentframe())[1][3]
        print "Inside %s()" % caller
        print "Acquiring lock"
        with lock:
            print "Lock Acquired"
            count += 1  
            time.sleep(2)  
    
    def bye():
        while count < 5:
            incre()
    
    def hello_there():
        while count < 5:
            incre()
    
    def main():    
        hello = Thread(hello_there)
        goodbye = Thread(bye)
    
    
    if __name__ == '__main__':
        main()
    

    Sample output:

    ...
    Inside hello_there()
    Acquiring lock
    Lock Acquired
    Inside bye()
    Acquiring lock
    Lock Acquired
    ...
    

    How can I get the SQL of a PreparedStatement?

    Using PostgreSQL 9.6.x with official Java driver 42.2.4:

    ...myPreparedStatement.execute...
    myPreparedStatement.toString()
    

    Will show the SQL with the ? already replaced, which is what I was looking for. Just added this answer to cover the postgres case.

    I would never have thought it could be so simple.

    Disable future dates after today in Jquery Ui Datepicker

    //Disable future dates after current date

    $("#datepicker").datepicker('setEndDate', new Date());

    //Disable past dates after current date

    $("#datepicker").datepicker('setEndDate', new Date());

    What is the question mark for in a Typescript parameter name

    The ? in the parameters is to denote an optional parameter. The Typescript compiler does not require this parameter to be filled in. See the code example below for more details:

    // baz: number | undefined means: the second argument baz can be a number or undefined
    
    // = undefined, is default parameter syntax, 
    // if the parameter is not filled in it will default to undefined
    
    // Although default JS behaviour is to set every non filled in argument to undefined 
    // we need this default argument so that the typescript compiler
    // doesn't require the second argument to be filled in
    function fn1 (bar: string, baz: number | undefined = undefined) {
        // do stuff
    }
    
    // All the above code can be simplified using the ? operator after the parameter
    // In other words fn1 and fn2 are equivalent in behaviour
    function fn2 (bar: string, baz?: number) {
        // do stuff
    }
    
    
    
    fn2('foo', 3); // works
    fn2('foo'); // works
    
    fn2();
    // Compile time error: Expected 1-2 arguments, but got 0
    // An argument for 'bar' was not provided.
    
    
    fn1('foo', 3); // works
    fn1('foo'); // works
    
    fn1();
    // Compile time error: Expected 1-2 arguments, but got 0
    // An argument for 'bar' was not provided.
    

    Could not establish trust relationship for SSL/TLS secure channel -- SOAP

    Luke wrote a pretty good article about this .. pretty straight forward .. give this a try

    Luke's Solution

    Reason (quote from his article (minus cursing)) ".. The problem with the code above is that it doesn’t work if your certificate is not valid. Why would I be posting to a web page with and invalid SSL certificate? Because I’m cheap and I didn’t feel like paying Verisign or one of the other **-*s for a cert to my test box so I self signed it. When I sent the request I got a lovely exception thrown at me:

    System.Net.WebException The underlying connection was closed. Could not establish trust relationship with remote server.

    I don’t know about you, but to me that exception looked like something that would be caused by a silly mistake in my code that was causing the POST to fail. So I kept searching, and tweaking and doing all kinds of weird things. Only after I googled the ***n thing I found out that the default behavior after encountering an invalid SSL cert is to throw this very exception. .."

    How to filter a dictionary according to an arbitrary condition function?

    I think that Alex Martelli's answer is definitely the most elegant way to do this, but just wanted to add a way to satisfy your want for a super awesome dictionary.filter(f) method in a Pythonic sort of way:

    class FilterDict(dict):
        def __init__(self, input_dict):
            for key, value in input_dict.iteritems():
                self[key] = value
        def filter(self, criteria):
            for key, value in self.items():
                if (criteria(value)):
                    self.pop(key)
    
    my_dict = FilterDict( {'a':(3,4), 'b':(1,2), 'c':(5,5), 'd':(3,3)} )
    my_dict.filter(lambda x: x[0] < 5 and x[1] < 5)
    

    Basically we create a class that inherits from dict, but adds the filter method. We do need to use .items() for the the filtering, since using .iteritems() while destructively iterating will raise exception.

    install beautiful soup using pip

    If you have more than one version of python installed, run the respective pip command.

    For example for python3.6 run the following

    pip3.6 install beautifulsoup4
    

    To check the available command/version of pip and python on Mac run

    ls /usr/local/bin
    

    Running command line silently with VbScript and getting output?

    I am pretty new to all of this, but I found that if the script is started via CScript.exe (console scripting host) there is no window popping up on exec(): so when running:

    cscript myscript.vbs //nologo
    

    any .Exec() calls in the myscript.vbs do not open an extra window, meaning that you can use the first variant of your original solution (using exec).

    (Note that the two forward slashes in the above code are intentional, see cscript /?)

    how to change class name of an element by jquery

    $('.IsBestAnswer').removeClass('IsBestAnswer').addClass('bestanswer');
    

    Your code has two problems:

    1. The selector .IsBestAnswe does not match what you thought
    2. It's addClass(), not addclass().

    Also, I'm not sure whether you want to replace the class or add it. The above will replace, but remove the .removeClass('IsBestAnswer') part to add only:

    $('.IsBestAnswer').addClass('bestanswer');
    

    You should decide whether to use camelCase or all-lowercase in your CSS classes too (e.g. bestAnswer vs. bestanswer).

    Select first empty cell in column F starting from row 1. (without using offset )

    In case any one stumbles upon this as I just have...

    Find First blank cell in a column(I'm using column D but didn't want to include D1)

    NextFree = Range("D2:D" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
    Range("D" & NextFree).Select
    

    NextFree is just a name, you could use sausages if you wanted.

    Django - what is the difference between render(), render_to_response() and direct_to_template()?

    From django docs:

    render() is the same as a call to render_to_response() with a context_instance argument that that forces the use of a RequestContext.

    direct_to_template is something different. It's a generic view that uses a data dictionary to render the html without the need of the views.py, you use it in urls.py. Docs here

    How to hash a password

    Use the below class to Generate a Salt first. Each user needs to have a different salt, we can save it in the database along with the other user properties. The rounds value decides the number of times the password will be hashed.

    For more details: https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.rfc2898derivebytes.-ctor?view=netcore-3.1#System_Security_Cryptography_Rfc2898DeriveBytes__ctor_System_Byte___System_Byte___System_Int32_

    public class HashSaltWithRounds
    {
        int saltLength = 32;
        public byte[] GenerateSalt()
        {
            using (var randomNumberGenerator = new RNGCryptoServiceProvider())
            {
                var randomNumber = new byte[saltLength];
                randomNumberGenerator.GetBytes(randomNumber);
                return randomNumber;
            }
        }
    
        public string HashDataWithRounds(byte[] password, byte[] salt, int rounds)
        {
            using(var rfc2898= new Rfc2898DeriveBytes(password, salt, rounds))
            {
                return Convert.ToBase64String(rfc2898.GetBytes(32));
            }
        }
    }
    

    We can call it from a console application as follows. I have hashed the password twice using the same salt.

    public class Program
    {
        public static void Main(string[] args)
        {
            int numberOfIterations = 99;
            var hashFunction = new HashSaltWithRounds();
    
            string password = "Your Password Here";
            byte[] salt = hashFunction.GenerateSalt();
    
            var hashedPassword1 = hashFunction.HashDataWithRounds(Encoding.UTF8.GetBytes(password), salt, numberOfIterations);
            var hashedPassword2 = hashFunction.HashDataWithRounds(Encoding.UTF8.GetBytes(password), salt, numberOfIterations);
    
            Console.WriteLine($"hashedPassword1 :{hashedPassword1}");
            Console.WriteLine($"hashedPassword2 :{hashedPassword2}");
            Console.WriteLine(hashedPassword1.Equals(hashedPassword2));
    
            Console.ReadLine();
    
        }
    }
    

    Output

    jquery onclick change css background image

    You need to use background-image instead of backgroundImage. For example:

    $(function() {
      $('.home').click(function() {
        $(this).css('background-image', 'url(images/tabs3.png)');
      });
    }):
    

    Hosting ASP.NET in IIS7 gives Access is denied?

    Checking the Application Pool Identity in Anonymous Authentication and enabling Forms Authentication would solve problem for access denied error.

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

    Before answering this question let me decrease the number of units first. So here you go: dp or dip are both the same and are known as Density-independent pixels.

    1. px - stands for pixels. Pixels are a single dot, point on a screen. Generally in the mobile industry it is measured in ppi (pixels per inch). Screen resolution is directly proportional to ppi, the larger the number of pixels per inch the higher the screen resolution.

    For example, if you draw an image of a size 200 px * 200 px, then its appearance must be different on a high-resolution device versus a low-resolution device. The reason is a 200 px image on a low-resolution phone will be look larger than on a high-resolution device.

    Below images are showing a resolution of the same image on different phones -

    • Phone with High screen resolution

      Enter image description here

    • Phone with Low screen resolution

      Enter image description here

    2. dip or dp - an abstract unit that is based on the physical density of the screen. These units are relative to a 160 dpi screen, so one dp is one pixel on a 160 dpi screen. The ratio of dp-to-pixel will change with the screen density, but not necessarily in direct proportion. "Density independence" refers to the uniform display of UI elements on screens with different densities.

    • Image which is showing 80px (left side image) and 80 dp (right-side image). Checkout difference.

    Enter image description here

    A dp is equal to one physical pixel on a screen with a density of 160. To calculate dp:

    dp = (width in pixels * 160) / screen density

    3. sp - stands for scalable pixels. Generally sp is used for texts on the UI, and sp preserves the font settings. For example, if a user selected a larger font than 30 sp it will auto scale to appear large according to a user preference.

    fatal error: mpi.h: No such file or directory #include <mpi.h>

    On my system, I was just missing the Linux package.

    sudo apt install libopenmpi-dev
    pip install mpi4py
    

    (example of something that uses it that is a good instant test to see if it succeeded)

    Succeded.

    In C#, can a class inherit from another class and an interface?

    Unrelated to the question (Mehrdad's answer should get you going), and I hope this isn't taken as nitpicky: classes don't inherit interfaces, they implement them.

    .NET does not support multiple-inheritance, so keeping the terms straight can help in communication. A class can inherit from one superclass and can implement as many interfaces as it wishes.


    In response to Eric's comment... I had a discussion with another developer about whether or not interfaces "inherit", "implement", "require", or "bring along" interfaces with a declaration like:

    public interface ITwo : IOne
    

    The technical answer is that ITwo does inherit IOne for a few reasons:

    • Interfaces never have an implementation, so arguing that ITwo implements IOne is flat wrong
    • ITwo inherits IOne methods, if MethodOne() exists on IOne then it is also accesible from ITwo. i.e: ((ITwo)someObject).MethodOne()) is valid, even though ITwo does not explicitly contain a definition for MethodOne()
    • ...because the runtime says so! typeof(IOne).IsAssignableFrom(typeof(ITwo)) returns true

    We finally agreed that interfaces support true/full inheritance. The missing inheritance features (such as overrides, abstract/virtual accessors, etc) are missing from interfaces, not from interface inheritance. It still doesn't make the concept simple or clear, but it helps understand what's really going on under the hood in Eric's world :-)

    onNewIntent() lifecycle and registered listeners

    onNewIntent() is meant as entry point for singleTop activities which already run somewhere else in the stack and therefore can't call onCreate(). From activities lifecycle point of view it's therefore needed to call onPause() before onNewIntent(). I suggest you to rewrite your activity to not use these listeners inside of onNewIntent(). For example most of the time my onNewIntent() methods simply looks like this:

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        // getIntent() should always return the most recent
        setIntent(intent);
    }
    

    With all setup logic happening in onResume() by utilizing getIntent().

    Maximum size of a varchar(max) variable

    As far as I can tell there is no upper limit in 2008.

    In SQL Server 2005 the code in your question fails on the assignment to the @GGMMsg variable with

    Attempting to grow LOB beyond maximum allowed size of 2,147,483,647 bytes.

    the code below fails with

    REPLICATE: The length of the result exceeds the length limit (2GB) of the target large type.

    However it appears these limitations have quietly been lifted. On 2008

    DECLARE @y VARCHAR(MAX) = REPLICATE(CAST('X' AS VARCHAR(MAX)),92681); 
    
    SET @y = REPLICATE(@y,92681);
    
    SELECT LEN(@y) 
    

    Returns

    8589767761
    

    I ran this on my 32 bit desktop machine so this 8GB string is way in excess of addressable memory

    Running

    select internal_objects_alloc_page_count
    from sys.dm_db_task_space_usage
    WHERE session_id = @@spid
    

    Returned

    internal_objects_alloc_page_co 
    ------------------------------ 
    2144456    
    

    so I presume this all just gets stored in LOB pages in tempdb with no validation on length. The page count growth was all associated with the SET @y = REPLICATE(@y,92681); statement. The initial variable assignment to @y and the LEN calculation did not increase this.

    The reason for mentioning this is because the page count is hugely more than I was expecting. Assuming an 8KB page then this works out at 16.36 GB which is obviously more or less double what would seem to be necessary. I speculate that this is likely due to the inefficiency of the string concatenation operation needing to copy the entire huge string and append a chunk on to the end rather than being able to add to the end of the existing string. Unfortunately at the moment the .WRITE method isn't supported for varchar(max) variables.

    Addition

    I've also tested the behaviour with concatenating nvarchar(max) + nvarchar(max) and nvarchar(max) + varchar(max). Both of these allow the 2GB limit to be exceeded. Trying to then store the results of this in a table then fails however with the error message Attempting to grow LOB beyond maximum allowed size of 2147483647 bytes. again. The script for that is below (may take a long time to run).

    DECLARE @y1 VARCHAR(MAX) = REPLICATE(CAST('X' AS VARCHAR(MAX)),2147483647); 
    SET @y1 = @y1 + @y1;
    SELECT LEN(@y1), DATALENGTH(@y1)  /*4294967294, 4294967292*/
    
    
    DECLARE @y2 NVARCHAR(MAX) = REPLICATE(CAST('X' AS NVARCHAR(MAX)),1073741823); 
    SET @y2 = @y2 + @y2;
    SELECT LEN(@y2), DATALENGTH(@y2)  /*2147483646, 4294967292*/
    
    
    DECLARE @y3 NVARCHAR(MAX) = @y2 + @y1
    SELECT LEN(@y3), DATALENGTH(@y3)   /*6442450940, 12884901880*/
    
    /*This attempt fails*/
    SELECT @y1 y1, @y2 y2, @y3 y3
    INTO Test
    

    How do I view Android application specific cache?

    Question: Where is application-specific cache located on Android?

    Answer: /data/data

    How to set value to form control in Reactive Forms in Angular

    To assign value to a single Form control/individually, I propose to use setValue in the following way:

    this.editqueForm.get('user').setValue(this.question.user);
    
    this.editqueForm.get('questioning').setValue(this.question.questioning);
    

    An invalid form control with name='' is not focusable

    In my case the problem was with the input type="radio" required being hidden with:

    visibility: hidden;

    This error message will also show if the required input type radio or checkbox has a display: none; CSS property.

    If you want to create custom radio/checkbox inputs where they must be hidden from the UI and still keep the required attribute, you should instead use the:

    opacity: 0; CSS property

    Free Online Team Foundation Server

    You can use Visual Studio Team Services for free. Also you can import a TFS repo to this cloud space.

    Best radio-button implementation for IOS

    I've written a controller for handling the logic behind an array of radio buttons. It's open source and on GitHub, check it out!

    https://github.com/goosoftware/GSRadioButtonSetController

    Can I set up HTML/Email Templates with ASP.NET?

    I think you could also do something like this:

    Create and .aspx page, and put this at the end of the OnLoad method, or call it manually.

        StringBuilder sb = new StringBuilder();
        StringWriter sw = new StringWriter(sb);
        HtmlTextWriter htmlTW = new HtmlTextWriter(sw);
        this.Render(htmlTW);
    

    I'm not sure if there are any potential issues with this, but it looks like it would work. This way, you could use a full featured .aspx page, instead of the MailDefinition class which only supports Text replacements.

    SSL error SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

    In my case, I was on CentOS 7 and my php installation was pointing to a certificate that was being generated through update-ca-trust. The symlink was /etc/pki/tls/cert.pem pointing to /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem. This was just a test server and I wanted my self signed cert to work properly. So in my case...

    # My root ca-trust folder was here. I coped the .crt file to this location
    # and renamed it to a .pem
    /etc/pki/ca-trust/source/anchors/self-signed-cert.pem
    
    # Then run this command and it will regenerate the certs for you and
    # include your self signed cert file.
    update-ca-trust
    

    Then some of my api calls started working as my cert was now trusted. Also if your ca-trust gets updated through yum or something, this will rebuild your root certificates and still include your self signed cert. Run man update-ca-trust for more info on what to do and how to do it. :)

    How to reload or re-render the entire page using AngularJS

    Well maybe you forgot to add "$route" when declaring the dependencies of your Controller:

    app.controller('NameCtrl', ['$scope','$route', function($scope,$route) {   
       // $route.reload(); Then this should work fine.
    }]);
    

    Create ArrayList from array

    the lambda expression that generates a list of type ArrayList<Element>
    (1) without an unchecked cast
    (2) without creating a second list (with eg. asList())

    ArrayList<Element> list = Stream.of( array ).collect( Collectors.toCollection( ArrayList::new ) );

    Rails 3.1 and Image Assets

    You'll want to change the extension of your css file from .css.scss to .css.scss.erb and do:

    background-image:url(<%=asset_path "admin/logo.png"%>);
    

    You may need to do a "hard refresh" to see changes. CMD+SHIFT+R on OSX browsers.

    In production, make sure

    rm -rf public/assets    
    bundle exec rake assets:precompile RAILS_ENV=production
    

    happens upon deployment.

    Checking if a folder exists using a .bat file

    I think the answer is here (possibly duplicate):

    How to test if a file is a directory in a batch script?

    IF EXIST %VAR%\NUL ECHO It's a directory
    

    Replace %VAR% with your directory. Please read the original answer because includes details about handling white spaces in the folder name.

    As foxidrive said, this might not be reliable on NT class windows. It works for me, but I know it has some limitations (which you can find in the referenced question)

    if exist "c:\folder\" echo folder exists 
    

    should be enough for modern windows.

    Maven: best way of linking custom external JAR to my project?

    This can be easily achieved by using the <scope> element nested inside <dependency> element.

    For example:

     <dependencies>
       <dependency>
         <groupId>ldapjdk</groupId>
         <artifactId>ldapjdk</artifactId>
         <scope>system</scope>
         <version>1.0</version>
         <systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath>
       </dependency>
     </dependencies>
    

    Reference: http://www.tutorialspoint.com/maven/maven_external_dependencies.htm

    Reset local repository branch to be just like remote repository HEAD

    If you had a problem as me, that you have already committed some changes, but now, for any reason you want to get rid of it, the quickest way is to use git reset like this:

    git reset --hard HEAD~2
    

    I had 2 not needed commits, hence the number 2. You can change it to your own number of commits to reset.

    So answering your question - if you're 5 commits ahead of remote repository HEAD, you should run this command:

    git reset --hard HEAD~5
    

    Notice that you will lose the changes you've made, so be careful!

    Passing on command line arguments to runnable JAR

    You can pass program arguments on the command line and get them in your Java app like this:

    public static void main(String[] args) {
      String pathToXml = args[0];
    ....
    }
    

    Alternatively you pass a system property by changing the command line to:

    java -Dpath-to-xml=enwiki-20111007-pages-articles.xml -jar wiki2txt

    and your main class to:

    public static void main(String[] args) {
      String pathToXml = System.getProperty("path-to-xml");
    ....
    }
    

    Get size of an Iterable in Java

    You can cast your iterable to a list then use .size() on it.

    Lists.newArrayList(iterable).size();
    

    For the sake of clarity, the above method will require the following import:

    import com.google.common.collect.Lists;
    

    Count unique values using pandas groupby

    This is just an add-on to the solution in case you want to compute not only unique values but other aggregate functions:

    df.groupby(['group']).agg(['min','max','count','nunique'])
    

    Hope you find it useful

    Google Chrome Printing Page Breaks

    If you are using Chrome with Bootstrap Css the classes that control the grid layout eg col-xs-12 etc use "float: left" which, as others have pointed out, wrecks the page breaks. Remove these from your page for printing. It worked for me. (On Chrome version = 49.0.2623.87)

    Copying files from server to local computer using SSH

    that scp command must be issued on the local command-line, for putty the command is pscp.

    C:\something> pscp [email protected]:/dir/of/file.txt \local\dir\
    

    Expand/collapse section in UITableView in iOS

    I am adding this solution for completeness and showing how to work with section headers.

    import UIKit
    
    class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    
        @IBOutlet var tableView: UITableView!
        var headerButtons: [UIButton]!
        var sections = [true, true, true]
    
        override func viewDidLoad() {
            super.viewDidLoad()
            tableView.dataSource = self
            tableView.delegate = self
    
            let section0Button = UIButton(type: .detailDisclosure)
            section0Button.setTitle("Section 0", for: .normal)
            section0Button.addTarget(self, action: #selector(section0Tapped), for: .touchUpInside)
    
            let section1Button = UIButton(type: .detailDisclosure)
            section1Button.setTitle("Section 1", for: .normal)
            section1Button.addTarget(self, action: #selector(section1Tapped), for: .touchUpInside)
    
            let section2Button = UIButton(type: .detailDisclosure)
            section2Button.setTitle("Section 2", for: .normal)
            section2Button.addTarget(self, action: #selector(section2Tapped), for: .touchUpInside)
    
            headerButtons = [UIButton]()
            headerButtons.append(section0Button)
            headerButtons.append(section1Button)
            headerButtons.append(section2Button)
        }
    
        func numberOfSections(in tableView: UITableView) -> Int {
            return sections.count
        }
    
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return sections[section] ? 3 : 0
        }
    
        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cellReuseId = "cellReuseId"
            let cell = UITableViewCell(style: .default, reuseIdentifier: cellReuseId)
            cell.textLabel?.text = "\(indexPath.section): \(indexPath.row)"
            return cell
        }
    
        func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
            return headerButtons[section]
        }
    
        func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
            return 44
        }
    
        @objc func section0Tapped() {
            sections[0] = !sections[0]
            tableView.reloadSections([0], with: .fade)
        }
    
        @objc func section1Tapped() {
            sections[1] = !sections[1]
            tableView.reloadSections([1], with: .fade)
        }
    
        @objc func section2Tapped() {
            sections[2] = !sections[2]
            tableView.reloadSections([2], with: .fade)
        }
    
    }
    

    Link to gist: https://gist.github.com/pawelkijowskizimperium/fe1e8511a7932a0d40486a2669316d2c

    How can I use a Python script in the command line without cd-ing to its directory? Is it the PYTHONPATH?

    PYTHONPATH only affects import statements, not the top-level Python interpreter's lookup of python files given as arguments.

    Needing PYTHONPATH to be set is not a great idea - as with anything dependent on environment variables, replicating things consistently across different machines gets tricky. Better is to use Python 'packages' which can be installed (using 'pip', or distutils) in system-dependent paths which Python already knows about.

    Have a read of https://the-hitchhikers-guide-to-packaging.readthedocs.org/en/latest/ - 'The Hitchhiker's Guide to Packaging', and also http://docs.python.org/3/tutorial/modules.html - which explains PYTHONPATH and packages at a lower level.

    How to show image using ImageView in Android

    If you want to display an image file on the phone, you can do this:

    private ImageView mImageView;
    mImageView = (ImageView) findViewById(R.id.imageViewId);
    mImageView.setImageBitmap(BitmapFactory.decodeFile("pathToImageFile"));
    

    If you want to display an image from your drawable resources, do this:

    private ImageView mImageView;
    mImageView = (ImageView) findViewById(R.id.imageViewId);
    mImageView.setImageResource(R.drawable.imageFileId);
    

    You'll find the drawable folder(s) in the project res folder. You can put your image files there.

    Converting Long to Date in Java returns 1970

    New Date(number) returns a date that's number milliseconds after 1 Jan 1970. Odds are you date format isn't showing hours, minutes, and seconds for you to see that it's just a little bit after 1 Jan 1970.

    You need to parse the date according to the correct parsing routing. I don't know what a 1220227200 is, but if it's seconds after 1 JAN 1970, then multiply it to yield milliseconds. If it is not, then convert it in some manner to milliseconds after 1970 (if you want to continue to use java.util.Date).

    Apply formula to the entire column

    You may fill the column by double-clicking on the bottom right hand corner of the cell which you want to copy from (the point on the box that you would otherwise drag) and it will be applied to whole column.

    NB: This doesn't work if you have the filter applied, nor if there is already something already in the cells below.

    SQL Server SELECT INTO @variable?

    Sounds like you want temp tables. http://www.sqlteam.com/article/temporary-tables

    Note that #TempTable is available throughout your SP.

    Note the ##TempTable is available to all.

    Pandas unstack problems: ValueError: Index contains duplicate entries, cannot reshape

    I had such problem. In my case problem was in data - my column 'information' contained 1 unique value and it caused error

    UPDATE: to correct work 'pivot' pairs (id_user,information) cannot have duplicates

    It works:

    df2 = pd.DataFrame({'id_user':[1,2,3,4,4,5,5], 
    'information':['phon','phon','phone','phone1','phone','phone1','phone'], 
    'value': [1, '01.01.00', '01.02.00', 2, '01.03.00', 3, '01.04.00']})
    df2.pivot(index='id_user', columns='information', values='value')
    

    it doesn't work:

    df2 = pd.DataFrame({'id_user':[1,2,3,4,4,5,5], 
    'information':['phone','phone','phone','phone','phone','phone','phone'], 
    'value': [1, '01.01.00', '01.02.00', 2, '01.03.00', 3, '01.04.00']})
    df2.pivot(index='id_user', columns='information', values='value')
    

    source: https://stackoverflow.com/a/37021196/6088984

    TCP: can two different sockets share a port?

    TCP / HTTP Listening On Ports: How Can Many Users Share the Same Port

    So, what happens when a server listen for incoming connections on a TCP port? For example, let's say you have a web-server on port 80. Let's assume that your computer has the public IP address of 24.14.181.229 and the person that tries to connect to you has IP address 10.1.2.3. This person can connect to you by opening a TCP socket to 24.14.181.229:80. Simple enough.

    Intuitively (and wrongly), most people assume that it looks something like this:

        Local Computer    | Remote Computer
        --------------------------------
        <local_ip>:80     | <foreign_ip>:80
    
        ^^ not actually what happens, but this is the conceptual model a lot of people have in mind.
    

    This is intuitive, because from the standpoint of the client, he has an IP address, and connects to a server at IP:PORT. Since the client connects to port 80, then his port must be 80 too? This is a sensible thing to think, but actually not what happens. If that were to be correct, we could only serve one user per foreign IP address. Once a remote computer connects, then he would hog the port 80 to port 80 connection, and no one else could connect.

    Three things must be understood:

    1.) On a server, a process is listening on a port. Once it gets a connection, it hands it off to another thread. The communication never hogs the listening port.

    2.) Connections are uniquely identified by the OS by the following 5-tuple: (local-IP, local-port, remote-IP, remote-port, protocol). If any element in the tuple is different, then this is a completely independent connection.

    3.) When a client connects to a server, it picks a random, unused high-order source port. This way, a single client can have up to ~64k connections to the server for the same destination port.

    So, this is really what gets created when a client connects to a server:

        Local Computer   | Remote Computer           | Role
        -----------------------------------------------------------
        0.0.0.0:80       | <none>                    | LISTENING
        127.0.0.1:80     | 10.1.2.3:<random_port>    | ESTABLISHED
    

    Looking at What Actually Happens

    First, let's use netstat to see what is happening on this computer. We will use port 500 instead of 80 (because a whole bunch of stuff is happening on port 80 as it is a common port, but functionally it does not make a difference).

        netstat -atnp | grep -i ":500 "
    

    As expected, the output is blank. Now let's start a web server:

        sudo python3 -m http.server 500
    

    Now, here is the output of running netstat again:

        Proto Recv-Q Send-Q Local Address           Foreign Address         State  
        tcp        0      0 0.0.0.0:500             0.0.0.0:*               LISTEN      - 
    

    So now there is one process that is actively listening (State: LISTEN) on port 500. The local address is 0.0.0.0, which is code for "listening for all ip addresses". An easy mistake to make is to only listen on port 127.0.0.1, which will only accept connections from the current computer. So this is not a connection, this just means that a process requested to bind() to port IP, and that process is responsible for handling all connections to that port. This hints to the limitation that there can only be one process per computer listening on a port (there are ways to get around that using multiplexing, but this is a much more complicated topic). If a web-server is listening on port 80, it cannot share that port with other web-servers.

    So now, let's connect a user to our machine:

        quicknet -m tcp -t localhost:500 -p Test payload.
    

    This is a simple script (https://github.com/grokit/quickweb) that opens a TCP socket, sends the payload ("Test payload." in this case), waits a few seconds and disconnects. Doing netstat again while this is happening displays the following:

        Proto Recv-Q Send-Q Local Address           Foreign Address         State  
        tcp        0      0 0.0.0.0:500             0.0.0.0:*               LISTEN      -
        tcp        0      0 192.168.1.10:500        192.168.1.13:54240      ESTABLISHED -
    

    If you connect with another client and do netstat again, you will see the following:

        Proto Recv-Q Send-Q Local Address           Foreign Address         State  
        tcp        0      0 0.0.0.0:500             0.0.0.0:*               LISTEN      -
        tcp        0      0 192.168.1.10:500        192.168.1.13:26813      ESTABLISHED -
    

    ... that is, the client used another random port for the connection. So there is never confusion between the IP addresses.

    Having the output of a console application in Visual Studio instead of the console

    Instead, you can collect the output in a test result.

    You can't supply input, but you can easily provide several tests with different command line arguments, each test collecting the output.

    If your goal is debugging, this is a low effort way of offering a repeatable debugging scenario.

    namespace Commandline.Test
    {
        using Microsoft.VisualStudio.TestTools.UnitTesting;
    
        [TestClass]
        public class CommandlineTests
        {
            [TestMethod]
            public void RunNoArguments()
            {
                Commandline.Program.Main(new string[0]);
            }
        }
    }
    

    Can you split/explode a field in a MySQL query?

    Seeing that it's a fairly popular question - the answer is YES.

    For a column column in table table containing all of your coma separated values:

    CREATE TEMPORARY TABLE temp (val CHAR(255));
    SET @S1 = CONCAT("INSERT INTO temp (val) VALUES ('",REPLACE((SELECT GROUP_CONCAT( DISTINCT  `column`) AS data FROM `table`), ",", "'),('"),"');");
    PREPARE stmt1 FROM @s1;
    EXECUTE stmt1;
    SELECT DISTINCT(val) FROM temp;
    

    Please remember however to not store CSV in your DB


    Per @Mark Amery - as this translates coma separated values into an INSERT statement, be careful when running it on unsanitised data


    Just to reiterate, please don't store CSV in your DB; this function is meant to translate CSV into sensible DB structure and not to be used anywhere in your code. If you have to use it in production, please rethink your DB structure

    When is a C++ destructor called?

    1. Pointers -- Regular pointers don't support RAII. Without an explicit delete, there will be garbage. Fortunately C++ has auto pointers that handle this for you!

    2. Scope -- Think of when a variable becomes invisible to your program. Usually this is at the end of {block}, as you point out.

    3. Manual destruction -- Never attempt this. Just let scope and RAII do the magic for you.

    Downloading all maven dependencies to a directory NOT in repository?

    The maven dependency plugin can potentially solve your problem.

    If you have a pom with all your project dependencies specified, all you would need to do is run

    mvn dependency:copy-dependencies
    

    and you will find the target/dependencies folder filled with all the dependencies, including transitive.

    Adding Gustavo's answer from below: To download the dependency sources, you can use

    mvn dependency:copy-dependencies -Dclassifier=sources
    

    (via Apache Maven Dependency Plugin doc).

    Automatic confirmation of deletion in powershell

    Add -confirm:$false to suppress confirmation.

    How to find the size of integer array

    _msize(array) in Windows or malloc_usable_size(array) in Linux should work for the dynamic array

    Both are located within malloc.h and both return a size_t

    jQuery DataTable overflow and text-wrapping issues

    You can try setting the word-wrap however it doesn't work in all browsers yet.

    Another method would be to add an element around your cell data like this:

    <td><span>...</span></td>
    

    Then add some css like this:

    .datatable td span{
        max-width: 400px;
        display: block;
        overflow: hidden;
    }