Programs & Examples On #Ipfw

Tools to get a pictorial function call graph of code

Dynamic analysis methods

Here I describe a few dynamic analysis methods.

Dynamic methods actually run the program to determine the call graph.

The opposite of dynamic methods are static methods, which try to determine it from the source alone without running the program.

Advantages of dynamic methods:

  • catches function pointers and virtual C++ calls. These are present in large numbers in any non-trivial software.

Disadvantages of dynamic methods:

  • you have to run the program, which might be slow, or require a setup that you don't have, e.g. cross-compilation
  • only functions that were actually called will show. E.g., some functions could be called or not depending on the command line arguments.

KcacheGrind

https://kcachegrind.github.io/html/Home.html

Test program:

int f2(int i) { return i + 2; }
int f1(int i) { return f2(2) + i + 1; }
int f0(int i) { return f1(1) + f2(2); }
int pointed(int i) { return i; }
int not_called(int i) { return 0; }

int main(int argc, char **argv) {
    int (*f)(int);
    f0(1);
    f1(1);
    f = pointed;
    if (argc == 1)
        f(1);
    if (argc == 2)
        not_called(1);
    return 0;
}

Usage:

sudo apt-get install -y kcachegrind valgrind

# Compile the program as usual, no special flags.
gcc -ggdb3 -O0 -o main -std=c99 main.c

# Generate a callgrind.out.<PID> file.
valgrind --tool=callgrind ./main

# Open a GUI tool to visualize callgrind data.
kcachegrind callgrind.out.1234

You are now left inside an awesome GUI program that contains a lot of interesting performance data.

On the bottom right, select the "Call graph" tab. This shows an interactive call graph that correlates to performance metrics in other windows as you click the functions.

To export the graph, right click it and select "Export Graph". The exported PNG looks like this:

From that we can see that:

  • the root node is _start, which is the actual ELF entry point, and contains glibc initialization boilerplate
  • f0, f1 and f2 are called as expected from one another
  • pointed is also shown, even though we called it with a function pointer. It might not have been called if we had passed a command line argument.
  • not_called is not shown because it didn't get called in the run, because we didn't pass an extra command line argument.

The cool thing about valgrind is that it does not require any special compilation options.

Therefore, you could use it even if you don't have the source code, only the executable.

valgrind manages to do that by running your code through a lightweight "virtual machine". This also makes execution extremely slow compared to native execution.

As can be seen on the graph, timing information about each function call is also obtained, and this can be used to profile the program, which is likely the original use case of this setup, not just to see call graphs: How can I profile C++ code running on Linux?

Tested on Ubuntu 18.04.

gcc -finstrument-functions + etrace

https://github.com/elcritch/etrace

-finstrument-functions adds callbacks, etrace parses the ELF file and implements all callbacks.

I couldn't get it working however unfortunately: Why doesn't `-finstrument-functions` work for me?

Claimed output is of format:

\-- main
|   \-- Crumble_make_apple_crumble
|   |   \-- Crumble_buy_stuff
|   |   |   \-- Crumble_buy
|   |   |   \-- Crumble_buy
|   |   |   \-- Crumble_buy
|   |   |   \-- Crumble_buy
|   |   |   \-- Crumble_buy
|   |   \-- Crumble_prepare_apples
|   |   |   \-- Crumble_skin_and_dice
|   |   \-- Crumble_mix
|   |   \-- Crumble_finalize
|   |   |   \-- Crumble_put
|   |   |   \-- Crumble_put
|   |   \-- Crumble_cook
|   |   |   \-- Crumble_put
|   |   |   \-- Crumble_bake

Likely the most efficient method besides specific hardware tracing support, but has the downside that you have to recompile the code.

Getting full JS autocompletion under Sublime Text

Suggestions are (basically) based on the text in the current open file and any snippets or completions you have defined (ref). If you want more text suggestions, I'd recommend:

As a side note, I'd really recommend installing Package control to take full advantage of the Sublime community. Some of the options above use Package control. I'd also highly recommend the tutsplus Sublime tutorial videos, which include all sorts of information about improving your efficiency when using Sublime.

Jquery change background color

try putting a delay on the last color fade.

$("p#44.test").delay(3000).css("background-color","red");

What are valid values for the id attribute in HTML?
ID's cannot start with digits!!!

Make iframe automatically adjust height according to the contents without using scrollbar?

Here is a compact version:

<iframe src="hello.html" sandbox="allow-same-origin"
        onload="this.style.height=(this.contentWindow.document.body.scrollHeight+20)+'px';">
</iframe>

How get all values in a column using PHP?

How to put MySQL functions back into PHP 7
Step 1

First get the mysql extension source which was removed in March:

https://github.com/php/php-src/tree/PRE_PHP7_EREG_MYSQL_REMOVALS/ext/mysql

Step 2

Then edit your php.ini

Somewhere either in the “Extensions” section or “MySQL” section, simply add this line:

extension = /usr/local/lib/php/extensions/no-debug-non-zts-20141001/mysql.so

Step 3

Restart PHP and mysql_* functions should now be working again.

Step 4

Turn off all deprecated warnings including them from mysql_*:

error_reporting(E_ALL ^ E_DEPRECATED);

Now Below Code Help You :

$result = mysql_query("SELECT names FROM Customers");
$Data= Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
        $Data[] =  $row['names'];  
}

You can also get all values in column using mysql_fetch_assoc

$result = mysql_query("SELECT names FROM Customers");
    $Data= Array();
    while ($row = mysql_fetch_assoc($result)) 
    {
            $Data[] =  $row['names'];  
    }

This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used.

Reference


YOU CAN USE MYSQLI ALTERNATIVE OF MYSQL EASY WAY


*

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
$result=mysqli_query($con,$sql);

// Numeric array
$row=mysqli_fetch_array($result,MYSQLI_NUM);
printf ("%s (%s)\n",$row[0],$row[1]);

// Associative array
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
printf ("%s (%s)\n",$row["Lastname"],$row["Age"]);

// Free result set
mysqli_free_result($result);

mysqli_close($con);
?> 

std::thread calling method of class

Not so hard:

#include <thread>

void Test::runMultiThread()
{
    std::thread t1(&Test::calculate, this,  0, 10);
    std::thread t2(&Test::calculate, this, 11, 20);
    t1.join();
    t2.join();
}

If the result of the computation is still needed, use a future instead:

#include <future>

void Test::runMultiThread()
{
     auto f1 = std::async(&Test::calculate, this,  0, 10);
     auto f2 = std::async(&Test::calculate, this, 11, 20);

     auto res1 = f1.get();
     auto res2 = f2.get();
}

HTML+CSS: How to force div contents to stay in one line?

I jumped here looking for the very same thing, but none worked for me.

There are instances where regardless what you do, and depending on the system (Oracle Designer: Oracle 11g - PL/SQL), divs will always go to the next line, in which case you should use the span tag instead.

This worked wonders for me.

<span float: left; white-space: nowrap; overflow: hidden; onmouseover="rollOverImageSectionFiveThreeOne(this)">
    <input type="radio" id="radio4" name="p_verify_type" value="SomeValue"  />
</span> 
Just Your Text || 
<span id="headerFiveThreeOneHelpText" float: left; white-space: nowrap; overflow: hidden;></span>

Google Maps API V3 : How show the direction from a point A to point B (Blue line)?

Use directions service of Google Maps API v3. It's basically the same as directions API, but nicely packed in Google Maps API which also provides convenient way to easily render the route on the map.

Information and examples about rendering the directions route on the map can be found in rendering directions section of Google Maps API v3 documentation.

How to disable all div content

Browsers tested: IE 9, Chrome, Firefox and jquery-1.7.1.min.js

    $(document).ready(function () {
        $('#chkDisableEnableElements').change(function () {
            if ($('#chkDisableEnableElements').is(':checked')) {
                enableElements($('#divDifferentElements').children());
            }
            else {
                disableElements($('#divDifferentElements').children());
            }
        });
    });

    function disableElements(el) {
        for (var i = 0; i < el.length; i++) {
            el[i].disabled = true;

            disableElements(el[i].children);
        }
    }

    function enableElements(el) {
        for (var i = 0; i < el.length; i++) {
            el[i].disabled = false;

            enableElements(el[i].children);
        }
    }

C++: Print out enum value as text

Using map:

#include <iostream>
#include <map>
#include <string>

enum Errors {ErrorA=0, ErrorB, ErrorC};

std::ostream& operator<<(std::ostream& out, const Errors value){
    static std::map<Errors, std::string> strings;
    if (strings.size() == 0){
#define INSERT_ELEMENT(p) strings[p] = #p
        INSERT_ELEMENT(ErrorA);     
        INSERT_ELEMENT(ErrorB);     
        INSERT_ELEMENT(ErrorC);             
#undef INSERT_ELEMENT
    }   

    return out << strings[value];
}

int main(int argc, char** argv){
    std::cout << ErrorA << std::endl << ErrorB << std::endl << ErrorC << std::endl;
    return 0;   
}

Using array of structures with linear search:

#include <iostream>
#include <string>

enum Errors {ErrorA=0, ErrorB, ErrorC};

std::ostream& operator<<(std::ostream& out, const Errors value){
#define MAPENTRY(p) {p, #p}
    const struct MapEntry{
        Errors value;
        const char* str;
    } entries[] = {
        MAPENTRY(ErrorA),
        MAPENTRY(ErrorB),
        MAPENTRY(ErrorC),
        {ErrorA, 0}//doesn't matter what is used instead of ErrorA here...
    };
#undef MAPENTRY
    const char* s = 0;
    for (const MapEntry* i = entries; i->str; i++){
        if (i->value == value){
            s = i->str;
            break;
        }
    }

    return out << s;
}

int main(int argc, char** argv){
    std::cout << ErrorA << std::endl << ErrorB << std::endl << ErrorC << std::endl;
    return 0;   
}

Using switch/case:

#include <iostream>
#include <string>

enum Errors {ErrorA=0, ErrorB, ErrorC};

std::ostream& operator<<(std::ostream& out, const Errors value){
    const char* s = 0;
#define PROCESS_VAL(p) case(p): s = #p; break;
    switch(value){
        PROCESS_VAL(ErrorA);     
        PROCESS_VAL(ErrorB);     
        PROCESS_VAL(ErrorC);
    }
#undef PROCESS_VAL

    return out << s;
}

int main(int argc, char** argv){
    std::cout << ErrorA << std::endl << ErrorB << std::endl << ErrorC << std::endl;
    return 0;   
}

AngularJs: How to set radio button checked based on model

Use ng-value instead of value.

ng-value="true"

Version with ng-checked is worse because of the code duplication.

Implementing two interfaces in a class with same method. Which interface method is overridden?

Try implementing the interface as anonymous.

public class MyClass extends MySuperClass implements MyInterface{

MyInterface myInterface = new MyInterface(){

/* Overrided method from interface */
@override
public void method1(){

}

};

/* Overrided method from superclass*/
@override
public void method1(){

}

}

What's "tools:context" in Android layout files?

tools:context=".MainActivity" thisline is used in xml file which indicate that which java source file is used to access this xml file. it means show this xml preview for perticular java files.

Best way to represent a Grid or Table in AngularJS with Bootstrap 3?

A feature rich Angular grid is this one:

trNgGrid

Some of its features:

  • Was built with simplicity in mind.
  • Is using plain HTML tables, allowing the browsers to optimize the rendering.
  • Fully declarative, preserving the separation of concerns, thus allowing you to fully describe it in HTML, without messing up your controllers.
  • Is fully customizable via templates and two-way data bound attributes.
  • Easy to maintain, having the code written in TypeScript.
  • Has a very short list of dependencies: AngularJs and Bootstrap CSS, with optional Bootswatch themes.

trNgGrid

Enjoy. Yes, I'm the author. I got fed up with all the Angular grids out there.

Add Expires headers

try this solution and it is working fine for me

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>

<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml text/x-js text/js 
</IfModule>

## EXPIRES CACHING ##

Using a dictionary to select function to execute

# index dictionary by list of key names

def fn1():
    print "One"

def fn2():
    print "Two"

def fn3():
    print "Three"

fndict = {"A": fn1, "B": fn2, "C": fn3}

keynames = ["A", "B", "C"]

fndict[keynames[1]]()

# keynames[1] = "B", so output of this code is

# Two

Declaring variables inside or outside of a loop

Declaring String str outside of the while loop allows it to be referenced inside & outside the while loop. Declaring String str inside of the while loop allows it to only be referenced inside that while loop.

Variable might not have been initialized error

Local variables do not get default values. Their initial values are undefined with out assigning values by some means. Before you can use local variables they must be initialized.

There is a big difference when you declare a variable at class level (as a member ie. as a field) and at method level.

If you declare a field at class level they get default values according to their type. If you declare a variable at method level or as a block (means anycode inside {}) do not get any values and remain undefined until somehow they get some starting values ie some values assigned to them.

Comparing Java enum members: == or equals()?

As others have said, both == and .equals() work in most cases. The compile time certainty that you're not comparing completely different types of Objects that others have pointed out is valid and beneficial, however the particular kind of bug of comparing objects of two different compile time types would also be found by FindBugs (and probably by Eclipse/IntelliJ compile time inspections), so the Java compiler finding it doesn't add that much extra safety.

However:

  1. The fact that == never throws NPE in my mind is a disadvantage of ==. There should hardly ever be a need for enum types to be null, since any extra state that you may want to express via null can just be added to the enum as an additional instance. If it is unexpectedly null, I'd rather have a NPE than == silently evaluating to false. Therefore I disagree with the it's safer at run-time opinion; it's better to get into the habit never to let enum values be @Nullable.
  2. The argument that == is faster is also bogus. In most cases you'll call .equals() on a variable whose compile time type is the enum class, and in those cases the compiler can know that this is the same as == (because an enum's equals() method can not be overridden) and can optimize the function call away. I'm not sure if the compiler currently does this, but if it doesn't, and turns out to be a performance problem in Java overall, then I'd rather fix the compiler than have 100,000 Java programmers change their programming style to suit a particular compiler version's performance characteristics.
  3. enums are Objects. For all other Object types the standard comparison is .equals(), not ==. I think it's dangerous to make an exception for enums because you might end up accidentally comparing Objects with == instead of equals(), especially if you refactor an enum into a non-enum class. In case of such a refactoring, the It works point from above is wrong. To convince yourself that a use of == is correct, you need to check whether value in question is either an enum or a primitive; if it was a non-enum class, it'd be wrong but easy to miss because the code would still compile. The only case when a use of .equals() would be wrong is if the values in question were primitives; in that case, the code wouldn't compile so it's much harder to miss. Hence, .equals() is much easier to identify as correct, and is safer against future refactorings.

I actually think that the Java language should have defined == on Objects to call .equals() on the left hand value, and introduce a separate operator for object identity, but that's not how Java was defined.

In summary, I still think the arguments are in favor of using .equals() for enum types.

Float a div above page content

give z-index:-1 to flash and give z-index:100 to div..

Proper use cases for Android UserManager.isUserAGoat()?

In the discipline of speech recognition, users are divided into goats and sheeps.

For instance, here on page 89:

Sheeps are people for whom speech recognition works exceptionally well, and goats are people for whom it works exceptionally poorly. Only the voice recognizer knows what separates them. People can't predict whose voice will be recognized easily and whose won't. The best policy is to design the interface so it can handle all kinds of voices in all kinds of environments

Maybe, it is planned to mark Android users as goats in the future to be able to configure the speech recognition engine for goats' needs. ;-)

jump to line X in nano editor

I am using nano editor in a Raspberry Pi with Italian OS language and Italian keyboard. Don't know the exact reason, but in this environment the shortcut is:

Ctrl+-

Google Recaptcha v3 example demo

if you are newly implementing recaptcha on your site, I would suggest adding api.js and let google collect behavioral data of your users 1-2 days. It is much fail-safe this way, especially before starting to use score.

How to sort mongodb with pymongo

.sort([("field1",pymongo.ASCENDING), ("field2",pymongo.DESCENDING)])

Python uses key,direction. You can use the above way.

