Programs & Examples On #Custom renderer

How do I check if I'm running on Windows in Python?

You should be able to rely on os.name.

import os
if os.name == 'nt':
    # ...

edit: Now I'd say the clearest way to do this is via the platform module, as per the other answer.

Nexus 7 (2013) and Win 7 64 - cannot install USB driver despite checking many forums and online resources

You can do this go to Settings > Storage, clicking on the setting menu icon in the top right hand corner and selecting "USB computer connection". I then changed the storage mode to "Camera (PTP)". Done try re installing the driver from device manager.

How do you right-justify text in an HTML textbox?

Apply style="text-align: right" to the input tag. This will allow entry to be right-justified, and (at least in Firefox 3, IE 7 and Safari) will even appear to flow from the right.

Find all packages installed with easy_install/pip?

pip list [options] You can see the complete reference here

how to implement a pop up dialog box in iOS

Different people who come to this question mean different things by a popup box. I highly recommend reading the Temporary Views documentation. My answer is largely a summary of this and other related documentation.

Alert (show me an example)

enter image description here

Alerts display a title and an optional message. The user must acknowledge it (a one-button alert) or make a simple choice (a two-button alert) before going on. You create an alert with a UIAlertController.

It is worth quoting the documentation's warning and advice about creating unnecessary alerts.

enter image description here

Notes:

Action Sheet (show me an example)

enter image description here

Action Sheets give the user a list of choices. They appear either at the bottom of the screen or in a popover depending on the size and orientation of the device. As with alerts, a UIAlertController is used to make an action sheet. Before iOS 8, UIActionSheet was used, but now the documentation says:

Important: UIActionSheet is deprecated in iOS 8. (Note that UIActionSheetDelegate is also deprecated.) To create and manage action sheets in iOS 8 and later, instead use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet.

Modal View (show me an example)

enter image description here

A modal view is a self-contained view that has everything it needs to complete a task. It may or may not take up the full screen. To create a modal view, use a UIPresentationController with one of the Modal Presentation Styles.

See also

Popover (show me an example)

enter image description here

A Popover is a view that appears when a user taps on something and disappears when tapping off it. It has an arrow showing the control or location from where the tap was made. The content can be just about anything you can put in a View Controller. You make a popover with a UIPopoverPresentationController. (Before iOS 8, UIPopoverController was the recommended method.)

In the past popovers were only available on the iPad, but starting with iOS 8 you can also get them on an iPhone (see here, here, and here).

See also

Notifications

enter image description here

Notifications are sounds/vibrations, alerts/banners, or badges that notify the user of something even when the app is not running in the foreground.

enter image description here

See also

A note about Android Toasts

enter image description here

In Android, a Toast is a short message that displays on the screen for a short amount of time and then disappears automatically without disrupting user interaction with the app.

People coming from an Android background want to know what the iOS version of a Toast is. Some examples of these questions can he found here, here, here, and here. The answer is that there is no equivalent to a Toast in iOS. Various workarounds that have been presented include:

  • Make your own with a subclassed UIView
  • Import a third party project that mimics a Toast
  • Use a buttonless Alert with a timer

However, my advice is to stick with the standard UI options that already come with iOS. Don't try to make your app look and behave exactly the same as the Android version. Think about how to repackage it so that it looks and feels like an iOS app.

How to hide action bar before activity is created, and then show it again?

The best way I find after reading all the available options is set main theme without ActionBar and then set up MyTheme in code in parent of all Activity.

Manifest:

<application
...
        android:theme="@android:style/Theme.Holo.Light.NoActionBar"
...>

BaseActivity:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.GreenHoloTheme);
}

This way helps me to avoid ActionBar when application start!

Python virtualenv questions

Yes basically this is what virtualenv do , and this is what the activate command is for, from the doc here:

activate script

In a newly created virtualenv there will be a bin/activate shell script, or a Scripts/activate.bat batch file on Windows.

This will change your $PATH to point to the virtualenv bin/ directory. Unlike workingenv, this is all it does; it's a convenience. But if you use the complete path like /path/to/env/bin/python script.py you do not need to activate the environment first. You have to use source because it changes the environment in-place. After activating an environment you can use the function deactivate to undo the changes.

The activate script will also modify your shell prompt to indicate which environment is currently active.

so you should just use activate command which will do all that for you:

> \path\to\env\bin\activate.bat

Get the value of checked checkbox?

This does not directly answer the question, but may help future visitors.


If you want to have a variable always be the current state of the checkbox (rather than having to keep checking its state), you can modify the onchange event to set that variable.

This can be done in the HTML:

<input class='messageCheckbox' type='checkbox' onchange='some_var=this.checked;'>

or with JavaScript:

cb = document.getElementsByClassName('messageCheckbox')[0]
cb.addEventListener('change', function(){some_var = this.checked})

How do I calculate r-squared using Python and Numpy?

Here's a very simple python function to compute R^2 from the actual and predicted values assuming y and y_hat are pandas series:

def r_squared(y, y_hat):
    y_bar = y.mean()
    ss_tot = ((y-y_bar)**2).sum()
    ss_res = ((y-y_hat)**2).sum()
    return 1 - (ss_res/ss_tot)

Checking for Undefined In React

You can check undefined object using below code.

ReactObject === 'undefined'

How can I make a DateTimePicker display an empty string?

Obfuscating the value by using the CustomFormat property, using checkbox cbEnableEndDate as the flag to indicate whether other code should ignore the value:

If dateTaskEnd > Date.FromOADate(0) Then
    dtTaskEnd.Format = DateTimePickerFormat.Custom
    dtTaskEnd.CustomFormat = "yyyy-MM-dd"
    dtTaskEnd.Value = dateTaskEnd 
    dtTaskEnd.Enabled = True
    cbEnableEndDate.Checked = True
Else
    dtTaskEnd.Format = DateTimePickerFormat.Custom
    dtTaskEnd.CustomFormat = " "
    dtTaskEnd.Value = Date.FromOADate(0)
    dtTaskEnd.Enabled = False
    cbEnableEndDate.Checked = False
End If

Android on-screen keyboard auto popping up

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Main"
              android:label="@string/app_name"
              android:windowSoftInputMode="stateHidden"
              >

This works for Android 3.0, 3.1, 3.2, 4.0 - Editor Used to Compile (Eclipse 3.7)

Place the 'windowSoftInputMode="stateHidden"' in your application's manifest XML file for EACH activity that you wish for the software keyboard to remain hidden in. This means the keyboard will not come up automatically and the user will have to 'click' on a text field to bring it up. I searched for almost an hour for something that worked so I thought I would share.

JavaScript: Collision detection

An answer without jQuery, with HTML elements as parameters:

This is a better approach that checks the real position of the elements as they are being shown on the viewport, even if they're absolute, relative or have been manipulated via transformations:

function isCollide(a, b) {
    var aRect = a.getBoundingClientRect();
    var bRect = b.getBoundingClientRect();

    return !(
        ((aRect.top + aRect.height) < (bRect.top)) ||
        (aRect.top > (bRect.top + bRect.height)) ||
        ((aRect.left + aRect.width) < bRect.left) ||
        (aRect.left > (bRect.left + bRect.width))
    );
}

In jQuery how can I set "top,left" properties of an element with position values relative to the parent and not the document?

Refreshing my memory on setting position, I'm coming to this so late I don't know if anyone else will see it, but --

I don't like setting position using css(), though often it's fine. I think the best bet is to use jQuery UI's position() setter as noted by xdazz. However if jQuery UI is, for some reason, not an option (yet jQuery is), I prefer this:

const leftOffset = 200;
const topOffset = 200;
let $div = $("#mydiv");
let baseOffset = $div.offsetParent().offset();
$div.offset({
  left: baseOffset.left + leftOffset,
  top: baseOffset.top + topOffset
});

This has the advantage of not arbitrarily setting $div's parent to relative positioning (what if $div's parent was, itself, absolute positioned inside something else?). I think the only major edge case is if $div doesn't have any offsetParent, not sure if it would return document, null, or something else entirely.

offsetParent has been available since jQuery 1.2.6, sometime in 2008, so this technique works now and when the original question was asked.

How to define a relative path in java

Firstly, see the different between absolute path and relative path here:

An absolute path always contains the root element and the complete directory list required to locate the file.

Alternatively, a relative path needs to be combined with another path in order to access a file.

In constructor File(String pathname), Javadoc's File class said that

A pathname, whether abstract or in string form, may be either absolute or relative.

If you want to get relative path, you must be define the path from the current working directory to file or directory.Try to use system properties to get this.As the pictures that you drew:

String localDir = System.getProperty("user.dir");
File file = new File(localDir + "\\config.properties");

Moreover, you should try to avoid using similar ".", "../", "/", and other similar relative to the file location relative path, because when files are moved, it is harder to handle.

Oracle "SQL Error: Missing IN or OUT parameter at index:: 1"

I had this error because of some typo in an alias of a column that contained a questionmark (e.g. contract.reference as contract?ref)

Matching special characters and letters in regex

let pattern = /^(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9!@#$%^&*]{6,16}$/;

//following will give you the result as true(if the password contains Capital, small letter, number and special character) or false based on the string format

let reee =pattern .test("helLo123@");   //true as it contains all the above

Should I use 'border: none' or 'border: 0'?

I use:

border: 0;

From 8.5.4 in CSS 2.1:

'border'

Value: [ <border-width> || <border-style> || <'border-top-color'> ] | inherit

So either of your methods look fine.

Run a Docker image as a container

$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED            
jamesmedice/marketplace   latest              e78c49b5f380        2 days ago          
jamesmedice/marketplace   v1.0.0              *e78c49b5f380*        2 days ago          


$ docker run -p 6001:8585 *e78c49b5f380*

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

A slightly different approach is to create your formula from a string. In the formula help page you will find the following example :

## Create a formula for a model with a large number of variables:
xnam <- paste("x", 1:25, sep="")
fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+")))

Then if you look at the generated formula, you will get :

R> fmla
y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + 
    x12 + x13 + x14 + x15 + x16 + x17 + x18 + x19 + x20 + x21 + 
    x22 + x23 + x24 + x25

How to get the path of src/test/resources directory in JUnit?

There are differences and constraints in options offered by @Steve C and @ashosborne1. They must be specified, I believe.

When can we can use: File resourcesDirectory = new File("src/test/resources");?

  • 1 When tests are going to be run via maven only but not via IDE.
  • 2.1 When tests are going to be run via maven or
  • 2.2 via IDE and only one project is imported into IDE. (I use “imported” term, cause it is used in IntelliJ IDEA. I think users of eclipse also import their maven project). This will work, cause working directory when you run tests via IDE is the same as your project.
  • 3.1 When tests are going to be run via maven or
  • 3.2 via IDE, and more than one projects are imported into IDE (when you are not a student, you usually import several projects), AND before you run tests via IDE, you manually configure working directory for your tests. That working directory should refer to your imported project that contains the tests. By default, working directory of all projects imported into IDE is only one. Probably it is a restriction of IntelliJ IDEA only, but I think all IDEs work like this. And this configuration that must be done manually, is not good at all. Working with several tests existing in different maven projects, but imported into one big “IDE” project, force us to remember this and don’t allow to relax and get pleasure from your work.

Solution offered by @ashosborne1 (personally I prefer this one) requires 2 additional requirements that must be done before you run tests. Here is a list of steps to use this solution:

  • Create a test folder (“teva”) and file (“readme”) inside of “src/test/resources/”:

    src/test/resources/teva/readme

    File must be created in the test folder, otherwise, it will not work. Maven ignores empty folders.

  • At least once build project via mvn clean install. It will run tests also. It may be enough to run only your test class/method via maven without building a whole project. As a result your test resources will be copied into test-classes, here is a path: target/test-classes/teva/readme

  • After that, you can access the folder using code, already offered by @ashosborne1 (I'm sorry, that I could not edit this code inside of this list of items correctly):

public static final String TEVA_FOLDER = "teva"; ... 
URL tevaUrl = YourTest.class.getClassLoader().getResource(TEVA_FOLDER); 
String tevaTestFolder = new File(tevaUrl.toURI()).getAbsolutePath();

Now you can run your test via IDE as many times as you want. Until you run mvn clean. It will drop the target folder.

Creating file inside a test folder and running maven first time, before you run tests via IDE are needed steps. Without these steps, if you just in your IDE create test resources, then write test and run it via IDE only, you'll get an error. Running tests via mvn copies test resources into target/test-classes/teva/readme and they become accessible for a classloader.

You may ask, why do I need import more than one maven project in IDE and why so many complicated things? For me, one of the main motivation: keeping IDA-related files far from code. I first create a new project in my IDE. It is a fake project, that is just a holder of IDE-related files. Then, I import already existing maven projects. I force these imported projects to keep IDEA files in my original fake project only. As a result I don't see IDE-related files among the code. SVN should not see them (don't offer to configure svn/git to ignore such files, please). Also it is just very convenient.

How to convert/parse from String to char in java?

If the string is 1 character long, just take that character. If the string is not 1 character long, it cannot be parsed into a character.

How to design RESTful search/filtering?

It seems that resource filtering/searching can be implemented in a RESTful way. The idea is to introduce a new endpoint called /filters/ or /api/filters/.

Using this endpoint filter can be considered as a resource and hence created via POST method. This way - of course - body can be used to carry all the parameters as well as complex search/filter structures can be created.

After creating such filter there are two possibilities to get the search/filter result.

  1. A new resource with unique ID will be returned along with 201 Created status code. Then using this ID a GET request can be made to /api/users/ like:

    GET /api/users/?filterId=1234-abcd
    
  2. After new filter is created via POST it won't reply with 201 Created but at once with 303 SeeOther along with Location header pointing to /api/users/?filterId=1234-abcd. This redirect will be automatically handled via underlying library.

In both scenarios two requests need to be made to get the filtered results - this may be considered as a drawback, especially for mobile applications. For mobile applications I'd use single POST call to /api/users/filter/.

How to keep created filters?

They can be stored in DB and used later on. They can also be stored in some temporary storage e.g. redis and have some TTL after which they will expire and will be removed.

What are the advantages of this idea?

Filters, filtered results are cacheable and can be even bookmarked.

How to read a value from the Windows registry

#include <windows.h>
#include <map>
#include <string>
#include <stdio.h>
#include <string.h>
#include <tr1/stdint.h>

using namespace std;

void printerr(DWORD dwerror) {
    LPVOID lpMsgBuf;
    FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER |
        FORMAT_MESSAGE_FROM_SYSTEM |
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        dwerror,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
        (LPTSTR) &lpMsgBuf,
        0,
        NULL
    );
    // Process any inserts in lpMsgBuf.
    // ...
    // Display the string.
    if (isOut) {
        fprintf(fout, "%s\n", lpMsgBuf);
    } else {
        printf("%s\n", lpMsgBuf);
    }
    // Free the buffer.
    LocalFree(lpMsgBuf);
}



bool regreadSZ(string& hkey, string& subkey, string& value, string& returnvalue, string& regValueType) {
    char s[128000];
    map<string,HKEY> keys;
    keys["HKEY_CLASSES_ROOT"]=HKEY_CLASSES_ROOT;
    keys["HKEY_CURRENT_CONFIG"]=HKEY_CURRENT_CONFIG; //DID NOT SURVIVE?
    keys["HKEY_CURRENT_USER"]=HKEY_CURRENT_USER;
    keys["HKEY_LOCAL_MACHINE"]=HKEY_LOCAL_MACHINE;
    keys["HKEY_USERS"]=HKEY_USERS;
    HKEY mykey;

    map<string,DWORD> valuetypes;
    valuetypes["REG_SZ"]=REG_SZ;
    valuetypes["REG_EXPAND_SZ"]=REG_EXPAND_SZ;
    valuetypes["REG_MULTI_SZ"]=REG_MULTI_SZ; //probably can't use this.

    LONG retval=RegOpenKeyEx(
        keys[hkey],         // handle to open key
        subkey.c_str(),  // subkey name
        0,   // reserved
        KEY_READ, // security access mask
        &mykey    // handle to open key
    );
    if (ERROR_SUCCESS != retval) {printerr(retval); return false;}
    DWORD slen=128000;
    DWORD valuetype = valuetypes[regValueType];
    retval=RegQueryValueEx(
      mykey,            // handle to key
      value.c_str(),  // value name
      NULL,   // reserved
      (LPDWORD) &valuetype,       // type buffer
      (LPBYTE)s,        // data buffer
      (LPDWORD) &slen      // size of data buffer
    );
    switch(retval) {
        case ERROR_SUCCESS:
            //if (isOut) {
            //    fprintf(fout,"RegQueryValueEx():ERROR_SUCCESS:succeeded.\n");
            //} else {
            //    printf("RegQueryValueEx():ERROR_SUCCESS:succeeded.\n");
            //}
            break;
        case ERROR_MORE_DATA:
            //what do I do now?  data buffer is too small.
            if (isOut) {
                fprintf(fout,"RegQueryValueEx():ERROR_MORE_DATA: need bigger buffer.\n");
            } else {
                printf("RegQueryValueEx():ERROR_MORE_DATA: need bigger buffer.\n");
            }
            return false;
        case ERROR_FILE_NOT_FOUND:
            if (isOut) {
                fprintf(fout,"RegQueryValueEx():ERROR_FILE_NOT_FOUND: registry value does not exist.\n");
            } else {
                printf("RegQueryValueEx():ERROR_FILE_NOT_FOUND: registry value does not exist.\n");
            }
            return false;
        default:
            if (isOut) {
                fprintf(fout,"RegQueryValueEx():unknown error type 0x%lx.\n", retval);
            } else {
                printf("RegQueryValueEx():unknown error type 0x%lx.\n", retval);
            }
            return false;

    }
    retval=RegCloseKey(mykey);
    if (ERROR_SUCCESS != retval) {printerr(retval); return false;}

    returnvalue = s;
    return true;
}

Java Serializable Object to Byte Array

In case you want a nice no dependencies copy-paste solution. Grab the code below.

Example

MyObject myObject = ...

byte[] bytes = SerializeUtils.serialize(myObject);
myObject = SerializeUtils.deserialize(bytes);

Source

import java.io.*;

public class SerializeUtils {

    public static byte[] serialize(Serializable value) throws IOException {
        ByteArrayOutputStream out = new ByteArrayOutputStream();

        try(ObjectOutputStream outputStream = new ObjectOutputStream(out)) {
            outputStream.writeObject(value);
        }

        return out.toByteArray();
    }

    public static <T extends Serializable> T deserialize(byte[] data) throws IOException, ClassNotFoundException {
        try(ByteArrayInputStream bis = new ByteArrayInputStream(data)) {
            //noinspection unchecked
            return (T) new ObjectInputStream(bis).readObject();
        }
    }
}

HTML - Alert Box when loading page

<script> 
    $(document).ready(function(){
        alert('Hi');
    });
</script>

Is Python interpreted, or compiled, or both?

Yes, it is both compiled and interpreted language. Then why we generally call it as interpreted language?

see how it is both- compiled and interpreted?

First of all I want to tell that you will like my answer more if you are from the Java world.

In the Java the source code first gets converted to the byte code through javac compiler then directed to the JVM(responsible for generating the native code for execution purpose). Now I want to show you that we call the Java as compiled language because we can see that it really compiles the source code and gives the .class file(nothing but bytecode) through:

javac Hello.java -------> produces Hello.class file

java Hello -------->Directing bytecode to JVM for execution purpose

The same thing happens with python i.e. first the source code gets converted to the bytecode through the compiler then directed to the PVM(responsible for generating the native code for execution purpose). Now I want to show you that we usually call the Python as an interpreted language because the compilation happens behind the scene and when we run the python code through:

python Hello.py -------> directly excutes the code and we can see the output provied that code is syntactically correct

@ python Hello.py it looks like it directly executes but really it first generates the bytecode that is interpreted by the interpreter to produce the native code for the execution purpose.

CPython- Takes the responsibility of both compilation and interpretation.

Look into the below lines if you need more detail:

As I mentioned that CPython compiles the source code but actual compilation happens with the help of cython then interpretation happens with the help of CPython

Now let's talk a little bit about the role of Just-In-Time compiler in Java and Python

In JVM the Java Interpreter exists which interprets the bytecode line by line to get the native machine code for execution purpose but when Java bytecode is executed by an interpreter, the execution will always be slower. So what is the solution? the solution is Just-In-Time compiler which produces the native code which can be executed much more quickly than that could be interpreted. Some JVM vendors use Java Interpreter and some use Just-In-Time compiler. Reference: click here

In python to get around the interpreter to achieve the fast execution use another python implementation(PyPy) instead of CPython. click here for other implementation of python including PyPy.

Oracle SQL convert date format from DD-Mon-YY to YYYYMM

As offer_date is an number, and is of lower accuracy than your real dates, this may work...
- Convert your real date to a string of format YYYYMM
- Conver that value to an INT
- Compare the result you your offer_date

SELECT
  *
FROM
  offers
WHERE
    offer_date = (SELECT CAST(to_char(create_date, 'YYYYMM') AS INT) FROM customers where id = '12345678')
AND offer_rate > 0 

Also, by doing all the manipulation on the create_date you only do the processing on one value.

Additionally, had you manipulated the offer_date you would not be able to utilise any index on that field, and so force SCANs instead of SEEKs.

How do I get a div to float to the bottom of its container?

I have acheived this in JQuery by putting a zero width strut element above the float right, then sizing the strut (or pipe) according to parent height minus floated child's height.

Before js kicks in I am using the position absolute approach, which works but allows text flow behind. Therefore I switch to position static to enable the strut approach. (header is the parent element, cutout is the one i want bottom right, and pipe is my strut)

$("header .pipe").each(function(){
    $(this).next(".cutout").css("position","static");       
    $(this).height($(this).parent().height()-$(this).next(".cutout").height());                                                 
});

CSS

header{
    position: relative; 
}

header img.cutout{
    float:right;
    position:absolute;
    bottom:0;
    right:0;
    clear:right
}
header .pipe{
    width:0px; 
    float:right

}

The pipe must come 1st, then the cutout, then the text in the HTML order.

The source was not found, but some or all event logs could not be searched

Didnt work for me.

I created a new key and string value and managed to get it working

Key= HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\<Your app name>\
String EventMessageFile value=C:\Windows\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll

Format number as percent in MS SQL Server

M.Ali's answer could be modified as

select Cast(Cast((37.0/38.0)*100 as decimal(18,2)) as varchar(5)) + ' %' as Percentage

Shortest distance between a point and a line segment

The above function is not working on vertical lines. Here is a function that is working fine! Line with points p1, p2. and CheckPoint is p;

public float DistanceOfPointToLine2(PointF p1, PointF p2, PointF p)
{
  //          (y1-y2)x + (x2-x1)y + (x1y2-x2y1)
  //d(P,L) = --------------------------------
  //         sqrt( (x2-x1)pow2 + (y2-y1)pow2 )

  double ch = (p1.Y - p2.Y) * p.X + (p2.X - p1.X) * p.Y + (p1.X * p2.Y - p2.X * p1.Y);
  double del = Math.Sqrt(Math.Pow(p2.X - p1.X, 2) + Math.Pow(p2.Y - p1.Y, 2));
  double d = ch / del;
  return (float)d;
}

How do you run a command as an administrator from the Windows command line?

I would set up a shortcut, either to CMD or to the thing you want to run, then set the properties of the shortcut to require admin, and then run the shortcut from your batch file. I haven't tested to confirm it will respect the properties, but I think it's more elegant and doesn't require activating the Administrator account.

Also if you do it as a scheduled task (which can be set up from code) there is an option to run it elevated there.

Private Variables and Methods in Python

Double underscore. That mangles the name. The variable can still be accessed, but it's generally a bad idea to do so.

Use single underscores for semi-private (tells python developers "only change this if you absolutely must") and doubles for fully private.

Detecting superfluous #includes in C/C++?

You can write a quick script that erases a single #include directive, compiles the projects, and logs the name in the #include and the file it was removed from in the case that no compilation errors occurred.

Let it run during the night, and the next day you will have a 100% correct list of include files you can remove.

Sometimes brute-force just works :-)


edit: and sometimes it doesn't :-). Here's a bit of information from the comments:

  1. Sometimes you can remove two header files separately, but not both together. A solution is to remove the header files during the run and not bring them back. This will find a list of files you can safely remove, although there might a solution with more files to remove which this algorithm won't find. (it's a greedy search over the space of include files to remove. It will only find a local maximum)
  2. There may be subtle changes in behavior if you have some macros redefined differently depending on some #ifdefs. I think these are very rare cases, and the Unit Tests which are part of the build should catch these changes.

Initializing ArrayList with some predefined values

Personnaly I like to do all the initialisations in the constructor

public Test()
{
  symbolsPresent = new ArrayList<String>();
  symbolsPresent.add("ONE");
  symbolsPresent.add("TWO");
  symbolsPresent.add("THREE");
  symbolsPresent.add("FOUR");
}

Edit : It is a choice of course and others prefer to initialize in the declaration. Both are valid, I have choosen the constructor because all type of initialitions are possible there (if you need a loop or parameters, ...). However I initialize the constants in the declaration on the top on the source.
The most important is to follow a rule that you like and be consistent in our classes.

Bubble Sort Homework

def bubblesort(array):
    for i in range(len(array)-1):
        for j in range(len(array)-1-i):
            if array[j] > array[j+1]:
                array[j], array[j+1] = array[j+1], array[j]
    return(array)

print(bubblesort([3,1,6,2,5,4]))

How do I replace multiple spaces with a single space in C#?

myString = Regex.Replace(myString, " {2,}", " ");

Android Studio - mergeDebugResources exception

I had the same problem and managed to solve, it simply downgrade your gradle version like this:

dependencies {
    classpath 'com.android.tools.build:gradle:YOUR_GRADLE_VERSION'
}

to

dependencies {
    classpath 'com.android.tools.build:gradle:OLDER_GRADLE_VERSION_THAT_YOUR'
}

for example:

YOUR_GRADLE_VERSION = 3.0.0

OLDER_GRADLE_VERSION_THAT_YOUR = 2.3.2

How to "log in" to a website using Python's Requests module?

Find out the name of the inputs used on the websites form for usernames <...name=username.../> and passwords <...name=password../> and replace them in the script below. Also replace the URL to point at the desired site to log into.

login.py

#!/usr/bin/env python

import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
payload = { 'username': '[email protected]', 'password': 'blahblahsecretpassw0rd' }
url = 'https://website.com/login.html'
requests.post(url, data=payload, verify=False)

The use of disable_warnings(InsecureRequestWarning) will silence any output from the script when trying to log into sites with unverified SSL certificates.

Extra:

To run this script from the command line on a UNIX based system place it in a directory, i.e. home/scripts and add this directory to your path in ~/.bash_profile or a similar file used by the terminal.

# Custom scripts
export CUSTOM_SCRIPTS=home/scripts
export PATH=$CUSTOM_SCRIPTS:$PATH

Then create a link to this python script inside home/scripts/login.py

ln -s ~/home/scripts/login.py ~/home/scripts/login

Close your terminal, start a new one, run login

Python SQL query string formatting

sql = ("select field1, field2, field3, field4 "
       "from table "
       "where condition1={} "
       "and condition2={}").format(1, 2)

Output: 'select field1, field2, field3, field4 from table 
         where condition1=1 and condition2=2'

if the value of condition should be a string, you can do like this:

sql = ("select field1, field2, field3, field4 "
       "from table "
       "where condition1='{0}' "
       "and condition2='{1}'").format('2016-10-12', '2017-10-12')

Output: "select field1, field2, field3, field4 from table where
         condition1='2016-10-12' and condition2='2017-10-12'"

VBA vlookup reference in different sheet

It's been many functions, macros and objects since I posted this question. The way I handled it, which is mentioned in one of the answers here, is by creating a string function that handles the errors that get generate by the vlookup function, and returns either nothing or the vlookup result if any.

Function fsVlookup(ByVal pSearch As Range, ByVal pMatrix As Range, ByVal pMatColNum As Integer) As String
    Dim s As String
    On Error Resume Next
    s = Application.WorksheetFunction.VLookup(pSearch, pMatrix, pMatColNum, False)
    If IsError(s) Then
        fsVlookup = ""
    Else
        fsVlookup = s
    End If
End Function

One could argue about the position of the error handling or by shortening this code, but it works in all cases for me, and as they say, "if it ain't broke, don't try and fix it".

How to set the image from drawable dynamically in android?

imageView.setImageResource(R.drawable.picname);

Differences in boolean operators: & vs && and | vs ||

In Java, the single operators &, |, ^, ! depend on the operands. If both operands are ints, then a bitwise operation is performed. If both are booleans, a "logical" operation is performed.

If both operands mismatch, a compile time error is thrown.

The double operators &&, || behave similarly to their single counterparts, but both operands must be conditional expressions, for example:

if (( a < 0 ) && ( b < 0 )) { ... } or similarly, if (( a < 0 ) || ( b < 0 )) { ... }

source: java programming lang 4th ed

HTTP Error 404.3-Not Found in IIS 7.5

In windows server 2012, even after installing asp.net you might run into this issue.

Check for "Http activation" feature. This feature is present under Web services as well.

Make sure you add the above and everything should be awesome for you !!!

Setting "checked" for a checkbox with jQuery

$('controlCheckBox').click(function(){
    var temp = $(this).prop('checked');
    $('controlledCheckBoxes').prop('checked', temp);
});