So in your case you can do this

for post in db.posts.find().sort('entities.user_mentions.screen_name',pymongo.ASCENDING):
        print post

App store link for "rate/review this app"

Swift 5 Tested in iOS14

Opens the review window with 5 stars selected

private func openReviewInAppStore() {
    let rateUrl = "itms-apps://itunes.apple.com/app/idYOURAPPID?action=write-review"
    if UIApplication.shared.canOpenURL(URL.init(string: rateUrl)!) {
        UIApplication.shared.open(URL.init(string: rateUrl)!, options: [:], completionHandler: nil)
    }
}

(unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

As per String literals:

String literals can be enclosed within single quotes (i.e. '...') or double quotes (i.e. "..."). They can also be enclosed in matching groups of three single or double quotes (these are generally referred to as triple-quoted strings).

The backslash character (i.e. \) is used to escape characters which otherwise will have a special meaning, such as newline, backslash itself, or the quote character. String literals may optionally be prefixed with a letter r or R. Such strings are called raw strings and use different rules for backslash escape sequences.

In triple-quoted strings, unescaped newlines and quotes are allowed, except that the three unescaped quotes in a row terminate the string.

Unless an r or R prefix is present, escape sequences in strings are interpreted according to rules similar to those used by Standard C.

So ideally you need to replace the line:

data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")

To any one of the following characters:

  • Using raw prefix and single quotes (i.e. '...'):

      data = open(r'C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener')
    
  • Using double quotes (i.e. "...") and escaping backslash character (i.e. \):

      data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener")
    
  • Using double quotes (i.e. "...") and forwardslash character (i.e. /):

      data = open("C:/Users/miche/Documents/school/jaar2/MIK/2.6/vektis_agb_zorgverlener")
    

How can I select the record with the 2nd highest salary in database Oracle?

select Max(Salary) as SecondHighestSalary from Employee where Salary not in (select max(Salary) from Employee)

How to replace space with comma using sed?

I just confirmed that:

cat file.txt | sed "s/\s/,/g"

successfully replaces spaces with commas in Cygwin terminals (mintty 2.9.0). None of the other samples worked for me.

Is there a Newline constant defined in Java like Environment.Newline in C#?

As of Java 7 (and Android API level 19):

System.lineSeparator()

Documentation: Java Platform SE 7


For older versions of Java, use:

System.getProperty("line.separator");

See https://java.sun.com/docs/books/tutorial/essential/environment/sysprop.html for other properties.

Exploring Docker container's file system

If you are using the AUFS storage driver, you can use my docker-layer script to find any container's filesystem root (mnt) and readwrite layer :

# docker-layer musing_wiles
rw layer : /var/lib/docker/aufs/diff/c83338693ff190945b2374dea210974b7213bc0916163cc30e16f6ccf1e4b03f
mnt      : /var/lib/docker/aufs/mnt/c83338693ff190945b2374dea210974b7213bc0916163cc30e16f6ccf1e4b03f

Edit 2018-03-28 :
docker-layer has been replaced by docker-backup

MySQL: How to reset or change the MySQL root password?

The official and easy way to reset the root password on an ubuntu server...

If you are on 16.04, 14.04, 12.04:

sudo dpkg-reconfigure mysql-server-5.5

If you are on 10.04:

sudo dpkg-reconfigure mysql-server-5.1

If you are not sure which mysql-server version is installed you can try:

dpkg --get-selections | grep mysql-server

Updated notes for mysql-server-5.7

Note that if you are using mysql-server-5.7 you can not use the easier dpkg-reconfigure method shown above.

If you know the password, login and run this:

UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;

Alternatively, you can use the following:

sudo mysql_secure_installation

This will ask you a series of questions about securing your installation (highly recommended), including if you want to provide a new root password.

If you do NOT know the root password, refer to this Ubuntu-centric write up on the process.

See for more info:

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html

Excel - Shading entire row based on change of value

Use Conditional Formatting.

In it's simplest form, you are saying "for this cell, if it's value is X, then apply format foo". However, if you use the "formula" method, you can select the whole row, enter the formula and associated format, then use copy and paste (formats only) for the rest of the table.

You're limited to only 3 rules in Excel 2003 or older so you might want to define a pattern for the colours rather than using raw values. Something like this should work though:

alt text

What's the best way to dedupe a table?

Deduping is rarely simple. That's because the records to be dedupped often have slightly different values is some of the fields. Therefore choose which record to keep can be problematic. Further, dups are often people records and it is hard to identify if the two John Smith's are two people or one person who is duplicated. So spend a lot (50% or more of the whole project) of your time defining what constitutes a dup and how to handle the differences and child records.

How do you know which is the correct value? Further dedupping requires that you handle all child records not orphaning any. What happens when you find that by changing the id on the child record you are suddenly violating one of the unique indexes or constraints - this will happen eventually and your process needs to handle it. If you have chosen foolishly to apply all your constraints only thorough the application, you may not even know the constraints are violated. When you have 10,000 records to dedup, you aren't going to go through the application to dedup one at a time. If the constraint isn't in the database, lots of luck in maintaining data integrity when you dedup.

A further complication is that dups don't always match exactly on the name or address. For instance a salesrep named Joan Martin may be a dup of a sales rep names Joan Martin-Jones especially if they have the same address and email. OR you could have John or Johnny in the name. Or the same street address except one record abbreveiated ST. and one spelled out Street. In SQL server you can use SSIS and fuzzy grouping to also identify near matches. These are often the most common dups as the fact that weren't exact matches is why they got put in as dups in the first place.

For some types of dedupping, you may need a user interface, so that the person doing the dedupping can choose which of two values to use for a particular field. This is especially true if the person who is being dedupped is in two or more roles. It could be that the data for a particular role is usually better than the data for another role. Or it could be that only the users will know for sure which is the correct value or they may need to contact people to find out if they are genuinely dups or simply two people with the same name.

How to select rows that have current day's timestamp?

If you want to compare with a particular date , You can directly write it like :

select * from `table_name` where timestamp >= '2018-07-07';

// here the timestamp is the name of the column having type as timestamp

or

For fetching today date , CURDATE() function is available , so :

select * from `table_name` where timestamp >=  CURDATE();

How to retrieve the LoaderException property?

Using Quick Watch in Visual Studio you can access the LoaderExceptions from ViewDetails of the thrown exception like this:

($exception).LoaderExceptions

jQuery bind to Paste Event, how to get the content of the paste

It would appear as though this event has some clipboardData property attached to it (it may be nested within the originalEvent property). The clipboardData contains an array of items and each one of those items has a getAsString() function that you can call. This returns the string representation of what is in the item.

Those items also have a getAsFile() function, as well as some others which are browser specific (e.g. in webkit browsers, there is a webkitGetAsEntry() function).

For my purposes, I needed the string value of what is being pasted. So, I did something similar to this:

$(element).bind("paste", function (e) {
    e.originalEvent.clipboardData.items[0].getAsString(function (pStringRepresentation) {
        debugger; 
        // pStringRepresentation now contains the string representation of what was pasted.
        // This does not include HTML or any markup. Essentially jQuery's $(element).text()
        // function result.
    });
});

You'll want to perform an iteration through the items, keeping a string concatenation result.

The fact that there is an array of items makes me think more work will need to be done, analyzing each item. You'll also want to do some null/value checks.

Limiting the output of PHP's echo to 200 characters

It gives out a string of max 200 characters OR 200 normal characters OR 200 characters followed by '...'

$ur_str= (strlen($ur_str) > 200) ? substr($ur_str,0,200).'...' :$ur_str;

How to enable copy paste from between host machine and virtual machine in vmware, virtual machine is ubuntu

You need to install VMware Tools on your vm:

To install VMware Tools in most VMware products:

Power on the virtual machine.

Log in to the virtual machine using an account with Administrator or root privileges.

Wait for the desktop to load and be ready.

Click Install/Upgrade VMware Tools. There are two places to find this option:

  • Right-click on the running virtual machine object and choose Install/Upgrade VMware Tools.
  • Right-click on the running virtual machine object and click Open Console. In the Console menu click VM and click Install/Upgrade VMware Tools.

    Note: In ESX/ESXi 4.x, navigate to VM > Guest > Install/Upgrade VMware Tools. In Workstation, navigate to VM > Install/Upgrade VMware Tools.

[...]

Source: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1014294

How to get the host name of the current machine as defined in the Ansible hosts file?

You can limit the scope of a playbook by changing the hosts header in its plays without relying on your special host label ‘local’ in your inventory. Localhost does not need a special line in inventories.

- name: run on all except local
  hosts: all:!local

Bulk Record Update with SQL

Your approach is OK

Maybe slightly clearer (to me anyway!)

UPDATE
  T1
SET
  [Description] = t2.[Description]
FROM
   Table1 T1
   JOIN
   [Table2] t2 ON t2.[ID] = t1.DescriptionID

Both this and your query should run the same performance wise because it is the same query, just laid out differently.

Process all arguments except the first one (in a bash script)

Use this:

echo "${@:2}"

The following syntax:

echo "${*:2}"

would work as well, but is not recommended, because as @Gordon already explained, that using *, it runs all of the arguments together as a single argument with spaces, while @ preserves the breaks between them (even if some of the arguments themselves contain spaces). It doesn't make the difference with echo, but it matters for many other commands.

What is the difference between attribute and property?

Delphi used properties and they have found their way into .NET (because it has the same architect).

In Delphi they are often used in combination with runtime type information such that the integrated property editor can be used to set the property in designtime.

Properties are not always related to fields. They can be functions that possible have side effects (but of course that is very bad design).

Check the current number of connections to MongoDb

db.serverStatus() gives no of connections opend and avail but not shows the connections from which client. For more info you can use this command sudo lsof | grep mongod | grep TCP. I need it when i did replication and primary node have many client connection greater than secondary.

$ sudo lsof | grep mongod | grep TCP
mongod    5733             Al    6u     IPv4 0x08761278       0t0       TCP *:28017 (LISTEN)
mongod    5733             Al    7u     IPv4 0x07c7eb98       0t0       TCP *:27017 (LISTEN)
mongod    5733             Al    9u     IPv4 0x08761688       0t0       TCP 192.168.1.103:27017->192.168.1.103:64752 (ESTABLISHED)
mongod    5733             Al   12u     IPv4 0x08761a98       0t0       TCP 192.168.1.103:27017->192.168.1.103:64754 (ESTABLISHED)
mongod    5733             Al   13u     IPv4 0x095fa748       0t0       TCP 192.168.1.103:27017->192.168.1.103:64770 (ESTABLISHED)
mongod    5733             Al   14u     IPv4 0x095f86c8       0t0       TCP 192.168.1.103:27017->192.168.1.103:64775 (ESTABLISHED)
mongod    5733             Al   17u     IPv4 0x08764748       0t0       TCP 192.168.1.103:27017->192.168.1.103:64777 (ESTABLISHED)

This shows that I currently have five connections open to the MongoDB port (27017) on my computer. In my case I'm connecting to MongoDB from a Scalatra server, and I'm using the MongoDB Casbah driver, but you'll see the same lsof TCP connections regardless of the client used (as long as they're connecting using TCP/IP).

Extract a substring from a string in Ruby using a regular expression

A simpler scan would be:

String1.scan(/<(\S+)>/).last

Access multiple viewchildren using @viewchild

Use @ViewChildren from @angular/core to get a reference to the components

template

<div *ngFor="let v of views">
    <customcomponent #cmp></customcomponent>
</div>

component

import { ViewChildren, QueryList } from '@angular/core';

/** Get handle on cmp tags in the template */
@ViewChildren('cmp') components:QueryList<CustomComponent>;

ngAfterViewInit(){
    // print array of CustomComponent objects
    console.log(this.components.toArray());
}

l?i?v?e? ?d?e?m?o?

How to run a maven created jar file using just the command line

1st Step: Add this content in pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer
                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

2nd Step : Execute this command line by line.

cd /go/to/myApp
mvn clean
mvn compile 
mvn package
java -cp target/myApp-0.0.1-SNAPSHOT.jar go.to.myApp.select.file.to.execute

How do I use extern to share variables between source files?

extern is used so one first.c file can have full access to a global parameter in another second.c file.

The extern can be declared in the first.c file or in any of the header files first.c includes.

Extract hostname name from string

There is no need to parse the string, just pass your URL as an argument to URL constructor:

const url = 'http://www.youtube.com/watch?v=ClkQA2Lb_iE';
const { hostname } = new URL(url);

console.assert(hostname === 'www.youtube.com');

Remove rows not .isin('X')

You can use the DataFrame.select method:

In [1]: df = pd.DataFrame([[1,2],[3,4]], index=['A','B'])

In [2]: df
Out[2]: 
   0  1
A  1  2
B  3  4

In [3]: L = ['A']

In [4]: df.select(lambda x: x in L)
Out[4]: 
   0  1
A  1  2

SQL DATEPART(dw,date) need monday = 1 and sunday = 7

You can use a formula like:

(weekday + 5) % 7 + 1

If you decide to use this, it would be worth running through some examples to convince yourself that it actually does what you want.

addition: for not to be affected by the DATEFIRST variable (it could be set to any value between 1 and 7) the real formula is :

(weekday  + @@DATEFIRST + 5) % 7 + 1

How to delete rows from a pandas DataFrame based on a conditional expression

If you want to drop rows of data frame on the basis of some complicated condition on the column value then writing that in the way shown above can be complicated. I have the following simpler solution which always works. Let us assume that you want to drop the column with 'header' so get that column in a list first.

text_data = df['name'].tolist()

now apply some function on the every element of the list and put that in a panda series:

text_length = pd.Series([func(t) for t in text_data])

in my case I was just trying to get the number of tokens:

text_length = pd.Series([len(t.split()) for t in text_data])

now add one extra column with the above series in the data frame:

df = df.assign(text_length = text_length .values)

now we can apply condition on the new column such as:

df = df[df.text_length  >  10]
def pass_filter(df, label, length, pass_type):

    text_data = df[label].tolist()

    text_length = pd.Series([len(t.split()) for t in text_data])

    df = df.assign(text_length = text_length .values)

    if pass_type == 'high':
        df = df[df.text_length  >  length]

    if pass_type == 'low':
        df = df[df.text_length  <  length]

    df = df.drop(columns=['text_length'])

    return df

Why is C so fast, and why aren't other languages as fast or faster?

C is not always faster.

C is slower than, for example Modern Fortran.

C is often slower than Java for some things. ( Especially after the JIT compiler has had a go at your code)

C lets pointer aliasing happen, which means some good optimizations are not possible. Particularly when you have multiple execution units, this causes data fetch stalls. Ow.

The assumption that pointer arithmetic works really causes slow bloated performance on some CPU families (PIC particularly!) It used to suck the big one on segmented x86.

Basically, when you get a vector unit, or a parallelizing compiler, C stinks and modern Fortran runs faster.

C programmer tricks like thunking ( modifying the executable on the fly) cause CPU prefetch stalls.

You get the drift ?

And our good friend, the x86, executes an instruction set that these days bears little relationship to the actual CPU architecture. Shadow registers, load-store optimizers, all in the CPU. So C is then close to the virtual metal. The real metal, Intel don't let you see. (Historically VLIW CPU's were a bit of a bust so, maybe that's no so bad.)

If you program in C on a high-performance DSP (maybe a TI DSP ?), the compiler has to do some tricky stuff to unroll the C across the multiple parallel execution units. So in that case C isn't close to the metal, but it is close to the compiler, which will do whole program optimization. Weird.

And finally, some CPUs (www.ajile.com) run Java bytecodes in hardware. C would a PITA to use on that CPU.

how to make a jquery "$.post" request synchronous

From the Jquery docs: you specify the async option to be false to get a synchronous Ajax request. Then your callback can set some data before your mother function proceeds.

Here's what your code would look like if changed as suggested:

beforecreate: function(node,targetNode,type,to) {
    jQuery.ajax({
         url:    url,
         success: function(result) {
                      if(result.isOk == false)
                          alert(result.message);
                  },
         async:   false
    });          
}