Recursive directory listing in DOS

You can use:

dir /s

If you need the list without all the header/footer information try this:

dir /s /b

(For sure this will work for DOS 6 and later; might have worked prior to that, but I can't recall.)

Basic Apache commands for a local Windows machine

For frequent uses of this command I found it easy to add the location of C:\xampp\apache\bin to the PATH. Use whatever directory you have this installed in.

Then you can run from any directory in command line:

httpd -k restart

The answer above that suggests httpd -k -restart is actually a typo. You can see the commands by running httpd /?

MySQL how to join tables on two fields

SELECT * 
FROM t1
JOIN t2 USING (id, date)

perhaps you'll need to use INNEER JOIN or where t2.id is not null if you want results only matching both conditions

Extract a substring according to a pattern

This should do:

gsub("[A-Z][1-9]:", "", string)

gives

[1] "E001" "E002" "E003"

What is causing "Unable to allocate memory for pool" in PHP?

Running the apc.php script is key to understanding what your problem is, IMO. This helped us size our cache properly and for the moment, seems to have resolved the problem.

JavaFX - create custom button with image

There are a few different ways to accomplish this, I'll outline my favourites.

Use a ToggleButton and apply a custom style to it. I suggest this because your required control is "like a toggle button" but just looks different from the default toggle button styling.

My preferred method is to define a graphic for the button in css:

.toggle-button {
  -fx-graphic: url('http://icons.iconarchive.com/icons/aha-soft/desktop-buffet/128/Pizza-icon.png');
}

.toggle-button:selected {
  -fx-graphic: url('http://icons.iconarchive.com/icons/aha-soft/desktop-buffet/128/Piece-of-cake-icon.png');
}

OR use the attached css to define a background image.

// file imagetogglebutton.css deployed in the same package as ToggleButtonImage.class
.toggle-button {
  -fx-background-image: url('http://icons.iconarchive.com/icons/aha-soft/desktop-buffet/128/Pizza-icon.png');
  -fx-background-repeat: no-repeat;
  -fx-background-position: center;
}

.toggle-button:selected {
  -fx-background-image: url('http://icons.iconarchive.com/icons/aha-soft/desktop-buffet/128/Piece-of-cake-icon.png');
}

I prefer the -fx-graphic specification over the -fx-background-* specifications as the rules for styling background images are tricky and setting the background does not automatically size the button to the image, whereas setting the graphic does.

And some sample code:

import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.control.ToggleButton;
import javafx.scene.layout.StackPaneBuilder;
import javafx.stage.Stage;

public class ToggleButtonImage extends Application {
  public static void main(String[] args) throws Exception { launch(args); }
  @Override public void start(final Stage stage) throws Exception {
    final ToggleButton toggle = new ToggleButton();
    toggle.getStylesheets().add(this.getClass().getResource(
      "imagetogglebutton.css"
    ).toExternalForm());
    toggle.setMinSize(148, 148); toggle.setMaxSize(148, 148);
    stage.setScene(new Scene(
      StackPaneBuilder.create()
        .children(toggle)
        .style("-fx-padding:10; -fx-background-color: cornsilk;")
        .build()
    ));
    stage.show();
  }
}

Some advantages of doing this are:

  1. You get the default toggle button behavior and don't have to re-implement it yourself by adding your own focus styling, mouse and key handlers etc.
  2. If your app gets ported to different platform such as a mobile device, it will work out of the box responding to touch events rather than mouse events, etc.
  3. Your styling is separated from your application logic so it is easier to restyle your application.

An alternate is to not use css and still use a ToggleButton, but set the image graphic in code:

import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.scene.*;
import javafx.scene.control.ToggleButton;
import javafx.scene.image.*;
import javafx.scene.layout.StackPaneBuilder;
import javafx.stage.Stage;

public class ToggleButtonImageViaGraphic extends Application {
  public static void main(String[] args) throws Exception { launch(args); }
  @Override public void start(final Stage stage) throws Exception {
    final ToggleButton toggle      = new ToggleButton();
    final Image        unselected  = new Image(
      "http://icons.iconarchive.com/icons/aha-soft/desktop-buffet/128/Pizza-icon.png"
    );
    final Image        selected    = new Image(
      "http://icons.iconarchive.com/icons/aha-soft/desktop-buffet/128/Piece-of-cake-icon.png"
    );
    final ImageView    toggleImage = new ImageView();
    toggle.setGraphic(toggleImage);
    toggleImage.imageProperty().bind(Bindings
      .when(toggle.selectedProperty())
        .then(selected)
        .otherwise(unselected)
    );

    stage.setScene(new Scene(
      StackPaneBuilder.create()
        .children(toggle)
        .style("-fx-padding:10; -fx-background-color: cornsilk;")
        .build()
    ));
    stage.show();
  }
}

The code based approach has the advantage that you don't have to use css if you are unfamilar with it.

For best performance and ease of porting to unsigned applet and webstart sandboxes, bundle the images with your app and reference them by relative path urls rather than downloading them off the net.

Where does MAMP keep its php.ini?

I have checked all answers and of course I have used phpinfo() to check the exact location of php.ini. I don't see a File option in the menu bar on my mac. I changed both php.ini and php.ini.temp files in that folder. No vail.

Until I realized that I forgot to uncomment the modified always_populate_raw_post_data line.

Java Equivalent of C# async/await?

async and await are syntactic sugars. The essence of async and await is state machine. The compiler will transform your async/await code into a state machine.

At the same time, in order for async/await to be really practicable in real projects, we need to have lots of Async I/O library functions already in place. For C#, most original synchronized I/O functions has an alternative Async version. The reason we need these Async functions is because in most cases, your own async/await code will boil down to some library Async method.

The Async version library functions in C# is kind of like the AsynchronousChannel concept in Java. For example, we have AsynchronousFileChannel.read which can either return a Future or execute a callback after the read operation is done. But it’s not exactly the same. All C# Async functions return Tasks (similar to Future but more powerful than Future).

So let’s say Java do support async/await, and we write some code like this:

public static async Future<Byte> readFirstByteAsync(String filePath) {
    Path path = Paths.get(filePath);
    AsynchronousFileChannel channel = AsynchronousFileChannel.open(path);

    ByteBuffer buffer = ByteBuffer.allocate(100_000);
    await channel.read(buffer, 0, buffer, this);
    return buffer.get(0);
}

Then I would imagine the compiler will transform the original async/await code into something like this:

public static Future<Byte> readFirstByteAsync(String filePath) {

    CompletableFuture<Byte> result = new CompletableFuture<Byte>();

    AsyncHandler ah = new AsyncHandler(result, filePath);

    ah.completed(null, null);

    return result;
}

And here is the implementation for AsyncHandler:

class AsyncHandler implements CompletionHandler<Integer, ByteBuffer>
{
    CompletableFuture<Byte> future;
    int state;
    String filePath;

    public AsyncHandler(CompletableFuture<Byte> future, String filePath)
    {
        this.future = future;
        this.state = 0;
        this.filePath = filePath;
    }

    @Override
    public void completed(Integer arg0, ByteBuffer arg1) {
        try {
            if (state == 0) {
                state = 1;
                Path path = Paths.get(filePath);
                AsynchronousFileChannel channel = AsynchronousFileChannel.open(path);

                ByteBuffer buffer = ByteBuffer.allocate(100_000);
                channel.read(buffer, 0, buffer, this);
                return;
            } else {
                Byte ret = arg1.get(0);
                future.complete(ret);
            }

        } catch (Exception e) {
            future.completeExceptionally(e);
        }
    }

    @Override
    public void failed(Throwable arg0, ByteBuffer arg1) {
        future.completeExceptionally(arg0);
    }
}

Declaring variables in Excel Cells

The lingo in excel is different, you don't "declare variables", you "name" cells or arrays.

A good overview of how you do that is below: http://office.microsoft.com/en-001/excel-help/define-and-use-names-in-formulas-HA010342417.aspx

What are database normal forms and can you give examples?

1NF is the most basic of normal forms - each cell in a table must contain only one piece of information, and there can be no duplicate rows.

2NF and 3NF are all about being dependent on the primary key. Recall that a primary key can be made up of multiple columns. As Chris said in his response:

The data depends on the key [1NF], the whole key [2NF] and nothing but the key [3NF] (so help me Codd).

2NF

Say you have a table containing courses that are taken in a certain semester, and you have the following data:

|-----Primary Key----|               uh oh |
                                           V
CourseID | SemesterID | #Places  | Course Name  |
------------------------------------------------|
IT101    |   2009-1   | 100      | Programming  |
IT101    |   2009-2   | 100      | Programming  |
IT102    |   2009-1   | 200      | Databases    |
IT102    |   2010-1   | 150      | Databases    |
IT103    |   2009-2   | 120      | Web Design   |

This is not in 2NF, because the fourth column does not rely upon the entire key - but only a part of it. The course name is dependent on the Course's ID, but has nothing to do with which semester it's taken in. Thus, as you can see, we have duplicate information - several rows telling us that IT101 is programming, and IT102 is Databases. So we fix that by moving the course name into another table, where CourseID is the ENTIRE key.

Primary Key |

CourseID    |  Course Name |
---------------------------|
IT101       | Programming  |
IT102       | Databases    |
IT103       | Web Design   |

No redundancy!

3NF

Okay, so let's say we also add the name of the teacher of the course, and some details about them, into the RDBMS:

|-----Primary Key----|                           uh oh |
                                                       V
Course  |  Semester  |  #Places   |  TeacherID  | TeacherName  |
---------------------------------------------------------------|
IT101   |   2009-1   |  100       |  332        |  Mr Jones    |
IT101   |   2009-2   |  100       |  332        |  Mr Jones    |
IT102   |   2009-1   |  200       |  495        |  Mr Bentley  |
IT102   |   2010-1   |  150       |  332        |  Mr Jones    |
IT103   |   2009-2   |  120       |  242        |  Mrs Smith   |

Now hopefully it should be obvious that TeacherName is dependent on TeacherID - so this is not in 3NF. To fix this, we do much the same as we did in 2NF - take the TeacherName field out of this table, and put it in its own, which has TeacherID as the key.

 Primary Key |

 TeacherID   | TeacherName  |
 ---------------------------|
 332         |  Mr Jones    |
 495         |  Mr Bentley  |
 242         |  Mrs Smith   |

No redundancy!!

One important thing to remember is that if something is not in 1NF, it is not in 2NF or 3NF either. So each additional Normal Form requires everything that the lower normal forms had, plus some extra conditions, which must all be fulfilled.

Getting a UnhandledPromiseRejectionWarning when testing using mocha/chai

I had a similar experience with Chai-Webdriver for Selenium. I added await to the assertion and it fixed the issue:

Example using Cucumberjs:

Then(/I see heading with the text of Tasks/, async function() {
    await chai.expect('h1').dom.to.contain.text('Tasks');
});

How to implement authenticated routes in React Router 4?

The solution which ultimately worked best for my organization is detailed below, it just adds a check on render for the sysadmin route and redirects the user to a different main path of the application if they are not allowed to be in the page.

SysAdminRoute.tsx

import React from 'react';
import { Route, Redirect, RouteProps } from 'react-router-dom';
import AuthService from '../services/AuthService';
import { appSectionPageUrls } from './appSectionPageUrls';
interface IProps extends RouteProps {}
export const SysAdminRoute = (props: IProps) => {
    var authService = new AuthService();
    if (!authService.getIsSysAdmin()) { //example
        authService.logout();
        return (<Redirect to={{
            pathname: appSectionPageUrls.site //front-facing
        }} />);
    }
    return (<Route {...props} />);
}

There are 3 main routes for our implementation, the public facing /site, the logged in client /app, and sys admin tools at /sysadmin. You get redirected based on your 'authiness' and this is the page at /sysadmin.

SysAdminNav.tsx

<Switch>
    <SysAdminRoute exact path={sysadminUrls.someSysAdminUrl} render={() => <SomeSysAdminUrl/> } />
    //etc
</Switch>

How to make unicode string with python3

As a workaround, I've been using this:

# Fix Python 2.x.
try:
    UNICODE_EXISTS = bool(type(unicode))
except NameError:
    unicode = lambda s: str(s)

Best ways to teach a beginner to program?

My favourite "start learning to code" project is the Game Snakes or Tron because it allows you to start slow (variables to store the current "worm position", arrays to store the worm positions if the worm is longer than one "piece", loops to make the worm move, if/switch to allow the user to change the worm's direction, ...). It also allows to include more and more stuff into the project in the long run, e.g. object oriented programming (one worm is one object with the chance to have two worms at the same time) with inheritance (go from "Snakes" to "Tron" or the other way around, where the worm slightly changes behavior).

I'd suggest that you use Microsoft's XNA to start. In my experience starting to program is much more fun if you can see something on your screen, and XNA makes it really easy to get something moving on the screen. It's quite easy to do little changes and get another look, e.g. by changing colors, so he can see that his actions have an effect -> Impression of success. Success is fun, which is a great motivation to keep on learning.

Formatting Numbers by padding with leading zeros in SQL Server

From version 2012 and on you can use

SELECT FORMAT(EmployeeID,'000000')
FROM dbo.RequestItems
WHERE ID=0

Error :Request header field Content-Type is not allowed by Access-Control-Allow-Headers

I know it's an old thread I worked with above answer and had to add:

header('Access-Control-Allow-Methods: GET, POST, PUT');

So my header looks like:

header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header('Access-Control-Allow-Methods: GET, POST, PUT');

And the problem was fixed.

How to Make Laravel Eloquent "IN" Query?

If you are using Query builder then you may use a blow

DB::table(Newsletter Subscription)
->select('*')
->whereIn('id', $send_users_list)
->get()

If you are working with Eloquent then you can use as below

$sendUsersList = Newsletter Subscription:: select ('*')
                ->whereIn('id', $send_users_list)
                ->get();

How to obtain values of request variables using Python and Flask

Adding more to Jason's more generalized way of retrieving the POST data or GET data

from flask_restful import reqparse

def parse_arg_from_requests(arg, **kwargs):
    parse = reqparse.RequestParser()
    parse.add_argument(arg, **kwargs)
    args = parse.parse_args()
    return args[arg]

form_field_value = parse_arg_from_requests('FormFieldValue')

How to install/start Postman native v4.10.3 on Ubuntu 16.04 LTS 64-bit?

sudo snap install postman

This single command worked for me.

Can two applications listen to the same port?

Yes (for TCP) you can have two programs listen on the same socket, if the programs are designed to do so. When the socket is created by the first program, make sure the SO_REUSEADDR option is set on the socket before you bind(). However, this may not be what you want. What this does is an incoming TCP connection will be directed to one of the programs, not both, so it does not duplicate the connection, it just allows two programs to service the incoming request. For example, web servers will have multiple processes all listening on port 80, and the O/S sends a new connection to the process that is ready to accept new connections.

SO_REUSEADDR

Allows other sockets to bind() to this port, unless there is an active listening socket bound to the port already. This enables you to get around those "Address already in use" error messages when you try to restart your server after a crash.

Reorder / reset auto increment primary key

I had the same doubts, but could not make any changes on the table, I decided doing the following having seen my ID did not exceed the maximum number setted in the variable @count:

SET @count = 40000000;
UPDATE `users` SET `users`.`id` = @count:= @count + 1;

SET @count = 0;
UPDATE `users` SET `users`.`id` = @count:= @count + 1;

ALTER TABLE `users` AUTO_INCREMENT = 1;

The solution takes, but it's safe and it was necessary because my table owned foreign keys with data in another table.

Corrupt jar file

The problem might be that there are more than 65536 files in your JAR: Why java complains about jar files with lots of entries? The fix is described in this question's answer.

VBA Public Array : how to?

Well, basically what I found is that you can declare the array, but when you set it vba shows you an error.

So I put an special sub to declare global variables and arrays, something like:

Global example(10) As Variant

Sub set_values()

example(1) = 1
example(2) = 1
example(3) = 1
example(4) = 1
example(5) = 1
example(6) = 1
example(7) = 1
example(8) = 1
example(9) = 1
example(10) = 1

End Sub

And whenever I want to use the array, I call the sub first, just in case

call set_values

Msgbox example(5)

Perhaps is not the most correct way, but I hope it works for you

Python - 'ascii' codec can't decode byte

If you are starting the python interpreter from a shell on Linux or similar systems (BSD, not sure about Mac), you should also check the default encoding for the shell.

Call locale charmap from the shell (not the python interpreter) and you should see

[user@host dir] $ locale charmap
UTF-8
[user@host dir] $ 

If this is not the case, and you see something else, e.g.

[user@host dir] $ locale charmap
ANSI_X3.4-1968
[user@host dir] $ 

Python will (at least in some cases such as in mine) inherit the shell's encoding and will not be able to print (some? all?) unicode characters. Python's own default encoding that you see and control via sys.getdefaultencoding() and sys.setdefaultencoding() is in this case ignored.

If you find that you have this problem, you can fix that by

[user@host dir] $ export LC_CTYPE="en_EN.UTF-8"
[user@host dir] $ locale charmap
UTF-8
[user@host dir] $ 

(Or alternatively choose whichever keymap you want instead of en_EN.) You can also edit /etc/locale.conf (or whichever file governs the locale definition in your system) to correct this.

How to get a file or blob from an object URL?

Maybe someone finds this useful when working with React/Node/Axios. I used this for my Cloudinary image upload feature with react-dropzone on the UI.

    axios({
        method: 'get',
        url: file[0].preview, // blob url eg. blob:http://127.0.0.1:8000/e89c5d87-a634-4540-974c-30dc476825cc
        responseType: 'blob'
    }).then(function(response){
         var reader = new FileReader();
         reader.readAsDataURL(response.data); 
         reader.onloadend = function() {
             var base64data = reader.result;
             self.props.onMainImageDrop(base64data)
         }

    })

Parsing xml using powershell

[xml]$xmlfile = '<xml> <Section name="BackendStatus"> <BEName BE="crust" Status="1" /> <BEName BE="pizza" Status="1" /> <BEName BE="pie" Status="1" /> <BEName BE="bread" Status="1" /> <BEName BE="Kulcha" Status="1" /> <BEName BE="kulfi" Status="1" /> <BEName BE="cheese" Status="1" /> </Section> </xml>'

foreach ($bename in $xmlfile.xml.Section.BEName) {
    if($bename.Status -eq 1){
        #Do something
    }
}

How can I check if my python object is a number?

Python 2: isinstance(x, (int, long, float, complex)) and not isinstance(x, bool)

Python 3: isinstance(x, (int, float, complex)) and not isinstance(x, bool)

What is a CSRF token? What is its importance and how does it work?

Yes, the post data is safe. But the origin of that data is not. This way somebody can trick user with JS into logging in to your site, while browsing attacker's web page.

In order to prevent that, django will send a random key both in cookie, and form data. Then, when users POSTs, it will check if two keys are identical. In case where user is tricked, 3rd party website cannot get your site's cookies, thus causing auth error.

Output to the same line overwriting previous output?

You can just add '\r' at the end of the string plus a comma at the end of print function. For example:

print(os.path.getsize(file_name)/1024+'KB / '+size+' KB downloaded!\r'),

if arguments is equal to this string, define a variable like this string

Don't forget about spaces:

source=""
samples=("")
if [ $1 = "country" ]; then
   source="country"
   samples="US Canada Mexico..."
else
  echo "try again"
fi

Error in <my code> : object of type 'closure' is not subsettable

In case of this similar error Warning: Error in $: object of type 'closure' is not subsettable [No stack trace available]

Just add corresponding package name using :: e.g.

instead of tags(....)

write shiny::tags(....)

Multi-line string with extra space (preserved indentation)

I came hear looking for this answer but also wanted to pipe it to another command. The given answer is correct but if anyone wants to pipe it, you need to pipe it before the multi-line string like this

echo | tee /tmp/pipetest << EndOfMessage
This is line 1.
This is line 2.
Line 3.
EndOfMessage

This will allow you to have a multi line string but also put it in the stdin of a subsequent command.

jQuery get mouse position within an element

Here is one that also gives you percent position of the point in case you need it. https://jsfiddle.net/Themezly/2etbhw01/

_x000D_
_x000D_
function ThzhotspotPosition(evt, el, hotspotsize, percent) {_x000D_
  var left = el.offset().left;_x000D_
  var top = el.offset().top;_x000D_
  var hotspot = hotspotsize ? hotspotsize : 0;_x000D_
  if (percent) {_x000D_
    x = (evt.pageX - left - (hotspot / 2)) / el.outerWidth() * 100 + '%';_x000D_
    y = (evt.pageY - top - (hotspot / 2)) / el.outerHeight() * 100 + '%';_x000D_
  } else {_x000D_
    x = (evt.pageX - left - (hotspot / 2));_x000D_
    y = (evt.pageY - top - (hotspot / 2));_x000D_
  }_x000D_
_x000D_
  return {_x000D_
    x: x,_x000D_
    y: y_x000D_
  };_x000D_
}_x000D_
_x000D_
_x000D_
_x000D_
$(function() {_x000D_
_x000D_
  $('.box').click(function(e) {_x000D_
_x000D_
    var hp = ThzhotspotPosition(e, $(this), 20, true); // true = percent | false or no attr = px_x000D_
_x000D_
    var hotspot = $('<div class="hotspot">').css({_x000D_
      left: hp.x,_x000D_
      top: hp.y,_x000D_
    });_x000D_
    $(this).append(hotspot);_x000D_
    $("span").text("X: " + hp.x + ", Y: " + hp.y);_x000D_
  });_x000D_
_x000D_
_x000D_
});
_x000D_
.box {_x000D_
  width: 400px;_x000D_
  height: 400px;_x000D_
  background: #efefef;_x000D_
  margin: 20px;_x000D_
  padding: 20px;_x000D_
  position: relative;_x000D_
  top: 20px;_x000D_
  left: 20px;_x000D_
}_x000D_
_x000D_
.hotspot {_x000D_
  position: absolute;_x000D_
  left: 0;_x000D_
  top: 0;_x000D_
  height: 20px;_x000D_
  width: 20px;_x000D_
  background: green;_x000D_
  border-radius: 20px;_x000D_
}
_x000D_
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>_x000D_
<div class="box">_x000D_
  <p>Hotspot position is at: <span></span></p>_x000D_
</div>
_x000D_
_x000D_
_x000D_

How to implement custom JsonConverter in JSON.NET to deserialize a List of base class objects?

Here's another solution that avoids the use of jObject.CreateReader(), and instead creates a new JsonTextReader (which is the behavior used by the default JsonCreate.Deserialze method:

public abstract class JsonCreationConverter<T> : JsonConverter
{
    protected abstract T Create(Type objectType, JObject jObject);

    public override bool CanConvert(Type objectType)
    {
        return typeof(T).IsAssignableFrom(objectType);
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        if (reader.TokenType == JsonToken.Null)
            return null;

        // Load JObject from stream
        JObject jObject = JObject.Load(reader);

        // Create target object based on JObject
        T target = Create(objectType, jObject);

        // Populate the object properties
        StringWriter writer = new StringWriter();
        serializer.Serialize(writer, jObject);
        using (JsonTextReader newReader = new JsonTextReader(new StringReader(writer.ToString())))
        { 
            newReader.Culture = reader.Culture;
            newReader.DateParseHandling = reader.DateParseHandling;
            newReader.DateTimeZoneHandling = reader.DateTimeZoneHandling;
            newReader.FloatParseHandling = reader.FloatParseHandling;
            serializer.Populate(newReader, target);
        }

        return target;
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        serializer.Serialize(writer, value);
    }
}

How to get the date from the DatePicker widget in Android?

The DatePicker class has methods for getting the month, year, day of month. Or you can use an OnDateChangedListener.

new DateTime() vs default(DateTime)

If you want to use default value for a DateTime parameter in a method, you can only use default(DateTime).

The following line will not compile:

    private void MyMethod(DateTime syncedTime = DateTime.MinValue)

This line will compile:

    private void MyMethod(DateTime syncedTime = default(DateTime))

Get value when selected ng-option changes

I have tried some solutions,but here is basic production snippet. Please, pay attention to console output during quality assurance of this snippet.

Mark Up :

<!DOCTYPE html>
<html ng-app="appUp">
<head>
<title>
  Angular Select snippet
</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" />

</head>


<body ng-controller="upController">

<div  class="container">

 <div class="row">
 <div class="col-md-4">

 </div> 
 <div class="col-md-3">
    <div class="form-group">
    <select name="slct" id="slct" class="form-control" ng-model="selBrand" ng-change="Changer(selBrand)" ng-options="brand as brand.name for brand in stock">
    <option value="">
        Select Brand
    </option>
    </select>
    </div>

    <div class="form-group">
    <input type="hidden" name="delimiter" value=":" ng-model="delimiter" />
    <input type="hidden" name="currency" value="$" ng-model="currency" />
    <span>
     {{selBrand.name}}{{delimiter}}{{selBrand.price}}{{currency}}
    </span>
    </div>

 </div> 
 <div class="col-md-4">

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

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js">
</script>
<script src="js/ui-bootstrap-tpls-2.5.0.min.js"></script>
<script src="js/main.js"></script>
</body>

</html>

Code:

var c = console;

var d = document;


 var app = angular.module('appUp',[]).controller('upController',function($scope){

    $scope.stock = [{
     name:"Adidas",
     price:420      
    },
    {
     name:"Nike",
     price:327      
    },
    {
     name:"Clark",
     price:725      
    }
    ];//data 



    $scope.Changer = function(){
     if($scope.selBrand){ 
     c.log("brand:"+$scope.selBrand.name+",price:"+$scope.selBrand.price);
     $scope.currency = "$";
     $scope.delimiter = ":";
     }
     else{

        $scope.currency = "";
        $scope.delimiter = "";
        c.clear();
     }
    }; // onchange handler

 });

Explanation: important point here is null check of the changed value, i.e. if value is 'undefined' or 'null' we should to handle this situation.

How to use PrintWriter and File classes in Java?

Double click the file.txt, then save it, command + s, that worked in my case. Also, make sure the file.txt is saved in the project folder. If that does not work.

PrintWriter pw = new PrintWriter(new File("file.txt"));
pw.println("hello world"); // to test if it works.

Why is python setup.py saying invalid command 'bdist_wheel' on Travis CI?

I already had wheel installed so I tried to uninstall and reinstall, and it fixed the issue:

pip uninstall wheel
pip install wheel

Weird...

Parse json string using JSON.NET

I did not test the following snippet... hopefully it will point you towards the right direction:

    var jsreader = new JsonTextReader(new StringReader(stringData));
    var json = (JObject)new JsonSerializer().Deserialize(jsreader);
    var tableRows = from p in json["items"]
                 select new
                 {
                     Name = (string)p["Name"],
                     Age = (int)p["Age"],
                     Job = (string)p["Job"]
                 };

Xcode 10, Command CodeSign failed with a nonzero exit code

For me I had to go to keychain, select the "login" keychain, double click on the iOS Developer:myname key, click the access control tab and switch the radio button to Allow all applications to access this item.

Zoom in on a point (using scale and translate)

The better solution is to simply move the position of the viewport based on the change in the zoom. The zoom point is simply the point in the old zoom and the new zoom that you want to remain the same. Which is to say the viewport pre-zoomed and the viewport post-zoomed have the same zoompoint relative to the viewport. Given that we're scaling relative to the origin. You can adjust the viewport position accordingly:

scalechange = newscale - oldscale;
offsetX = -(zoomPointX * scalechange);
offsetY = -(zoomPointY * scalechange);

So really you can just pan over down and to the right when you zoom in, by a factor of how much you zoomed in, relative to the point you zoomed at.

enter image description here

What are valid values for the id attribute in HTML?

In practice many sites use id attributes starting with numbers, even though this is technically not valid HTML.

The HTML 5 draft specification loosens up the rules for the id and name attributes: they are now just opaque strings which cannot contain spaces.

Is there a way to return a list of all the image file names from a folder using only Javascript?

No, you can't do this using Javascript alone. Client-side Javascript cannot read the contents of a directory the way I think you're asking about.

However, if you're able to add an index page to (or configure your web server to show an index page for) the images directory and you're serving the Javascript from the same server then you could make an AJAX call to fetch the index and then parse it.

i.e.

1) Enable indexes in Apache for the relevant directory on yoursite.com:

http://www.cyberciti.biz/faq/enabling-apache-file-directory-indexing/

2) Then fetch / parse it with jQuery. You'll have to work out how best to scrape the page and there's almost certainly a more efficient way of fetching the entire list, but an example:

$.ajax({
  url: "http://yoursite.com/images/",
  success: function(data){
     $(data).find("td > a").each(function(){
        // will loop through 
        alert("Found a file: " + $(this).attr("href"));
     });
  }
});

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.

SQL - select distinct only on one column

A very typical approach to this type of problem is to use row_number():

select t.*
from (select t.*,
             row_number() over (partition by number order by id) as seqnum
      from t
     ) t
where seqnum = 1;

This is more generalizable than using a comparison to the minimum id. For instance, you can get a random row by using order by newid(). You can select 2 rows by using where seqnum <= 2.

Disable beep of Linux Bash on Windows 10

its not specific to bash windows 10. but if you want remove the bell terminal for zsh, just use the right option in zshrc. (for vim, answer already posted)

unsetopt beep

http://zsh.sourceforge.net/Doc/Release/Options.html

i have find this option quickly, but would find it even faster if its was on this post ^^

hf

How to store phone numbers on MySQL databases?

You should never store values with format. Formatting should be done in the view depending on user preferences.

Searching for phone nunbers with mixed formatting is near impossible.

For this case I would split into fields and store as integer. Numbers are faster than texts and splitting them and putting index on them makes all kind of queries ran fast.

Leading 0 could be a problem but probably not. In Sweden all area codes start with 0 and that is removed if also a country code is dialed. But the 0 isn't really a part of the number, it's a indicator used to tell that I'm adding an area code. Same for country code, you add 00 to say that you use a county code.