this is because $.ajax is the only request type that you can set the asynchronousity for

jQuery callback for multiple ajax calls

async   : false,

By default, all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this option to false. Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active. As of jQuery 1.8, the use of async: false with jqXHR ($.Deferred) is deprecated; you must use the success/error/complete callback options instead of the corresponding methods of the jqXHR object such as jqXHR.done() or the deprecated jqXHR.success().

Communicating between a fragment and an activity - best practices

I made a annotation library that can do the cast for you. check this out. https://github.com/zeroarst/callbackfragment/

@CallbackFragment
public class MyFragment extends Fragment {

    @Callback
    interface FragmentCallback {
       void onClickButton(MyFragment fragment);
    }    
    private FragmentCallback mCallback;

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.bt1
                mCallback.onClickButton(this);
                break;
            case R.id.bt2
                // Because we give mandatory = false so this might be null if not implemented by the host.
                if (mCallbackNotForce != null)
                mCallbackNotForce.onClickButton(this);
                break;
        }
    }
}

It then generates a subclass of your fragment. And just add it to FragmentManager.

public class MainActivity extends AppCompatActivity implements MyFragment.FragmentCallback {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getSupportFragmentManager().beginTransaction()
            .add(R.id.lo_fragm_container, MyFragmentCallbackable.create(), "MY_FRAGM")
            .commit();
    }

    Toast mToast;

    @Override
    public void onClickButton(MyFragment fragment) {
        if (mToast != null)
            mToast.cancel();
        mToast = Toast.makeText(this, "Callback from " + fragment.getTag(), Toast.LENGTH_SHORT);
        mToast.show();
    }
}

Get all mysql selected rows into an array

  1. Loop through the results and place each one in an array

  2. use mysqli_fetch_all() to get them all at one time

How can I assign an ID to a view programmatically?

Android id overview

An Android id is an integer commonly used to identify views; this id can be assigned via XML (when possible) and via code (programmatically.) The id is most useful for getting references for XML-defined Views generated by an Inflater (such as by using setContentView.)

Assign id via XML

  • Add an attribute of android:id="@+id/somename" to your view.
  • When your application is built, the android:id will be assigned a unique int for use in code.
  • Reference your android:id's int value in code using "R.id.somename" (effectively a constant.)
  • this int can change from build to build so never copy an id from gen/package.name/R.java, just use "R.id.somename".
  • (Also, an id assigned to a Preference in XML is not used when the Preference generates its View.)

Assign id via code (programmatically)

  • Manually set ids using someView.setId(int);
  • The int must be positive, but is otherwise arbitrary- it can be whatever you want (keep reading if this is frightful.)
  • For example, if creating and numbering several views representing items, you could use their item number.

Uniqueness of ids

  • XML-assigned ids will be unique.
  • Code-assigned ids do not have to be unique
  • Code-assigned ids can (theoretically) conflict with XML-assigned ids.
  • These conflicting ids won't matter if queried correctly (keep reading).

When (and why) conflicting ids don't matter

  • findViewById(int) will iterate depth-first recursively through the view hierarchy from the View you specify and return the first View it finds with a matching id.
  • As long as there are no code-assigned ids assigned before an XML-defined id in the hierarchy, findViewById(R.id.somename) will always return the XML-defined View so id'd.

Dynamically Creating Views and Assigning IDs

  • In layout XML, define an empty ViewGroup with id.
  • Such as a LinearLayout with android:id="@+id/placeholder".
  • Use code to populate the placeholder ViewGroup with Views.
  • If you need or want, assign any ids that are convenient to each view.
  • Query these child views using placeholder.findViewById(convenientInt);

  • API 17 introduced View.generateViewId() which allows you to generate a unique ID.

If you choose to keep references to your views around, be sure to instantiate them with getApplicationContext() and be sure to set each reference to null in onDestroy. Apparently leaking the Activity (hanging onto it after is is destroyed) is wasteful.. :)

Reserve an XML android:id for use in code

API 17 introduced View.generateViewId() which generates a unique ID. (Thanks to take-chances-make-changes for pointing this out.)*

If your ViewGroup cannot be defined via XML (or you don't want it to be) you can reserve the id via XML to ensure it remains unique:

Here, values/ids.xml defines a custom id:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="reservedNamedId" type="id"/>
</resources>

Then once the ViewGroup or View has been created, you can attach the custom id

myViewGroup.setId(R.id.reservedNamedId);

Conflicting id example

For clarity by way of obfuscating example, lets examine what happens when there is an id conflict behind the scenes.

layout/mylayout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout
        android:id="@+id/placeholder"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
</LinearLayout>

To simulate a conflict, lets say our latest build assigned R.id.placeholder(@+id/placeholder) an int value of 12..

Next, MyActivity.java defines some adds views programmatically (via code):

int placeholderId = R.id.placeholder; // placeholderId==12
// returns *placeholder* which has id==12:
ViewGroup placeholder = (ViewGroup)this.findViewById(placeholderId);
for (int i=0; i<20; i++){
    TextView tv = new TextView(this.getApplicationContext());
    // One new TextView will also be assigned an id==12:
    tv.setId(i);
    placeholder.addView(tv);
}

So placeholder and one of our new TextViews both have an id of 12! But this isn't really a problem if we query placeholder's child views:

// Will return a generated TextView:
 placeholder.findViewById(12);

// Whereas this will return the ViewGroup *placeholder*;
// as long as its R.id remains 12: 
Activity.this.findViewById(12);

*Not so bad

Adding timestamp to a filename with mv in BASH

Well, it's not a direct answer to your question, but there's a tool in GNU/Linux whose job is to rotate log files on regular basis, keeping old ones zipped up to a certain limit. It's logrotate

Debian 8 (Live-CD) what is the standard login and password?

I am using Debian 8 live off a USB. I was locked out of the system after 10 min of inactivity. The password that was required to log back in to the system for the user was:

login : Debian Live User
password : live

I hope this helps

How to move columns in a MySQL table?

I had to run this for a column introduced in the later stages of a product, on 10+ tables. So wrote this quick untidy script to generate the alter command for all 'relevant' tables.

SET @NeighboringColumn = '<YOUR COLUMN SHOULD COME AFTER THIS COLUMN>';

SELECT CONCAT("ALTER TABLE `",t.TABLE_NAME,"` CHANGE COLUMN `",COLUMN_NAME,"` 
`",COLUMN_NAME,"` ", c.DATA_TYPE, CASE WHEN c.CHARACTER_MAXIMUM_LENGTH IS NOT 
NULL THEN CONCAT("(", c.CHARACTER_MAXIMUM_LENGTH, ")") ELSE "" END ,"  AFTER 
`",@NeighboringColumn,"`;")
FROM information_schema.COLUMNS c, information_schema.TABLES t
WHERE c.TABLE_SCHEMA = '<YOUR SCHEMA NAME>'
AND c.COLUMN_NAME = '<COLUMN TO MOVE>'
AND c.TABLE_SCHEMA = t.TABLE_SCHEMA
AND c.TABLE_NAME = t.TABLE_NAME
AND t.TABLE_TYPE = 'BASE TABLE'
AND @NeighboringColumn IN (SELECT COLUMN_NAME 
    FROM information_schema.COLUMNS c2 
    WHERE c2.TABLE_NAME = t.TABLE_NAME);

Format numbers in django templates

Regarding Ned Batchelder's solution, here it is with 2 decimal points and a dollar sign. This goes somewhere like my_app/templatetags/my_filters.py

from django import template
from django.contrib.humanize.templatetags.humanize import intcomma

register = template.Library()

def currency(dollars):
    dollars = round(float(dollars), 2)
    return "$%s%s" % (intcomma(int(dollars)), ("%0.2f" % dollars)[-3:])

register.filter('currency', currency)

Then you can

{% load my_filters %}
{{my_dollars | currency}}

What is the memory consumption of an object in Java?

The question will be a very broad one.

It depends on the class variable or you may call as states memory usage in java.

It also has some additional memory requirement for headers and referencing.

The heap memory used by a Java object includes

  • memory for primitive fields, according to their size (see below for Sizes of primitive types);

  • memory for reference fields (4 bytes each);

  • an object header, consisting of a few bytes of "housekeeping" information;

Objects in java also requires some "housekeeping" information, such as recording an object's class, ID and status flags such as whether the object is currently reachable, currently synchronization-locked etc.

Java object header size varies on 32 and 64 bit jvm.

Although these are the main memory consumers jvm also requires additional fields sometimes like for alignment of the code e.t.c.

Sizes of primitive types

boolean & byte -- 1

char & short -- 2

int & float -- 4

long & double -- 8

Principal Component Analysis (PCA) in Python

In addition to all the other answers, here is some code to plot the biplot using sklearn and matplotlib.

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.decomposition import PCA
import pandas as pd
from sklearn.preprocessing import StandardScaler

iris = datasets.load_iris()
X = iris.data
y = iris.target
#In general a good idea is to scale the data
scaler = StandardScaler()
scaler.fit(X)
X=scaler.transform(X)    

pca = PCA()
x_new = pca.fit_transform(X)

def myplot(score,coeff,labels=None):
    xs = score[:,0]
    ys = score[:,1]
    n = coeff.shape[0]
    scalex = 1.0/(xs.max() - xs.min())
    scaley = 1.0/(ys.max() - ys.min())
    plt.scatter(xs * scalex,ys * scaley, c = y)
    for i in range(n):
        plt.arrow(0, 0, coeff[i,0], coeff[i,1],color = 'r',alpha = 0.5)
        if labels is None:
            plt.text(coeff[i,0]* 1.15, coeff[i,1] * 1.15, "Var"+str(i+1), color = 'g', ha = 'center', va = 'center')
        else:
            plt.text(coeff[i,0]* 1.15, coeff[i,1] * 1.15, labels[i], color = 'g', ha = 'center', va = 'center')
plt.xlim(-1,1)
plt.ylim(-1,1)
plt.xlabel("PC{}".format(1))
plt.ylabel("PC{}".format(2))
plt.grid()

#Call the function. Use only the 2 PCs.
myplot(x_new[:,0:2],np.transpose(pca.components_[0:2, :]))
plt.show()

enter image description here

git push >> fatal: no configured push destination

I have faced this error, Previous I had push in root directory, and now I have push another directory, so I could be remove this error and run below commands.

git add .
git commit -m "some comments"
git push --set-upstream origin master

How to access the request body when POSTing using Node.js and Express?

For 2019, you don't need to install body-parser.

You can use:

var express = require('express');
var app = express();
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.listen(8888);
app.post('/update', function(req, res) {
    console.log(req.body); // the posted data
});

Why is my CSS style not being applied?

Maybe your span is inheriting a style that forces its text to be normal instead of italic as you would like it. If you just can't get it to work as you want it to you might try marking your font-style as important.

.fancify {
    font-size: 1.5em;
    font-weight: 800;
    font-family: Consolas, "Segoe UI", Calibri, sans-serif;
    font-style: italic !important;
}

However try not to overuse important because it's easy to fall into CSS-hell with it.

Compiling an application for use in highly radioactive environments

NASA has a paper on radiation-hardened software. It describes three main tasks:

  1. Regular monitoring of memory for errors then scrubbing out those errors,
  2. robust error recovery mechanisms, and
  3. the ability to reconfigure if something no longer works.

Note that the memory scan rate should be frequent enough that multi-bit errors rarely occur, as most ECC memory can recover from single-bit errors, not multi-bit errors.

Robust error recovery includes control flow transfer (typically restarting a process at a point before the error), resource release, and data restoration.

Their main recommendation for data restoration is to avoid the need for it, through having intermediate data be treated as temporary, so that restarting before the error also rolls back the data to a reliable state. This sounds similar to the concept of "transactions" in databases.

They discuss techniques particularly suitable for object-oriented languages such as C++. For example

  1. Software-based ECCs for contiguous memory objects
  2. Programming by Contract: verifying preconditions and postconditions, then checking the object to verify it is still in a valid state.

And, it just so happens, NASA has used C++ for major projects such as the Mars Rover.

C++ class abstraction and encapsulation enabled rapid development and testing among multiple projects and developers.

They avoided certain C++ features that could create problems:

  1. Exceptions
  2. Templates
  3. Iostream (no console)
  4. Multiple inheritance
  5. Operator overloading (other than new and delete)
  6. Dynamic allocation (used a dedicated memory pool and placement new to avoid the possibility of system heap corruption).

How to create an empty array in PHP with predefined size?

PHP provides two types of array.

  • normal array
  • SplFixedArray

normal array : This array is dynamic.

SplFixedArray : this is a standard php library which provides the ability to create array of fix size.

What is the best practice for creating a favicon on a web site?

  1. you can work with this website for generate favin.ico
  2. I recommend use .ico format because the png don't work with method 1 and ico could have more detail!
  3. both method work with all browser but when it's automatically work what you want type a code for it? so i think method 1 is better.

How to find out which JavaScript events fired?

Just thought I'd add that you can do this in Chrome as well:

Ctrl + Shift + I (Developer Tools) > Sources> Event Listener Breakpoints (on the right).

You can also view all events that have already been attached by simply right clicking on the element and then browsing its properties (the panel on the right).

For example:

  • Right click on the upvote button to the left
  • Select inspect element
  • Collapse the styles section (section on the far right - double chevron)
  • Expand the event listeners option
  • Now you can see the events bound to the upvote
  • Not sure if it's quite as powerful as the firebug option, but has been enough for most of my stuff.

    Another option that is a bit different but surprisingly awesome is Visual Event: http://www.sprymedia.co.uk/article/Visual+Event+2

    It highlights all of the elements on a page that have been bound and has popovers showing the functions that are called. Pretty nifty for a bookmark! There's a Chrome plugin as well if that's more your thing - not sure about other browsers.

    AnonymousAndrew has also pointed out monitorEvents(window); here

    How to get host name with port from a http or https request

    If you use the load balancer & Nginx, config them without modify code.

    Nginx:

    proxy_set_header       Host $host;  
    proxy_set_header  X-Real-IP  $remote_addr;  
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;  
    proxy_set_header X-Forwarded-Proto  $scheme;  
    

    Tomcat's server.xml Engine:

    <Valve className="org.apache.catalina.valves.RemoteIpValve"  
    remoteIpHeader="X-Forwarded-For"  
    protocolHeader="X-Forwarded-Proto"  
    protocolHeaderHttpsValue="https"/> 
    

    If only modify Nginx config file, the java code should be:

    String XForwardedProto = request.getHeader("X-Forwarded-Proto");
    

    How can I switch language in google play?

    Answer below the dotted line below is the original that's now outdated.

    Here is the latest information ( Thank you @deadfish ):

    add &hl=<language> like &hl=pl or &hl=en

    example: https://play.google.com/store/apps/details?id=com.example.xxx&hl=en or https://play.google.com/store/apps/details?id=com.example.xxx&hl=pl

    All available languages and abbreviations can be looked up here: https://support.google.com/googleplay/android-developer/table/4419860?hl=en

    ......................................................................

    To change the actual local market:

    Basically the market is determined automatically based on your IP. You can change some local country settings from your Gmail account settings but still IP of the country you're browsing from is more important. To go around it you'd have to Proxy-cheat. Check out some ways/sites: http://www.affilorama.com/forum/market-research/how-to-change-country-search-settings-in-google-t4160.html

    To do it from an Android phone you'd need to find an app. I don't have my Droid anymore but give this a try: http://forum.xda-developers.com/showthread.php?t=694720

    REST API error code 500 handling

    Generally speaking, 5xx response codes indicate non-programmatic failures, such as a database connection failure, or some other system/library dependency failure. In many cases, it is expected that the client can re-submit the same request in the future and expect it to be successful.

    Yes, some web-frameworks will respond with 5xx codes, but those are typically the result of defects in the code and the framework is too abstract to know what happened, so it defaults to this type of response; that example, however, doesn't mean that we should be in the habit of returning 5xx codes as the result of programmatic behavior that is unrelated to out of process systems. There are many, well defined response codes that are more suitable than the 5xx codes. Being unable to parse/validate a given input is not a 5xx response because the code can accommodate a more suitable response that won't leave the client thinking that they can resubmit the same request, when in fact, they can not.

    To be clear, if the error encountered by the server was due to CLIENT input, then this is clearly a CLIENT error and should be handled with a 4xx response code. The expectation is that the client will correct the error in their request and resubmit.

    It is completely acceptable, however, to catch any out of process errors and interpret them as a 5xx response, but be aware that you should also include further information in the response to indicate exactly what failed; and even better if you can include SLA times to address.

    I don't think it's a good practice to interpret, "an unexpected error" as a 5xx error because bugs happen.

    It is a common alert monitor to begin alerting on 5xx types of errors because these typically indicate failed systems, rather than failed code. So, code accordingly!

    How to change color of Android ListView separator line?

    Use below code in your xml file

    <ListView 
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="#000000" 
        android:dividerHeight="1dp">
    </ListView> 
    

    Left Outer Join using + sign in Oracle 11g

    There is some incorrect information in this thread. I copied and pasted the incorrect information:

    LEFT OUTER JOIN

    SELECT *
    FROM A, B
    WHERE A.column = B.column(+)
    

    RIGHT OUTER JOIN

    SELECT *
    FROM A, B
    WHERE B.column(+) = A.column
    

    The above is WRONG!!!!! It's reversed. How I determined it's incorrect is from the following book:

    Oracle OCP Introduction to Oracle 9i: SQL Exam Guide. Page 115 Table 3-1 has a good summary on this. I could not figure why my converted SQL was not working properly until I went old school and looked in a printed book!

    Here is the summary from this book, copied line by line:

    Oracle outer Join Syntax:

    from tab_a a, tab_b b,                                       
    where a.col_1 + = b.col_1                                     
    

    ANSI/ISO Equivalent:

    from tab_a a left outer join  
    tab_b b on a.col_1 = b.col_1
    

    Notice here that it's the reverse of what is posted above. I suppose it's possible for this book to have errata, however I trust this book more so than what is in this thread. It's an exam guide for crying out loud...

    Android Fatal signal 11 (SIGSEGV) at 0x636f7d89 (code=1). How can it be tracked down?

    I also got this error many times and I solved it. This error will be faced in case of memory management in native side.

    Your application is accessing memory outside of its address space. This is most likely an invalid pointer access. SIGSEGV = segmentation fault in native code. Since it is not occurring in Java code you won't see a stack trace with details. However, you may still see some stack trace information in the logcat if you look around a bit after the application process crashes. It will not tell you the line number within the file, but will tell you which object files and addresses were in use in the call chain. From there you can often figure out which area of the code is problematic. You can also setup a gdb native connection to the target process and catch it in the debugger.

    CSS - Syntax to select a class within an id

    Just needed to drill down to the last li.

        #navigation li .navigationLevel2 li
    

    Make a negative number positive

    The easiest, if verbose way to do this is to wrap each number in a Math.abs() call, so you would add:

    Math.abs(1) + Math.abs(2) + Math.abs(1) + Math.abs(-1)
    

    with logic changes to reflect how your code is structured. Verbose, perhaps, but it does what you want.

    Passing parameters in rails redirect_to

    routes.rb

     match 'controller_name/action_name' => 'controller_name#action_name', via: [:get, :post], :as => :abc
    

    Any controller you want to redirect with parameters are given below:

    redirect_to abc_path(@abc, id: @id), :notice => "message fine" 
    

    What is the difference between Google App Engine and Google Compute Engine?

    Or to make it even simpler (since at times we fail to differentiate between GAE Standard and GAE Flex):

    Compute Engine is analogous to a virtual PC, where you'd deploy a small website + database, for instance. You manage everything, including control of installed disk drives. If you deploy a website, you're in charge of setting up DNS etc.

    Google App Engine (Standard) is like a read-only sandboxed folder where you upload code to execute from and don't worry about the rest (yes: read-only - there are a fixed set of libraries installed for you and you cannot deploy 3rd party libraries at will). DNS / Sub-domains etc is so much easier to map.

    Google App Engine (Flexible) is in fact like a whole file-system (not just a locked down folder), where you have more power than the Standard engine, e.g. you have read/write permissions, (but less compared to a Compute Engine). In GAE standard you have a fixed set of libraries installed for you and you cannot deploy 3rd party libraries at will. In the Flexible environment you can install whatever library your app depends on, including custom build environments (such as Python 3).

    Although GAE Standard is very cumbersome to deal with (although Google makes it sound simple), it scales really well when put under pressure. It's cumbersome because you need to test and ensure compatibility with the locked-down environment and ensure any 3rd party library you use does not use any other 3rd party library you're unaware of which may not work on GAE standard. It takes longer to set it up in practice but can be more rewarding in the longer run for simple deployments.

    Check status of one port on remote host

    For scripting purposes, I've found that curl command can do it, for example:

    $ curl -s localhost:80 >/dev/null && echo Connected. || echo Fail.
    Connected.
    $ curl -s localhost:123 >/dev/null && echo Connected. || echo Fail.
    Fail.
    

    Possibly it may not won't work for all services, as curl can return different error codes in some cases (as per comment), so adding the following condition could work in reliable way:

    [ "$(curl -sm5 localhost:8080 >/dev/null; echo $?)" != 7 ] && echo OK || echo FAIL
    

    Note: Added -m5 to set maximum connect timeout of 5 seconds.

    If you would like to check also whether host is valid, you need to check for 6 exit code as well:

    $ curl -m5 foo:123; [ $? != 6 -a $? != 7 ] && echo OK || echo FAIL
    curl: (6) Could not resolve host: foo
    FAIL
    

    To troubleshoot the returned error code, simply run: curl host:port, e.g.:

    $ curl localhost:80
    curl: (7) Failed to connect to localhost port 80: Connection refused
    

    See: man curl for full list of exit codes.

    Presto SQL - Converting a date string to date format

    Use: cast(date_parse(inv.date_created,'%Y-%m-%d %h24:%i:%s') as date)

    Input: String timestamp

    Output: date format 'yyyy-mm-dd'

    Update cordova plugins in one command

    If you install the third party package:

    npm i cordova-check-plugins
    

    You can then run a simple command of

    cordova-check-plugins --update=auto --force
    

    Keep in mind forcing anything always comes with potential risks of breaking changes.

    As other answers have stated, the connecting NPM packages that manage these plugins also require a consequent update when updating the plugins, so now you can check them with:

    npm outdated
    

    And then sweeping update them with

    npm update
    

    Now tentatively serve your app again and check all of the things that have potentially gone awry from breaking changes. The joy of software development! :)

    Android: How do I prevent the soft keyboard from pushing my view up?

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    

    This one is working for me.

    Can an abstract class have a constructor?

    As described by javafuns here, this is an example:

    public abstract class TestEngine
    {
       private String engineId;
       private String engineName;
    
       public TestEngine(String engineId , String engineName)
       {
         this.engineId = engineId;
         this.engineName = engineName;
       }
       //public gettors and settors
       public abstract void scheduleTest();
    }
    
    
    public class JavaTestEngine extends TestEngine
    {
    
       private String typeName;
    
       public JavaTestEngine(String engineId , String engineName , String typeName)
       {
          super(engineId , engineName);
          this.typeName = typeName;
       }
    
       public void scheduleTest()
       {
         //do Stuff
       }
    }
    

    Undefined reference to vtable

    So I was using Qt with Windows XP and MinGW compiler and this thing was driving me crazy.

    Basically the moc_xxx.cpp was generated empty even when I was added

    Q_OBJECT

    Deleting everything making functions virtual, explicit and whatever you guess doesn't worked. Finally I started removing line by line and it turned out that I had

    #ifdef something
    

    Around the file. Even when the #ifdef was true moc file was not generated.

    So removing all #ifdefs fixed the problem.

    This thing was not happening with Windows and VS 2013.

    How do I include a JavaScript script file in Angular and call a function from that script?

    Add external js file in index.html.

    <script src="./assets/vendors/myjs.js"></script>
    

    Here's myjs.js file :

    var myExtObject = (function() {
    
        return {
          func1: function() {
            alert('function 1 called');
          },
          func2: function() {
            alert('function 2 called');
          }
        }
    
    })(myExtObject||{})
    
    
    var webGlObject = (function() { 
        return { 
          init: function() { 
            alert('webGlObject initialized');
          } 
        } 
    })(webGlObject||{})
    

    Then declare it is in component like below

    demo.component.ts

    declare var myExtObject: any;
    declare var webGlObject: any;
    
    constructor(){
        webGlObject.init();
    }
    
    callFunction1() {
        myExtObject.func1();
    }
    
    callFunction2() {
        myExtObject.func2();
    }
    

    demo.component.html

    <div>
        <p>click below buttons for function call</p>
        <button (click)="callFunction1()">Call Function 1</button>
        <button (click)="callFunction2()">Call Function 2</button>
    </div>
    

    It's working for me...

    How to install Openpyxl with pip

    (optional) Install git for windows (https://git-scm.com/) to get git bash. Git bash is much more similar to Linux terminal than Windows cmd.

    Install Anaconda 3

    https://www.anaconda.com/download/
    

    It should set itself into Windows PATH. Restart your PC. Then pip should work in your cmd

    Then in cmd (or git bash), run command

    pip install openpyxl
    

    How to use RANK() in SQL Server

    You have to use DENSE_RANK rather than RANK. The only difference is that it doesn't leave gaps. You also shouldn't partition by contender_num, otherwise you're ranking each contender in a separate group, so each is 1st-ranked in their segregated groups!

    SELECT contendernum,totals, DENSE_RANK() OVER (ORDER BY totals desc) AS xRank FROM
    (
    SELECT ContenderNum ,SUM(Criteria1+Criteria2+Criteria3+Criteria4) AS totals
    FROM dbo.Cat1GroupImpersonation
     GROUP BY ContenderNum
    ) AS a
    order by contendernum
    

    A hint for using StackOverflow, please post DDL and sample data so people can help you using less of their own time!

    create table Cat1GroupImpersonation (
    contendernum int,
    criteria1 int,
    criteria2 int,
    criteria3 int,
    criteria4 int);
    
    insert Cat1GroupImpersonation select
    1,196,0,0,0 union all select
    2,181,0,0,0 union all select
    3,192,0,0,0 union all select
    4,181,0,0,0 union all select
    5,179,0,0,0;
    

    Spring Data JPA Update @Query not updating?

    I was able to get this to work. I will describe my application and the integration test here.

    The Example Application

    The example application has two classes and one interface that are relevant to this problem:

    1. The application context configuration class
    2. The entity class
    3. The repository interface

    These classes and the repository interface are described in the following.

    The source code of the PersistenceContext class looks as follows:

    import com.jolbox.bonecp.BoneCPDataSource;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.core.env.Environment;
    import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
    import org.springframework.orm.jpa.JpaTransactionManager;
    import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
    import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
    import org.springframework.transaction.annotation.EnableTransactionManagement;
    
    import javax.sql.DataSource;
    import java.util.Properties;
    
    @Configuration
    @EnableTransactionManagement
    @EnableJpaRepositories(basePackages = "net.petrikainulainen.spring.datajpa.todo.repository")
    @PropertySource("classpath:application.properties")
    public class PersistenceContext {
    
        protected static final String PROPERTY_NAME_DATABASE_DRIVER = "db.driver";
        protected static final String PROPERTY_NAME_DATABASE_PASSWORD = "db.password";
        protected static final String PROPERTY_NAME_DATABASE_URL = "db.url";
        protected static final String PROPERTY_NAME_DATABASE_USERNAME = "db.username";
    
        private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "hibernate.dialect";
        private static final String PROPERTY_NAME_HIBERNATE_FORMAT_SQL = "hibernate.format_sql";
        private static final String PROPERTY_NAME_HIBERNATE_HBM2DDL_AUTO = "hibernate.hbm2ddl.auto";
        private static final String PROPERTY_NAME_HIBERNATE_NAMING_STRATEGY = "hibernate.ejb.naming_strategy";
        private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "hibernate.show_sql";
    
        private static final String PROPERTY_PACKAGES_TO_SCAN = "net.petrikainulainen.spring.datajpa.todo.model";
    
        @Autowired
        private Environment environment;
    
        @Bean
        public DataSource dataSource() {
            BoneCPDataSource dataSource = new BoneCPDataSource();
    
            dataSource.setDriverClass(environment.getRequiredProperty(PROPERTY_NAME_DATABASE_DRIVER));
            dataSource.setJdbcUrl(environment.getRequiredProperty(PROPERTY_NAME_DATABASE_URL));
            dataSource.setUsername(environment.getRequiredProperty(PROPERTY_NAME_DATABASE_USERNAME));
            dataSource.setPassword(environment.getRequiredProperty(PROPERTY_NAME_DATABASE_PASSWORD));
    
            return dataSource;
        }
    
        @Bean
        public JpaTransactionManager transactionManager() {
            JpaTransactionManager transactionManager = new JpaTransactionManager();
    
            transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
    
            return transactionManager;
        }
    
        @Bean
        public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
            LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
    
            entityManagerFactoryBean.setDataSource(dataSource());
            entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
            entityManagerFactoryBean.setPackagesToScan(PROPERTY_PACKAGES_TO_SCAN);
    
            Properties jpaProperties = new Properties();
            jpaProperties.put(PROPERTY_NAME_HIBERNATE_DIALECT, environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));
            jpaProperties.put(PROPERTY_NAME_HIBERNATE_FORMAT_SQL, environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_FORMAT_SQL));
            jpaProperties.put(PROPERTY_NAME_HIBERNATE_HBM2DDL_AUTO, environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_HBM2DDL_AUTO));
            jpaProperties.put(PROPERTY_NAME_HIBERNATE_NAMING_STRATEGY, environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_NAMING_STRATEGY));
            jpaProperties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL, environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));
    
            entityManagerFactoryBean.setJpaProperties(jpaProperties);
    
            return entityManagerFactoryBean;
        }
    }
    

    Let's assume that we have a simple entity called Todo which source code looks as follows:

    @Entity
    @Table(name="todos")
    public class Todo {
    
        public static final int MAX_LENGTH_DESCRIPTION = 500;
        public static final int MAX_LENGTH_TITLE = 100;
    
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
        @Column(name = "description", nullable = true, length = MAX_LENGTH_DESCRIPTION)
        private String description;
    
        @Column(name = "title", nullable = false, length = MAX_LENGTH_TITLE)
        private String title;
    
        @Version
        private long version;
    }
    

    Our repository interface has a single method called updateTitle() which updates the title of a todo entry. The source code of the TodoRepository interface looks as follows:

    import net.petrikainulainen.spring.datajpa.todo.model.Todo;
    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.data.jpa.repository.Modifying;
    import org.springframework.data.jpa.repository.Query;
    import org.springframework.data.repository.query.Param;
    
    import java.util.List;
    
    public interface TodoRepository extends JpaRepository<Todo, Long> {
    
        @Modifying
        @Query("Update Todo t SET t.title=:title WHERE t.id=:id")
        public void updateTitle(@Param("id") Long id, @Param("title") String title);
    }
    

    The updateTitle() method is not annotated with the @Transactional annotation because I think that it is best to use a service layer as a transaction boundary.

    The Integration Test

    The Integration Test uses DbUnit, Spring Test and Spring-Test-DBUnit. It has three components which are relevant to this problem:

    1. The DbUnit dataset which is used to initialize the database into a known state before the test is executed.
    2. The DbUnit dataset which is used to verify that the title of the entity is updated.
    3. The integration test.

    These components are described with more details in the following.

    The name of the DbUnit dataset file which is used to initialize the database to known state is toDoData.xml and its content looks as follows:

    <dataset>
        <todos id="1" description="Lorem ipsum" title="Foo" version="0"/>
        <todos id="2" description="Lorem ipsum" title="Bar" version="0"/>
    </dataset>
    

    The name of the DbUnit dataset which is used to verify that the title of the todo entry is updated is called toDoData-update.xml and its content looks as follows (for some reason the version of the todo entry was not updated but the title was. Any ideas why?):

    <dataset>
        <todos id="1" description="Lorem ipsum" title="FooBar" version="0"/>
        <todos id="2" description="Lorem ipsum" title="Bar" version="0"/>
    </dataset>
    

    The source code of the actual integration test looks as follows (Remember to annotate the test method with the @Transactional annotation):

    import com.github.springtestdbunit.DbUnitTestExecutionListener;
    import com.github.springtestdbunit.TransactionDbUnitTestExecutionListener;
    import com.github.springtestdbunit.annotation.DatabaseSetup;
    import com.github.springtestdbunit.annotation.ExpectedDatabase;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.annotation.Rollback;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.TestExecutionListeners;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
    import org.springframework.test.context.support.DirtiesContextTestExecutionListener;
    import org.springframework.test.context.transaction.TransactionalTestExecutionListener;
    import org.springframework.transaction.annotation.Transactional;
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = {PersistenceContext.class})
    @TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
            DirtiesContextTestExecutionListener.class,
            TransactionalTestExecutionListener.class,
            DbUnitTestExecutionListener.class })
    @DatabaseSetup("todoData.xml")
    public class ITTodoRepositoryTest {
    
        @Autowired
        private TodoRepository repository;
    
        @Test
        @Transactional
        @ExpectedDatabase("toDoData-update.xml")
        public void updateTitle_ShouldUpdateTitle() {
            repository.updateTitle(1L, "FooBar");
        }
    }
    

    After I run the integration test, the test passes and the title of the todo entry is updated. The only problem which I am having is that the version field is not updated. Any ideas why?

    I undestand that this description is a bit vague. If you want to get more information about writing integration tests for Spring Data JPA repositories, you can read my blog post about it.

    Laravel 5.4 Specific Table Migration

    You can only run this command in your terminal

    php artisan migrate --path=database/migrations/2020_10_01_164611_create_asset_info_table.php
    

    After migrations you should put the particular file name. or if you have any folder inside migration then just add that folder name after the migration.

    Like this

    php artisan migrate --path=database/migrations/yourfolder/2020_10_01_164611_create_asset_info_table.php
    

    I hope this will help you a lil bit. Happy Coding.

    How to call Stored Procedure in a View?

    I was able to call stored procedure in a view (SQL Server 2005).

    CREATE FUNCTION [dbo].[dimMeasure] 
       RETURNS  TABLE  AS
    
        (
         SELECT * FROM OPENROWSET('SQLNCLI', 'Server=localhost; Trusted_Connection=yes;', 'exec ceaw.dbo.sp_dimMeasure2')
        )
    RETURN
    GO
    

    Inside stored procedure we need to set:

    set nocount on
    SET FMTONLY OFF
    
    CREATE VIEW [dbo].[dimMeasure]
    AS
    
    SELECT * FROM OPENROWSET('SQLNCLI', 'Server=localhost;Trusted_Connection=yes;', 'exec ceaw.dbo.sp_dimMeasure2')
    
    GO
    

    How can I get list of values from dict?

    Yes it's the exact same thing in Python 2:

    d.values()
    

    In Python 3 (where dict.values returns a view of the dictionary’s values instead):

    list(d.values())
    

    Difference between int32, int, int32_t, int8 and int8_t

    The _t data types are typedef types in the stdint.h header, while int is an in built fundamental data type. This make the _t available only if stdint.h exists. int on the other hand is guaranteed to exist.

    How to mount a single file in a volume

    Use mount (--mount) instead volume (-v)

    More info: https://docs.docker.com/storage/bind-mounts/

    Example:

    Ensure /tmp/a.txt exists on docker host

    docker run -it --mount type=bind,source=/tmp/a.txt,target=/root/a.txt alpine sh
    

    How do you check in python whether a string contains only numbers?

    As every time I encounter an issue with the check is because the str can be None sometimes, and if the str can be None, only use str.isdigit() is not enough as you will get an error

    AttributeError: 'NoneType' object has no attribute 'isdigit'

    and then you need to first validate the str is None or not. To avoid a multi-if branch, a clear way to do this is:

    if str and str.isdigit():
    

    Hope this helps for people have the same issue like me.

    How to add DOM element script to head section?

    try out ::

    _x000D_
    _x000D_
    var script = document.createElement("script");_x000D_
    script.type="text/javascript";_x000D_
    script.innerHTML="alert('Hi!');";_x000D_
    document.getElementsByTagName('head')[0].appendChild(script);
    _x000D_
    _x000D_
    _x000D_

    Spring schemaLocation fails when there is no internet connection

    We solved the problem doing this:

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(true);
    factory.setValidating(false); // This avoid to search schema online
    factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");
    factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaSource", "TransactionMessage_v1.0.xsd");
    

    Please note that our application is a Java standalone offline app.

    ReactJs: What should the PropTypes be for this.props.children?

    The answers here don't seem to quite cover checking the children exactly. node and object are too permissive, I wanted to check the exact element. Here is what I ended up using:

    • Use oneOfType([]) to allow for single or array of children
    • Use shape and arrayOf(shape({})) for single and array of children, respectively
    • Use oneOf for the child element itself

    In the end, something like this:

    import PropTypes from 'prop-types'
    import MyComponent from './MyComponent'
    
    children: PropTypes.oneOfType([
      PropTypes.shape({
        type: PropTypes.oneOf([MyComponent]),
      }),
      PropTypes.arrayOf(
        PropTypes.shape({
          type: PropTypes.oneOf([MyComponent]),
        })
      ),
    ]).isRequired
    

    This issue helped me figure this out more clearly: https://github.com/facebook/react/issues/2979

    ipad safari: disable scrolling, and bounce effect?

    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    

    On container you can set bounce effect inside element

    Source: http://www.kylejlarson.com/blog/2011/fixed-elements-and-scrolling-divs-in-ios-5/

    Examples for string find in Python

    find( sub[, start[, end]])

    Return the lowest index in the string where substring sub is found, such that sub is contained in the range [start, end]. Optional arguments start and end are interpreted as in slice notation. Return -1 if sub is not found.

    From the docs.

    implements Closeable or implements AutoCloseable

    It seems to me that you are not very familiar with interfaces. In the code you have posted, you don't need to implement AutoCloseable.

    You only have to (or should) implement Closeable or AutoCloseable if you are about to implement your own PrintWriter, which handles files or any other resources which needs to be closed.

    In your implementation, it is enough to call pw.close(). You should do this in a finally block:

    PrintWriter pw = null;
    try {
       File file = new File("C:\\test.txt");
       pw = new PrintWriter(file);
    } catch (IOException e) {
       System.out.println("bad things happen");
    } finally {
       if (pw != null) {
          try {
             pw.close();
          } catch (IOException e) {
          }
       }
    }
    

    The code above is Java 6 related. In Java 7 this can be done more elegantly (see this answer).

    List of IP Space used by Facebook

    The list from 2020-05-23 is:

    31.13.24.0/21
    31.13.64.0/18
    45.64.40.0/22
    66.220.144.0/20
    69.63.176.0/20
    69.171.224.0/19
    74.119.76.0/22
    102.132.96.0/20
    103.4.96.0/22
    129.134.0.0/16
    147.75.208.0/20
    157.240.0.0/16
    173.252.64.0/18
    179.60.192.0/22
    185.60.216.0/22
    185.89.216.0/22
    199.201.64.0/22
    204.15.20.0/22
    

    The method to fetch this list is already documented on Facebook's Developer site, you can make a whois call to see all IPs assigned to Facebook:

    whois -h whois.radb.net -- '-i origin AS32934' | grep ^route
    

    Static Classes In Java

    In simple terms, Java supports the declaration of a class to be static only for the inner classes but not for the top level classes.

    top level classes: A java project can contain more than one top level classes in each java source file, one of the classes being named after the file name. There are only three options or keywords allowed in front of the top level classes, public, abstract and final.

    Inner classes: classes that are inside of a top level class are called inner classes, which is basically the concept of nested classes. Inner classes can be static. The idea making the inner classes static, is to take the advantage of instantiating the objects of inner classes without instantiating the object of the top level class. This is exactly the same way as the static methods and variables work inside of a top level class.

    Hence Java Supports Static Classes at Inner Class Level (in nested classes)

    And Java Does Not Support Static Classes at Top Level Classes.

    I hope this gives a simpler solution to the question for basic understanding of the static classes in Java.

    python JSON object must be str, bytes or bytearray, not 'dict

    json.loads take a string as input and returns a dictionary as output.

    json.dumps take a dictionary as input and returns a string as output.


    With json.loads({"('Hello',)": 6, "('Hi',)": 5}),

    You are calling json.loads with a dictionary as input.

    You can fix it as follows (though I'm not quite sure what's the point of that):

    d1 = {"('Hello',)": 6, "('Hi',)": 5}
    s1 = json.dumps(d1)
    d2 = json.loads(s1)
    

    What resources are shared between threads?

    Threads share data and code while processes do not. The stack is not shared for both.

    Processes can also share memory, more precisely code, for example after a Fork(), but this is an implementation detail and (operating system) optimization. Code shared by multiple processes will (hopefully) become duplicated on the first write to the code - this is known as copy-on-write. I am not sure about the exact semantics for the code of threads, but I assume shared code.

               Process   Thread
    
       Stack   private   private
       Data    private   shared
       Code    private1  shared2
    

    1 The code is logically private but might be shared for performance reasons. 2 I am not 100% sure.

    How to program a delay in Swift 3

    After a lot of research, I finally figured this one out.

    DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { // Change `2.0` to the desired number of seconds.
       // Code you want to be delayed
    }
    

    This creates the desired "wait" effect in Swift 3 and Swift 4.

    Inspired by a part of this answer.

    Do Facebook Oauth 2.0 Access Tokens Expire?

    Hit this to exchange a short living access token for a long living/non expiring(pages) one:

    https://graph.facebook.com/oauth/access_token?             
        client_id=APP_ID&
        client_secret=APP_SECRET&
        grant_type=fb_exchange_token&
        fb_exchange_token=EXISTING_ACCESS_TOKEN 
    

    How to trust a apt repository : Debian apt-get update error public key is not available: NO_PUBKEY <id>

    I found several posts telling me to run several gpg commands, but they didn't solve the problem because of two things. First, I was missing the debian-keyring package on my system and second I was using an invalid keyserver. Try different keyservers if you're getting timeouts!

    Thus, the way I fixed it was:

    apt-get install debian-keyring
    gpg --keyserver pgp.mit.edu --recv-keys 1F41B907
    gpg --armor --export 1F41B907 | apt-key add -
    

    Then running a new "apt-get update" worked flawlessly!

    CheckBox in RecyclerView keeps on checking different items

    In my case this worked.

    @Override
    public void onViewRecycled(MyViewHolder holder) {
        holder.checkbox.setChecked(false); // - this line do the trick
        super.onViewRecycled(holder);
    }
    

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

    In iOS this worked fine for me

    CGFloat height = self.inputTableView.contentSize.height;
    if (height > CGRectGetHeight(self.inputTableView.frame)) {
        height -= (CGRectGetHeight(self.inputTableView.frame) - CGRectGetHeight(self.navigationController.navigationBar.frame));
    }
    else {
        height = 0;
    }
    [self.inputTableView setContentOffset:CGPointMake(0, height) animated:animated];
    

    It needs to be called from viewDidLayoutSubviews

    how to calculate percentage in python

    def percentage_match(mainvalue,comparevalue):
        if mainvalue >= comparevalue:
            matched_less = mainvalue - comparevalue
            no_percentage_matched = 100 - matched_less*100.0/mainvalue
            no_percentage_matched = str(no_percentage_matched) + ' %'
            return no_percentage_matched 
        else:
            print('please checkout your value')
    
    print percentage_match(100,10)
    Ans = 10.0 %
    

    Load HTML File Contents to Div [without the use of iframes]

    http://www.boutell.com/newfaq/creating/include.html

    this would explain how to write your own clientsideinlcude but jQuery is a lot, A LOT easier option ... plus you will gain a lot more by using jQuery anyways

    jQuery disable a link

    html link example:

            <!-- boostrap button + fontawesome icon -->
            <a class="btn btn-primary" id="BT_Download" target="_blank" href="DownloadDoc?Id=32">
            <i class="icon-file-text icon-large"></i>
            Download Document
            </a>
    

    use this in jQuery

        $('#BT_Download').attr('disabled',true);
    

    add this to css :

        a[disabled="disabled"] {
            pointer-events: none;
        }
    

    Why am I getting error CS0246: The type or namespace name could not be found?

    most of the problems cause by .NET Framework. So just go to project properties and change .Net version same as your reference dll.

    Done!!!

    Hope it's help :)

    How to fire a change event on a HTMLSelectElement if the new value is the same as the old?

    Just set the selectIndex of the associated <select> tag to -1 as the last step of your processing event.

    mySelect = document.getElementById("idlist");
    mySelect.selectedIndex = -1; 
    

    It works every time, removing the highlight and allowing you to select the same (or different) element again .

    C# Encoding a text string with line breaks

    Yes - it means you're using \n as the line break instead of \r\n. Notepad only understands the latter.

    (Note that Environment.NewLine suggested by others is fine if you want the platform default - but if you're serving from Mono and definitely want \r\n, you should specify it explicitly.)

    How to convert empty spaces into null values, using SQL Server?

    here's a regex one for ya.

    update table
    set col1=null
    where col1 not like '%[a-z,0-9]%'
    

    essentially finds any columns that dont have letters or numbers in them and sets it to null. might have to update if you have columns with just special characters.

    How to access data/data folder in Android device?

    You could also try fetching the db using root explorer app. And if that does not work then you can try this:

    1. Open cmd
    2. Change your directory and go into 'Platform tools'
    3. Type 'adb shell'
    4. su
    5. Press 'Allow' on device
    6. chmod 777 /data /data/data /data/data/com.application.package /data/data/com.application.package/*
    7. Open DDMS view in Eclipse and from there open 'FileExplorer' to get your desired file

    After this you should be able to browse the files on the rooted device.

    When do you use the "this" keyword?

    There is one use that has not already been mentioned in C++, and that is not to refer to the own object or disambiguate a member from a received variable.

    You can use this to convert a non-dependent name into an argument dependent name inside template classes that inherit from other templates.

    template <typename T>
    struct base {
       void f() {}
    };
    
    template <typename T>
    struct derived : public base<T>
    {
       void test() {
          //f(); // [1] error
          base<T>::f(); // quite verbose if there is more than one argument, but valid
          this->f(); // f is now an argument dependent symbol
       }
    }
    

    Templates are compiled with a two pass mechanism. During the first pass, only non-argument dependent names are resolved and checked, while dependent names are checked only for coherence, without actually substituting the template arguments.

    At that step, without actually substituting the type, the compiler has almost no information of what base<T> could be (note that specialization of the base template can turn it into completely different types, even undefined types), so it just assumes that it is a type. At this stage the non-dependent call f that seems just natural to the programmer is a symbol that the compiler must find as a member of derived or in enclosing namespaces --which does not happen in the example-- and it will complain.

    The solution is turning the non-dependent name f into a dependent name. This can be done in a couple of ways, by explicitly stating the type where it is implemented (base<T>::f --adding the base<T> makes the symbol dependent on T and the compiler will just assume that it will exist and postpones the actual check for the second pass, after argument substitution.

    The second way, much sorter if you inherit from templates that have more than one argument, or long names, is just adding a this-> before the symbol. As the template class you are implementing does depend on an argument (it inherits from base<T>) this-> is argument dependent, and we get the same result: this->f is checked in the second round, after template parameter substitution.

    rails 3.1.0 ActionView::Template::Error (application.css isn't precompiled)

    After all else failed...

    My solution was to change the layout file from

    = stylesheet_link_tag "reset-min", 'application'
    

    to

    = stylesheet_link_tag 'application'
    

    And it worked! (You can put the reset file inside the manifest.)

    Run multiple python scripts concurrently

    You can use Gnu-Parallel to run commands concurrently, works on Windows, Linux/Unix.

    parallel ::: "python script1.py" "python script2.py"

    Adding close button in div to close the box

    Here's the updated FIDDLE

    Your HTML should look like this (I only added the button):

    <a class="fragment" href="google.com">
        <button id="closeButton">close</button>
        <div>
            <img src ="http://placehold.it/116x116" alt="some description"/> 
            <h3>the title will go here</h3>
            <h4> www.myurlwill.com </h4>
            <p class="text">
            this is a short description yada yada peanuts etc this is a short description yada yada peanuts etc this is a short description yada yada peanuts etc this is a short description yada yada peanuts etcthis is a short description yada yada peanuts etc 
            </p>
        </div>
    </a>
    

    and you should add the following CSS:

    .fragment {
        position: relative;
    }
    #closeButton {
        position: absolute;
        top: 0;
        right: 0;
    }
    

    Then, to make the button actually work, you should add this javascript:

    document.getElementById('closeButton').addEventListener('click', function(e) {
        e.preventDefault();
        this.parentNode.style.display = 'none';
    }, false);
    

    We're using e.preventDefault() here to prevent the anchor from following the link.

    adb connection over tcp not working now

    Try to do port forwarding,

    adb forward tcp:<PC port> tcp:<device port>.
    

    like:

    adb forward tcp:5555 tcp:5555.
    

    sounds like 5555 port is captured so use other one. As I know 7612 is empty

    [Edit]

    C:\Users\m>adb forward tcp:7612 tcp:7612
    
    C:\Users\m>adb tcpip 7612
    restarting in TCP mode port: 7612
    
    C:\Users\m>adb connect 192.168.1.12
    connected to 192.168.1.12:7612
    

    Be sure that you connect to the right IP address. (You can download Network Info 2 to check your IP)

    Select first 10 distinct rows in mysql

    SELECT * 
    FROM people 
    WHERE names ='SMITH'
    ORDER BY names asc
    limit 10
    

    If you need add group by clause. If you search Smith you would have to sort on something else.

    How can I pass a username/password in the header to a SOAP WCF Service

    The answers above are so wrong! DO NOT add custom headers. Judging from your sample xml, it is a standard WS-Security header. WCF definitely supports it out of the box. When you add a service reference you should have basicHttpBinding binding created for you in the config file. You will have to modify it to include security element with mode TransportWithMessageCredential and message element with clientCredentialType = UserName:

    <basicHttpBinding>
      <binding name="usernameHttps">
        <security mode="TransportWithMessageCredential">
          <message clientCredentialType="UserName"/>
        </security>
      </binding>
    </basicHttpBinding>
    

    The config above is telling WCF to expect userid/password in the SOAP header over HTTPS. Then you can set id/password in your code before making a call:

    var service = new MyServiceClient();
    service.ClientCredentials.UserName.UserName = "username";
    service.ClientCredentials.UserName.Password = "password";
    

    Unless this particular service provider deviated from the standard, it should work.

    Display Back Arrow on Toolbar

    MyActivity extends AppCompatActivity {
    
        private Toolbar toolbar;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            ...
            toolbar = (Toolbar) findViewById(R.id.my_toolbar);
            setSupportActionBar(toolbar);
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            toolbar.setNavigationOnClickListener(arrow -> onBackPressed());
        }
    

    How do I escape only single quotes?

    To replace only single quotes, use this simple statement:

    $string = str_replace("'", "\\'", $string);
    

    MySQL update CASE WHEN/THEN/ELSE

    That's because you missed ELSE.

    "Returns the result for the first condition that is true. If there was no matching result value, the result after ELSE is returned, or NULL if there is no ELSE part." (http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#operator_case)

    Run javascript function when user finishes typing instead of on key up?

    Wow, even 3 comments are pretty correct!

    1. Empty input is not a reason to skip function call, e.g. I remove waste parameter from url before redirect

    2. .on ('input', function() { ... }); should be used to trigger keyup, paste and change events

    3. definitely .val() or .value must be used

    4. You can use $(this) inside event function instead of #id to work with multiple inputs

    5. (my decision) I use anonymous function instead of doneTyping in setTimeout to easily access $(this) from n.4, but you need to save it first like var $currentInput = $(this);

    EDIT I see that some people don't understand directions without the possibility to copy-paste ready code. Here you're

    var typingTimer;
    //                  2
    $("#myinput").on('input', function () {
        //             4     3
        var input = $(this).val();
        clearTimeout(typingTimer);
        //                           5
        typingTimer = setTimeout(function() {
            // do something with input
            alert(input);
        }, 5000);      
    });
    

    What do the different readystates in XMLHttpRequest mean, and how can I use them?

    Original definitive documentation

    0, 1 and 2 only track how many of the necessary methods to make a request you've called so far.

    3 tells you that the server's response has started to come in. But when you're using the XMLHttpRequest object from a web page there's almost nothing(*) you can do with that information, since you don't have access to the extended properties that allow you to read the partial data.

    readyState 4 is the only one that holds any meaning.

    (*: about the only conceivable use I can think of for checking for readyState 3 is that it signals some form of life at the server end, so you could possibly increase the amount of time you wait for a full response when you receive it.)

    Pretty git branch graphs

    For textual output you can try:

    git log --graph --abbrev-commit --decorate --date=relative --all
    

    or:

    git log --graph --oneline --decorate --all
    

    or: here's a graphviz alias for drawing the DAG graph.

    I personally use gitx, gitk --all and gitnub.

    ASP.NET Identity - HttpContext has no extension method for GetOwinContext

    I had all the correct packages and usings, but had to built first before I could get GetOwinContext() to work.

    RESTful URL design for search

    The RESTful pretty URL design is about displaying a resource based on a structure (directory-like structure, date: articles/2005/5/13, object and it's attributes,..), the slash / indicates hierarchical structure, use the -id instead.

    Hierarchical structure

    I would personaly prefer:

    /garage-id/cars/car-id
    /cars/car-id   #for cars not in garages
    

    If a user removes the /car-id part, it brings the cars preview - intuitive. User exactly knows where in the tree he is, what is he looking at. He knows from the first look, that garages and cars are in relation. /car-id also denotes that it belongs together unlike /car/id.

    Searching

    The searchquery is OK as it is, there is only your preference, what should be taken into account. The funny part comes when joining searches (see below).

    /cars?color=blue;type=sedan   #most prefered by me
    /cars;color-blue+doors-4+type-sedan   #looks good when using car-id
    /cars?color=blue&doors=4&type=sedan   #I don't recommend using &*
    

    Or basically anything what isn't a slash as explained above.
    The formula: /cars[?;]color[=-:]blue[,;+&], * though I wouldn't use the & sign as it is unrecognizable from the text at first glance.

    ** Did you know that passing JSON object in URI is RESTful? **

    Lists of options

    /cars?color=black,blue,red;doors=3,5;type=sedan   #most prefered by me
    /cars?color:black:blue:red;doors:3:5;type:sedan
    /cars?color(black,blue,red);doors(3,5);type(sedan)   #does not look bad at all
    /cars?color:(black,blue,red);doors:(3,5);type:sedan   #little difference
    

    possible features?

    Negate search strings (!)
    To search any cars, but not black and red:
    ?color=!black,!red
    color:(!black,!red)

    Joined searches
    Search red or blue or black cars with 3 doors in garages id 1..20 or 101..103 or 999 but not 5 /garage[id=1-20,101-103,999,!5]/cars[color=red,blue,black;doors=3]
    You can then construct more complex search queries. (Look at CSS3 attribute matching for the idea of matching substrings. E.g. searching users containing "bar" user*=bar.)

    Conclusion

    Anyway, this might be the most important part for you, because you can do it however you like after all, just keep in mind that RESTful URI represents a structure which is easily understood e.g. directory-like /directory/file, /collection/node/item, dates /articles/{year}/{month}/{day}.. And when you omit any of last segments, you immediately know what you get.

    So.., all these characters are allowed unencoded:

    • unreserved: a-zA-Z0-9_.-~
      Typically allowed both encoded and not, both uses are then equivalent.
    • special characters: $-_.+!*'(),
    • reserved: ;/?:@=&
      May be used unencoded for the purpose they represent, otherwise they must be encoded.
    • unsafe: <>"#%{}|\^~[]`
      Why unsafe and why should rather be encoded: RFC 1738 see 2.2

      Also see RFC 1738#page-20 for more character classes.

    RFC 3986 see 2.2
    Despite of what I previously said, here is a common distinction of delimeters, meaning that some "are" more important than others.

    • generic delimeters: :/?#[]@
    • sub-delimeters: !$&'()*+,;=

    More reading:
    Hierarchy: see 2.3, see 1.2.3
    url path parameter syntax
    CSS3 attribute matching
    IBM: RESTful Web services - The basics
    Note: RFC 1738 was updated by RFC 3986

    Java: Difference between the setPreferredSize() and setSize() methods in components

    setSize will resize the component to the specified size.

    setPreferredSize sets the preferred size. The component may not actually be this size depending on the size of the container it's in, or if the user re-sized the component manually.

    Find the item with maximum occurrences in a list

    Here is a defaultdict solution that will work with Python versions 2.5 and above:

    from collections import defaultdict
    
    L = [1,2,45,55,5,4,4,4,4,4,4,5456,56,6,7,67]
    d = defaultdict(int)
    for i in L:
        d[i] += 1
    result = max(d.iteritems(), key=lambda x: x[1])
    print result
    # (4, 6)
    # The number 4 occurs 6 times
    

    Note if L = [1, 2, 45, 55, 5, 4, 4, 4, 4, 4, 4, 5456, 7, 7, 7, 7, 7, 56, 6, 7, 67] then there are six 4s and six 7s. However, the result will be (4, 6) i.e. six 4s.

    How to reset a form using jQuery with .reset() method

    A quick reset of the form fields is possible with this jQuery reset function.

    when you got success response then fire below code.

    $(selector)[0].reset();

    Utility of HTTP header "Content-Type: application/force-download" for mobile?

    application/force-download is not a standard MIME type. It's a hack supported by some browsers, added fairly recently.

    Your question doesn't really make any sense. It's like asking why Internet Explorer 4 doesn't support the latest CSS 3 functionality.

    Get value of multiselect box using jQuery or pure JS

    var data=[];
    var $el=$("#my-select");
    $el.find('option:selected').each(function(){
        data.push({value:$(this).val(),text:$(this).text()});
    });
    console.log(data)
    

    The service cannot accept control messages at this time

    I killed related w3wp.exe (on a friends' advise) at task manager and it worked.

    Note: Use at your own risk. Be careful picking which one to kill.

    How to export DataTable to Excel

    Try this function pass the datatable and file path where you want to export

    public void CreateCSVFile(ref DataTable dt, string strFilePath)
    {            
        try
        {
            // Create the CSV file to which grid data will be exported.
            StreamWriter sw = new StreamWriter(strFilePath, false);
            // First we will write the headers.
            //DataTable dt = m_dsProducts.Tables[0];
            int iColCount = dt.Columns.Count;
            for (int i = 0; i < iColCount; i++)
            {
                sw.Write(dt.Columns[i]);
                if (i < iColCount - 1)
                {
                    sw.Write(",");
                }
            }
            sw.Write(sw.NewLine);
    
            // Now write all the rows.
    
            foreach (DataRow dr in dt.Rows)
            {
                for (int i = 0; i < iColCount; i++)
                {
                    if (!Convert.IsDBNull(dr[i]))
                    {
                        sw.Write(dr[i].ToString());
                    }
                    if (i < iColCount - 1)
                    {
                        sw.Write(",");
                    }
                }
    
                sw.Write(sw.NewLine);
            }
            sw.Close();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    

    Illegal string offset Warning PHP

    I solved this problem by using trim() function. the issue was with space.

    so lets try

    $unit_size = []; //please declare the variable type 
    $unit_size = exolode("x", $unit_size);
    $width  = trim ($unit_size[1] );
    $height = trim ($unit_size[2] );
    

    I hope this will help you.

    Getting cursor position in Python

    Use pygame

    import pygame
    
    mouse_pos = pygame.mouse.get_pos()
    

    This returns the x and y position of the mouse.

    See this website: https://www.pygame.org/docs/ref/mouse.html#pygame.mouse.set_pos

    How to print an exception in Python 3?

    Here is the way I like that prints out all of the error stack.

    import logging
    
    try:
        1 / 0
    except Exception as _e:
        # any one of the follows:
        # print(logging.traceback.format_exc())
        logging.error(logging.traceback.format_exc())
    

    The output looks as the follows:

    ERROR:root:Traceback (most recent call last):
      File "/PATH-TO-YOUR/filename.py", line 4, in <module>
        1 / 0
    ZeroDivisionError: division by zero
    

    LOGGING_FORMAT :

    LOGGING_FORMAT = '%(asctime)s\n  File "%(pathname)s", line %(lineno)d\n  %(levelname)s [%(message)s]'
    

    PowerShell says "execution of scripts is disabled on this system."

    Most of the existing answers explain the How, but very few explain the Why. And before you go around executing code from strangers on the Internet, especially code that disables security measures, you should understand exactly what you're doing. So here's a little more detail on this problem.

    From the TechNet About Execution Policies Page:

    Windows PowerShell execution policies let you determine the conditions under which Windows PowerShell loads configuration files and runs scripts.

    The benefits of which, as enumerated by PowerShell Basics - Execution Policy and Code Signing, are:

    • Control of Execution - Control the level of trust for executing scripts.
    • Command Highjack - Prevent injection of commands in my path.
    • Identity - Is the script created and signed by a developer I trust and/or a signed with a certificate from a Certificate Authority I trust.
    • Integrity - Scripts cannot be modified by malware or malicious user.

    To check your current execution policy, you can run Get-ExecutionPolicy. But you're probably here because you want to change it.

    To do so you'll run the Set-ExecutionPolicy cmdlet.

    You'll have two major decisions to make when updating the execution policy.

    Execution Policy Type:

    • Restricted - No Script either local, remote or downloaded can be executed on the system.
    • AllSigned - All script that are ran require to be digitally signed.
    • RemoteSigned - All remote scripts (UNC) or downloaded need to be signed.
    • Unrestricted - No signature for any type of script is required.

    Scope of new Change

    • LocalMachine - The execution policy affects all users of the computer.
    • CurrentUser - The execution policy affects only the current user.
    • Process - The execution policy affects only the current Windows PowerShell process.

    † = Default

    For example: if you wanted to change the policy to RemoteSigned for just the CurrentUser, you'd run the following command:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    

    Note: In order to change the Execution policy, you must be running PowerShell As Adminstrator. If you are in regular mode and try to change the execution policy, you'll get the following error:

    Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' is denied. To change the execution policy for the default (LocalMachine) scope, start Windows PowerShell with the "Run as administrator" option.

    If you want to tighten up the internal restrictions on your own scripts that have not been downloaded from the Internet (or at least don't contain the UNC metadata), you can force the policy to only run signed sripts. To sign your own scripts, you can follow the instructions on Scott Hanselman's article on Signing PowerShell Scripts.

    Note: Most people are likely to get this error whenever they open Powershell because the first thing PS tries to do when it launches is execute your user profile script that sets up your environment however you like it.

    The file is typically located in:

    %UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
    

    You can find the exact location by running the powershell variable

    $profile
    

    If there's nothing that you care about in the profile, and don't want to fuss with your security settings, you can just delete it and powershell won't find anything that it cannot execute.

    I/O error(socket error): [Errno 111] Connection refused

    I previously had this problem with my EC2 instance (I was serving couchdb to serve resources -- am considering Amazon's S3 for the future).

    One thing to check (assuming Ec2) is that the couchdb port is added to your open ports within your security policy.

    I specifically encountered

    "[Errno 111] Connection refused"

    over EC2 when the instance was stopped and started. The problem seems to be a pidfile race. The solution for me was killing couchdb (entirely and properly) via:

    pkill -f couchdb
    

    and then restarting with:

    /etc/init.d/couchdb restart
    

    How to remove an element slowly with jQuery?

    I'm little late to the party, but for anyone like me that came from a Google search and didn't find the right answer. Don't get me wrong there are good answers here, but not exactly what I was looking for, without further ado, here is what I did:

    _x000D_
    _x000D_
    $(document).ready(function() {
        
        var $deleteButton = $('.deleteItem');
    
        $deleteButton.on('click', function(event) {
          event.preventDefault();
    
          var $button = $(this);
    
          if(confirm('Are you sure about this ?')) {
    
            var $item = $button.closest('tr.item');
    
            $item.addClass('removed-item')
            
                .one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function(e) {
              
                    $(this).remove();
            });
          }
          
        });
        
    });
    _x000D_
    /**
     * Credit to Sara Soueidan
     * @link https://github.com/SaraSoueidan/creative-list-effects/blob/master/css/styles-4.css
     */
    
    .removed-item {
        -webkit-animation: removed-item-animation .6s cubic-bezier(.55,-0.04,.91,.94) forwards;
        -o-animation: removed-item-animation .6s cubic-bezier(.55,-0.04,.91,.94) forwards;
        animation: removed-item-animation .6s cubic-bezier(.55,-0.04,.91,.94) forwards
    }
    
    @keyframes removed-item-animation {
        from {
            opacity: 1;
            -webkit-transform: scale(1);
            -ms-transform: scale(1);
            -o-transform: scale(1);
            transform: scale(1)
        }
    
        to {
            -webkit-transform: scale(0);
            -ms-transform: scale(0);
            -o-transform: scale(0);
            transform: scale(0);
            opacity: 0
        }
    }
    
    @-webkit-keyframes removed-item-animation {
        from {
            opacity: 1;
            -webkit-transform: scale(1);
            transform: scale(1)
        }
    
        to {
            -webkit-transform: scale(0);
            transform: scale(0);
            opacity: 0
        }
    }
    
    @-o-keyframes removed-item-animation {
        from {
            opacity: 1;
            -o-transform: scale(1);
            transform: scale(1)
        }
    
        to {
            -o-transform: scale(0);
            transform: scale(0);
            opacity: 0
        }
    }
    _x000D_
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width">
      <title>JS Bin</title>
      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
    </head>
    <body>
      
      <table class="table table-striped table-bordered table-hover">
        <thead>
          <tr>
            <th>id</th>
            <th>firstname</th>
            <th>lastname</th>
            <th>@twitter</th>
            <th>action</th>
          </tr>
        </thead>
        <tbody>
          
          <tr class="item">
            <td>1</td>
            <td>Nour-Eddine</td>
            <td>ECH-CHEBABY</td>
            <th>@__chebaby</th>
            <td><button class="btn btn-danger deleteItem">Delete</button></td>
          </tr>
          
          <tr class="item">
            <td>2</td>
            <td>John</td>
            <td>Doe</td>
            <th>@johndoe</th>
            <td><button class="btn btn-danger deleteItem">Delete</button></td>
          </tr>
          
          <tr class="item">
            <td>3</td>
            <td>Jane</td>
            <td>Doe</td>
            <th>@janedoe</th>
            <td><button class="btn btn-danger deleteItem">Delete</button></td>
          </tr>
        </tbody>
      </table>
      
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    
    </body>
    </html>
    _x000D_
    _x000D_
    _x000D_

    Error importing SQL dump into MySQL: Unknown database / Can't create database

    Open the sql file and comment out the line that tries to create the existing database.

    Multiple scenarios @RequestMapping produces JSON/XML together with Accept or ResponseEntity

    All your problems are that you are mixing content type negotiation with parameter passing. They are things at different levels. More specific, for your question 2, you constructed the response header with the media type your want to return. The actual content negotiation is based on the accept media type in your request header, not response header. At the point the execution reaches the implementation of the method getPersonFormat, I am not sure whether the content negotiation has been done or not. Depends on the implementation. If not and you want to make the thing work, you can overwrite the request header accept type with what you want to return.

    return new ResponseEntity<>(PersonFactory.createPerson(), httpHeaders, HttpStatus.OK);

    Checking for multiple conditions using "when" on single task in ansible

    Adding to https://stackoverflow.com/users/1638814/nvartolomei answer, which will probably fix your error.

    Strictly answering your question, I just want to point out that the when: statement is probably correct, but would look easier to read in multiline and still fulfill your logic:

    when: 
      - sshkey_result.rc == 1
      - github_username is undefined or 
        github_username |lower == 'none'
    

    https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html#the-when-statement

    ActiveRecord find and only return selected columns

    In Rails 2

    l = Location.find(:id => id, :select => "name, website, city", :limit => 1)
    

    ...or...

    l = Location.find_by_sql(:conditions => ["SELECT name, website, city FROM locations WHERE id = ? LIMIT 1", id])
    

    This reference doc gives you the entire list of options you can use with .find, including how to limit by number, id, or any other arbitrary column/constraint.

    In Rails 3 w/ActiveRecord Query Interface

    l = Location.where(["id = ?", id]).select("name, website, city").first
    

    Ref: Active Record Query Interface

    You can also swap the order of these chained calls, doing .select(...).where(...).first - all these calls do is construct the SQL query and then send it off.

    Setting JDK in Eclipse

    To tell eclipse to use JDK, you have to follow the below steps.

    1. Select the Window menu and then Select Preferences. You can see a dialog box.
    2. Then select Java ---> Installed JRE’s
    3. Then click Add and select Standard VM then click Next
    4. In the JRE home, navigate to the folder you’ve installed the JDK (For example, in my system my JDK was in C:\Program Files\Java\jdk1.8.0_181\ )
    5. Now click on Finish.

    After completing the above steps, you are done now and eclipse will start using the selected JDK for compilation.

    Calculating number of full months between two dates in SQL

    CREATE FUNCTION ufFullMonthDif (@dStart DATE, @dEnd DATE)
    RETURNS INT
    AS
    BEGIN
        DECLARE @dif INT,
                @dEnd2 DATE
        SET @dif = DATEDIFF(MONTH, @dStart, @dEnd)
        SET @dEnd2 = DATEADD (MONTH, @dif, @dStart)
        IF @dEnd2 > @dEnd
            SET @dif = @dif - 1
        RETURN @dif
    END
    GO
    
    SELECT dbo.ufFullMonthDif ('2009-04-30', '2009-05-01')
    SELECT dbo.ufFullMonthDif ('2009-04-30', '2009-05-29')
    SELECT dbo.ufFullMonthDif ('2009-04-30', '2009-05-30')
    SELECT dbo.ufFullMonthDif ('2009-04-16', '2009-05-15')
    SELECT dbo.ufFullMonthDif ('2009-04-16', '2009-05-16')
    SELECT dbo.ufFullMonthDif ('2009-04-16', '2009-06-16')
    SELECT dbo.ufFullMonthDif ('2019-01-31', '2019-02-28')
    

    How to print the values of slices

    I wrote a package named Pretty Slice. You can use it to visualize slices, and their backing arrays, etc.

    package main
    
    import pretty "github.com/inancgumus/prettyslice"
    
    func main() {
        nums := []int{1, 9, 5, 6, 4, 8}
        odds := nums[:3]
        evens := nums[3:]
    
        nums[1], nums[3] = 9, 6
        pretty.Show("nums", nums)
        pretty.Show("odds : nums[:3]", odds)
        pretty.Show("evens: nums[3:]", evens)
    }
    

    This code is going produce and output like this one:

    enter image description here


    For more details, please read: https://github.com/inancgumus/prettyslice

    How can I get the full/absolute URL (with domain) in Django?

    django-fullurl

    If you're trying to do this in a Django template, I've released a tiny PyPI package django-fullurl to let you replace url and static template tags with fullurl and fullstatic, like this:

    {% load fullurl %}
    
    Absolute URL is: {% fullurl "foo:bar" %}
    
    Another absolute URL is: {% fullstatic "kitten.jpg" %}
    

    These badges should hopefully stay up-to-date automatically:

    PyPI Travis CI

    In a view, you can of course use request.build_absolute_uri instead.

    PostgreSQL: Why psql can't connect to server?

    I had the similar issue and the problem was in the config file pg_hba.conf. I had earlier made some changes which was causing the server to error out while trying to start it. Commenting out the extra additions solved the problem.

    How to know installed Oracle Client is 32 bit or 64 bit?

    The following, taken from here, was not mentioned here:

    If the Oracle Client is 32 bit, it will contain a "lib" folder; but if it is a 64 bit Oracle Client it will have both "lib" and "lib32" folders.

    Also, starting in Oracle 11.2.0.1, the client version for 64-bit and the Oracle client for 32-bit are shipped separately, and there is an $ORACLE_HOME/lib64 directory.

    $ORACLE_HOME/lib/ ==> 32 bit $ORACLE_HOME/lib64 ==> 64 bit

    Or

    $ORACLE_HOME/lib/ ==> 64 bit $ORACLE_HOME/lib32 ==> 32 bit

    MySQL - UPDATE query based on SELECT Query

    UPDATE 
      receipt_invoices dest,
      (
        SELECT 
          `receipt_id`,
          CAST((net * 100) / 112 AS DECIMAL (11, 2)) witoutvat 
        FROM
          receipt 
        WHERE CAST((net * 100) / 112 AS DECIMAL (11, 2)) != total 
          AND vat_percentage = 12
      ) src 
    SET
      dest.price = src.witoutvat,
      dest.amount = src.witoutvat 
    WHERE col_tobefixed = 1 
      AND dest.`receipt_id` = src.receipt_id ;
    

    Hope this will help you in a case where you have to match and update between two tables.

    Create a Bitmap/Drawable from file path

    It works for me:

    File imgFile = new  File("/sdcard/Images/test_image.jpg");
    if(imgFile.exists()){
        Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
        //Drawable d = new BitmapDrawable(getResources(), myBitmap);
        ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);
        myImage.setImageBitmap(myBitmap);
    
    }
    

    Edit:

    If above hard-coded sdcard directory is not working in your case, you can fetch the sdcard path:

    String sdcardPath = Environment.getExternalStorageDirectory().toString();
    File imgFile = new  File(sdcardPath);
    

    How to refactor Node.js code that uses fs.readFileSync() into using fs.readFile()?

    This variant is better because you could not know whether file exists or not. You should send correct header when you know for certain that you can read contents of your file. Also, if you have branches of code that does not finish with '.end()', browser will wait until it get them. In other words, your browser will wait a long time.

    var fs = require("fs");
    var filename = "./index.html";
    
    function start(resp) {
    
        fs.readFile(filename, "utf8", function(err, data) {
            if (err) {
                // may be filename does not exists?
                resp.writeHead(404, {
                    'Content-Type' : 'text/html'
                });
                // log this error into browser
                resp.write(err.toString());
                resp.end();
            } else {
    
                resp.writeHead(200, {
                    "Content-Type": "text/html"
                });      
                resp.write(data.toString());
                resp.end();
            }
        });
    }
    

    Running Java Program from Command Line Linux

    What is the package name of your class? If there is no package name, then most likely the solution is:

    java -cp FileManagement Main
    

    SQL - select distinct only on one column

    Since you don't care, I chose the max ID for each number.

    select tbl.* from tbl
    inner join (
    select max(id) as maxID, number from tbl group by number) maxID
    on maxID.maxID = tbl.id
    

    Query Explanation

     select 
        tbl.*  -- give me all the data from the base table (tbl) 
     from 
        tbl    
        inner join (  -- only return rows in tbl which match this subquery
            select 
                max(id) as maxID -- MAX (ie distinct) ID per GROUP BY below
            from 
                tbl 
            group by 
                NUMBER            -- how to group rows for the MAX aggregation
        ) maxID
            on maxID.maxID = tbl.id -- join condition ie only return rows in tbl 
                                    -- whose ID is also a MAX ID for a given NUMBER
    

    Superscript in markdown (Github flavored)?

    Use the <sup></sup>tag (<sub></sub> is the equivalent for subscripts). See this gist for an example.

    VARCHAR to DECIMAL

    In MySQL

    select convert( if( listPrice REGEXP '^[0-9]+$', listPrice, '0' ), DECIMAL(15, 3) ) from MyProduct WHERE 1
    

    Merge PDF files with PHP

    I have tried similar issue and works fine, try it. It can handle different orientations between PDFs.

        // array to hold list of PDF files to be merged
        $files = array("a.pdf", "b.pdf", "c.pdf");
        $pageCount = 0;
        // initiate FPDI
        $pdf = new FPDI();
    
        // iterate through the files
        foreach ($files AS $file) {
            // get the page count
            $pageCount = $pdf->setSourceFile($file);
            // iterate through all pages
            for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
                // import a page
                $templateId = $pdf->importPage($pageNo);
                // get the size of the imported page
                $size = $pdf->getTemplateSize($templateId);
    
                // create a page (landscape or portrait depending on the imported page size)
                if ($size['w'] > $size['h']) {
                    $pdf->AddPage('L', array($size['w'], $size['h']));
                } else {
                    $pdf->AddPage('P', array($size['w'], $size['h']));
                }
    
                // use the imported page
                $pdf->useTemplate($templateId);
    
                $pdf->SetFont('Helvetica');
                $pdf->SetXY(5, 5);
                $pdf->Write(8, 'Generated by FPDI');
            }
        }
    

    How to get last inserted row ID from WordPress database?

    just like this :

    global $wpdb;
    $table_name='lorem_ipsum';
    $results = $wpdb->get_results("SELECT * FROM $table_name ORDER BY ID DESC LIMIT 1");
    print_r($results[0]->id);
    

    simply your selecting all the rows then order them DESC by id , and displaying only the first

    How to declare a inline object with inline variables without a parent class

    You can also declare 'x' with the keyword var:

    var x = new
    {
      driver = new
      {
        firstName = "john",
        lastName = "walter"
      },
      car = new
      {
        brand = "BMW"
      }
    };
    

    This will allow you to declare your x object inline, but you will have to name your 2 anonymous objects, in order to access them. You can have an array of "x" :

    x.driver.firstName // "john"
    x.car.brand // "BMW"
    
    var y = new[] { x, x, x, x };
    y[1].car.brand; // "BMW"
    

    How to cast Object to boolean?

    Assuming that yourObject.toString() returns "true" or "false", you can try

    boolean b = Boolean.valueOf(yourObject.toString())
    

    Is there a way to get the XPath in Google Chrome?

    There are multiple ways to get XPath in google chrome-

    1. You can write your own XPath.

    enter image description here

    1. You can write it in console using $x('xpath')

    enter image description here

    1. You can use SelectorsHub browser plugin.

    enter image description here

    How to keep console window open

    To be able to give it input without it closing as well you could enclose the code in a while loop

    while (true) 
    {
         <INSERT CODE HERE>
    }
    

    It will continue to halt at Console.ReadLine();, then do another loop when you input something.

    What's the difference between passing by reference vs. passing by value?

    It's a way how to pass arguments to functions. Passing by reference means the called functions' parameter will be the same as the callers' passed argument (not the value, but the identity - the variable itself). Pass by value means the called functions' parameter will be a copy of the callers' passed argument. The value will be the same, but the identity - the variable - is different. Thus changes to a parameter done by the called function in one case changes the argument passed and in the other case just changes the value of the parameter in the called function (which is only a copy). In a quick hurry:

    • Java only supports pass by value. Always copies arguments, even though when copying a reference to an object, the parameter in the called function will point to the same object and changes to that object will be see in the caller. Since this can be confusing, here is what Jon Skeet has to say about this.
    • C# supports pass by value and pass by reference (keyword ref used at caller and called function). Jon Skeet also has a nice explanation of this here.
    • C++ supports pass by value and pass by reference (reference parameter type used at called function). You will find an explanation of this below.

    Codes

    Since my language is C++, i will use that here

    // passes a pointer (called reference in java) to an integer
    void call_by_value(int *p) { // :1
        p = NULL;
    }
    
    // passes an integer
    void call_by_value(int p) { // :2
        p = 42;
    }
    
    // passes an integer by reference
    void call_by_reference(int & p) { // :3
        p = 42;
    }
    
    // this is the java style of passing references. NULL is called "null" there.
    void call_by_value_special(int *p) { // :4
        *p = 10; // changes what p points to ("what p references" in java)
        // only changes the value of the parameter, but *not* of 
        // the argument passed by the caller. thus it's pass-by-value:
        p = NULL;
    }
    
    int main() {
        int value = 10;
        int * pointer = &value;
    
        call_by_value(pointer); // :1
        assert(pointer == &value); // pointer was copied
    
        call_by_value(value); // :2
        assert(value == 10); // value was copied
    
        call_by_reference(value); // :3
        assert(value == 42); // value was passed by reference
    
        call_by_value_special(pointer); // :4
        // pointer was copied but what pointer references was changed.
        assert(value == 10 && pointer == &value);
    }
    

    And an example in Java won't hurt:

    class Example {
        int value = 0;
    
        // similar to :4 case in the c++ example
        static void accept_reference(Example e) { // :1
            e.value++; // will change the referenced object
            e = null; // will only change the parameter
        }
    
        // similar to the :2 case in the c++ example
        static void accept_primitive(int v) { // :2
            v++; // will only change the parameter
        }        
    
        public static void main(String... args) {
            int value = 0;
            Example ref = new Example(); // reference
    
            // note what we pass is the reference, not the object. we can't 
            // pass objects. The reference is copied (pass-by-value).
            accept_reference(ref); // :1
            assert ref != null && ref.value == 1;
    
            // the primitive int variable is copied
            accept_primitive(value); // :2
            assert value == 0;
        }
    }
    

    Wikipedia

    http://en.wikipedia.org/wiki/Pass_by_reference#Call_by_value

    http://en.wikipedia.org/wiki/Pass_by_reference#Call_by_reference

    This guy pretty much nails it:

    http://javadude.com/articles/passbyvalue.htm

    How can I use an ES6 import in Node.js?

    Use:

      "devDependencies": {
        "@babel/core": "^7.2.0",
        "@babel/preset-env": "^7.2.0",
        "@babel/register": "^7.0.0"
      }
    

    File .babelrc

    {
      "presets": ["@babel/preset-env"]
    }
    

    Entry point for the Node.js application:

    require("@babel/register")({})
    
    // Import the rest of our application.
    module.exports = require('./index.js')
    

    See How To Enable ES6 Imports in Node.js

    How to add text to a WPF Label in code?

    you can use TextBlock control and assign the text property.

    Iterate through a HashMap

    You can iterate through the entries in a Map in several ways. Get each key and value like this:

    Map<?,?> map = new HashMap<Object, Object>();
    for(Entry<?, ?> e: map.entrySet()){
        System.out.println("Key " + e.getKey());
        System.out.println("Value " + e.getValue());
    }
    

    Or you can get the list of keys with

    Collection<?> keys = map.keySet();
    for(Object key: keys){
        System.out.println("Key " + key);
        System.out.println("Value " + map.get(key));
    }
    

    If you just want to get all of the values and aren't concerned with the keys, you can use:

    Collection<?> values = map.values();
    

    How to set up Automapper in ASP.NET Core

    I solved it this way (similar to above but I feel like it's a cleaner solution) Works with .NET Core 3.x

    Create MappingProfile.cs class and populate constructor with Maps (I plan on using a single class to hold all my mappings)

        public class MappingProfile : Profile
        {
            public MappingProfile()
            {
                CreateMap<Source, Dest>().ReverseMap();
            }
        }
    

    In Startup.cs, add below to add to DI (the assembly arg is for the class that holds your mapping configs, in my case, it's the MappingProfile class).

    //add automapper DI
    services.AddAutoMapper(typeof(MappingProfile));
    
    

    In Controller, use it like you would any other DI object

        [Route("api/[controller]")]
        [ApiController]
        public class AnyController : ControllerBase
        {
            private readonly IMapper _mapper;
    
            public AnyController(IMapper mapper)
            {
                _mapper = mapper;
            }
            
            public IActionResult Get(int id)
            {
                var entity = repository.Get(id);
                var dto = _mapper.Map<Dest>(entity);
                
                return Ok(dto);
            }
        }
    
    
    

    How to add a TextView to a LinearLayout dynamically in Android?

    Here is a more general answer for future viewers of this question. The layout we will make is below:

    enter image description here

    Method 1: Add TextView to existing LinearLayout

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dynamic_linearlayout);
    
        LinearLayout linearLayout = (LinearLayout) findViewById(R.id.ll_example);
    
        // Add textview 1
        TextView textView1 = new TextView(this);
        textView1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        textView1.setText("programmatically created TextView1");
        textView1.setBackgroundColor(0xff66ff66); // hex color 0xAARRGGBB
        textView1.setPadding(20, 20, 20, 20);// in pixels (left, top, right, bottom)
        linearLayout.addView(textView1);
    
        // Add textview 2
        TextView textView2 = new TextView(this);
        LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT);
        layoutParams.gravity = Gravity.RIGHT;
        layoutParams.setMargins(10, 10, 10, 10); // (left, top, right, bottom)
        textView2.setLayoutParams(layoutParams);
        textView2.setText("programmatically created TextView2");
        textView2.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
        textView2.setBackgroundColor(0xffffdbdb); // hex color 0xAARRGGBB
        linearLayout.addView(textView2);
    }
    

    Note that for LayoutParams you must specify the kind of layout for the import, as in

    import android.widget.LinearLayout.LayoutParams;
    

    Otherwise you need to use LinearLayout.LayoutParams in the code.

    Here is the xml:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ll_example"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ff99ccff"
        android:orientation="vertical" >
    
    </LinearLayout>
    

    Method 2: Create both LinearLayout and TextView programmatically

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // NOTE: setContentView is below, not here
    
        // Create new LinearLayout
        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT));
        linearLayout.setOrientation(LinearLayout.VERTICAL);
        linearLayout.setBackgroundColor(0xff99ccff);
    
        // Add textviews
        TextView textView1 = new TextView(this);
        textView1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        textView1.setText("programmatically created TextView1");
        textView1.setBackgroundColor(0xff66ff66); // hex color 0xAARRGGBB
        textView1.setPadding(20, 20, 20, 20); // in pixels (left, top, right, bottom)
        linearLayout.addView(textView1);
    
        TextView textView2 = new TextView(this);
        LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT);
        layoutParams.gravity = Gravity.RIGHT;
        layoutParams.setMargins(10, 10, 10, 10); // (left, top, right, bottom)
        textView2.setLayoutParams(layoutParams);
        textView2.setText("programmatically created TextView2");
        textView2.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
        textView2.setBackgroundColor(0xffffdbdb); // hex color 0xAARRGGBB
        linearLayout.addView(textView2);
    
        // Set context view
        setContentView(linearLayout);
    }
    

    Method 3: Programmatically add one xml layout to another xml layout

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dynamic_linearlayout);
    
        LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(
                Context.LAYOUT_INFLATER_SERVICE);
        View view = inflater.inflate(R.layout.dynamic_linearlayout_item, null);
        FrameLayout container = (FrameLayout) findViewById(R.id.flContainer);
        container.addView(view);
    }
    

    Here is dynamic_linearlayout.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/flContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
    </FrameLayout>
    

    And here is the dynamic_linearlayout_item.xml to add:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ll_example"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ff99ccff"
        android:orientation="vertical" >
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#ff66ff66"
            android:padding="20px"
            android:text="programmatically created TextView1" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#ffffdbdb"
            android:layout_gravity="right"
            android:layout_margin="10px"
            android:textSize="18sp"
            android:text="programmatically created TextView2" />
    
    </LinearLayout>
    

    C: convert double to float, preserving decimal point precision

    A float generally has about 7 digits of precision, regardless of the position of the decimal point. So if you want 5 digits of precision after the decimal, you'll need to limit the range of the numbers to less than somewhere around +/-100.

    Convert DataSet to List

    Fill the dataset with data from, say a stored proc command

    DbDataAdapter adapter = DbProviderFactories.GetFactory(cmd.Connection).CreateDataAdapter();
    adapter.SelectCommand = cmd;
    DataSet ds = new DataSet();
    adapter.Fill(ds);
    

    Get The Schema,

    string s = ds.GetXmlSchema();
    

    save it to a file say: datasetSchema.xsd. Generate the C# classes for the Schema: (at the VS Command Prompt)

    xsd datasetSchema.xsd /c
    

    Now, when you need to convert the DataSet data to classes you can deserialize (the default name given to the generated root class is NewDataSet):

    public static T Create<T>(string xml)
    {
        XmlSerializer serializer = new XmlSerializer(typeof(T));
        using (StringReader reader = new StringReader(xml))
        {
            T t = (T)serializer.Deserialize(reader);
    
            reader.Close();
            return t;
        }
    }
    
    var xml = ds.GetXml();
    var dataSetObjects = Create<NewDataSet>(xml);
    

    What is the Python equivalent for a case/switch statement?

    The direct replacement is if/elif/else.

    However, in many cases there are better ways to do it in Python. See "Replacements for switch statement in Python?".

    Putting -moz-available and -webkit-fill-available in one width (css property)

    CSS will skip over style declarations it doesn't understand. Mozilla-based browsers will not understand -webkit-prefixed declarations, and WebKit-based browsers will not understand -moz-prefixed declarations.

    Because of this, we can simply declare width twice:

    elem {
        width: 100%;
        width: -moz-available;          /* WebKit-based browsers will ignore this. */
        width: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
        width: fill-available;
    }
    

    The width: 100% declared at the start will be used by browsers which ignore both the -moz and -webkit-prefixed declarations or do not support -moz-available or -webkit-fill-available.

    Remove duplicates from dataframe, based on two columns A,B, keeping row with max value in another column C

    I think groupby should work.

    df.groupby(['A', 'B']).max()['C']
    

    If you need a dataframe back you can chain the reset index call.

    df.groupby(['A', 'B']).max()['C'].reset_index()
    

    What is the difference between null and System.DBNull.Value?

    From the documentation of the DBNull class:

    Do not confuse the notion of null in an object-oriented programming language with a DBNull object. In an object-oriented programming language, null means the absence of a reference to an object. DBNull represents an uninitialized variant or nonexistent database column.

    Implementing a simple file download servlet

    The easiest way to implement the download is that you direct users to the file location, browsers will do that for you automatically.

    You can easily achieve it through:

    HttpServletResponse.sendRedirect()
    

    How to show/hide JPanels in a JFrame?

    You can hide a JPanel by calling setVisible(false). For example:

    public static void main(String args[]){
        JFrame f = new JFrame();
        f.setLayout(new BorderLayout());
        final JPanel p = new JPanel();
        p.add(new JLabel("A Panel"));
        f.add(p, BorderLayout.CENTER);
    
        //create a button which will hide the panel when clicked.
        JButton b = new JButton("HIDE");
        b.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                    p.setVisible(false);
            }
        });
    
        f.add(b,BorderLayout.SOUTH);
        f.pack();
        f.setVisible(true);
    }
    

    What is process.env.PORT in Node.js?

    When hosting your application on another service (like Heroku, Nodejitsu, and AWS), your host may independently configure the process.env.PORT variable for you; after all, your script runs in their environment.

    Amazon's Elastic Beanstalk does this. If you try to set a static port value like 3000 instead of process.env.PORT || 3000 where 3000 is your static setting, then your application will result in a 500 gateway error because Amazon is configuring the port for you.

    This is a minimal Express application that will deploy on Amazon's Elastic Beanstalk:

    var express = require('express');
    var app = express();
    
    app.get('/', function (req, res) {
      res.send('Hello World!');
    });
    
    // use port 3000 unless there exists a preconfigured port
    var port = process.env.PORT || 3000;
    
    app.listen(port);
    

    How can I filter a date of a DateTimeField in Django?

    See the article Django Documentation

    ur_data_model.objects.filter(ur_date_field__gte=datetime(2009, 8, 22), ur_date_field__lt=datetime(2009, 8, 23))
    

    Alter user defined type in SQL Server

    As devio says there is no way to simply edit a UDT if it's in use.

    A work-round through SMS that worked for me was to generate a create script and make the appropriate changes; rename the existing UDT; run the create script; recompile the related sprocs and drop the renamed version.

    Must declare the scalar variable

    Just adding what fixed it for me, where misspelling is the suspect as per this MSDN blog...

    When splitting SQL strings over multiple lines, check that that you are comma separating your SQL string from your parameters (and not trying to concatenate them!) and not missing any spaces at the end of each split line. Not rocket science but hope I save someone a headache.

    For example:

    db.TableName.SqlQuery(
        "SELECT Id, Timestamp, User " +
        "FROM dbo.TableName " +
        "WHERE Timestamp >= @from " +
        "AND Timestamp <= @till;" + [USE COMMA NOT CONCATENATE!]
        new SqlParameter("from", from),
        new SqlParameter("till", till)),
        .ToListAsync()
        .Result;
    

    CSS: How to change colour of active navigation page menu

    Add ID current for active/current page:

    <div class="menuBar">
      <ul>
      <li id="current"><a href="index.php">HOME</a></li>
      <li><a href="two.php">PORTFOLIO</a></li>
      <li><a href="three.php">ABOUT</a></li>
      <li><a href="four.php">CONTACT</a></li>
      <li><a href="five.php">SHOP</a></li>
     </ul>
    
    #current a { color: #ff0000; }
    

    Remove characters from NSString?

    If you want to support more than one space at a time, or support any whitespace, you can do this:

    NSString* noSpaces =
        [[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
                               componentsJoinedByString:@""];
    

    Error "Metadata file '...\Release\project.dll' could not be found in Visual Studio"

    In my case, during a merge, it seems the solution file was missing some project references. Manually re-adding the project to the solution fixed it. You can also manually edit the solution file but you need to be careful and know what you are doing.

    Trying to Validate URL Using JavaScript

    This is what worked for me:

    function validateURL(value) {
        return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
        }
    

    from there is is just a matter of calling the function to get a true or false back:

    validateURL(urltovalidate);
    

    java.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonInclude$Value

    this is a version problem change version > 2.4 to 1.9 solve it

    <dependency>  
    <groupId>com.fasterxml.jackson.jaxrs</groupId>  
    <artifactId>jackson-jaxrs-xml-provider</artifactId>  
    <version>2.4.1</version>  
    

    to

    <dependency>  
    <groupId>org.codehaus.jackson</groupId>  
    <artifactId>jackson-mapper-asl</artifactId>  
    <version>1.9.4</version>  
    

    Find the PID of a process that uses a port on Windows

    Command:

    netstat -aon | findstr 4723
    

    Output:

    TCP    0.0.0.0:4723           0.0.0.0:0                LISTENING       10396
    

    Now cut the process ID, "10396", using the for command in Windows.

    Command:

    for /f "tokens=5" %a in ('netstat -aon ^| findstr 4723') do @echo %~nxa
    

    Output:

    10396

    If you want to cut the 4th number of the value means "LISTENING" then command in Windows.

    Command:

    for /f "tokens=4" %a in ('netstat -aon ^| findstr 4723') do @echo %~nxa
    

    Output:

    LISTENING

    How to find all the tables in MySQL with specific column names in them?

    SELECT DISTINCT TABLE_NAME, COLUMN_NAME  
    FROM INFORMATION_SCHEMA.COLUMNS  
    WHERE column_name LIKE 'employee%'  
    AND TABLE_SCHEMA='YourDatabase'
    

    Why aren't python nested functions called closures?

    I'd like to offer another simple comparison between python and JS example, if this helps make things clearer.

    JS:

    function make () {
      var cl = 1;
      function gett () {
        console.log(cl);
      }
      function sett (val) {
        cl = val;
      }
      return [gett, sett]
    }
    

    and executing:

    a = make(); g = a[0]; s = a[1];
    s(2); g(); // 2
    s(3); g(); // 3
    

    Python:

    def make (): 
      cl = 1
      def gett ():
        print(cl);
      def sett (val):
        cl = val
      return gett, sett
    

    and executing:

    g, s = make()
    g() #1
    s(2); g() #1
    s(3); g() #1
    

    Reason: As many others said above, in python, if there is an assignment in the inner scope to a variable with the same name, a new reference in the inner scope is created. Not so with JS, unless you explicitly declare one with the var keyword.