Leading 0 shouldn't be stored, they should be added when needed. Say you store 00 in the database and you use a server that only works with + they you have to replace 00 with + for that application.

So, store numbers as numbers.

CSS3 equivalent to jQuery slideUp and slideDown?

    try this for slide up slide down with animation 
give your **height

        @keyframes slide_up{
            from{
                min-height: 0;
                height: 0px;
                opacity: 0;
            }
            to{
                height: 560px;
                opacity: 1;
            }
        }

        @keyframes slide_down{
            from{
                height: 560px;
                opacity: 1;
            }
            to{
                min-height: 0;
                height: 0px;
                opacity: 0;
            } 
        }

What does 'git blame' do?

The git blame command is used to know who/which commit is responsible for the latest changes made to a file. The author/commit of each line can also been seen.

git blame filename (commits responsible for changes for all lines in code)

git blame filename -L 0,10 (commits responsible for changes from line "0" to line "10")

There are many other options for blame, but generally these could help.

iPhone App Development on Ubuntu

Probably not. While I can't log into the Apple Development site, according to this post you need an intel mac platform.

http://tinleyharrier.blogspot.com/2008/03/iphone-sdk-requirements.html

How may I reference the script tag that loaded the currently-executing script?

Probably the easiest thing to do would be to give your scrip tag an id attribute.

How to find row number of a value in R code

As of R 3.3.0, one may use startsWith() as a faster alternative to grepl():

which(startsWith(mydata_2$height_seca1, 1578))

How to update attributes without validation

All the validation from model are skipped when we use validate: false

user = User.new(....)
user.save(validate: false)

Convert UTF-8 encoded NSData to NSString

The Swift version from String to Data and back to String:

Xcode 10.1 • Swift 4.2.1

extension Data {
    var string: String? {
        return String(data: self, encoding: .utf8)
    }
}

extension StringProtocol {
    var data: Data {
        return Data(utf8)
    }
}

extension String {
    var base64Decoded: Data? {
        return Data(base64Encoded: self)
    }
}

Playground

let string = "Hello World"                                  // "Hello World"
let stringData = string.data                                // 11 bytes
let base64EncodedString = stringData.base64EncodedString()  // "SGVsbG8gV29ybGQ="
let stringFromData = stringData.string                      // "Hello World"

let base64String = "SGVsbG8gV29ybGQ="
if let data = base64String.base64Decoded {
    print(data)                                    //  11 bytes
    print(data.base64EncodedString())              // "SGVsbG8gV29ybGQ="
    print(data.string ?? "nil")                    // "Hello World"
}

let stringWithAccent = "Olá Mundo"                          // "Olá Mundo"
print(stringWithAccent.count)                               // "9"
let stringWithAccentData = stringWithAccent.data            // "10 bytes" note: an extra byte for the acute accent
let stringWithAccentFromData = stringWithAccentData.string  // "Olá Mundo\n"

Redirect stderr and stdout in Bash

do_something 2>&1 | tee -a some_file

This is going to redirect stderr to stdout and stdout to some_file and print it to stdout.

I can't delete a remote master branch on git

To answer the question literally (since GitHub is not in the question title), also be aware of this post over on superuser. EDIT: Answer copied here in relevant part, slightly modified for clarity in square brackets:

You're getting rejected because you're trying to delete the branch that your origin has currently "checked out".

If you have direct access to the repo, you can just open up a shell [in the bare repo] directory and use good old git branch to see what branch origin is currently on. To change it to another branch, you have to use git symbolic-ref HEAD refs/heads/another-branch.

Is there a jQuery unfocus method?

$('#textarea').blur()

Documentation at: http://api.jquery.com/blur/

What's the difference between SortedList and SortedDictionary?

Check out the MSDN page for SortedList:

From Remarks section:

The SortedList<(Of <(TKey, TValue>)>) generic class is a binary search tree with O(log n) retrieval, where n is the number of elements in the dictionary. In this, it is similar to the SortedDictionary<(Of <(TKey, TValue>)>) generic class. The two classes have similar object models, and both have O(log n) retrieval. Where the two classes differ is in memory use and speed of insertion and removal:

  • SortedList<(Of <(TKey, TValue>)>) uses less memory than SortedDictionary<(Of <(TKey, TValue>)>).
  • SortedDictionary<(Of <(TKey, TValue>)>) has faster insertion and removal operations for unsorted data, O(log n) as opposed to O(n) for SortedList<(Of <(TKey, TValue>)>).

  • If the list is populated all at once from sorted data, SortedList<(Of <(TKey, TValue>)>) is faster than SortedDictionary<(Of <(TKey, TValue>)>).

How to increase font size in the Xcode editor?

for Xocde 12.0 beta 5:

preferences > Themes > at the bottom you will see the font family.

preview

Git - deleted some files locally, how do I get them from a remote repository

If you deleted multiple files locally and did not commit the changes, go to your local repository path, open the git shell and type.

$ git checkout HEAD .

All the deleted files before the last commit will be recovered.

Adding "." will recover all the deleted the files in the current repository, to their respective paths.

For more details checkout the documentation.

cURL equivalent in Node.js?

Request npm module Request node moulde is good to use, it have options settings for get/post request plus it is widely used in production environment too.

Setting up enviromental variables in Windows 10 to use java and javac

if you have any version problems (javac -version=15.0.1, java -version=1.8.0)
windows search : edit environment variables for your account
then delete these in your windows Environment variable: system variable: Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
C:\Program Files\Common Files\Oracle\Java\javapath

then if you're using java 15
environment variable: system variable : Path
add path C:\Program Files\Java\jdk-15.0.1\bin
is enough

if you're using java 8

  • create JAVA_HOME
  • environment variable: system variable : JAVA_HOME
    JAVA_HOME = C:\Program Files\Java\jdk1.8.0_271
  • environment variable: system variable : Path
    add path = %JAVA_HOME%\bin
  • How do you programmatically set an attribute?

    Usually, we define classes for this.

    class XClass( object ):
       def __init__( self ):
           self.myAttr= None
    
    x= XClass()
    x.myAttr= 'magic'
    x.myAttr
    

    However, you can, to an extent, do this with the setattr and getattr built-in functions. However, they don't work on instances of object directly.

    >>> a= object()
    >>> setattr( a, 'hi', 'mom' )
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'object' object has no attribute 'hi'
    

    They do, however, work on all kinds of simple classes.

    class YClass( object ):
        pass
    
    y= YClass()
    setattr( y, 'myAttr', 'magic' )
    y.myAttr
    

    Set value to currency in <input type="number" />

    The browser only allows numerical inputs when the type is set to "number". Details here.

    You can use the type="text" and filter out any other than numerical input using JavaScript like descripted here

    Represent space and tab in XML tag

    New, expanded answer to an old, commonly asked question...

    Whitespace in XML Component Names

    Summary: Whitespace characters are not permitted in XML element or attribute names.

    Here are the main Unicode code points related to whitespace:

    • #x0009 CHARACTER TABULATION
    • #x0020 SPACE
    • #x000A LINE FEED (LF)
    • #x000D CARRIAGE RETURN (CR)
    • #x00A0 NO-BREAK SPACE
    • [#x2002-#x200A] EN SPACE through HAIR SPACE
    • #x205F MEDIUM MATHEMATICAL SPACE
    • #x3000 IDEOGRAPHIC SPACE

    None of these code points are permitted by the W3C XML BNF for XML names:

    NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] |
                      [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] |
                      [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] |
                      [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] |
                      [#x10000-#xEFFFF]
    NameChar      ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] |
                      [#x203F-#x2040]
    Name          ::= NameStartChar (NameChar)*
    

    Whitespace in XML Content (Not Component Names)

    Summary: Whitespace characters are, of course, permitted in XML content.

    All of the above whitespace codepoints are permitted in XML content by the W3C XML BNF for Char:

    Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
    /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
    

    Unicode code points can be inserted as character references. Both decimal &#decimal; and hexadecimal &#xhex; forms are supported.

    IntelliJ and Tomcat.. Howto..?

    Here is step-by-step instruction for Tomcat configuration in IntellijIdea:

    1) Create IntellijIdea project via WebApplication template. Idea should be Ultimate version, not Community edition

    enter image description here

    2) Go to Run-Edit configutaion and set up Tomcat location folder, so Idea will know about your tomcat server enter image description here

    3) Go to Deployment tab and select Artifact. Apply enter image description here

    4) In src folder put your servlet (you can try my example for testing purpose) enter image description here

    5) Go to web.xml file and link your's servlet like this

    enter image description here

    6) In web folder put your's .jsp files (for example hey.jsp)

    enter image description here

    7) Now you can start you app via IntellijIdea. Run(Shift+F10) and enjoy your app in browser:

    - to jsp files: http://localhost:8080/hey.jsp (or index.jsp by default)

    - to servlets via virtual link you set in web.xml : http://localhost:8080/st

    File uploading with Express 4.0: req.files undefined

    Please use below code

    app.use(fileUpload());
    

    Time complexity of accessing a Python dict

    To answer your specific questions:

    Q1:
    "Am I correct that python dicts suffer from linear access times with such inputs?"

    A1: If you mean that average lookup time is O(N) where N is the number of entries in the dict, then it is highly likely that you are wrong. If you are correct, the Python community would very much like to know under what circumstances you are correct, so that the problem can be mitigated or at least warned about. Neither "sample" code nor "simplified" code are useful. Please show actual code and data that reproduce the problem. The code should be instrumented with things like number of dict items and number of dict accesses for each P where P is the number of points in the key (2 <= P <= 5)

    Q2:
    "As far as I know, sets have guaranteed logarithmic access times. How can I simulate dicts using sets(or something similar) in Python?"

    A2: Sets have guaranteed logarithmic access times in what context? There is no such guarantee for Python implementations. Recent CPython versions in fact use a cut-down dict implementation (keys only, no values), so the expectation is average O(1) behaviour. How can you simulate dicts with sets or something similar in any language? Short answer: with extreme difficulty, if you want any functionality beyond dict.has_key(key).

    How to insert element as a first child?

    Use: $("<p>Test</p>").prependTo(".inner"); Check out the .prepend documentation on jquery.com

    How can I escape white space in a bash loop list?

    To add to what Jonathan said: use the -print0 option for find in conjunction with xargs as follows:

    find test/* -type d -print0 | xargs -0 command
    

    That will execute the command command with the proper arguments; directories with spaces in them will be properly quoted (i.e. they'll be passed in as one argument).

    how to check if string contains '+' character

    [+]is simpler

        String s = "ddjdjdj+kfkfkf";
    
        if(s.contains ("+"))
        {
            String parts[] = s.split("[+]");
            s =  parts[0]; // i want to strip part after  +
        }
        System.out.println(s);
    

    What is the best method to merge two PHP objects?

    Here is a function that will flatten an object or array. Use this only if you are sure your keys are unique. If you have keys with the same name they will be overwritten. You will need to place this in a class and replace "Functions" with the name of your class. Enjoy...

    function flatten($array, $preserve_keys=1, &$out = array(), $isobject=0) {
            # Flatten a multidimensional array to one dimension, optionally preserving keys.
            #
            # $array - the array to flatten
            # $preserve_keys - 0 (default) to not preserve keys, 1 to preserve string keys only, 2 to preserve all keys
            # $out - internal use argument for recursion
            # $isobject - is internally set in order to remember if we're using an object or array
            if(is_array($array) || $isobject==1)
            foreach($array as $key => $child)
                if(is_array($child))
                    $out = Functions::flatten($child, $preserve_keys, $out, 1); // replace "Functions" with the name of your class
                elseif($preserve_keys + is_string($key) > 1)
                    $out[$key] = $child;
                else
                    $out[] = $child;
    
            if(is_object($array) || $isobject==2)
            if(!is_object($out)){$out = new stdClass();}
            foreach($array as $key => $child)
                if(is_object($child))
                    $out = Functions::flatten($child, $preserve_keys, $out, 2); // replace "Functions" with the name of your class
                elseif($preserve_keys + is_string($key) > 1)
                    $out->$key = $child;
                else
                    $out = $child;
    
            return $out;
    }
    

    R - Markdown avoiding package loading messages

    ```{r results='hide', message=FALSE, warning=FALSE}
    library(RJSONIO)
    library(AnotherPackage)
    ```
    

    see Chunk Options in the Knitr docs

    Compare and contrast REST and SOAP web services?

    SOAP brings it’s own protocol and focuses on exposing pieces of application logic (not data) as services. SOAP exposes operations. SOAP is focused on accessing named operations, each implement some business logic through different interfaces.

    Though SOAP is commonly referred to as “web services” this is a misnomer. SOAP has very little if anything to do with the Web. REST provides true “Web services” based on URIs and HTTP.

    By way of illustration here are few calls and their appropriate home with commentary.

    getUser(User);
    

    This is a rest operation as you are accessing a resource (data).

    switchCategory(User, OldCategory, NewCategory)
    

    REST permits many different data formats where as SOAP only permits XML. While this may seem like it adds complexity to REST because you need to handle multiple formats, in my experience it has actually been quite beneficial. JSON usually is a better fit for data and parses much faster. REST allows better support for browser clients due to it’s support for JSON.

    Text file with 0D 0D 0A line breaks

    The CRCRLF is known as result of a Windows XP notepad word wrap bug.

    For future reference, here's an extract of relevance from the linked blog:

    When you press the Enter key on Windows computers, two characters are actually stored: a carriage return (CR) and a line feed (LF). The operating system always interprets the character sequence CR LF the same way as the Enter key: it moves to the next line. However when there are extra CR or LF characters on their own, this can sometimes cause problems.

    There is a bug in the Windows XP version of Notepad that can cause extra CR characters to be stored in the display window. The bug happens in the following situation:

    If you have the word wrap option turned on and the display window contains long lines that wrap around, then saving the file causes Notepad to insert the characters CR CR LF at each wrap point in the display window, but not in the saved file.

    The CR CR LF characters can cause oddities if you copy and paste them into other programs. They also prevent Notepad from properly re-wrapping the lines if you resize the Notepad window.

    You can remove the CR CR LF characters by turning off the word wrap feature, then turning it back on if desired. However, the cursor is repositioned at the beginning of the display window when you do this.

    How can I open a .db file generated by eclipse(android) form DDMS-->File explorer-->data--->data-->packagename-->database?

    Depending on your platform you can use: sqlite3 file_name.db from the terminal. .tables will list the tables, .schema is full layout. SQLite commands like: select * from table_name; and such will print out the full contents. Type: ".exit" to exit. No need to download a GUI application.Use a semi-colon if you want it to execute a single command. Decent SQLite usage tutorial http://www.thegeekstuff.com/2012/09/sqlite-command-examples/

    What is the difference between dim and set in vba

    Dim simply declares the value and the type.

    Set assigns a value to the variable.

    How to check if a String is numeric in Java

    I think the only way to reliably tell if a string is a number, is to parse it. So I would just parse it, and if it's a number, you get the number in an int for free!

    How to destroy JWT Tokens on logout?

    While other answers provide detailed solutions for various setups, this might help someone who is just looking for a general answer.

    There are three general options, pick one or more:

    1. On the client side, delete the cookie from the browser using javascript.

    2. On the server side, set the cookie value to an empty string or something useless (for example "deleted"), and set the cookie expiration time to a time in the past.

    3. On the server side, update the refreshtoken stored in your database. Use this option to log out the user from all devices where they are logged in (their refreshtokens will become invalid and they have to log in again).

    Getting JSONObject from JSONArray

    Here is your json:

    {
        "syncresponse": {
           "synckey": "2011-09-30 14:52:00",
            "createdtrs": [
    
            ],
            "modtrs": [
    
            ],
            "deletedtrs": [
              {
               "companyid": "UTB17",
               "username": "DA",
               "date": "2011-09-26",
               "reportid": "31341"
          }
           ]
       }
    }
    

    and it's parsing:

    JSONObject object = new JSONObject(result);
    String syncresponse = object.getString("syncresponse");
    JSONObject object2 = new JSONObject(syncresponse);
    String synckey = object2.getString("synckey");
    JSONArray jArray1 = object2.getJSONArray("createdtrs");
    JSONArray jArray2 = object2.getJSONArray("modtrs");
    JSONArray jArray3 = object2.getJSONArray("deletedtrs");
    for(int i = 0; i < jArray3 .length(); i++)
    {
       JSONObject object3 = jArray3.getJSONObject(i);
       String comp_id = object3.getString("companyid");
       String username = object3.getString("username");
       String date = object3.getString("date");
       String report_id = object3.getString("reportid");
    }
    

    How do I stretch a background image to cover the entire HTML element?

    If you have a large landscape image, this example here resizes the background in portrait mode, so that it displays on top, leaving blank on the bottom:

    html, body {
        margin: 0;
        padding: 0;
        min-height: 100%;
    }
    
    body {
        background-image: url('myimage.jpg');
        background-position-x: center;
        background-position-y: bottom;
        background-repeat: no-repeat;
        background-attachment: scroll;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
    }
    
    @media screen and (orientation:portrait) {
        body {
            background-position-y: top;
            -webkit-background-size: contain;
            -moz-background-size: contain;
            -o-background-size: contain;
            background-size: contain;
        }
    }
    

    Pandas: Looking up the list of sheets in an excel file

    If you:

    • care about performance
    • don't need the data in the file at execution time.
    • want to go with conventional libraries vs rolling your own solution

    Below was benchmarked on a ~10Mb xlsx, xlsb file.

    xlsx, xls

    from openpyxl import load_workbook
    
    def get_sheetnames_xlsx(filepath):
        wb = load_workbook(filepath, read_only=True, keep_links=False)
        return wb.sheetnames
    

    Benchmarks: ~ 14x speed improvement

    # get_sheetnames_xlsx vs pd.read_excel
    225 ms ± 6.21 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
    3.25 s ± 140 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
    

    xlsb

    from pyxlsb import open_workbook
    
    def get_sheetnames_xlsb(filepath):
      with open_workbook(filepath) as wb:
         return wb.sheets
    

    Benchmarks: ~ 56x speed improvement

    # get_sheetnames_xlsb vs pd.read_excel
    96.4 ms ± 1.61 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
    5.36 s ± 162 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
    

    Notes:

    Determine number of pages in a PDF file

    One Line:

    int pdfPageCount = System.IO.File.ReadAllText("example.pdf").Split(new string[] { "/Type /Page" }, StringSplitOptions.None).Count()-2;
    

    Recommended: ITEXTSHARP

    Convert Java Array to Iterable

    While a similar answer has already been sort of posted, I think the reason to use the new PrimitiveIterator.OfInt was not clear. A good solution is to use Java 8 PrimitiveIterator since it's specialized for primitive int types (and avoids the extra boxing/unboxing penalty):

        int[] arr = {1,2,3};
        // If you use Iterator<Integer> here as type then you can't get the actual benefit of being able to use nextInt() later
        PrimitiveIterator.OfInt iterator = Arrays.stream(arr).iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.nextInt());
            // Use nextInt() instead of next() here to avoid extra boxing penalty
        }
    

    Ref: https://doc.bccnsoft.com/docs/jdk8u12-docs/api/java/util/PrimitiveIterator.OfInt.html

    How get all values in a column using PHP?

    Since mysql_* are deprecated, so here is the solution using mysqli.

    $mysqli = new mysqli('host', 'username', 'password', 'database');
    if($mysqli->connect_errno>0)
    {
      die("Connection to MySQL-server failed!"); 
    }
    $resultArr = array();//to store results
    //to execute query
    $executingFetchQuery = $mysqli->query("SELECT `name` FROM customers WHERE 1");
    if($executingFetchQuery)
    {
       while($arr = $executingFetchQuery->fetch_assoc())
       {
            $resultArr[] = $arr['name'];//storing values into an array
       }
    }
    print_r($resultArr);//print the rows returned by query, containing specified columns
    

    There is another way to do this using PDO

      $db = new PDO('mysql:host=host_name;dbname=db_name', 'username', 'password'); //to establish a connection
      //to fetch records
      $fetchD = $db->prepare("SELECT `name` FROM customers WHERE 1");
      $fetchD->execute();//executing the query
      $resultArr = array();//to store results
      while($row = $fetchD->fetch())
      {
         $resultArr[] = $row['name'];
      }
      print_r($resultArr);
    

    JavaScript: What are .extend and .prototype used for?

    • .extends() create a class which is a child of another class.
      behind the scenes Child.prototype.__proto__ sets its value to Parent.prototype
      so methods are inherited.
    • .prototype inherit features from one to another.
    • .__proto__ is a getter/setter for Prototype.

    open read and close a file in 1 line of code

    use ilio: (inline io):

    just one function call instead of file open(), read(), close().

    from ilio import read
    
    content = read('filename')
    

    Can anyone confirm that phpMyAdmin AllowNoPassword works with MySQL databases?

    After lots of struggle I found here you go:

    1. open folder -> xampp
    2. then open -> phpmyadmin
    3. finally open -> config.inc
    $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
    
    1. Put SHA256 inside single quotations like this one

    830bbca930d5e417ae4249931838e2c70ca0365044268fa0ede75e33aff677de

    $cfg['blowfish_secret'] = '830bbca930d5e417ae4249931838e2c70ca0365044268fa0ede75e33aff677de
    ';
    

    I found this when I was downloading updated version of phpmyadmin. I wish this solution help you. enter image description here

    iPhone - Grand Central Dispatch main thread

    Dispatching blocks to the main queue from the main thread can be useful. It gives the main queue a chance to handle other blocks that have been queued so that you're not simply blocking everything else from executing.

    For example you could write an essentially single threaded server that nonetheless handles many concurrent connections. As long as no individual block in the queue takes too long the server stays responsive to new requests.

    If your program does nothing but spend its whole life responding to events then this can be quite natural. You just set up your event handlers to run on the main queue and then call dispatch_main(), and you may not need to worry about thread safety at all.

    std::string formatting like sprintf

    C++11 solution that uses vsnprintf() internally:

    #include <stdarg.h>  // For va_start, etc.
    
    std::string string_format(const std::string fmt, ...) {
        int size = ((int)fmt.size()) * 2 + 50;   // Use a rubric appropriate for your code
        std::string str;
        va_list ap;
        while (1) {     // Maximum two passes on a POSIX system...
            str.resize(size);
            va_start(ap, fmt);
            int n = vsnprintf((char *)str.data(), size, fmt.c_str(), ap);
            va_end(ap);
            if (n > -1 && n < size) {  // Everything worked
                str.resize(n);
                return str;
            }
            if (n > -1)  // Needed size returned
                size = n + 1;   // For null char
            else
                size *= 2;      // Guess at a larger size (OS specific)
        }
        return str;
    }
    

    A safer and more efficient (I tested it, and it is faster) approach:

    #include <stdarg.h>  // For va_start, etc.
    #include <memory>    // For std::unique_ptr
    
    std::string string_format(const std::string fmt_str, ...) {
        int final_n, n = ((int)fmt_str.size()) * 2; /* Reserve two times as much as the length of the fmt_str */
        std::unique_ptr<char[]> formatted;
        va_list ap;
        while(1) {
            formatted.reset(new char[n]); /* Wrap the plain char array into the unique_ptr */
            strcpy(&formatted[0], fmt_str.c_str());
            va_start(ap, fmt_str);
            final_n = vsnprintf(&formatted[0], n, fmt_str.c_str(), ap);
            va_end(ap);
            if (final_n < 0 || final_n >= n)
                n += abs(final_n - n + 1);
            else
                break;
        }
        return std::string(formatted.get());
    }
    

    The fmt_str is passed by value to conform with the requirements of va_start.

    NOTE: The "safer" and "faster" version doesn't work on some systems. Hence both are still listed. Also, "faster" depends entirely on the preallocation step being correct, otherwise the strcpy renders it slower.

    Change SVN repository URL

    In my case, the svn relocate command (as well as svn switch --relocate) failed for some reason (maybe the repo was not moved correctly, or something else). I faced this error:

    $ svn relocate NEW_SERVER
    svn: E195009: The repository at 'NEW_SERVER' has uuid 'e7500204-160a-403c-b4b6-6bc4f25883ea', but the WC has '3a8c444c-5998-40fb-8cb3-409b74712e46'
    

    I did not want to redownload the whole repository, so I found a workaround. It worked in my case, but generally I can imagine a lot of things can get broken (so either backup your working copy, or be ready to re-checkout the whole repo if something goes wrong).

    The repo address and its UUID are saved in the .svn/wc.db SQLite database file in your working copy. Just open the database (e.g. in SQLite Browser), browse table REPOSITORY, and change the root and uuid column values to the new ones. You can find the UUID of the new repo by issuing svn info NEW_SERVER.

    Again, treat this as a last resort method.

    nginx error connect to php5-fpm.sock failed (13: Permission denied)

    In my case php-fpm wasn't running at all, so I just had to start the service

    service php7.3-fpm start
    #on ubuntu 18.04
    

    Is iterating ConcurrentHashMap values thread safe?

    What does it mean?

    That means that each iterator you obtain from a ConcurrentHashMap is designed to be used by a single thread and should not be passed around. This includes the syntactic sugar that the for-each loop provides.

    What happens if I try to iterate the map with two threads at the same time?

    It will work as expected if each of the threads uses it's own iterator.

    What happens if I put or remove a value from the map while iterating it?

    It is guaranteed that things will not break if you do this (that's part of what the "concurrent" in ConcurrentHashMap means). However, there is no guarantee that one thread will see the changes to the map that the other thread performs (without obtaining a new iterator from the map). The iterator is guaranteed to reflect the state of the map at the time of it's creation. Futher changes may be reflected in the iterator, but they do not have to be.

    In conclusion, a statement like

    for (Object o : someConcurrentHashMap.entrySet()) {
        // ...
    }
    

    will be fine (or at least safe) almost every time you see it.

    Find element's index in pandas Series

    If you use numpy, you can get an array of the indecies that your value is found:

    import numpy as np
    import pandas as pd
    myseries = pd.Series([1,4,0,7,5], index=[0,1,2,3,4])
    np.where(myseries == 7)
    

    This returns a one element tuple containing an array of the indecies where 7 is the value in myseries:

    (array([3], dtype=int64),)
    

    How to access URL segment(s) in blade in Laravel 5?

    The double curly brackets are processed via Blade -- not just plain PHP. This syntax basically echos the calculated value.

    {{ Request::segment(1) }} 
    

    Javascript getElementsByName.value not working

    Here is the example for having one or more checkboxes value. If you have two or more checkboxes and need values then this would really help.

    _x000D_
    _x000D_
    function myFunction() {_x000D_
      var selchbox = [];_x000D_
      var inputfields = document.getElementsByName("myCheck");_x000D_
      var ar_inputflds = inputfields.length;_x000D_
    _x000D_
      for (var i = 0; i < ar_inputflds; i++) {_x000D_
        if (inputfields[i].type == 'checkbox' && inputfields[i].checked == true)_x000D_
          selchbox.push(inputfields[i].value);_x000D_
      }_x000D_
      return selchbox;_x000D_
    _x000D_
    }_x000D_
    _x000D_
    document.getElementById('btntest').onclick = function() {_x000D_
      var selchb = myFunction();_x000D_
      console.log(selchb);_x000D_
    }
    _x000D_
    Checkbox:_x000D_
    <input type="checkbox" name="myCheck" value="UK">United Kingdom_x000D_
    <input type="checkbox" name="myCheck" value="USA">United States_x000D_
    <input type="checkbox" name="myCheck" value="IL">Illinois_x000D_
    <input type="checkbox" name="myCheck" value="MA">Massachusetts_x000D_
    <input type="checkbox" name="myCheck" value="UT">Utah_x000D_
    _x000D_
    <input type="button" value="Click" id="btntest" />
    _x000D_
    _x000D_
    _x000D_

    Serializing class instance to JSON

    The basic problem is that the JSON encoder json.dumps() only knows how to serialize a limited set of object types by default, all built-in types. List here: https://docs.python.org/3.3/library/json.html#encoders-and-decoders

    One good solution would be to make your class inherit from JSONEncoder and then implement the JSONEncoder.default() function, and make that function emit the correct JSON for your class.

    A simple solution would be to call json.dumps() on the .__dict__ member of that instance. That is a standard Python dict and if your class is simple it will be JSON serializable.

    class Foo(object):
        def __init__(self):
            self.x = 1
            self.y = 2
    
    foo = Foo()
    s = json.dumps(foo) # raises TypeError with "is not JSON serializable"
    
    s = json.dumps(foo.__dict__) # s set to: {"x":1, "y":2}
    

    The above approach is discussed in this blog posting:

        Serializing arbitrary Python objects to JSON using __dict__

    How do I pull my project from github?

    There are few steps to be followed (For Windows)

    1. Open Git Bash and generate ssh key Paste the text below, substituting in your GitHub email address.

      ssh-keygen -t rsa -b 4096 -C "[email protected]"

      This creates a new ssh key, using the provided email as a label.

      Generating public/private rsa key pair.

      When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location.

      Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]

      At the prompt, type a secure passphrase. For more information, see "Working with SSH key passphrases".

      Enter passphrase (empty for no passphrase): [Type a passphrase] Enter same passphrase again: [Type passphrase again]

    2. Add the key to SSH Agent

      Type the following in Git Bash (99999 is just an example) to see agent is up and running. eval $(ssh-agent -s) Agent pid 99999

      then type this.

      ssh-add ~/.ssh/id_rsa

      then Copy the SSH key to your clipboard using this command

      clip < ~/.ssh/id_rsa.pub

    3. Add the SSH Key to the Git Account

      In GitHib site, click on the image on top right corner, and select settings. In the subsequent page, click SSH and GPG keys option. This will open up the SSH key page. Click on the New SSH key. In the "Title" field, add a descriptive label for the new key. Paste your key into the "Key" field.

    4. Clone the Repository

      Open VS Code (or any IDE/CLI which has command prompt etc.). Go to the directory in which you want to clone, using cd commands, and type the below line. git config --global github.user yourGitUserName git config --global user.email your_email git clone [email protected]:yourGitUserName/YourRepoName.git

    https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

    Get a list of URLs from a site

    Write a spider which reads in every html from disk and outputs every "href" attribute of an "a" element (can be done with a parser). Keep in mind which links belong to a certain page (this is common task for a MultiMap datastructre). After this you can produce a mapping file which acts as the input for the 404 handler.

    creating array without declaring the size - java

    I think what you really want is an ArrayList or Vector. Arrays in Java are not like those in Javascript.

    Using .htaccess to make all .html pages to run as .php files?

    This is in edition to all other right answers:

    If you are not able to find the correct Handler, Simply create a .php file with the following contents:

    <?php echo $_SERVER['REDIRECT_HANDLER']; ?>
    

    and run/open this file in browser.

    Output from the php code, copy this output

    Use this output in .htaccess file

    Create a .htaccess file at the root of your website(usually a folder named public_html or htdocs on linux servers) and add this line:

    AddType [[THE OUTPUT FROM ABOVE FILE]] .html .htm
    

    Example

    AddType application/x-httpd-php70 .html .htm
    

    Important Note:

    If you see blank page or Notice: Undefined index: REDIRECT_HANDLER

    Try default in .htaccess

    AddHandler application/x-httpd-php .html
    

    How do I run a bat file in the background from another bat file?

    Create a new C# Windows application and call this method from main:

    public static void RunBatchFile(string filename)
    {
        Process process = new Process();
    
        process.StartInfo.FileName = filename;
    
        // suppress output (command window still gets created)
        process.StartInfo.Arguments = "> NULL";
    
        process.Start();
        process.WaitForExit();
    }
    

    Visual Studio 2010 shortcut to find classes and methods?

    try: ctrl + P

    type: @

    followed by the name of the class,method or variable name you search for.

    How to print colored text to the terminal?

    There is also the Python termcolor module. Usage is pretty simple:

    from termcolor import colored
    
    print colored('hello', 'red'), colored('world', 'green')
    

    Or in Python 3:

    print(colored('hello', 'red'), colored('world', 'green'))
    

    It may not be sophisticated enough, however, for game programming and the "colored blocks" that you want to do...

    launch sms application with an intent

    Sms Intent :

    Intent intent = new Intent("android.intent.action.VIEW");
            /** creates an sms uri */
            Uri data = Uri.parse("sms:");
            intent.setData(data);
    

    How to confirm RedHat Enterprise Linux version?

    I assume that you've run yum upgrade. That will in general update you to the newest minor release.

    Your main resources for determining the version are /etc/redhat_release and lsb_release -a

    How do you remove an invalid remote branch reference from Git?

    Only slightly related, but still might be helpful in the same situation as we had - we use a network file share for our remote repository. Last week things were working, this week we were getting the error "Remote origin did not advertise Ref for branch refs/heads/master. This Ref may not exist in the remote or may be hidden by permission settings"

    But we believed nothing had been done to corrupt things. The NFS does snapshots so I reviewed each "previous version" and saw that three days ago, the size in MB of the repository had gone from 282MB to 33MB, and about 1,403 new files and 300 folders now existed. I queried my co-workers and one had tried to do a push that day - then cancelled it.

    I used the NFS "Restore" functionality to restore it to just before that date and now everythings working fine again. I did try the prune previously, didnt seem to help. Maybe the harsher cleanups would have worked.

    Hope this might help someone else one day!

    Jay

    What good technology podcasts are out there?

    Suggest someone with the reputation to do it revise this question to say, "What good technology podcasts are out there?"

    I've got all kinds of audio fiction I could recommend, but then this question really runs off into the weeds.

    grabbing first row in a mysql query only

    You didn't specify how the order is determined, but this will give you a rank value in MySQL:

    SELECT t.*,
           @rownum := @rownum +1 AS rank
      FROM TBL_FOO t
      JOIN (SELECT @rownum := 0) r
     WHERE t.name = 'sarmen'
    

    Then you can pick out what rows you want, based on the rank value.

    How can I call a WordPress shortcode within a template?

    Make sure to enable the use of shortcodes in text widgets.

    // To enable the use, add this in your *functions.php* file:
    add_filter( 'widget_text', 'do_shortcode' );
    
    // and then you can use it in any PHP file:  
    <?php echo do_shortcode('[YOUR-SHORTCODE-NAME/TAG]'); ?>
    

    Check the documentation for more.

    How to enable assembly bind failure logging (Fusion) in .NET

    Set the following registry value:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion!EnableLog] (DWORD) to 1

    To disable, set to 0 or delete the value.

    [edit ]:Save the following text to a file, e.g FusionEnableLog.reg, in Windows Registry Editor Format:

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
    "EnableLog"=dword:00000001
    

    Then run the file from windows explorer and ignore the warning about possible damage.

    What does file:///android_asset/www/index.html mean?

    file:/// is a URI (Uniform Resource Identifier) that simply distinguishes from the standard URI that we all know of too well - http://.

    It does imply an absolute path name pointing to the root directory in any environment, but in the context of Android, it's a convention to tell the Android run-time to say "Here, the directory www has a file called index.html located in the assets folder in the root of the project".

    That is how assets are loaded at runtime, for example, a WebView widget would know exactly where to load the embedded resource file by specifying the file:/// URI.

    Consider the code example:

    WebView webViewer = (WebView) findViewById(R.id.webViewer);
    webView.loadUrl("file:///android_asset/www/index.html");
    

    A very easy mistake to make here is this, some would infer it to as file:///android_assets, notice the plural of assets in the URI and wonder why the embedded resource is not working!

    String formatting in Python 3

    I like this approach

    my_hash = {}
    my_hash["goals"] = 3 #to show number
    my_hash["penalties"] = "5" #to show string
    print("I scored %(goals)d goals and took %(penalties)s penalties" % my_hash)
    

    Note the appended d and s to the brackets respectively.

    output will be:

    I scored 3 goals and took 5 penalties
    

    MongoDB running but can't connect using shell

    I had a similar problem, well actually the same (mongo process is running but can't connect to it). What I did was went to my database path and removed mongod.lock, and then gave it another try (restarted mongo). After that it worked.

    Hope it works for you too. mongodb repair on ubuntu

    pip install fails with "connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)"

    -----> pip install gensim config --global http.sslVerify false

    Just install any package with the "config --global http.sslVerify false" statement

    You can ignore SSL errors by setting pypi.org and files.pythonhosted.org as trusted hosts.

    $ pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package_name>
    

    Note: Sometime during April 2018, the Python Package Index was migrated from pypi.python.org to pypi.org. This means "trusted-host" commands using the old domain no longer work.

    Permanent Fix

    Since the release of pip 10.0, you should be able to fix this permanently just by upgrading pip itself:

    $ pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org pip setuptools
    

    Or by just reinstalling it to get the latest version:

    $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    

    (… and then running get-pip.py with the relevant Python interpreter).

    pip install <otherpackage> should just work after this. If not, then you will need to do more, as explained below.


    You may want to add the trusted hosts and proxy to your config file.

    pip.ini (Windows) or pip.conf (unix)

    [global]
    trusted-host = pypi.python.org
                   pypi.org
                   files.pythonhosted.org
    

    Alternate Solutions (Less secure)

    Most of the answers could pose a security issue.

    Two of the workarounds that help in installing most of the python packages with ease would be:

    • Using easy_install: if you are really lazy and don't want to waste much time, use easy_install <package_name>. Note that some packages won't be found or will give small errors.
    • Using Wheel: download the Wheel of the python package and use the pip command pip install wheel_package_name.whl to install the package.

    ActiveModel::ForbiddenAttributesError when creating new user

    Alternatively you can use the Protected Attributes gem, however this defeats the purpose of requiring strong params. However if you're upgrading an older app, Protected Attributes does provide an easy pathway to upgrade until such time that you can refactor the attr_accessible to strong params.

    SQL: sum 3 columns when one column has a null value?

    I would try this:

    select sum (case when TotalHousM is null then 0 else TotalHousM end)
           + (case when TotalHousT is null then 0 else TotalHousT end)
           + (case when TotalHousW is null then 0 else TotalHousW end)
           + (case when TotalHousTH is null then 0 else TotalHousTH end)
           + (case when TotalHousF is null then 0 else TotalHousF end)
           as Total
    From LeaveRequest
    

    How to use HTTP_X_FORWARDED_FOR properly?

    If you use it in a database, this is a good way:

    Set the ip field in database to varchar(250), and then use this:

    $theip = $_SERVER["REMOTE_ADDR"];
    
    if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) {
        $theip .= '('.$_SERVER["HTTP_X_FORWARDED_FOR"].')';
    }
    
    if (!empty($_SERVER["HTTP_CLIENT_IP"])) {
        $theip .= '('.$_SERVER["HTTP_CLIENT_IP"].')';
    }
    
    $realip = substr($theip, 0, 250);
    

    Then you just check $realip against the database ip field

    R not finding package even after package installation

    Do .libPaths(), close every R runing, check in the first directory, remove the zoo package restart R and install zoo again. Of course you need to have sufficient rights.

    Send message to specific client with socket.io and node.js

    Whatever version we are using if we just console.log() the "io" object that we use in our server side nodejs code, [e.g. io.on('connection', function(socket) {...});], we can see that "io" is just an json object and there are many child objects where the socket id and socket objects are stored.

    I am using socket.io version 1.3.5, btw.

    If we look in the io object, it contains,

     sockets:
      { name: '/',
        server: [Circular],
        sockets: [ [Object], [Object] ],
        connected:
         { B5AC9w0sYmOGWe4fAAAA: [Object],
           'hWzf97fmU-TIwwzWAAAB': [Object] },
    

    here we can see the socketids "B5AC9w0sYmOGWe4fAAAA" etc. So, we can do,

    io.sockets.connected[socketid].emit();
    

    Again, on further inspection we can see segments like,

     eio:
      { clients:
         { B5AC9w0sYmOGWe4fAAAA: [Object],
           'hWzf97fmU-TIwwzWAAAB': [Object] },
    

    So, we can retrieve a socket from here by doing

    io.eio.clients[socketid].emit();
    

    Also, under engine we have,

    engine:
     { clients:
        { B5AC9w0sYmOGWe4fAAAA: [Object],
          'hWzf97fmU-TIwwzWAAAB': [Object] },
    

    So, we can also write,

    io.engine.clients[socketid].emit();
    

    So, I guess we can achieve our goal in any of the 3 ways I listed above,

    1. io.sockets.connected[socketid].emit(); OR
    2. io.eio.clients[socketid].emit(); OR
    3. io.engine.clients[socketid].emit();

    Jquery submit form

    Try this lets say your form id is formID

    $(".nextbutton").click(function() { $("form#formID").submit(); });
    

    how to get request path with express req object

    //auth required or redirect
    app.use('/account', function(req, res, next) {
      console.log(req.path);
      if ( !req.session.user ) {
        res.redirect('/login?ref='+req.path);
      } else {
        next();
      }
    });
    

    req.path is / when it should be /account ??

    The reason for this is that Express subtracts the path your handler function is mounted on, which is '/account' in this case.

    Why do they do this?

    Because it makes it easier to reuse the handler function. You can make a handler function that does different things for req.path === '/' and req.path === '/goodbye' for example:

    function sendGreeting(req, res, next) {
      res.send(req.path == '/goodbye' ? 'Farewell!' : 'Hello there!')
    }
    

    Then you can mount it to multiple endpoints:

    app.use('/world', sendGreeting)
    app.use('/aliens', sendGreeting)
    

    Giving:

    /world           ==>  Hello there!
    /world/goodbye   ==>  Farewell!
    /aliens          ==>  Hello there!
    /aliens/goodbye  ==>  Farewell!
    

    How do I read an image file using Python?

    The word "read" is vague, but here is an example which reads a jpeg file using the Image class, and prints information about it.

    from PIL import Image
    jpgfile = Image.open("picture.jpg")
    
    print(jpgfile.bits, jpgfile.size, jpgfile.format)
    

    Android global variable

    You can extend the base android.app.Application class and add member variables like so:

    public class MyApplication extends Application {
    
        private String someVariable;
    
        public String getSomeVariable() {
            return someVariable;
        }
    
        public void setSomeVariable(String someVariable) {
            this.someVariable = someVariable;
        }
    }
    

    In your android manifest you must declare the class implementing android.app.Application (add the android:name=".MyApplication" attribute to the existing application tag):

    <application 
      android:name=".MyApplication" 
      android:icon="@drawable/icon" 
      android:label="@string/app_name">
    

    Then in your activities you can get and set the variable like so:

    // set
    ((MyApplication) this.getApplication()).setSomeVariable("foo");
    
    // get
    String s = ((MyApplication) this.getApplication()).getSomeVariable();
    

    How to use youtube-dl from a python program?

    For simple code, may be i think

    import os
    os.system('youtube-dl [OPTIONS] URL [URL...]')
    

    Above is just running command line inside python.

    Other is mentioned in the documentation Using youtube-dl on python Here is the way

    from __future__ import unicode_literals
    import youtube_dl
    
    ydl_opts = {}
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc'])
    

    Android textview usage as label and value

    You can use <LinearLayout> to group elements horizontaly. Also you should use style to set margins, background and other properties. This will allow you not to repeat code for every label you use. Here is an example:

    <LinearLayout
                        style="@style/FormItem"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal">
                    <TextView
                            style="@style/FormLabel"
                            android:layout_width="wrap_content"
                            android:layout_height="@dimen/default_element_height"
                            android:text="@string/name_label"
                            />
    
                    <EditText
                            style="@style/FormText.Editable"
                            android:id="@+id/cardholderName"
                            android:layout_width="wrap_content"
                            android:layout_height="@dimen/default_element_height"
                            android:layout_weight="1"
                            android:gravity="right|center_vertical"
                            android:hint="@string/card_name_hint"
                            android:imeOptions="actionNext"
                            android:singleLine="true"
                            />
                </LinearLayout>
    

    Also you can create a custom view base on the layout above. Have you looked at Creating custom view ?

    How to write and read a file with a HashMap?

    HashMap implements Serializable so you can use normal serialization to write hashmap to file

    Here is the link for Java - Serialization example

    List to array conversion to use ravel() function

    If all you want is calling ravel on your (nested, I s'pose?) list, you can do that directly, numpy will do the casting for you:

    L = [[1,None,3],["The", "quick", object]]
    np.ravel(L)
    # array([1, None, 3, 'The', 'quick', <class 'object'>], dtype=object)
    

    Also worth mentioning that you needn't go through numpy at all.

    Using Excel VBA to run SQL query

    Below is code that I currently use to pull data from a MS SQL Server 2008 into VBA. You need to make sure you have the proper ADODB reference [VBA Editor->Tools->References] and make sure you have Microsoft ActiveX Data Objects 2.8 Library checked, which is the second from the bottom row that is checked (I'm using Excel 2010 on Windows 7; you might have a slightly different ActiveX version, but it will still begin with Microsoft ActiveX):

    References required for SQL

    Sub Module for Connecting to MS SQL with Remote Host & Username/Password

    Sub Download_Standard_BOM()
    'Initializes variables
    Dim cnn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim ConnectionString As String
    Dim StrQuery As String
    
    'Setup the connection string for accessing MS SQL database
       'Make sure to change:
           '1: PASSWORD
           '2: USERNAME
           '3: REMOTE_IP_ADDRESS
           '4: DATABASE
        ConnectionString = "Provider=SQLOLEDB.1;Password=PASSWORD;Persist Security Info=True;User ID=USERNAME;Data Source=REMOTE_IP_ADDRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=DATABASE"
    
        'Opens connection to the database
        cnn.Open ConnectionString
        'Timeout error in seconds for executing the entire query; this will run for 15 minutes before VBA timesout, but your database might timeout before this value
        cnn.CommandTimeout = 900
    
        'This is your actual MS SQL query that you need to run; you should check this query first using a more robust SQL editor (such as HeidiSQL) to ensure your query is valid
        StrQuery = "SELECT TOP 10 * FROM tbl_table"
    
        'Performs the actual query
        rst.Open StrQuery, cnn
        'Dumps all the results from the StrQuery into cell A2 of the first sheet in the active workbook
        Sheets(1).Range("A2").CopyFromRecordset rst
    End Sub
    

    How to use vagrant in a proxy environment?

    On windows, you must set a variable to specify proxy settings, download the vagrant-proxyconf plugin: (replace {PROXY_SCHEME}(http:// or https://), {PROXY_IP} and {PROXY_PORT} by the right values)

    set http_proxy={PROXY_SCHEME}{PROXY_IP}:{PROXY_PORT}
    set https_proxy={PROXY_SCHEME}{PROXY_IP}:{PROXY_PORT}
    

    After that, you can add the plugin to hardcode your proxy settings in the vagrant file

    vagrant plugin install vagrant-proxyconf --plugin-source http://rubygems.org
    

    and then you can provide config.proxy.xxx settings in your Vagrantfile to be independent against environment settings variables

    Listing information about all database files in SQL Server

    If you want get location of Database you can check Get All DBs Location.
    you can use sys.master_files for get location of db and sys.databse to get db name

    SELECT
        db.name AS DBName,
        type_desc AS FileType,
        Physical_Name AS Location
    FROM
        sys.master_files mf
    INNER JOIN 
        sys.databases db ON db.database_id = mf.database_id
    

    Apply formula to the entire column

    I think you are in luck. Please try entering in B1:

    =text(A1:A,"00000")
    

    (very similar!) but before hitting Enter hit Ctrl+Shift+Enter.

    finding first day of the month in python

    My solution to find the first and last day of the current month:

    def find_current_month_last_day(today: datetime) -> datetime:
        if today.month == 2:
            return today.replace(day=28)
    
        if today.month in [4, 6, 9, 11]:
            return today.replace(day=30)
    
        return today.replace(day=31)
    
    
    def current_month_first_and_last_days() -> tuple:
        today = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
        first_date = today.replace(day=1)
        last_date = find_current_month_last_day(today)
        return first_date, last_date
    

    how can I connect to a remote mongo server from Mac OS terminal

    Another way to do this is:

    mongo mongodb://mongoDbIPorDomain:port
    

    How do you build a Singleton in Dart?

    This is how I implement singleton in my projects

    Inspired from flutter firebase => FirebaseFirestore.instance.collection('collectionName')

    class FooAPI {
      foo() {
        // some async func to api
      }
    }
    
    class SingletonService {
      FooAPI _fooAPI;
    
      static final SingletonService _instance = SingletonService._internal();
    
      static SingletonService instance = SingletonService();
    
      factory SingletonService() {
        return _instance;
      }
    
      SingletonService._internal() {
        // TODO: add init logic if needed
        // FOR EXAMPLE API parameters
      }
    
      void foo() async {
        await _fooAPI.foo();
      }
    }
    
    void main(){
      SingletonService.instance.foo();
    }
    

    example from my project

    class FirebaseLessonRepository implements LessonRepository {
      FirebaseLessonRepository._internal();
    
      static final _instance = FirebaseLessonRepository._internal();
    
      static final instance = FirebaseLessonRepository();
    
      factory FirebaseLessonRepository() => _instance;
    
      var lessonsCollection = fb.firestore().collection('lessons');
      
      // ... other code for crud etc ...
    }
    
    // then in my widgets
    FirebaseLessonRepository.instance.someMethod(someParams);
    

    How to indent/format a selection of code in Visual Studio Code with Ctrl + Shift + F

    (This works at least up to version 1.52.0, 10 Dec 2020)


    On macOS Visual Studio Code version 1.36.1 (2019)

    Visual Studio Code version 1.36.1 (2019)

    To auto-format the selection, use ?K ?F (the trick is that this is to be done in sequence, ?K first, followed by ?F).

    Auto-format selection or document

    To just indent (shift right) without auto-formatting, use ?]

    Indent options

    As in Keyboard Shortcuts (?K ?S, or from the menu as shown below)

    Keyboard shortcuts

    html table cell width for different rows

    One solution would be to divide your table into 20 columns of 5% width each, then use colspan on each real column to get the desired width, like this:

    _x000D_
    _x000D_
    <html>_x000D_
    <body bgcolor="#14B3D9">_x000D_
    <table width="100%" border="1" bgcolor="#ffffff">_x000D_
        <colgroup>_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
            <col width="5%"><col width="5%">_x000D_
        </colgroup>_x000D_
        <tr>_x000D_
            <td colspan=5>25</td>_x000D_
            <td colspan=10>50</td>_x000D_
            <td colspan=5>25</td>_x000D_
        </tr>_x000D_
        <tr>_x000D_
            <td colspan=10>50</td>_x000D_
            <td colspan=6>30</td>_x000D_
            <td colspan=4>20</td>_x000D_
        </tr>_x000D_
    </table>_x000D_
    </body>_x000D_
    </html>
    _x000D_
    _x000D_
    _x000D_

    JSFIDDLE

    Cannot use string offset as an array in php

    I was able to reproduce this once I upgraded to PHP 7. It breaks when you try to force array elements into a string.

    $params = '';
    foreach ($foo) {
      $index = 0;
      $params[$index]['keyName'] = $name . '.' . $fileExt;
    }
    

    After changing:

    $params = '';
    

    to:

    $params = array();
    

    I stopped getting the error. I found the solution in this bug report thread. I hope this helps.

    Getting a list item by index

    Old question, but I see that this thread was fairly recently active, so I'll go ahead and throw in my two cents:

    Pretty much exactly what Mitch said. Assuming proper indexing, you can just go ahead and use square bracket notation as if you were accessing an array. In addition to using the numeric index, though, if your members have specific names, you can often do kind of a simultaneous search/access by typing something like:

    var temp = list1["DesiredMember"];
    

    The more you know, right?

    .htaccess not working apache

    In WampServer Open WampServer Tray icon ----> Apache ---> Apache Modules --->rewrite_module

    How to prevent null values inside a Map and null fields inside a bean from getting serialized through Jackson

    For Jackson versions < 2.0 use this annotation on the class being serialized:

    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
    

    Parsing JSON Array within JSON Object

    private static String readAll(Reader rd) throws IOException {
        StringBuilder sb = new StringBuilder();
        int cp;
        while ((cp = rd.read()) != -1) {
          sb.append((char) cp);
        }
        return sb.toString();
      }
    
     String jsonText = readAll(inputofyourjsonstream);
     JSONObject json = new JSONObject(jsonText);
     JSONArray arr = json.getJSONArray("sources");
    

    Your arr would looks like: [ { "id":1001, "name":"jhon" }, { "id":1002, "name":"jhon" } ] You can use:

    arr.getJSONObject(index)
    

    to get the objects inside of the array.

    How to replace local branch with remote branch entirely in Git?

    git checkout .

    i always use this command to replace my local changes with repository changes. git checkout space dot.

    When does socket.recv(recv_size) return?

    Yes, your conclusion is correct. socket.recv is a blocking call.

    socket.recv(1024) will read at most 1024 bytes, blocking if no data is waiting to be read. If you don't read all data, an other call to socket.recv won't block.

    socket.recv will also end with an empty string if the connection is closed or there is an error.

    If you want a non-blocking socket, you can use the select module (a bit more complicated than just using sockets) or you can use socket.setblocking.

    I had issues with socket.setblocking in the past, but feel free to try it if you want.

    How to get 'System.Web.Http, Version=5.2.3.0?

    I did Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3 but it still did not work. Then looked in my project bin folder and saw that it still had the old System.Web.Mvc file.

    So I manually copied the newer file from the package to the bin folder. Then I was up and running again.

    How to apply bold text style for an entire row using Apache POI?

    This worked for me

        Object[][] bookData = { { "col1", "col2", 3 }, { "col1", "col2", 3 }, { "col1", "col2", 3 },
                { "col1", "col2", 3 }, { "col1", "col2", 3 }, { "col1", "col2", 3 } };
    
        String[] headers = new String[] { "HEader 1", "HEader 2", "HEader 3" };
    
        int noOfColumns = headers.length;
        int rowCount = 0;
    
        Row rowZero = sheet.createRow(rowCount++);
        CellStyle style = workbook.createCellStyle();
        Font font = workbook.createFont();
        font.setBoldweight(Font.BOLDWEIGHT_BOLD);
        style.setFont(font);
        for (int col = 1; col <= noOfColumns; col++) {
            Cell cell = rowZero.createCell(col);
            cell.setCellValue(headers[col - 1]);
            cell.setCellStyle(style);
        }
    

    c# write text on bitmap

    var bmp = new Bitmap(@"path\picture.bmp");
    using( Graphics g = Graphics.FromImage( bmp ) )
    {
        g.DrawString( ... );
    }
    
    picturebox1.Image = bmp;
    

    AES Encryption for an NSString on the iPhone

    Since you haven't posted any code, it's difficult to know exactly which problems you're encountering. However, the blog post you link to does seem to work pretty decently... aside from the extra comma in each call to CCCrypt() which caused compile errors.

    A later comment on that post includes this adapted code, which works for me, and seems a bit more straightforward. If you include their code for the NSData category, you can write something like this: (Note: The printf() calls are only for demonstrating the state of the data at various points — in a real application, it wouldn't make sense to print such values.)

    int main (int argc, const char * argv[]) {
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    
        NSString *key = @"my password";
        NSString *secret = @"text to encrypt";
    
        NSData *plain = [secret dataUsingEncoding:NSUTF8StringEncoding];
        NSData *cipher = [plain AES256EncryptWithKey:key];
        printf("%s\n", [[cipher description] UTF8String]);
    
        plain = [cipher AES256DecryptWithKey:key];
        printf("%s\n", [[plain description] UTF8String]);
        printf("%s\n", [[[NSString alloc] initWithData:plain encoding:NSUTF8StringEncoding] UTF8String]);
    
        [pool drain];
        return 0;
    }
    

    Given this code, and the fact that encrypted data will not always translate nicely into an NSString, it may be more convenient to write two methods that wrap the functionality you need, in forward and reverse...

    - (NSData*) encryptString:(NSString*)plaintext withKey:(NSString*)key {
        return [[plaintext dataUsingEncoding:NSUTF8StringEncoding] AES256EncryptWithKey:key];
    }
    
    - (NSString*) decryptData:(NSData*)ciphertext withKey:(NSString*)key {
        return [[[NSString alloc] initWithData:[ciphertext AES256DecryptWithKey:key]
                                      encoding:NSUTF8StringEncoding] autorelease];
    }
    

    This definitely works on Snow Leopard, and @Boz reports that CommonCrypto is part of the Core OS on the iPhone. Both 10.4 and 10.5 have /usr/include/CommonCrypto, although 10.5 has a man page for CCCryptor.3cc and 10.4 doesn't, so YMMV.


    EDIT: See this follow-up question on using Base64 encoding for representing encrypted data bytes as a string (if desired) using safe, lossless conversions.

    limit text length in php and provide 'Read more' link

    Another method: insert the following in your theme's function.php file.

    remove_filter('get_the_excerpt', 'wp_trim_excerpt');
    add_filter('get_the_excerpt', 'custom_trim_excerpt');
    
    function custom_trim_excerpt($text) { // Fakes an excerpt if needed
    global $post;
    if ( '' == $text ) {
    $text = get_the_content('');
    $text = apply_filters('the_content', $text);
    $text = str_replace(']]>', ']]>', $text);
    $text = strip_tags($text);
    $excerpt_length = x;
    $words = explode(' ', $text, $excerpt_length + 1);
    if (count($words) > $excerpt_length) {
    array_pop($words);
    array_push($words, '...');
    $text = implode(' ', $words);
    }
    }
    return $text;
    }
    

    You can use this.

    In PHP how can you clear a WSDL cache?

    Just for the reason of documentation:

    I have now (2014) observed that from all these valuable and correct approaches only one was successful. I've added a function to the WSDL on the server, and the client wasn't recognizing the new function.

    • Adding WSDL_CACHE_NONE to the parameters didn't help.
    • Adding the cache-buster didn't help.
    • Setting soap.wsdl_cache_enabled to the PHP ini helped.

    I am now unsure if it is the combination of all three, or if some features are terribly implemented so they may remain useless randomly, or if there is some hierarchy of features not understood.

    So finally, expect that you have to check all three to solve problems like these.