Programs & Examples On #Fusebox

Fusebox is a coding methodology for application development centered around the use of switch statements and naming conventions to organize code.

system("pause"); - Why is it wrong?

It's frowned upon because it's a platform-specific hack that has nothing to do with actually learning programming, but instead to get around a feature of the IDE/OS - the console window launched from Visual Studio closes when the program has finished execution, and so the new user doesn't get to see the output of his new program.

Bodging in System("pause") runs the Windows command-line "pause" program and waits for that to terminate before it continues execution of the program - the console window stays open so you can read the output.

A better idea would be to put a breakpoint at the end and debug it, but that again has problems.

What is the difference between compileSdkVersion and targetSdkVersion?

The compileSdkVersion should be newest stable version. The targetSdkVersion should be fully tested and less or equal to compileSdkVersion.

How to replace all occurrences of a string in Javascript?

The best solution, in order to replace any character we use the indexOf(), includes(), and substring() functions to replace the matched string with the provided string in the current string.

  • The String.indexOf() function is to find the nth match index position.
  • The String.includes() method determines whether one string may be found within another string, returning true or false as appropriate.
  • String.substring() function is to get the parts of String(preceding,exceding). Add the replace String in-between these parts to generate final return String.

The following function allows to use any character.
where as RegExp will not allow some special character like ** and some characters need to be escaped, like $.

String.prototype.replaceAllMatches = function(obj) { // Obj format: { 'matchkey' : 'replaceStr' }
    var retStr = this;
    for (var x in obj) {
        //var matchArray = retStr.match(new RegExp(x, 'ig'));
        //for (var i = 0; i < matchArray.length; i++) {
        var prevIndex = retStr.indexOf(x); // matchkey = '*', replaceStr = '$*' While loop never ends.
        while (retStr.includes(x)) {
            retStr = retStr.replaceMatch(x, obj[x], 0);
            var replaceIndex = retStr.indexOf(x);
            if( replaceIndex <  prevIndex + (obj[x]).length) {
                break;
            } else {
                prevIndex = replaceIndex;
            }
        }
    }
    return retStr;
};
String.prototype.replaceMatch = function(matchkey, replaceStr, matchIndex) {
    var retStr = this, repeatedIndex = 0;
    //var matchArray = retStr.match(new RegExp(matchkey, 'ig'));
    //for (var x = 0; x < matchArray.length; x++) {
    for (var x = 0; (matchkey != null) && (retStr.indexOf(matchkey) > -1); x++) {
        if (repeatedIndex == 0 && x == 0) {
            repeatedIndex = retStr.indexOf(matchkey);
        } else { // matchIndex > 0
            repeatedIndex = retStr.indexOf(matchkey, repeatedIndex + 1);
        }
        if (x == matchIndex) {
            retStr = retStr.substring(0, repeatedIndex) + replaceStr + retStr.substring(repeatedIndex + (matchkey.length));
            matchkey = null; // To break the loop.
        }
    }
    return retStr;
};

We can also use the regular expression object for matching text with a pattern. The following are functions which will use the regular expression object.

You will get SyntaxError when you are using an invalid regular expression pattern like '**'.

  • The String.replace() function is used to replace the specified String with the given String.
  • The String.match() function is to find how many time the string is repeated.
  • The RegExp.prototype.test method executes a search for a match between a regular expression and a specified string. Returns true or false.
String.prototype.replaceAllRegexMatches = function(obj) { // Obj format: { 'matchkey' : 'replaceStr' }
    var retStr = this;
    for (var x in obj) {
        retStr = retStr.replace(new RegExp(x, 'ig'), obj[x]);
    }
    return retStr;
};

Note that regular expressions are written without quotes.


Examples to use the above functions:

var str = "yash yas $dfdas.**";
console.log('String: ', str);

// No need to escape any special character
console.log('Index matched replace: ', str.replaceMatch('as', '*', 2));
console.log('Index Matched replace: ', str.replaceMatch('y', '~', 1));
console.log('All Matched replace: ', str.replaceAllMatches({'as': '**', 'y':'Y', '$':'-'}));
console.log('All Matched replace : ', str.replaceAllMatches({'**': '~~', '$':'&$&', '&':'%', '~':'>'}));

// You need to escape some special Characters
console.log('REGEX all matched replace: ', str.replaceAllRegexMatches({'as' : '**', 'y':'Y', '\\$':'-'}));

Result:

String:  yash yas $dfdas.**
Index Matched replace:  yash yas $dfd*.**
Index Matched replace:  yash ~as $dfdas.**

All Matched replace:  Y**h Y** -dfd**.**
All Matched replace:  yash yas %$%dfdas.>>

REGEX All Matched replace:  Y**h Y** -dfd**.**

MySQL LIKE IN()?

Sorry, there is no operation similar to LIKE IN in mysql.

If you want to use the LIKE operator without a join, you'll have to do it this way:

(field LIKE value OR field LIKE value OR field LIKE value)

You know, MySQL will not optimize that query, FYI.

AttributeError: 'str' object has no attribute 'append'

myList[1] is an element of myList and it's type is string.

myList[1] is str, you can not append to it. myList is a list, you should have been appending to it.

>>> myList = [1, 'from form', [1,2]]
>>> myList[1]
'from form'
>>> myList[2]
[1, 2]
>>> myList[2].append('t')
>>> myList
[1, 'from form', [1, 2, 't']]
>>> myList[1].append('t')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'append'
>>> 

Spring can you autowire inside an abstract class?

What if you need any database operation in SuperGirl you would inject it again into SuperGirl.

I think the main idea is using the same object reference in different classes. So what about this:

//There is no annotation about Spring in the abstract part.
abstract class SuperMan {


    private final DatabaseService databaseService;

    public SuperMan(DatabaseService databaseService) {
     this.databaseService = databaseService;
    }

    abstract void Fly();

    protected void doSuperPowerAction(Thing thing) {

        //busy code

        databaseService.save(thing);

    }
}

@Component
public class SuperGirl extends SuperMan {

private final DatabaseService databaseService;

@Autowired
public SuperGirl (DatabaseService databaseService) {
     super(databaseService);
     this.databaseService = databaseService;
    }

@Override
public void Fly() {
    //busy code
}

public doSomethingSuperGirlDoes() {

    //busy code

    doSuperPowerAction(thing)

}

In my opinion, inject once run everywhere :)

Python for and if on one line

Found this one:

[x for (i,x) in enumerate(my_list) if my_list[i] == "two"]

Will print:

["two"]

MAX(DATE) - SQL ORACLE

SELECT p.MEMBSHIP_ID
FROM user_payments as p
WHERE USER_ID = 1 AND PAYM_DATE = (
    SELECT MAX(p2.PAYM_DATE)
    FROM user_payments as p2
    WHERE p2.USER_ID = p.USER_ID
)

Add Legend to Seaborn point plot

Old question, but there's an easier way.

sns.pointplot(x=x_col,y=y_col,data=df_1,color='blue')
sns.pointplot(x=x_col,y=y_col,data=df_2,color='green')
sns.pointplot(x=x_col,y=y_col,data=df_3,color='red')
plt.legend(labels=['legendEntry1', 'legendEntry2', 'legendEntry3'])

This lets you add the plots sequentially, and not have to worry about any of the matplotlib crap besides defining the legend items.

Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object

@Balasubramani M saved me here. Wanted to add one more to help people. This is the problem when you're gluing too many things together and being cavalier with versions. I updated a version of material-ui and need to change

import Card, {CardContent, CardMedia, CardActions } from "@material-ui/core/Card"; 

to this:

import Card from '@material-ui/core/Card';
import CardActions from '@material-ui/core/CardActions';
import CardContent from '@material-ui/core/CardContent';
import CardMedia from '@material-ui/core/CardMedia';

AddTransient, AddScoped and AddSingleton Services Differences

After looking for an answer for this question I found a brilliant explanation with an example that I would like to share with you.

You can watch a video that demonstrate the differences HERE

In this example we have this given code:

public interface IEmployeeRepository
{
    IEnumerable<Employee> GetAllEmployees();
    Employee Add(Employee employee);
}

public class Employee
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class MockEmployeeRepository : IEmployeeRepository
{
    private List<Employee> _employeeList;

    public MockEmployeeRepository()
    {
        _employeeList = new List<Employee>()
    {
        new Employee() { Id = 1, Name = "Mary" },
        new Employee() { Id = 2, Name = "John" },
        new Employee() { Id = 3, Name = "Sam" },
    };
    }

    public Employee Add(Employee employee)
    {
        employee.Id = _employeeList.Max(e => e.Id) + 1;
        _employeeList.Add(employee);
        return employee;
    }

    public IEnumerable<Employee> GetAllEmployees()
    {
        return _employeeList;
    }
}

HomeController

public class HomeController : Controller
{
    private IEmployeeRepository _employeeRepository;

    public HomeController(IEmployeeRepository employeeRepository)
    {
        _employeeRepository = employeeRepository;
    }

    [HttpGet]
    public ViewResult Create()
    {
        return View();
    }

    [HttpPost]
    public IActionResult Create(Employee employee)
    {
        if (ModelState.IsValid)
        {
            Employee newEmployee = _employeeRepository.Add(employee);
        }

        return View();
    }
}

Create View

@model Employee
@inject IEmployeeRepository empRepository

<form asp-controller="home" asp-action="create" method="post">
    <div>
        <label asp-for="Name"></label>
        <div>
            <input asp-for="Name">
        </div>
    </div>

    <div>
        <button type="submit">Create</button>
    </div>

    <div>
        Total Employees Count = @empRepository.GetAllEmployees().Count().ToString()
    </div>
</form>

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddSingleton<IEmployeeRepository, MockEmployeeRepository>();
}

Copy-paste this code and press on the create button in the view and switch between AddSingleton , AddScoped and AddTransient you will get each time a different result that will might help you understand this.

AddSingleton() - As the name implies, AddSingleton() method creates a Singleton service. A Singleton service is created when it is first requested. This same instance is then used by all the subsequent requests. So in general, a Singleton service is created only one time per application and that single instance is used throughout the application life time.

AddTransient() - This method creates a Transient service. A new instance of a Transient service is created each time it is requested.

AddScoped() - This method creates a Scoped service. A new instance of a Scoped service is created once per request within the scope. For example, in a web application it creates 1 instance per each http request but uses the same instance in the other calls within that same web request.

jquery function setInterval

This is because you are executing the function not referencing it. You should do:

  setInterval(swapImages,1000);

Java converting int to hex and back again

Java's parseInt method is actally a bunch of code eating "false" hex : if you want to translate -32768, you should convert the absolute value into hex, then prepend the string with '-'.

There is a sample of Integer.java file :

public static int parseInt(String s, int radix)

The description is quite explicit :

* Parses the string argument as a signed integer in the radix 
* specified by the second argument. The characters in the string 
...
...
* parseInt("0", 10) returns 0
* parseInt("473", 10) returns 473
* parseInt("-0", 10) returns 0
* parseInt("-FF", 16) returns -255

AttributeError: 'DataFrame' object has no attribute

value_counts work only for series. It won't work for entire DataFrame. Try selecting only one column and using this attribute. For example:

df['accepted'].value_counts()

It also won't work if you have duplicate columns. This is because when you select a particular column, it will also represent the duplicate column and will return dataframe instead of series. At that time remove duplicate column by using

df = df.loc[:,~df.columns.duplicated()]
df['accepted'].value_counts()

How can I get new selection in "select" in Angular 2?

You can pass the value back into the component by creating a reference variable on the select tag #device and passing it into the change handler onChange($event, device.value) should have the new value

<select [(ng-model)]="selectedDevice" #device (change)="onChange($event, device.value)">
    <option *ng-for="#i of devices">{{i}}</option>
</select>

onChange($event, deviceValue) {
    console.log(deviceValue);
}

Properly embedding Youtube video into bootstrap 3.0 page

This works fine for me...

   .delimitador{
        width:100%;
        margin:auto;
    }
    .contenedor{
        height:0px;
        width:100%;
        /*max-width:560px; /* Así establecemos el ancho máximo (si lo queremos) */
        padding-top:56.25%; /* Relación: 16/9 = 56.25% */
        position:relative;
    }

    iframe{
            position:absolute;
            height:100%;
            width:100%;
            top:0px;
            left:0px;
    }

and then

<div class="delimitador">
<div class="contenedor">
// youtube code 
</div>
</div>

Select From all tables - MySQL

why you dont just dump the mysql database but with extension when you run without --single-transaction you will interrupt the connection to other clients:

mysqldump --host=hostname.de --port=0000 --user=username --password=password --single-transaction --skip-add-locks --skip-lock-tables --default-character-set=utf8 datenbankname > mysqlDBBackup.sql 

after that read out the file and search for what you want.... in Strings.....

How to calculate UILabel width based on text length?

CGRect rect = label.frame;
rect.size = [label.text sizeWithAttributes:@{NSFontAttributeName : [UIFont fontWithName:label.font.fontName size:label.font.pointSize]}];
label.frame = rect;

Stopword removal with NLTK

There is an in-built stopword list in NLTK made up of 2,400 stopwords for 11 languages (Porter et al), see http://nltk.org/book/ch02.html

>>> from nltk import word_tokenize
>>> from nltk.corpus import stopwords
>>> stop = set(stopwords.words('english'))
>>> sentence = "this is a foo bar sentence"
>>> print([i for i in sentence.lower().split() if i not in stop])
['foo', 'bar', 'sentence']
>>> [i for i in word_tokenize(sentence.lower()) if i not in stop] 
['foo', 'bar', 'sentence']

I recommend looking at using tf-idf to remove stopwords, see Effects of Stemming on the term frequency?

How do I convert two lists into a dictionary?

Here is also an example of adding a list value in you dictionary

list1 = ["Name", "Surname", "Age"]
list2 = [["Cyd", "JEDD", "JESS"], ["DEY", "AUDIJE", "PONGARON"], [21, 32, 47]]
dic = dict(zip(list1, list2))
print(dic)

always make sure the your "Key"(list1) is always in the first parameter.

{'Name': ['Cyd', 'JEDD', 'JESS'], 'Surname': ['DEY', 'AUDIJE', 'PONGARON'], 'Age': [21, 32, 47]}

How to log as much information as possible for a Java Exception?

The java.util.logging package is standard in Java SE. Its Logger includes an overloaded log method that accepts Throwable objects. It will log stacktraces of exceptions and their cause for you.

For example:

import java.util.logging.Level;
import java.util.logging.Logger;

[...]

Logger logger = Logger.getAnonymousLogger();
Exception e1 = new Exception();
Exception e2 = new Exception(e1);
logger.log(Level.SEVERE, "an exception was thrown", e2);

Will log:

SEVERE: an exception was thrown
java.lang.Exception: java.lang.Exception
    at LogStacktrace.main(LogStacktrace.java:21)
Caused by: java.lang.Exception
    at LogStacktrace.main(LogStacktrace.java:20)

Internally, this does exactly what @philipp-wendler suggests, by the way. See the source code for SimpleFormatter.java. This is just a higher level interface.

How to Concatenate Numbers and Strings to Format Numbers in T-SQL?

I was tried the below query it's works for me exactly

 with cte as(

   select ROW_NUMBER() over (order by repairid) as'RN', [RepairProductId] from [Ws_RepairList]
  )
  update CTE set [RepairProductId]= ISNULL([RepairProductId]+convert(nvarchar(10),RN),0) from cte

CSS smooth bounce animation

Here is code not using the percentage in the keyframes. Because you used percentages the animation does nothing a long time.

  • 0% translate 0px
  • 20% translate 0px
  • etc.

How does this example work:

  1. We set an animation. This is a short hand for animation properties.
  2. We immediately start the animation since we use from and to in the keyframes. from is = 0% and to is = 100%
  3. We can now control how fast it will bounce by setting the animation time: animation: bounce 1s infinite alternate; the 1s is how long the animation will last.

_x000D_
_x000D_
.ball {_x000D_
  margin-top: 50px;_x000D_
  border-radius: 50%;_x000D_
  width: 50px;_x000D_
  height: 50px;_x000D_
  background-color: cornflowerblue;_x000D_
  border: 2px solid #999;_x000D_
  animation: bounce 1s infinite alternate;_x000D_
  -webkit-animation: bounce 1s infinite alternate;_x000D_
}_x000D_
@keyframes bounce {_x000D_
  from {_x000D_
    transform: translateY(0px);_x000D_
  }_x000D_
  to {_x000D_
    transform: translateY(-15px);_x000D_
  }_x000D_
}_x000D_
@-webkit-keyframes bounce {_x000D_
  from {_x000D_
    transform: translateY(0px);_x000D_
  }_x000D_
  to {_x000D_
    transform: translateY(-15px);_x000D_
  }_x000D_
}
_x000D_
<div class="ball"></div>
_x000D_
_x000D_
_x000D_

How to set editor theme in IntelliJ Idea

For IntelliJ Mac / IOS,

Click on IntelliJ IDEA text besides enter image description here on top left corner then Preferences->Editor->Color Scheme-> Select the required one

How to use google maps without api key

Note : This answer is now out-of-date. You are now required to have an API key to use google maps. Read More


you need to change your API from V2 to V3, Since Google Map Version 3 don't required API Key

Check this out..

write your script as

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

Enable UTF-8 encoding for JavaScript

just add your script like this:

<script src="/js/intlTelInput.min.js" charset="utf-8"></script>

How many times a substring occurs

Below logic will work for all string & special characters

def cnt_substr(inp_str, sub_str):
    inp_join_str = ''.join(inp_str.split())
    sub_join_str = ''.join(sub_str.split())

    return inp_join_str.count(sub_join_str)

print(cnt_substr("the sky is   $blue and not greenthe sky is   $blue and not green", "the sky"))

What is the use of BindingResult interface in spring MVC?

Basically BindingResult is an interface which dictates how the object that stores the result of validation should store and retrieve the result of the validation(errors, attempt to bind to disallowed fields etc)

From Spring MVC Form Validation with Annotations Tutorial:

[BindingResult] is Spring’s object that holds the result of the validation and binding and contains errors that may have occurred. The BindingResult must come right after the model object that is validated or else Spring will fail to validate the object and throw an exception.

When Spring sees @Valid, it tries to find the validator for the object being validated. Spring automatically picks up validation annotations if you have “annotation-driven” enabled. Spring then invokes the validator and puts any errors in the BindingResult and adds the BindingResult to the view model.

Exception is never thrown in body of corresponding try statement

Any class which extends Exception class will be a user defined Checked exception class where as any class which extends RuntimeException will be Unchecked exception class. as mentioned in User defined exception are checked or unchecked exceptions So, not throwing the checked exception(be it user-defined or built-in exception) gives compile time error.

Checked exception are the exceptions that are checked at compile time.

Unchecked exception are the exceptions that are not checked at compiled time

How to use Chrome's network debugger with redirects

Another great solution to debug the Network calls before redirecting to other pages is to select the beforeunload event break point

This way you assure to break the flow right before it redirecting it to another page, this way all network calls, network data and console logs are still there.

This solution is best when you want to check what is the response of the calls

Chrome beforeunload event break point

P.S: You can also use XHR break points if you want to stop right before a specific call or any call (see image example) XHR break point

C multi-line macro: do/while(0) vs scope block

Andrey Tarasevich provides the following explanation:

  1. On Google Groups
  2. On bytes.com

[Minor changes to formatting made. Parenthetical annotations added in square brackets []].

The whole idea of using 'do/while' version is to make a macro which will expand into a regular statement, not into a compound statement. This is done in order to make the use of function-style macros uniform with the use of ordinary functions in all contexts.

Consider the following code sketch:

if (<condition>)
  foo(a);
else
  bar(a);

where foo and bar are ordinary functions. Now imagine that you'd like to replace function foo with a macro of the above nature [named CALL_FUNCS]:

if (<condition>)
  CALL_FUNCS(a);
else
  bar(a);

Now, if your macro is defined in accordance with the second approach (just { and }) the code will no longer compile, because the 'true' branch of if is now represented by a compound statement. And when you put a ; after this compound statement, you finished the whole if statement, thus orphaning the else branch (hence the compilation error).

One way to correct this problem is to remember not to put ; after macro "invocations":

if (<condition>)
  CALL_FUNCS(a)
else
  bar(a);

This will compile and work as expected, but this is not uniform. The more elegant solution is to make sure that macro expand into a regular statement, not into a compound one. One way to achieve that is to define the macro as follows:

#define CALL_FUNCS(x) \
do { \
  func1(x); \
  func2(x); \
  func3(x); \
} while (0)

Now this code:

if (<condition>)
  CALL_FUNCS(a);
else
  bar(a);

will compile without any problems.

However, note the small but important difference between my definition of CALL_FUNCS and the first version in your message. I didn't put a ; after } while (0). Putting a ; at the end of that definition would immediately defeat the entire point of using 'do/while' and make that macro pretty much equivalent to the compound-statement version.

I don't know why the author of the code you quoted in your original message put this ; after while (0). In this form both variants are equivalent. The whole idea behind using 'do/while' version is not to include this final ; into the macro (for the reasons that I explained above).

Get file content from URL?

$url = "https://chart.googleapis....";
$json = file_get_contents($url);

Now you can either echo the $json variable, if you just want to display the output, or you can decode it, and do something with it, like so:

$data = json_decode($json);
var_dump($data);

How do I copy the contents of one ArrayList into another?

Copy of one list into second is quite simple , you can do that as below:-

ArrayList<List1> list1= new ArrayList<>();
ArrayList<List1> list2= new ArrayList<>();
//this will your copy your list1 into list2
list2.addAll(list1);

Get an element by index in jQuery

There is another way of getting an element by index in jQuery using CSS :nth-of-type pseudo-class:

<script>
    // css selector that describes what you need:
    // ul li:nth-of-type(3)
    var selector = 'ul li:nth-of-type(' + index + ')';
    $(selector).css({'background-color':'#343434'});
</script>

There are other selectors that you may use with jQuery to match any element that you need.

Finding non-numeric rows in dataframe in pandas?

# Original code
df = pd.DataFrame({'a': [1, 2, 3, 'bad', 5],
                   'b': [0.1, 0.2, 0.3, 0.4, 0.5],
                   'item': ['a', 'b', 'c', 'd', 'e']})
df = df.set_index('item')

Convert to numeric using 'coerce' which fills bad values with 'nan'

a = pd.to_numeric(df.a, errors='coerce')

Use isna to return a boolean index:

idx = a.isna()

Apply that index to the data frame:

df[idx]

output

Returns the row with the bad data in it:

        a    b
item          
d     bad  0.4

How do I list one filename per output line in Linux?

you can use ls -1

ls -l will also do the work

Using PI in python 2.7

Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.pi
3.141592653589793

Check out the Python tutorial on modules and how to use them.

As for the second part of your question, Python comes with batteries included, of course:

>>> math.radians(90)
1.5707963267948966
>>> math.radians(180)
3.141592653589793

Prevent the keyboard from displaying on activity start

Try to declare it in menifest file

<activity android:name=".HomeActivity"
      android:label="@string/app_name"
      android:windowSoftInputMode="stateAlwaysHidden"
      >

How to place a file on classpath in Eclipse?

Just to add. If you right-click on an eclipse project and select Properties, select the Java Build Path link on the left. Then select the Source Tab. You'll see a list of all the java source folders. You can even add your own. By default the {project}/src folder is the classpath folder.

How to convert webpage into PDF by using Python

here is the one working fine:

import sys 
from PyQt4.QtCore import *
from PyQt4.QtGui import * 
from PyQt4.QtWebKit import * 

app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("http://www.yahoo.com"))
printer = QPrinter()
printer.setPageSize(QPrinter.A4)
printer.setOutputFormat(QPrinter.PdfFormat)
printer.setOutputFileName("fileOK.pdf")

def convertIt():
    web.print_(printer)
    print("Pdf generated")
    QApplication.exit()

QObject.connect(web, SIGNAL("loadFinished(bool)"), convertIt)
sys.exit(app.exec_())

How to configure Eclipse build path to use Maven dependencies?

If you right-click on your project, there should be an option under "maven" to "enable dependency management". That's it.

How to keep environment variables when using sudo

First you need to export HTTP_PROXY. Second, you need to read man sudo carefully, and pay attention to the -E flag. This works:

$ export HTTP_PROXY=foof
$ sudo -E bash -c 'echo $HTTP_PROXY'

Here is the quote from the man page:

-E, --preserve-env
             Indicates to the security policy that the user wishes to preserve their
             existing environment variables.  The security policy may return an error
             if the user does not have permission to preserve the environment.

How to run a Python script in the background even after I logout SSH?

If you've already started the process, and don't want to kill it and restart under nohup, you can send it to the background, then disown it.

Ctrl+Z (suspend the process)

bg (restart the process in the background

disown %1 (assuming this is job #1, use jobs to determine)

Do I need to convert .CER to .CRT for Apache SSL certificates? If so, how?

CER is an X.509 certificate in binary form, DER encoded.
CRT is a binary X.509 certificate, encapsulated in text (base-64) encoding.

It is not the same encoding.

scp from Linux to Windows

To send a file from windows to linux system

scp path-to-file user@ipaddress:/path-to-destination

Example:

scp C:/Users/adarsh/Desktop/Document.txt [email protected]:/tmp

keep in mind that there need to use forward slash(/) inplace of backward slash(\) in for the file in windows path else it will show an error

C:UsersadarshDesktopDocument.txt: No such file or directory

. After executing scp command you will ask for password of root user in linux machine. There you GO...

To send a file from linux to windows system

scp -r user@ipaddress:/path-to-file path-to-destination

Example:

scp -r [email protected]:/tmp/Document.txt C:/Users/adarsh/Desktop/

and provide your linux password. only one you have to add in this command is -r. Thanks.

Use Async/Await with Axios in React.js

Two issues jump out:

  1. Your getData never returns anything, so its promise (async functions always return a promise) will resolve with undefined when it resolves

  2. The error message clearly shows you're trying to directly render the promise getData returns, rather than waiting for it to resolve and then rendering the resolution

Addressing #1: getData should return the result of calling json:

async getData(){
   const res = await axios('/data');
   return await res.json();
}

Addressig #2: We'd have to see more of your code, but fundamentally, you can't do

<SomeElement>{getData()}</SomeElement>

...because that doesn't wait for the resolution. You'd need instead to use getData to set state:

this.getData().then(data => this.setState({data}))
              .catch(err => { /*...handle the error...*/});

...and use that state when rendering:

<SomeElement>{this.state.data}</SomeElement>

Update: Now that you've shown us your code, you'd need to do something like this:

class App extends React.Component{
    async getData() {
        const res = await axios('/data');
        return await res.json(); // (Or whatever)
    }
    constructor(...args) {
        super(...args);
        this.state = {data: null};
    }
    componentDidMount() {
        if (!this.state.data) {
            this.getData().then(data => this.setState({data}))
                          .catch(err => { /*...handle the error...*/});
        }
    }
    render() {
        return (
            <div>
                {this.state.data ? <em>Loading...</em> : this.state.data}
            </div>
        );
    }
}

Futher update: You've indicated a preference for using await in componentDidMount rather than then and catch. You'd do that by nesting an async IIFE function within it and ensuring that function can't throw. (componentDidMount itself can't be async, nothing will consume that promise.) E.g.:

class App extends React.Component{
    async getData() {
        const res = await axios('/data');
        return await res.json(); // (Or whatever)
    }
    constructor(...args) {
        super(...args);
        this.state = {data: null};
    }
    componentDidMount() {
        if (!this.state.data) {
            (async () => {
                try {
                    this.setState({data: await this.getData()});
                } catch (e) {
                    //...handle the error...
                }
            })();
        }
    }
    render() {
        return (
            <div>
                {this.state.data ? <em>Loading...</em> : this.state.data}
            </div>
        );
    }
}

How to perform update operations on columns of type JSONB in Postgres 9.4

I wrote small function for myself that works recursively in Postgres 9.4. I had same problem (good they did solve some of this headache in Postgres 9.5). Anyway here is the function (I hope it works well for you):

CREATE OR REPLACE FUNCTION jsonb_update(val1 JSONB,val2 JSONB)
RETURNS JSONB AS $$
DECLARE
    result JSONB;
    v RECORD;
BEGIN
    IF jsonb_typeof(val2) = 'null'
    THEN 
        RETURN val1;
    END IF;

    result = val1;

    FOR v IN SELECT key, value FROM jsonb_each(val2) LOOP

        IF jsonb_typeof(val2->v.key) = 'object'
            THEN
                result = result || jsonb_build_object(v.key, jsonb_update(val1->v.key, val2->v.key));
            ELSE
                result = result || jsonb_build_object(v.key, v.value);
        END IF;
    END LOOP;

    RETURN result;
END;
$$ LANGUAGE plpgsql;

Here is sample use:

select jsonb_update('{"a":{"b":{"c":{"d":5,"dd":6},"cc":1}},"aaa":5}'::jsonb, '{"a":{"b":{"c":{"d":15}}},"aa":9}'::jsonb);
                            jsonb_update                             
---------------------------------------------------------------------
 {"a": {"b": {"c": {"d": 15, "dd": 6}, "cc": 1}}, "aa": 9, "aaa": 5}
(1 row)

As you can see it analyze deep down and update/add values where needed.

Spring Boot, Spring Data JPA with multiple DataSources

I have written a complete article at Spring Boot JPA Multiple Data Sources Example. In this article, we will learn how to configure multiple data sources and connect to multiple databases in a typical Spring Boot web application. We will use Spring Boot 2.0.5, JPA, Hibernate 5, Thymeleaf and H2 database to build a simple Spring Boot multiple data sources web application.

Difference between frontend, backend, and middleware in web development

Frontend refers to the client-side, whereas backend refers to the server-side of the application. Both are crucial to web development, but their roles, responsibilities and the environments they work in are totally different. Frontend is basically what users see whereas backend is how everything works

Java regular expression OR operator

You can just use the pipe on its own:

"string1|string2"

for example:

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string1|string2", "blah"));

Output:

blah, blah, string3

The main reason to use parentheses is to limit the scope of the alternatives:

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string(1|2)", "blah"));

has the same output. but if you just do this:

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string1|2", "blah"));

you get:

blah, stringblah, string3

because you've said "string1" or "2".

If you don't want to capture that part of the expression use ?::

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string(?:1|2)", "blah"));

java.io.FileNotFoundException: /storage/emulated/0/New file.txt: open failed: EACCES (Permission denied)

If you are running in Android 29 then you have to use scoped storage or for now, you can bypass this issue by using:

android:requestLegacyExternalStorage="true"

in manifest in the application tag.

Right way to write JSON deserializer in Spring or extend it

I've searched a lot and the best way I've found so far is on this article:

Class to serialize

package net.sghill.example;

import net.sghill.example.UserDeserializer
import net.sghill.example.UserSerializer
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;

@JsonDeserialize(using = UserDeserializer.class)
public class User {
    private ObjectId id;
    private String   username;
    private String   password;

    public User(ObjectId id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public ObjectId getId()       { return id; }
    public String   getUsername() { return username; }
    public String   getPassword() { return password; }
}

Deserializer class

package net.sghill.example;

import net.sghill.example.User;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.ObjectCodec;
import org.codehaus.jackson.map.DeserializationContext;
import org.codehaus.jackson.map.JsonDeserializer;

import java.io.IOException;

public class UserDeserializer extends JsonDeserializer<User> {

    @Override
    public User deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
        ObjectCodec oc = jsonParser.getCodec();
        JsonNode node = oc.readTree(jsonParser);
        return new User(null, node.get("username").getTextValue(), node.get("password").getTextValue());
    }
}

Edit: Alternatively you can look at this article which uses new versions of com.fasterxml.jackson.databind.JsonDeserializer.

JavaScript: Check if mouse button down?

You can combine @Pax and my answers to also get the duration that the mouse has been down for:

var mousedownTimeout,
    mousedown = 0;

document.body.onmousedown = function() {
  mousedown = 0; 
  window.clearInterval(mousedownTimeout);
  mousedownTimeout = window.setInterval(function() { mousedown += 200 }, 200);
}

document.body.onmouseup = function() {
  mousedown = 0;
  window.clearInterval(mousedownTimeout);
}

Then later:

if (mousedown >= 2000) {
  // do something if the mousebutton has been down for at least 2 seconds
}

How do you easily horizontally center a <div> using CSS?

.center {
   margin-left: auto;
   margin-right: auto;
}

Minimum width is not globally supported, but can be implemented using

.divclass {
   min-width: 200px;
}

Then you can set your div to be

<div class="center divclass">stuff in here</div>

How to style the UL list to a single line

Try experimenting with something like this also:

HTML

 <ul class="inlineList">
   <li>She</li>
   <li>Needs</li>
   <li>More Padding, Captain!</li>
 </ul>

CSS

 .inlineList {
   display: flex;
   flex-direction: row;
   /* Below sets up your display method: flex-start|flex-end|space-between|space-around */
   justify-content: flex-start; 
   /* Below removes bullets and cleans white-space */
   list-style: none;
   padding: 0;
   /* Bonus: forces no word-wrap */
   white-space: nowrap;
 }
 /* Here, I got you started.
 li {
   padding-top: 50px;
   padding-bottom: 50px;
   padding-left: 50px;
   padding-right: 50px;
 }
 */

I made a codepen to illustrate: http://codepen.io/agm1984/pen/mOxaEM

UIButton: how to center an image and a text using imageEdgeInsets and titleEdgeInsets?

For what it's worth, here's a general solution to positioning the image centered above the text without using any magic numbers. Note that the following code is outdated and you should probably use one of the updated versions below:

// the space between the image and text
CGFloat spacing = 6.0;

// lower the text and push it left so it appears centered 
//  below the image
CGSize imageSize = button.imageView.frame.size;
button.titleEdgeInsets = UIEdgeInsetsMake(
  0.0, - imageSize.width, - (imageSize.height + spacing), 0.0);

// raise the image and push it right so it appears centered
//  above the text
CGSize titleSize = button.titleLabel.frame.size;
button.imageEdgeInsets = UIEdgeInsetsMake(
  - (titleSize.height + spacing), 0.0, 0.0, - titleSize.width);

The following version contains changes to support iOS 7+ that have been recommended in comments below. I haven't tested this code myself, so I'm not sure how well it works or whether it would break if used under previous versions of iOS.

// the space between the image and text
CGFloat spacing = 6.0;

// lower the text and push it left so it appears centered 
//  below the image
CGSize imageSize = button.imageView.image.size;
button.titleEdgeInsets = UIEdgeInsetsMake(
  0.0, - imageSize.width, - (imageSize.height + spacing), 0.0);

// raise the image and push it right so it appears centered
//  above the text
CGSize titleSize = [button.titleLabel.text sizeWithAttributes:@{NSFontAttributeName: button.titleLabel.font}];
button.imageEdgeInsets = UIEdgeInsetsMake(
  - (titleSize.height + spacing), 0.0, 0.0, - titleSize.width);

// increase the content height to avoid clipping
CGFloat edgeOffset = fabsf(titleSize.height - imageSize.height) / 2.0;
button.contentEdgeInsets = UIEdgeInsetsMake(edgeOffset, 0.0, edgeOffset, 0.0);

Swift 5.0 version

extension UIButton {
  func alignVertical(spacing: CGFloat = 6.0) {
    guard let imageSize = imageView?.image?.size,
      let text = titleLabel?.text,
      let font = titleLabel?.font
    else { return }

    titleEdgeInsets = UIEdgeInsets(
      top: 0.0,
      left: -imageSize.width,
      bottom: -(imageSize.height + spacing),
      right: 0.0
    )

    let titleSize = text.size(withAttributes: [.font: font])
    imageEdgeInsets = UIEdgeInsets(
      top: -(titleSize.height + spacing),
      left: 0.0,
      bottom: 0.0,
      right: -titleSize.width
    )

    let edgeOffset = abs(titleSize.height - imageSize.height) / 2.0
    contentEdgeInsets = UIEdgeInsets(
      top: edgeOffset,
      left: 0.0,
      bottom: edgeOffset,
      right: 0.0
    )
  }
}

Is Java "pass-by-reference" or "pass-by-value"?

Java passes parameters by value, There is no option of passing a reference in Java.

But at the complier binding level layer, It uses reference internally not exposed to the user.

It is essential as it saves a lot of memory and improves speed.

Diff files present in two different directories

Here is a script to show differences between files in two folders. It works recursively. Change dir1 and dir2.

(search() { for i in $1/*; do [ -f "$i" ] && (diff "$1/${i##*/}" "$2/${i##*/}" || echo "files: $1/${i##*/}   $2/${i##*/}"); [ -d "$i" ] && search "$1/${i##*/}" "$2/${i##*/}"; done }; search "dir1" "dir2" )

Fit background image to div

you also use this:

background-size:contain;
height: 0;
width: 100%;
padding-top: 66,64%; 

I don't know your div-values, but let's assume you've got those.

height: auto;
max-width: 600px;

Again, those are just random numbers. It could quite hard to make the background-image (if you would want to) with a fixed width for the div, so better use max-width. And actually it isn't complicated to fill a div with an background-image, just make sure you style the parent element the right way, so the image has a place it can go into.

Chris

Implementing multiple interfaces with Java - is there a way to delegate?

There's no pretty way. You might be able to use a proxy with the handler having the target methods and delegating everything else to them. Of course you'll have to use a factory because there'll be no constructor.

Entity Framework vs LINQ to SQL

My impression is that your database is pretty enourmous or very badly designed if Linq2Sql does not fit your needs. I have around 10 websites both larger and smaller all using Linq2Sql. I have looked and Entity framework many times but I cannot find a good reason for using it over Linq2Sql. That said I try to use my databases as model so I already have a 1 to 1 mapping between model and database.

At my current job we have a database with 200+ tables. An old database with lots of bad solutions so there I could see the benefit of Entity Framework over Linq2Sql but still I would prefer to redesign the database since the database is the engine of the application and if the database is badly designed and slow then my application will also be slow. Using Entity framework on such a database seems like a quickfix to disguise the bad model but it could never disguise the bad performance you get from such a database.

How can I generate a list of consecutive numbers?

You can use list comprehensions for this problem as it will solve it in only two lines. Code-

n = int(input("Enter the range of the list:\n"))
l1 = [i for i in range(n)] #Creates list of numbers in the range 0 to n
if __name__ == "__main__":
    print(l1)

Thank you.

How to dynamically change the color of the selected menu item of a web page?

I'm late to this question, but it's really super easy. You just define multiple tab classes in your css file, and then load the required tab as your class in the php file while creating the LI tag.

Here's an example of doing it entirely on the server:

CSS

html ul.tabs li.activeTab1, html ul.tabs li.activeTab1 a:hover, html ul.tabs li.activeTab1 a  { 
    background: #0076B5;
    color: white;
    border-bottom: 1px solid #0076B5;
}

html ul.tabs li.activeTab2, html ul.tabs li.activeTab2 a:hover, html ul.tabs li.activeTab2 a {
    background: #008C5D;
    color: white;
    border-bottom: 1px solid #008C5D;
}

PHP

<ul class="tabs">
    <li <?php print 'class="activeTab1"' ?>>
        <a href="<?php print 'Tab1.php';?>">Tab 1</a>
    </li>

    <li <?php print 'class="activeTab2"' ?>>
        <a href="<?php print 'Tab2.php';?>">Tab 2</a>
    </li>
</ul>

How should a model be structured in MVC?

More oftenly most of the applications will have data,display and processing part and we just put all those in the letters M,V and C.

Model(M)-->Has the attributes that holds state of application and it dont know any thing about V and C.

View(V)-->Has displaying format for the application and and only knows about how-to-digest model on it and does not bother about C.

Controller(C)---->Has processing part of application and acts as wiring between M and V and it depends on both M,V unlike M and V.

Altogether there is separation of concern between each. In future any change or enhancements can be added very easily.

What characters are forbidden in Windows and Linux directory names?

Here's a c# implementation for windows based on Christopher Oezbek's answer

It was made more complex by the containsFolder boolean, but hopefully covers everything

/// <summary>
/// This will replace invalid chars with underscores, there are also some reserved words that it adds underscore to
/// </summary>
/// <remarks>
/// https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names
/// </remarks>
/// <param name="containsFolder">Pass in true if filename represents a folder\file (passing true will allow slash)</param>
public static string EscapeFilename_Windows(string filename, bool containsFolder = false)
{
    StringBuilder builder = new StringBuilder(filename.Length + 12);

    int index = 0;

    // Allow colon if it's part of the drive letter
    if (containsFolder)
    {
        Match match = Regex.Match(filename, @"^\s*[A-Z]:\\", RegexOptions.IgnoreCase);
        if (match.Success)
        {
            builder.Append(match.Value);
            index = match.Length;
        }
    }

    // Character substitutions
    for (int cntr = index; cntr < filename.Length; cntr++)
    {
        char c = filename[cntr];

        switch (c)
        {
            case '\u0000':
            case '\u0001':
            case '\u0002':
            case '\u0003':
            case '\u0004':
            case '\u0005':
            case '\u0006':
            case '\u0007':
            case '\u0008':
            case '\u0009':
            case '\u000A':
            case '\u000B':
            case '\u000C':
            case '\u000D':
            case '\u000E':
            case '\u000F':
            case '\u0010':
            case '\u0011':
            case '\u0012':
            case '\u0013':
            case '\u0014':
            case '\u0015':
            case '\u0016':
            case '\u0017':
            case '\u0018':
            case '\u0019':
            case '\u001A':
            case '\u001B':
            case '\u001C':
            case '\u001D':
            case '\u001E':
            case '\u001F':

            case '<':
            case '>':
            case ':':
            case '"':
            case '/':
            case '|':
            case '?':
            case '*':
                builder.Append('_');
                break;

            case '\\':
                builder.Append(containsFolder ? c : '_');
                break;

            default:
                builder.Append(c);
                break;
        }
    }

    string built = builder.ToString();

    if (built == "")
    {
        return "_";
    }

    if (built.EndsWith(" ") || built.EndsWith("."))
    {
        built = built.Substring(0, built.Length - 1) + "_";
    }

    // These are reserved names, in either the folder or file name, but they are fine if following a dot
    // CON, PRN, AUX, NUL, COM0 .. COM9, LPT0 .. LPT9
    builder = new StringBuilder(built.Length + 12);
    index = 0;
    foreach (Match match in Regex.Matches(built, @"(^|\\)\s*(?<bad>CON|PRN|AUX|NUL|COM\d|LPT\d)\s*(\.|\\|$)", RegexOptions.IgnoreCase))
    {
        Group group = match.Groups["bad"];
        if (group.Index > index)
        {
            builder.Append(built.Substring(index, match.Index - index + 1));
        }

        builder.Append(group.Value);
        builder.Append("_");        // putting an underscore after this keyword is enough to make it acceptable

        index = group.Index + group.Length;
    }

    if (index == 0)
    {
        return built;
    }

    if (index < built.Length - 1)
    {
        builder.Append(built.Substring(index));
    }

    return builder.ToString();
}

How to get HTTP Response Code using Selenium WebDriver

It is possible to get the response code of a http request using Selenium and Chrome or Firefox. All you have to do is start either Chrome or Firefox in logging mode. I will show you some examples below.

java + Selenium + Chrome Here is an example of java + Selenium + Chrome, but I guess that it can be done in any language (python, c#, ...).

All you need to do is tell chromedriver to do "Network.enable". This can be done by enabling Performance logging.

LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
cap.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);

After the request is done, all you have to do is get and iterate the Perfomance logs and find "Network.responseReceived" for the requested url:

LogEntries logs = driver.manage().logs().get("performance");

Here is the code:

import java.util.Iterator;
import java.util.logging.Level;

import org.json.JSONException;
import org.json.JSONObject;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.logging.LogEntries;
import org.openqa.selenium.logging.LogEntry;
import org.openqa.selenium.logging.LogType;
import org.openqa.selenium.logging.LoggingPreferences;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

public class TestResponseCode
{
    public static void main(String[] args)
    {
        // simple page (without many resources so that the output is
        // easy to understand
        String url = "http://www.york.ac.uk/teaching/cws/wws/webpage1.html";

        DownloadPage(url);
    }

    private static void DownloadPage(String url)
    {
        ChromeDriver driver = null;

        try
        {
            ChromeOptions options = new ChromeOptions();
            // add whatever extensions you need
            // for example I needed one of adding proxy, and one for blocking
            // images
            // options.addExtensions(new File(file, "proxy.zip"));
            // options.addExtensions(new File("extensions",
            // "Block-image_v1.1.crx"));

            DesiredCapabilities cap = DesiredCapabilities.chrome();
            cap.setCapability(ChromeOptions.CAPABILITY, options);

            // set performance logger
            // this sends Network.enable to chromedriver
            LoggingPreferences logPrefs = new LoggingPreferences();
            logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
            cap.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);

            driver = new ChromeDriver(cap);

            // navigate to the page
            System.out.println("Navigate to " + url);
            driver.navigate().to(url);

            // and capture the last recorded url (it may be a redirect, or the
            // original url)
            String currentURL = driver.getCurrentUrl();

            // then ask for all the performance logs from this request
            // one of them will contain the Network.responseReceived method
            // and we shall find the "last recorded url" response
            LogEntries logs = driver.manage().logs().get("performance");

            int status = -1;

            System.out.println("\nList of log entries:\n");

            for (Iterator<LogEntry> it = logs.iterator(); it.hasNext();)
            {
                LogEntry entry = it.next();

                try
                {
                    JSONObject json = new JSONObject(entry.getMessage());

                    System.out.println(json.toString());

                    JSONObject message = json.getJSONObject("message");
                    String method = message.getString("method");

                    if (method != null
                            && "Network.responseReceived".equals(method))
                    {
                        JSONObject params = message.getJSONObject("params");

                        JSONObject response = params.getJSONObject("response");
                        String messageUrl = response.getString("url");

                        if (currentURL.equals(messageUrl))
                        {
                            status = response.getInt("status");

                            System.out.println(
                                    "---------- bingo !!!!!!!!!!!!!! returned response for "
                                            + messageUrl + ": " + status);

                            System.out.println(
                                    "---------- bingo !!!!!!!!!!!!!! headers: "
                                            + response.get("headers"));
                        }
                    }
                } catch (JSONException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

            System.out.println("\nstatus code: " + status);
        } finally
        {
            if (driver != null)
            {
                driver.quit();
            }
        }
    }
}

The output looks like this:

    Navigate to http://www.york.ac.uk/teaching/cws/wws/webpage1.html

    List of log entries:

    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.frameAttached","params":{"parentFrameId":"172.1","frameId":"172.2"}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.frameStartedLoading","params":{"frameId":"172.2"}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.frameNavigated","params":{"frame":{"securityOrigin":"://","loaderId":"172.1","name":"chromedriver dummy frame","id":"172.2","mimeType":"text/html","parentId":"172.1","url":"about:blank"}}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.frameStoppedLoading","params":{"frameId":"172.2"}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.frameStartedLoading","params":{"frameId":"3928.1"}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Network.requestWillBeSent","params":{"request":{"headers":{"Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"},"initialPriority":"VeryHigh","method":"GET","mixedContentType":"none","url":"http://www.york.ac.uk/teaching/cws/wws/webpage1.html"},"frameId":"3928.1","requestId":"3928.1","documentURL":"http://www.york.ac.uk/teaching/cws/wws/webpage1.html","initiator":{"type":"other"},"loaderId":"3928.1","wallTime":1.47619492749007E9,"type":"Document","timestamp":20226.652971}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Network.responseReceived","params":{"frameId":"3928.1","requestId":"3928.1","response":{"headers":{"Accept-Ranges":"bytes","Keep-Alive":"timeout=4, max=100","Cache-Control":"max-age=300","Server":"Apache/2.2.22 (Ubuntu)","Connection":"Keep-Alive","Content-Encoding":"gzip","Vary":"Accept-Encoding","Expires":"Tue, 11 Oct 2016 14:13:47 GMT","Content-Length":"1957","Date":"Tue, 11 Oct 2016 14:08:47 GMT","Content-Type":"text/html"},"connectionReused":false,"timing":{"pushEnd":0,"workerStart":-1,"proxyEnd":-1,"workerReady":-1,"sslEnd":-1,"pushStart":0,"requestTime":20226.65335,"sslStart":-1,"dnsStart":0,"sendEnd":31.6569999995409,"connectEnd":31.4990000006219,"connectStart":0,"sendStart":31.5860000009707,"dnsEnd":0,"receiveHeadersEnd":115.645999998378,"proxyStart":-1},"encodedDataLength":-1,"remotePort":80,"mimeType":"text/html","headersText":"HTTP/1.1 200 OK\r\nDate: Tue, 11 Oct 2016 14:08:47 GMT\r\nServer: Apache/2.2.22 (Ubuntu)\r\nAccept-Ranges: bytes\r\nCache-Control: max-age=300\r\nExpires: Tue, 11 Oct 2016 14:13:47 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 1957\r\nKeep-Alive: timeout=4, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/html\r\n\r\n","securityState":"neutral","requestHeadersText":"GET /teaching/cws/wws/webpage1.html HTTP/1.1\r\nHost: www.york.ac.uk\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nAccept-Encoding: gzip, deflate, sdch\r\nAccept-Language: en-GB,en-US;q=0.8,en;q=0.6\r\n\r\n","url":"http://www.york.ac.uk/teaching/cws/wws/webpage1.html","protocol":"http/1.1","fromDiskCache":false,"fromServiceWorker":false,"requestHeaders":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","Upgrade-Insecure-Requests":"1","Connection":"keep-alive","User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36","Host":"www.york.ac.uk","Accept-Encoding":"gzip, deflate, sdch","Accept-Language":"en-GB,en-US;q=0.8,en;q=0.6"},"remoteIPAddress":"144.32.128.84","statusText":"OK","connectionId":11,"status":200},"loaderId":"3928.1","type":"Document","timestamp":20226.770012}}}
    ---------- bingo !!!!!!!!!!!!!! returned response for http://www.york.ac.uk/teaching/cws/wws/webpage1.html: 200
    ---------- bingo !!!!!!!!!!!!!! headers: {"Accept-Ranges":"bytes","Keep-Alive":"timeout=4, max=100","Cache-Control":"max-age=300","Server":"Apache/2.2.22 (Ubuntu)","Connection":"Keep-Alive","Content-Encoding":"gzip","Vary":"Accept-Encoding","Expires":"Tue, 11 Oct 2016 14:13:47 GMT","Content-Length":"1957","Date":"Tue, 11 Oct 2016 14:08:47 GMT","Content-Type":"text/html"}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Network.dataReceived","params":{"dataLength":2111,"requestId":"3928.1","encodedDataLength":1460,"timestamp":20226.770425}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.frameNavigated","params":{"frame":{"securityOrigin":"http://www.york.ac.uk","loaderId":"3928.1","id":"3928.1","mimeType":"text/html","url":"http://www.york.ac.uk/teaching/cws/wws/webpage1.html"}}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Network.dataReceived","params":{"dataLength":1943,"requestId":"3928.1","encodedDataLength":825,"timestamp":20226.782673}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Network.loadingFinished","params":{"requestId":"3928.1","encodedDataLength":2285,"timestamp":20226.770199}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.loadEventFired","params":{"timestamp":20226.799391}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.frameStoppedLoading","params":{"frameId":"3928.1"}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Page.domContentEventFired","params":{"timestamp":20226.845769}}}
    {"webview":"3b8eaedb-bd0f-4baa-938d-4aee4039abfe","message":{"method":"Network.requestWillBeSent","params":{"request":{"headers":{"Referer":"http://www.york.ac.uk/teaching/cws/wws/webpage1.html","User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"},"initialPriority":"High","method":"GET","mixedContentType":"none","url":"http://www.york.ac.uk/favicon.ico"},"frameId":"3928.1","requestId":"3928.2","documentURL":"http://www.york.ac.uk/teaching/cws/wws/webpage1.html","initiator":{"type":"other"},"loaderId":"3928.1","wallTime":1.47619492768527E9,"type":"Other","timestamp":20226.848174}}}

    status code: 200

java + Selenium + Firefox I have finally found the trick for Firefox too. You need to start firefox using MOZ_LOG and MOZ_LOG_FILE environment variables, and log http requests at debug level (4 = PR_LOG_DEBUG) - map.put("MOZ_LOG", "timestamp,sync,nsHttp:4"). Save the log in a temporary file. After that, get the content of the saved log file and parse it for the response code (using some simple regular expressions). First detect the start of the request, identifying its id (nsHttpChannel::BeginConnect [this=000000CED8094000]), then at the second step, find the response code for that request id (nsHttpChannel::ProcessResponse [this=000000CED8094000 httpStatus=200]).

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.GeckoDriverService;

public class TestFirefoxResponse
{
  public static void main(String[] args)
      throws InterruptedException, IOException
  {
    GeckoDriverService service = null;

    // tell firefox to log http requests
    // at level 4 = PR_LOG_DEBUG: debug messages, notices
    // you could log everything at level 5, but the log file will 
    // be larger. 
    // create a temporary log file that will be parsed for
    // response code
    Map<String, String> map = new HashMap<String, String>();
    map.put("MOZ_LOG", "timestamp,sync,nsHttp:4");
    File tempFile = File.createTempFile("mozLog", ".txt");    
    map.put("MOZ_LOG_FILE", tempFile.getAbsolutePath());      

    GeckoDriverService.Builder builder = new GeckoDriverService.Builder();
    service = builder.usingAnyFreePort()
      .withEnvironment(map)
      .build();

    service.start();      

    WebDriver driver = new FirefoxDriver(service);

    // test 200
     String url = "https://api.ipify.org/?format=text";
    // test 404
    // String url = "https://www.advancedwebranking.com/lsdkjflksdjfldksfj";
    driver.get(url);

    driver.quit();

    String logContent = FileUtils.readFileToString(tempFile);

    ParseLog(logContent, url);
  }

  private static void ParseLog(String logContent, String url) throws MalformedURLException
  {
    // this is how the log looks like when the request starts
    // I have to get the id of the request using a regular expression
    // and use that id later to get the response
    //
    //    2017-11-02 14:14:01.170000 UTC - [Main Thread]: D/nsHttp nsHttpChannel::BeginConnect [this=000000BFF27A5000]
    //    2017-11-02 14:14:01.170000 UTC - [Main Thread]: D/nsHttp host=api.ipify.org port=-1
    //    2017-11-02 14:14:01.170000 UTC - [Main Thread]: D/nsHttp uri=https://api.ipify.org/?format=text
    String pattern = "BeginConnect \\[this=(.*?)\\](?:.*?)uri=(.*?)\\s";

    Pattern p = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
    Matcher m = p.matcher(logContent);

    String urlID = null;
    while (m.find())
    {
      String id = m.group(1);
      String uri = m.group(2);

      if (uri.equals(url))
      {
        urlID = id;
        break;
      }      
    }

    System.out.println("request id = " + urlID);

    // this is how the response looks like in the log file
    // ProcessResponse [this=000000CED8094000 httpStatus=200]
    // I will use another regular espression to get the httpStatus
    //
    //    2017-11-02 14:45:39.296000 UTC - [Main Thread]: D/nsHttp nsHttpChannel::OnStartRequest [this=000000CED8094000 request=000000CED8014BB0 status=0]
    //    2017-11-02 14:45:39.296000 UTC - [Main Thread]: D/nsHttp nsHttpChannel::ProcessResponse [this=000000CED8094000 httpStatus=200]    

    pattern = "ProcessResponse \\[this=" + urlID + " httpStatus=(.*?)\\]";

    p = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
    m = p.matcher(logContent);

    if (m.find())
    {
      String responseCode = m.group(1);
      System.out.println("response code found " + responseCode);
    }
    else
    {
      System.out.println("response code not found");
    }
  }
}

The output for this will be

request id = 0000007653D67000 response code found 200

The response headers can also be found in the log file. You can get them if you want.

    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp http response [
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   HTTP/1.1 404 Not Found
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Accept-Ranges: bytes
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Cache-control: no-cache="set-cookie"
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Content-Type: text/html; charset=utf-8
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Date: Thu, 02 Nov 2017 14:54:36 GMT
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   ETag: "7969-55bc076a61e80"
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Last-Modified: Tue, 17 Oct 2017 16:17:46 GMT
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Server: Apache/2.4.23 (Amazon) PHP/5.6.24
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Set-Cookie: AWSELB=5F256FFA816C8E72E13AE0B12A17A3D540582F804C87C5FEE323AF3C9B638FD6260FF473FF64E44926DD26221AAD2E9727FD739483E7E4C31784C7A495796B416146EE83;PATH=/
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Content-Length: 31081
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Connection: keep-alive
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp     OriginalHeaders
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Accept-Ranges: bytes
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Cache-control: no-cache="set-cookie"
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Content-Type: text/html; charset=utf-8
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Date: Thu, 02 Nov 2017 14:54:36 GMT
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   ETag: "7969-55bc076a61e80"
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Last-Modified: Tue, 17 Oct 2017 16:17:46 GMT
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Server: Apache/2.4.23 (Amazon) PHP/5.6.24
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Set-Cookie: AWSELB=5F256FFA816C8E72E13AE0B12A17A3D540582F804C87C5FEE323AF3C9B638FD6260FF473FF64E44926DD26221AAD2E9727FD739483E7E4C31784C7A495796B416146EE83;PATH=/
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Content-Length: 31081
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp   Connection: keep-alive
    2017-11-02 14:54:36.775000 UTC - [Socket Thread]: I/nsHttp ]
    2017-11-02 14:54:36.775000 UTC - [Main Thread]: D/nsHttp nsHttpChannel::OnStartRequest [this=0000008A65D85000 request=0000008A65D1F900 status=0]
    2017-11-02 14:54:36.775000 UTC - [Main Thread]: D/nsHttp nsHttpChannel::ProcessResponse [this=0000008A65D85000 httpStatus=404]

Group by in LINQ

The following example uses the GroupBy method to return objects that are grouped by PersonID.

var results = persons.GroupBy(x => x.PersonID)
              .Select(x => (PersonID: x.Key, Cars: x.Select(p => p.car).ToList())
              ).ToList();

Or

 var results = persons.GroupBy(
               person => person.PersonID,
               (key, groupPerson) => (PersonID: key, Cars: groupPerson.Select(x => x.car).ToList()));

Or

 var results = from person in persons
               group person by person.PersonID into groupPerson
               select (PersonID: groupPerson.Key, Cars: groupPerson.Select(x => x.car).ToList());

Or you can use ToLookup, Basically ToLookup uses EqualityComparer<TKey>.Default to compare keys and do what you should do manually when using group by and to dictionary. i think it's excuted inmemory

 ILookup<int, string> results = persons.ToLookup(
            person => person.PersonID,
            person => person.car);

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

I had a similar problem which I fixed by moving some fragment transaction code from onResume() into onStart().

To be more precise: My app is a launcher. After pressing the Android Home button, the user can choose a launcher until his/her decision is remembered. When going "back" at this point (e. g. by tapping in the greyish area) the app crashed.

Maybe this helps somebody.

Moment js date time comparison

pass date to moment like this it will compare and give result. if you dont want format remove it

moment(Date1).format("YYYY-MM-DD") > moment(Date2).format("YYYY-MM-DD")

Recursively add the entire folder to a repository

Navigate to the folder where you have your files
if you are on a windows machine you will need to start git bash from which you will get a command line interface then use these commands

git init   //this initializes a .git  repository in your working directory

git remote add origin <URL_TO_YOUR_REPO.git> // this points to correct repository where files will be uploaded

git add *   // this adds all the files to the initialialized git repository

if you make any changes to the files before merging it to the master you have to commit the changes by executing

git commit -m "applied some changes to the branch"

After this checkout the branch to the master branch

How to get an IFrame to be responsive in iOS Safari?

I am working with ionic2 and system config is as below-


******************************************************

Your system information:

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
ios-deploy version: Not installed
ios-sim version: 5.0.8 
OS: OS X Yosemite
Node Version: v6.2.2
Xcode version: Xcode 7.2 Build version 7C68



******************************************************

For me this issue got resolved with this code-
for html iframe tag-

<div class="iframe_container">
      <iframe class= "animated fadeInUp" id="iframe1" [src]='page' frameborder="0" >
        <!--  <img src="img/video-icon.png"> -->
      </iframe><br>
   </div>

See css of the same as-


.iframe_container {
  overflow: auto; 
  position: relative; 
  -webkit-overflow-scrolling: touch;
  height: 75%;
}

iframe {
  position:relative;
  top: 2%;
  left: 5%;
  border: 0 !important;
  width: 90%;
}

Position property play a vital role here in my case.
position:relative;

It may help you too!!!

Pandas aggregate count distinct

How about either of:

>>> df
         date  duration user_id
0  2013-04-01        30    0001
1  2013-04-01        15    0001
2  2013-04-01        20    0002
3  2013-04-02        15    0002
4  2013-04-02        30    0002
>>> df.groupby("date").agg({"duration": np.sum, "user_id": pd.Series.nunique})
            duration  user_id
date                         
2013-04-01        65        2
2013-04-02        45        1
>>> df.groupby("date").agg({"duration": np.sum, "user_id": lambda x: x.nunique()})
            duration  user_id
date                         
2013-04-01        65        2
2013-04-02        45        1

excel - if cell is not blank, then do IF statement

You need to use AND statement in your formula

=IF(AND(IF(NOT(ISBLANK(Q2));TRUE;FALSE);Q2<=R2);"1";"0")

And if both conditions are met, return 1.

You could also add more conditions in your AND statement.

How do I pass multiple parameter in URL?

I do not know much about Java but URL query arguments should be separated by "&", not "?"

http://tools.ietf.org/html/rfc3986 is good place for reference using "sub-delim" as keyword. http://en.wikipedia.org/wiki/Query_string is another good source.

Common elements comparison between 2 lists

Use a generator:

common = (x for x in list1 if x in list2)

The advantage here is that this will return in constant time (nearly instant) even when using huge lists or other huge iterables.

For example,

list1 =  list(range(0,10000000))
list2=list(range(1000,20000000))
common = (x for x in list1 if x in list2)

All other answers here will take a very long time with these values for list1 and list2.

You can then iterate the answer with

for i in common: print(i)

Or convert it to a list with

list(i)

Get the ID of a drawable in ImageView

I recently run into the same problem. I solved it by implementing my own ImageView class.

Here is my Kotlin implementation:

class MyImageView(context: Context): ImageView(context) {
    private var currentDrawableId: Int? = null

    override fun setImageResource(resId: Int) {
        super.setImageResource(resId)
        currentDrawableId = resId
    }

    fun getDrawableId() {
        return currentDrawableId
    }

    fun compareCurrentDrawable(toDrawableId: Int?): Boolean {
        if (toDrawableId == null || currentDrawableId != toDrawableId) {
            return false
        }

        return true
    }

}

How to parse XML in Bash?

I am not aware of any pure shell XML parsing tool. So you will most likely need a tool written in an other language.

My XML::Twig Perl module comes with such a tool: xml_grep, where you would probably write what you want as xml_grep -t '/html/head/title' xhtmlfile.xhtml > titleOfXHTMLPage.txt (the -t option gives you the result as text instead of xml)

How to get the week day name from a date?

SQL> SELECT TO_CHAR(date '1982-03-09', 'DAY') day FROM dual;

DAY
---------
TUESDAY

SQL> SELECT TO_CHAR(date '1982-03-09', 'DY') day FROM dual;

DAY
---
TUE

SQL> SELECT TO_CHAR(date '1982-03-09', 'Dy') day FROM dual;

DAY
---
Tue

(Note that the queries use ANSI date literals, which follow the ISO-8601 date standard and avoid date format ambiguity.)

Self Join to get employee manager name

TableName :Manager

EmpId   EmpName     ManagerId
1       Monib       4

2       zahir       1

3       Sarfudding  NULL

4       Aslam       3


select e.EmpId as EmployeeId,e.EmpName as EmployeeName,e.ManagerId as ManagerId,e1.EmpName as Managername from Manager e
  join manager e1 on e.ManagerId=e1.empId

Changing SVG image color with javascript

Sure, here is an example (standard HTML boilerplate omitted):

_x000D_
_x000D_
<svg id="svg1" xmlns="http://www.w3.org/2000/svg" style="width: 3.5in; height: 1in">_x000D_
  <circle id="circle1" r="30" cx="34" cy="34" _x000D_
            style="fill: red; stroke: blue; stroke-width: 2"/>_x000D_
  </svg>_x000D_
<button onclick="circle1.style.fill='yellow';">Click to change to yellow</button>
_x000D_
_x000D_
_x000D_

How to view .img files?

you could use either PowerISO or WinRAR

Deprecated meaning?

The simplest answer to the meaning of deprecated when used to describe software APIs is:

  • Stop using APIs marked as deprecated!
  • They will go away in a future release!!
  • Start using the new versions ASAP!!!

How can I hide an HTML table row <tr> so that it takes up no space?

I would really like to see your TABLE's styling. E.g. "border-collapse"

Just a guess, but it might affect how 'hidden' rows are being rendered.

How to find tag with particular text with Beautiful Soup?

This post got me to my answer even though the answer is missing from this post. I felt I should give back.

The challenge here is in the inconsistent behavior of BeautifulSoup.find when searching with and without text.

Note: If you have BeautifulSoup, you can test this locally via:

curl https://gist.githubusercontent.com/RichardBronosky/4060082/raw/test.py | python

Code: https://gist.github.com/4060082

# Taken from https://gist.github.com/4060082
from BeautifulSoup import BeautifulSoup
from urllib2 import urlopen
from pprint import pprint
import re

soup = BeautifulSoup(urlopen('https://gist.githubusercontent.com/RichardBronosky/4060082/raw/test.html').read())
# I'm going to assume that Peter knew that re.compile is meant to cache a computation result for a performance benefit. However, I'm going to do that explicitly here to be very clear.
pattern = re.compile('Fixed text')

# Peter's suggestion here returns a list of what appear to be strings
columns = soup.findAll('td', text=pattern, attrs={'class' : 'pos'})
# ...but it is actually a BeautifulSoup.NavigableString
print type(columns[0])
#>> <class 'BeautifulSoup.NavigableString'>

# you can reach the tag using one of the convenience attributes seen here
pprint(columns[0].__dict__)
#>> {'next': <br />,
#>>  'nextSibling': <br />,
#>>  'parent': <td class="pos">\n
#>>       "Fixed text:"\n
#>>       <br />\n
#>>       <strong>text I am looking for</strong>\n
#>>   </td>,
#>>  'previous': <td class="pos">\n
#>>       "Fixed text:"\n
#>>       <br />\n
#>>       <strong>text I am looking for</strong>\n
#>>   </td>,
#>>  'previousSibling': None}

# I feel that 'parent' is safer to use than 'previous' based on http://www.crummy.com/software/BeautifulSoup/bs4/doc/#method-names
# So, if you want to find the 'text' in the 'strong' element...
pprint([t.parent.find('strong').text for t in soup.findAll('td', text=pattern, attrs={'class' : 'pos'})])
#>> [u'text I am looking for']

# Here is what we have learned:
print soup.find('strong')
#>> <strong>some value</strong>
print soup.find('strong', text='some value')
#>> u'some value'
print soup.find('strong', text='some value').parent
#>> <strong>some value</strong>
print soup.find('strong', text='some value') == soup.find('strong')
#>> False
print soup.find('strong', text='some value') == soup.find('strong').text
#>> True
print soup.find('strong', text='some value').parent == soup.find('strong')
#>> True

Though it is most certainly too late to help the OP, I hope they will make this as the answer since it does satisfy all quandaries around finding by text.

HTML Script tag: type or language (or omit both)?

The type attribute is used to define the MIME type within the HTML document. Depending on what DOCTYPE you use, the type value is required in order to validate the HTML document.

The language attribute lets the browser know what language you are using (Javascript vs. VBScript) but is not necessarily essential and, IIRC, has been deprecated.

How can I convert integer into float in Java?

You just need to cast at least one of the operands to a float:

float z = (float) x / y;

or

float z = x / (float) y;

or (unnecessary)

float z = (float) x / (float) y;

Creating an object: with or without `new`

The first allocates an object with automatic storage duration, which means it will be destructed automatically upon exit from the scope in which it is defined.

The second allocated an object with dynamic storage duration, which means it will not be destructed until you explicitly use delete to do so.

Upgrading PHP in XAMPP for Windows?

Take a backup of your htdocs and data folder (subfolder of MySQL folder), reinstall upgraded version and replace those folders.

Note: In case you have changed config files like PHP (php.ini), Apache (httpd.conf) or any other, please take back up of those files as well and replace them with newly installed version.

How to remove text from a string?

Ex:-

var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);

Hopefully this will work for you.

Link to all Visual Studio $ variables

If you need to find values for variables other than those standard VS macros, you could do that easily using Process Explorer. Start it, find the process your Visual Studio instance runs in, right click, Properties ? Environment. It lists all those $ vars as key-value pairs: enter image description here

how to set font size based on container size?

You can also try this pure CSS method:

font-size: calc(100% - 0.3em);

How do I erase an element from std::vector<> by index?

To delete an element use the following way:

// declaring and assigning array1 
std:vector<int> array1 {0,2,3,4};

// erasing the value in the array
array1.erase(array1.begin()+n);

For a more broad overview you can visit: http://www.cplusplus.com/reference/vector/vector/erase/

Uploading/Displaying Images in MVC 4

Here is a short tutorial:

Model:

namespace ImageUploadApp.Models
{
    using System;
    using System.Collections.Generic;

    public partial class Image
    {
        public int ID { get; set; }
        public string ImagePath { get; set; }
    }
}

View:

  1. Create:

    @model ImageUploadApp.Models.Image
    @{
        ViewBag.Title = "Create";
    }
    <h2>Create</h2>
    @using (Html.BeginForm("Create", "Image", null, FormMethod.Post, 
                                  new { enctype = "multipart/form-data" })) {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)
        <fieldset>
            <legend>Image</legend>
            <div class="editor-label">
                @Html.LabelFor(model => model.ImagePath)
            </div>
            <div class="editor-field">
                <input id="ImagePath" title="Upload a product image" 
                                      type="file" name="file" />
            </div>
            <p><input type="submit" value="Create" /></p>
        </fieldset>
    }
    <div>
        @Html.ActionLink("Back to List", "Index")
    </div>
    @section Scripts {
        @Scripts.Render("~/bundles/jqueryval")
    }
    
  2. Index (for display):

    @model IEnumerable<ImageUploadApp.Models.Image>
    
    @{
        ViewBag.Title = "Index";
    }
    
    <h2>Index</h2>
    
    <p>
        @Html.ActionLink("Create New", "Create")
    </p>
    <table>
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.ImagePath)
            </th>
        </tr>
    
    @foreach (var item in Model) {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.ImagePath)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
                @Html.ActionLink("Details", "Details", new { id=item.ID }) |
                @Ajax.ActionLink("Delete", "Delete", new {id = item.ID} })
            </td>
        </tr>
    }
    
    </table>
    
  3. Controller (Create)

    public ActionResult Create(Image img, HttpPostedFileBase file)
    {
        if (ModelState.IsValid)
        {
            if (file != null)
            {
                file.SaveAs(HttpContext.Server.MapPath("~/Images/") 
                                                      + file.FileName);
                img.ImagePath = file.FileName;
            }  
            db.Image.Add(img);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(img);
    }
    

Hope this will help :)

error: function returns address of local variable

I came up with this simple and straight-forward (i hope so) code example which should explain itself!

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

/* function header definitions */
char* getString();                     //<- with malloc (good practice)
char * getStringNoMalloc();  //<- without malloc (fails! don't do this!)
void getStringCallByRef(char* reference); //<- callbyref (good practice)

/* the main */
int main(int argc, char*argv[]) {

    //######### calling with malloc
    char * a = getString();
    printf("MALLOC ### a = %s \n", a); 
    free(a);

    //######### calling without malloc
    char * b = getStringNoMalloc();
    printf("NO MALLOC ### b = %s \n", b); //this doesnt work, question to yourself: WHY?
    //HINT: the warning says that a local reference is returned. ??!
    //NO free here!

    //######### call-by-reference
    char c[100];
    getStringCallByRef(c);
    printf("CALLBYREF ### c = %s \n", c);

    return 0;
}

//WITH malloc
char* getString() {

    char * string;
    string = malloc(sizeof(char)*100);

    strcat(string, "bla");
    strcat(string, "/");
    strcat(string, "blub");

    printf("string : '%s'\n", string);

    return string;
}

//WITHOUT malloc (watch how it does not work this time)
char* getStringNoMalloc() {

     char string[100] = {};

     strcat(string, "bla");
     strcat(string, "/");
     strcat(string, "blub");
     //INSIDE this function "string" is OK
     printf("string : '%s'\n", string);

     return string; //but after returning.. it is NULL? :)
}

// ..and the call-by-reference way to do it (prefered)
void getStringCallByRef(char* reference) {

    strcat(reference, "bla");
    strcat(reference, "/");
    strcat(reference, "blub");
    //INSIDE this function "string" is OK
    printf("string : '%s'\n", reference);
    //OUTSIDE it is also OK because we hand over a reference defined in MAIN
    // and not defined in this scope (local), which is destroyed after the function finished
}

When compiling it, you get the [intended] warning:

me@box:~$ gcc -o example.o example.c 
example.c: In function ‘getStringNoMalloc’:
example.c:58:16: warning: function returns address of local variable [-Wreturn-local-addr]
         return string; //but after returning.. it is NULL? :)
            ^~~~~~

...basically what we are discussing here!

running my example yields this output:

me@box:~$ ./example.o 
string : 'bla/blub'
MALLOC ### a = bla/blub 
string : 'bla/blub'
NO MALLOC ### b = (null) 
string : 'bla/blub'
CALLBYREF ### c = bla/blub 

Theory:

This has been answered very nicely by User @phoxis. Basically think about it this way: Everything inbetween { and } is local scope, thus by the C-Standard is "undefined" outside. By using malloc you take memory from the HEAP (programm scope) and not from the STACK (function scope) - thus its 'visible' from outside. The second correct way to do it is call-by-reference. Here you define the var inside the parent-scope, thus it is using the STACK (because the parent scope is the main()).

Summary:

3 Ways to do it, One of them false. C is kind of to clumsy to just have a function return a dynamically sized String. Either you have to malloc and then free it, or you have to call-by-reference. Or use C++ ;)

Get the first item from an iterable that matches a condition

Oneliner:

thefirst = [i for i in range(10) if i > 3][0]

If youre not sure that any element will be valid according to the criteria, you should enclose this with try/except since that [0] can raise an IndexError.

Force hide address bar in Chrome on Android

window.scrollTo(0,1);

this will help you but this javascript is may not work in all browsers

MySQL root password change

For me, only these steps could help me setting the root password on version 8.0.19:

mysql
SELECT user,authentication_string FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_pass_here';
FLUSH PRIVILEGES;
SELECT user,authentication_string FROM mysql.user;

If you can see changes for the root user, then it works. Source: https://www.digitalocean.com/community/questions/can-t-set-root-password-mysql-server

How to set a header for a HTTP GET request, and trigger file download?

I'm adding another option. The answers above were very useful for me, but I wanted to use jQuery instead of ic-ajax (it seems to have a dependency with Ember when I tried to install through bower). Keep in mind that this solution only works on modern browsers.

In order to implement this on jQuery I used jQuery BinaryTransport. This is a nice plugin to read AJAX responses in binary format.

Then you can do this to download the file and send the headers:

$.ajax({
    url: url,
    type: 'GET',
    dataType: 'binary',
    headers: headers,
    processData: false,
    success: function(blob) {
        var windowUrl = window.URL || window.webkitURL;
        var url = windowUrl.createObjectURL(blob);
        anchor.prop('href', url);
        anchor.prop('download', fileName);
        anchor.get(0).click();
        windowUrl.revokeObjectURL(url);
    }
});

The vars in the above script mean:

  • url: the URL of the file
  • headers: a Javascript object with the headers to send
  • fileName: the filename the user will see when downloading the file
  • anchor: it is a DOM element that is needed to simulate the download that must be wrapped with jQuery in this case. For example $('a.download-link').

Javascript - validation, numbers only

No need for the long code for number input restriction just try this code.

It also accepts valid int & float both values.

Javascript Approach

_x000D_
_x000D_
onload =function(){ _x000D_
  var ele = document.querySelectorAll('.number-only')[0];_x000D_
  ele.onkeypress = function(e) {_x000D_
     if(isNaN(this.value+""+String.fromCharCode(e.charCode)))_x000D_
        return false;_x000D_
  }_x000D_
  ele.onpaste = function(e){_x000D_
     e.preventDefault();_x000D_
  }_x000D_
}
_x000D_
<p> Input box that accepts only valid int and float values.</p>_x000D_
<input class="number-only" type=text />
_x000D_
_x000D_
_x000D_

jQuery Approach

_x000D_
_x000D_
$(function(){_x000D_
_x000D_
  $('.number-only').keypress(function(e) {_x000D_
 if(isNaN(this.value+""+String.fromCharCode(e.charCode))) return false;_x000D_
  })_x000D_
  .on("cut copy paste",function(e){_x000D_
 e.preventDefault();_x000D_
  });_x000D_
_x000D_
});
_x000D_
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>_x000D_
<p> Input box that accepts only valid int and float values.</p>_x000D_
<input class="number-only" type=text />
_x000D_
_x000D_
_x000D_

The above answers are for most common use case - validating input as a number.

But to allow few special cases like negative numbers & showing the invalid keystrokes to user before removing it, so below is the code snippet for such special use cases.

_x000D_
_x000D_
$(function(){_x000D_
      _x000D_
  $('.number-only').keyup(function(e) {_x000D_
        if(this.value!='-')_x000D_
          while(isNaN(this.value))_x000D_
            this.value = this.value.split('').reverse().join('').replace(/[\D]/i,'')_x000D_
                                   .split('').reverse().join('');_x000D_
    })_x000D_
    .on("cut copy paste",function(e){_x000D_
     e.preventDefault();_x000D_
    });_x000D_
_x000D_
});
_x000D_
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>_x000D_
<p> Input box that accepts only valid int and float values.</p>_x000D_
<input class="number-only" type=text />
_x000D_
_x000D_
_x000D_

Vibrate and Sound defaults on notification

Notification Vibrate

mBuilder.setVibrate(new long[] { 1000, 1000});

Sound

mBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI);

for more sound option

Is there a java setting for disabling certificate validation?

In addition to the answers above. You can do it programmatically by implementing the TrustManager:

TrustManager[] trustAllCerts = new TrustManager[] {
        new X509TrustManager() {
          public java.security.cert.X509Certificate[] getAcceptedIssuers() {
           return null;
          }
          @Override
          public void checkClientTrusted(X509Certificate[] arg0, String arg1)
           throws CertificateException {}

          @Override
          public void checkServerTrusted(X509Certificate[] arg0, String arg1)
            throws CertificateException {}
          }
     };

  SSLContext sc=null;
  try {
   sc = SSLContext.getInstance("SSL");
  } catch (NoSuchAlgorithmException e) {
   e.printStackTrace();
  }
  try {
   sc.init(null, trustAllCerts, new java.security.SecureRandom());
  } catch (KeyManagementException e) {
   e.printStackTrace();
  }
  HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
  // Create all-trusting host name verifier
  HostnameVerifier validHosts = new HostnameVerifier() {
  @Override
  public boolean verify(String arg0, SSLSession arg1) {
   return true;
  }
  };
  // All hosts will be valid
  HttpsURLConnection.setDefaultHostnameVerifier(validHosts);

However this is not a good practice for production.

This example on How to disable SSL certificat validation in Java contains a utility class you can copy in your project.

Extracting just Month and Year separately from Pandas Datetime column

If you want new columns showing year and month separately you can do this:

df['year'] = pd.DatetimeIndex(df['ArrivalDate']).year
df['month'] = pd.DatetimeIndex(df['ArrivalDate']).month

or...

df['year'] = df['ArrivalDate'].dt.year
df['month'] = df['ArrivalDate'].dt.month

Then you can combine them or work with them just as they are.

Can someone give an example of cosine similarity, in a very simple, graphical way?

Here's a simple Python code to calculate cosine similarity:

import math

def dot_prod(v1, v2):
    ret = 0
    for i in range(len(v1)):
        ret += v1[i] * v2[i]
    return ret

def magnitude(v):
    ret = 0
    for i in v:
        ret += i**2
    return math.sqrt(ret)

def cos_sim(v1, v2):
    return (dot_prod(v1, v2)) / (magnitude(v1) * magnitude(v2))

How do I turn off Oracle password expiration?

I believe that the password expiration behavior, by default, is to never expire. However, you could set up a profile for your dev user set and set the PASSWORD_LIFE_TIME. See the orafaq for more details. You can see here for an example of one person's perspective and usage.

Send Email Intent

Edit: Not working anymore with new versions of Gmail

This was the only way I found at the time to get it to work with any characters.

doreamon's answer is the correct way to go now, as it works with all characters in new versions of Gmail.

Old answer:


Here is mine. It seems to works on all Android versions, with subject and message body support, and full utf-8 characters support:

public static void email(Context context, String to, String subject, String body) {
    StringBuilder builder = new StringBuilder("mailto:" + Uri.encode(to));
    if (subject != null) {
        builder.append("?subject=" + Uri.encode(Uri.encode(subject)));
        if (body != null) {
            builder.append("&body=" + Uri.encode(Uri.encode(body)));
        }
    }
    String uri = builder.toString();
    Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse(uri));
    context.startActivity(intent);
}

How to declare a variable in MySQL?

Use set or select

SET @counter := 100;
SELECT @variable_name := value;

example :

SELECT @price := MAX(product.price)
FROM product 

Trying to make bootstrap modal wider

You could try:

.modal.modal-wide .modal-dialog {
  width: 90%;
}

.modal-wide .modal-body {
  overflow-y: auto;
}

Just add .modal-wide to your classes

How to delete a specific line in a file?

Take the contents of the file, split it by newline into a tuple. Then, access your tuple's line number, join your result tuple, and overwrite to the file.

How to set Android camera orientation properly?

check out this solution

 public static void setCameraDisplayOrientation(Activity activity,
                                                   int cameraId, android.hardware.Camera camera) {
        android.hardware.Camera.CameraInfo info =
                new android.hardware.Camera.CameraInfo();
        android.hardware.Camera.getCameraInfo(cameraId, info);
        int rotation = activity.getWindowManager().getDefaultDisplay()
                .getRotation();
        int degrees = 0;
        switch (rotation) {
            case Surface.ROTATION_0: degrees = 0; break;
            case Surface.ROTATION_90: degrees = 90; break;
            case Surface.ROTATION_180: degrees = 180; break;
            case Surface.ROTATION_270: degrees = 270; break;
        }

        int result;
        if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            result = (info.orientation + degrees) % 360;
            result = (360 - result) % 360;  // compensate the mirror
        } else {  // back-facing
            result = (info.orientation - degrees + 360) % 360;
        }
        camera.setDisplayOrientation(result);
    }

'Static readonly' vs. 'const'

Const: Const is nothing but "constant", a variable of which the value is constant but at compile time. And it's mandatory to assign a value to it. By default a const is static and we cannot change the value of a const variable throughout the entire program.

Static ReadOnly: A Static Readonly type variable's value can be assigned at runtime or assigned at compile time and changed at runtime. But this variable's value can only be changed in the static constructor. And cannot be changed further. It can change only once at runtime

Reference: c-sharpcorner

Show a div as a modal pop up

A simple modal pop up div or dialog box can be done by CSS properties and little bit of jQuery.The basic idea is simple:

  • 1. Create a div with semi transparent background & show it on top of your content page on click.
  • 2. Show your pop up div or alert div on top of the semi transparent dimming/hiding div.
  • So we need three divs:

  • content(main content of the site).
  • hider(To dim the content).
  • popup_box(the modal div to display).

    First let us define the CSS:

        #hider
        {
            position:absolute;
            top: 0%;
            left: 0%;
            width:1600px;
            height:2000px;
            margin-top: -800px; /*set to a negative number 1/2 of your height*/
            margin-left: -500px; /*set to a negative number 1/2 of your width*/
            /*
            z- index must be lower than pop up box
           */
            z-index: 99;
           background-color:Black;
           //for transparency
           opacity:0.6;
        }
    
        #popup_box  
        {
    
        position:absolute;
            top: 50%;
            left: 50%;
            width:10em;
            height:10em;
            margin-top: -5em; /*set to a negative number 1/2 of your height*/
            margin-left: -5em; /*set to a negative number 1/2 of your width*/
            border: 1px solid #ccc;
            border:  2px solid black;
            z-index:100; 
    
        }
    

    It is important that we set our hider div's z-index lower than pop_up box as we want to show popup_box on top.
    Here comes the java Script:

            $(document).ready(function () {
            //hide hider and popup_box
            $("#hider").hide();
            $("#popup_box").hide();
    
            //on click show the hider div and the message
            $("#showpopup").click(function () {
                $("#hider").fadeIn("slow");
                $('#popup_box').fadeIn("slow");
            });
            //on click hide the message and the
            $("#buttonClose").click(function () {
    
                $("#hider").fadeOut("slow");
                $('#popup_box').fadeOut("slow");
            });
    
            });
    

    And finally the HTML:

    <div id="hider"></div>
    <div id="popup_box">
        Message<br />
        <a id="buttonClose">Close</a>
    </div>    
    <div id="content">
        Page's main content.<br />
        <a id="showpopup">ClickMe</a>
    </div>
    

    I have used jquery-1.4.1.min.js www.jquery.com/download and tested the code in Firefox. Hope this helps.

  • Node.js: Python not found exception due to node-sass and node-gyp

    The error message means that it cannot locate your python executable or binary.

    In many cases, it's installed at c:\python27. if it's not installed yet, you can install it with npm install --global windows-build-tools, which will only work if it hasn't been installed yet.

    Adding it to the environment variables does not always work. A better alternative, is to just set it in the npm config.

    npm config set python c:\python27\python.exe

    Counting inversions in an array

    Most answers are based on MergeSort but it isn't the only way to solve this is in O(nlogn)

    I'll discuss a few approaches.

    1. Use a Balanced Binary Search Tree

      • Augment your tree to store frequencies for duplicate elements.
      • The idea is to keep counting greater nodes when the tree is traversed from root to a leaf for insertion.

    Something like this.

    Node *insert(Node* root, int data, int& count){
        if(!root) return new Node(data);
        if(root->data == data){
            root->freq++;
            count += getSize(root->right);
        }
        else if(root->data > data){
            count += getSize(root->right) + root->freq;
            root->left = insert(root->left, data, count);
        }
        else root->right = insert(root->right, data, count);
        return balance(root);
    }
    
    int getCount(int *a, int n){
        int c = 0;
        Node *root = NULL;
        for(auto i=0; i<n; i++) root = insert(root, a[i], c);
        return c;
    }
    
    1. Use a Binary Indexed Tree
      • Create a summation BIT.
      • Loop from the end and start finding the count of greater elements.
    int getInversions(int[] a) {
        int n = a.length, inversions = 0;
        int[] bit = new int[n+1];
        compress(a);
        BIT b = new BIT();
        for (int i=n-1; i>=0; i--) {
             inversions += b.getSum(bit, a[i] - 1);
             b.update(bit, n, a[i], 1);
         }
         return inversions;
    }
    
    1. Use a Segment Tree
      • Create a summation segment Tree.
      • Loop from the end of the array and query between [0, a[i]-1] and update a[i] with 1
    int getInversions(int *a, int n) {
        int N = n + 1, c = 0;
        compress(a, n);
        int tree[N<<1] = {0};
        for (int i=n-1; i>=0; i--) {
            c+= query(tree, N, 0, a[i] - 1);
            update(tree, N, a[i], 1);
        }
        return c;
    }
    

    Also, when using BIT or Segment-Tree a good idea is to do Coordinate compression

    void compress(int *a, int n) {
        int temp[n];
        for (int i=0; i<n; i++) temp[i] = a[i];
        sort(temp, temp+n);
        for (int i=0; i<n; i++) a[i] = lower_bound(temp, temp+n, a[i]) - temp + 1;
    }
    
    

    How to Select Columns in Editors (Atom,Notepad++, Kate, VIM, Sublime, Textpad,etc) and IDEs (NetBeans, IntelliJ IDEA, Eclipse, Visual Studio, etc)

    SublimeText 2

    Using the Mouse

    Different mouse buttons are used on each platform:

    OS X

    Left Mouse Button + Option
    OR: Middle Mouse Button
    Add to selection: Command
    Subtract from selection: Command+Shift
    

    Windows

    Right Mouse Button + Shift
    OR: Middle Mouse Button
    Add to selection: Ctrl
    Subtract from selection: Alt
    

    Linux

    Right Mouse Button + Shift
    Add to selection: Ctrl
    Subtract from selection: Alt
    

    Using the Keyboard

    OS X

    ctrl + shift +

    ctrl + shift +

    Windows

    ctrl + alt +

    ctrl + alt +

    Linux

    ctrl + alt +

    ctrl + alt +

    Source: SublimeText2 Documentation

    How to have an auto incrementing version number (Visual Studio)?

    This is my implementation of the T4 suggestion... This will increment the build number every time you build the project regardless of the selected configuration (i.e. Debug|Release), and it will increment the revision number every time you do a Release build. You can continue to update the major and minor version numbers through Application ➤ Assembly Information...

    To explain in more detail, this will read the existing AssemblyInfo.cs file, and use regex to find the AssemblyVersion information and then increment the revision and build numbers based on input from TextTransform.exe.

    1. Delete your existing AssemblyInfo.cs file.
    2. Create a AssemblyInfo.tt file in its place. Visual Studio should create AssemblyInfo.cs and group it with the T4 file after you save the T4 file.

      <#@ template debug="true" hostspecific="true" language="C#" #>
      <#@ output extension=".cs" #>
      <#@ import namespace="System.IO" #>
      <#@ import namespace="System.Text.RegularExpressions" #>
      <#
          string output = File.ReadAllText(this.Host.ResolvePath("AssemblyInfo.cs"));
          Regex pattern = new Regex("AssemblyVersion\\(\"(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<revision>\\d+)\\.(?<build>\\d+)\"\\)");
          MatchCollection matches = pattern.Matches(output);
          if( matches.Count == 1 )
          {
              major = Convert.ToInt32(matches[0].Groups["major"].Value);
              minor = Convert.ToInt32(matches[0].Groups["minor"].Value);
              build = Convert.ToInt32(matches[0].Groups["build"].Value) + 1;
              revision = Convert.ToInt32(matches[0].Groups["revision"].Value);
              if( this.Host.ResolveParameterValue("-","-","BuildConfiguration") == "Release" )
                  revision++;
          }
      #>
      
      using System.Reflection;
      using System.Runtime.CompilerServices;
      using System.Runtime.InteropServices;
      using System.Resources;
      
      // General Information
      [assembly: AssemblyTitle("Insert title here")]
      [assembly: AssemblyDescription("Insert description here")]
      [assembly: AssemblyConfiguration("")]
      [assembly: AssemblyCompany("Insert company here")]
      [assembly: AssemblyProduct("Insert product here")]
      [assembly: AssemblyCopyright("Insert copyright here")]
      [assembly: AssemblyTrademark("Insert trademark here")]
      [assembly: AssemblyCulture("")]
      
      // Version informationr(
      [assembly: AssemblyVersion("<#= this.major #>.<#= this.minor #>.<#= this.revision #>.<#= this.build #>")]
      [assembly: AssemblyFileVersion("<#= this.major #>.<#= this.minor #>.<#= this.revision #>.<#= this.build #>")]
      [assembly: NeutralResourcesLanguageAttribute( "en-US" )]
      
      <#+
          int major = 1;
          int minor = 0;
          int revision = 0;
          int build = 0;
      #>
      
    3. Add this to your pre-build event:

      "%CommonProgramFiles(x86)%\microsoft shared\TextTemplating\$(VisualStudioVersion)\TextTransform.exe" -a !!BuildConfiguration!$(Configuration) "$(ProjectDir)Properties\AssemblyInfo.tt"
      

    How do I URl encode something in Node.js?

    Use the escape function of querystring. It generates a URL safe string.

    var escaped_str = require('querystring').escape('Photo on 30-11-12 at 8.09 AM #2.jpg');
    console.log(escaped_str);
    // prints 'Photo%20on%2030-11-12%20at%208.09%20AM%20%232.jpg'
    

    How do I get the HTML code of a web page in PHP?

    Here is two different, simple ways to get content from URL:

    1) the first method

    Enable Allow_url_include from your hosting (php.ini or somewhere)

    <?php
    $variableee = readfile("http://example.com/");
    echo $variableee;
    ?> 
    

    or

    2)the second method

    Enable php_curl, php_imap and php_openssl

    <?php
    // you can add anoother curl options too
    // see here - http://php.net/manual/en/function.curl-setopt.php
    function get_dataa($url) {
      $ch = curl_init();
      $timeout = 5;
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
      curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
      $data = curl_exec($ch);
      curl_close($ch);
      return $data;
    }
    
    $variableee = get_dataa('http://example.com');
    echo $variableee;
    ?>
    

    Nested ifelse statement

    # Read in the data.
    
    idnat=c("french","french","french","foreign")
    idbp=c("mainland","colony","overseas","foreign")
    
    # Initialize the new variable.
    
    idnat2=as.character(vector())
    
    # Logically evaluate "idnat" and "idbp" for each case, assigning the appropriate level to "idnat2".
    
    for(i in 1:length(idnat)) {
      if(idnat[i] == "french" & idbp[i] == "mainland") {
        idnat2[i] = "mainland"
    } else if (idnat[i] == "french" & (idbp[i] == "colony" | idbp[i] == "overseas")) {
      idnat2[i] = "overseas"
    } else {
      idnat2[i] = "foreign"
    } 
    }
    
    # Create a data frame with the two old variables and the new variable.
    
    data.frame(idnat,idbp,idnat2) 
    

    Python: How to get values of an array at certain index positions?

    Just index using you ind_pos

    ind_pos = [1,5,7]
    print (a[ind_pos]) 
    [88 85 16]
    
    
    In [55]: a = [0,88,26,3,48,85,65,16,97,83,91]
    
    In [56]: import numpy as np
    
    In [57]: arr = np.array(a)
    
    In [58]: ind_pos = [1,5,7]
    
    In [59]: arr[ind_pos]
    Out[59]: array([88, 85, 16])
    

    Swing JLabel text change on the running application

    import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.awt.event.*;
    public class Test extends JFrame implements ActionListener
    {
        private JLabel label;
        private JTextField field;
        public Test()
        {
            super("The title");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setPreferredSize(new Dimension(400, 90));
            ((JPanel) getContentPane()).setBorder(new EmptyBorder(13, 13, 13, 13) );
            setLayout(new FlowLayout());
            JButton btn = new JButton("Change");
            btn.setActionCommand("myButton");
            btn.addActionListener(this);
            label = new JLabel("flag");
            field = new JTextField(5);
            add(field);
            add(btn);
            add(label);
            pack();
            setLocationRelativeTo(null);
            setVisible(true);
            setResizable(false);
        }
        public void actionPerformed(ActionEvent e)
        {
            if(e.getActionCommand().equals("myButton"))
            {
                label.setText(field.getText());
            }
        }
        public static void main(String[] args)
        {
            new Test();
        }
    }
    

    MVC4 Passing model from view to controller

    I hope this complete example will help you.

    This is the TaxiInfo class which holds information about a taxi ride:

    namespace Taxi.Models
    {
        public class TaxiInfo
        {
            public String Driver { get; set; }
            public Double Fare { get; set; }
            public Double Distance { get; set; }
            public String StartLocation { get; set; }
            public String EndLocation { get; set; }
        }
    }
    

    We also have a convenience model which holds a List of TaxiInfo(s):

    namespace Taxi.Models
    {
        public class TaxiInfoSet
        {
            public List<TaxiInfo> TaxiInfoList { get; set; }
    
            public TaxiInfoSet(params TaxiInfo[] TaxiInfos)
            {
                TaxiInfoList = new List<TaxiInfo>();
    
                foreach(var TaxiInfo in TaxiInfos)
                {
                    TaxiInfoList.Add(TaxiInfo);
                }
            }
        }
    }
    

    Now in the home controller we have the default Index action which for this example makes two taxi drivers and adds them to the list contained in a TaxiInfo:

    public ActionResult Index()
    {
        var taxi1 = new TaxiInfo() { Fare = 20.2, Distance = 15, Driver = "Billy", StartLocation = "Perth", EndLocation = "Brisbane" };
        var taxi2 = new TaxiInfo() { Fare = 2339.2, Distance = 1500, Driver = "Smith", StartLocation = "Perth", EndLocation = "America" };
    
        return View(new TaxiInfoSet(taxi1,taxi2));
    }
    

    The code for the view is as follows:

    @model Taxi.Models.TaxiInfoSet
    @{
        ViewBag.Title = "Index";
    }
    
    <h2>Index</h2>
    
    @foreach(var TaxiInfo in Model.TaxiInfoList){
        <form>
            <h1>Cost: [email protected]</h1>
            <h2>Distance: @(TaxiInfo.Distance) km</h2>
            <p>
                Our diver, @TaxiInfo.Driver will take you from @TaxiInfo.StartLocation to @TaxiInfo.EndLocation
            </p>
            @Html.ActionLink("Home","Booking",TaxiInfo)
        </form>
    }
    

    The ActionLink is responsible for the re-directing to the booking action of the Home controller (and passing in the appropriate TaxiInfo object) which is defiend as follows:

        public ActionResult Booking(TaxiInfo Taxi)
        {
            return View(Taxi);
        }
    

    This returns a the following view:

    @model Taxi.Models.TaxiInfo
    
    @{
        ViewBag.Title = "Booking";
    }
    
    <h2>Booking For</h2>
    <h1>@Model.Driver, going from @Model.StartLocation to @Model.EndLocation (a total of @Model.Distance km) for [email protected]</h1>
    

    A visual tour:

    The Index view

    The Booking view

    Connection pooling options with JDBC: DBCP vs C3P0

    I invite you to try out BoneCP -- it's free, open source, and faster than the available alternatives (see benchmark section).

    Disclaimer: I'm the author so you could say I'm biased :-)

    UPDATE: As of March 2010, still around 35% faster than the new rewritten Apache DBCP ("tomcat jdbc") pool. See dynamic benchmark link in benchmark section.

    Update #2: (Dec '13) After 4 years at the top, there's now a much faster competitor : https://github.com/brettwooldridge/HikariCP

    Update #3: (Sep '14) Please consider BoneCP to be deprecated at this point, recommend switching to HikariCP.

    Update #4: (April '15) -- I no longer own the domain jolbox.com

    crudrepository findBy method signature with multiple in operators?

    The following signature will do:

    List<Email> findByEmailIdInAndPincodeIn(List<String> emails, List<String> pinCodes);
    

    Spring Data JPA supports a large number of keywords to build a query. IN and AND are among them.

    Using Jquery AJAX function with datatype HTML

    Here is a version that uses dataType html, but this is far less explicit, because i am returning an empty string to indicate an error.

    Ajax call:

    $.ajax({
      type : 'POST',
      url : 'post.php',
      dataType : 'html',
      data: {
          email : $('#email').val()
      },
      success : function(data){
          $('#waiting').hide(500);
          $('#message').removeClass().addClass((data == '') ? 'error' : 'success')
         .html(data).show(500);
          if (data == '') {
              $('#message').html("Format your email correcly");
              $('#demoForm').show(500);
          }
      },
      error : function(XMLHttpRequest, textStatus, errorThrown) {
          $('#waiting').hide(500);
          $('#message').removeClass().addClass('error')
          .text('There was an error.').show(500);
          $('#demoForm').show(500);
      }
    

    });

    post.php

    <?php
    sleep(1);
    
    function processEmail($email) {
        if (preg_match("#^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$#", $email)) {
            // your logic here (ex: add into database)
            return true;
        }
        return false;
    }
    
    if (processEmail($_POST['email'])) {
        echo "<span>Your email is <strong>{$_POST['email']}</strong></span>";
    }
    

    'heroku' does not appear to be a git repository

    show all apps heroku have access with

    heroku apps
    

    And check you app exist then

     execute heroku git:remote -a yourapp_exist
    

    Can I escape a double quote in a verbatim string literal?

    Use a duplicated double quote.

    @"this ""word"" is escaped";
    

    outputs:

    this "word" is escaped
    

    Regular expression for first and last name

    This seems to do the job for me:

    [\S]{2,} [\S]{2,}( [\S]{2,})*
    

    How to reset Django admin password?

    You may try this:

    1.Change Superuser password without console

    python manage.py changepassword <username>
    

    2.Change Superuser password through console

    enter image description here enter image description here

    Why doesn't os.path.join() work in this case?

    It's because your '/new_sandbox/' begins with a / and thus is assumed to be relative to the root directory. Remove the leading /.

    Fixed positioned div within a relative parent div

    here is a more generic solution, that don't depends on the Menu/Header height. its fully responsive, Pure CSS solution, Works great on IE8+, Firefox, Chrome, Safari, opera. supports Content scrolling without affecting the Menu/Header.

    Test it with that Working Fiddle

    The Html:

    <div class="Container">
        <div class="First">
            <p>The First div height is not fixed</p>
            <p>This Layout has been tested on: IE10, IE9, IE8, FireFox, Chrome, Safari, using Pure CSS 2.1 only</p>
        </div>
        <div class="Second">
            <div class="Wrapper">
                <div class="Centered">
                    <p>The Second div should always span the available Container space.</p>
                    <p>This content is vertically Centered.</p>
                </div>
            </div>
        </div>
    </div>
    

    The CSS:

    *
    {
        margin: 0;
        padding: 0;
    }
    
    html, body, .Container
    {
        height: 100%;
    }
    
        .Container:before
        {
            content: '';
            height: 100%;
            float: left;
        }
    
    .First
    {
        /*for demonstration only*/
        background-color: #bf5b5b;
    }
    
    .Second
    {
        position: relative;
        z-index: 1;
        /*for demonstration only*/
        background-color: #6ea364;
    }
    
        .Second:after
        {
            content: '';
            clear: both;
            display: block;
        }
    
    /*This part his relevant only for Vertically centering*/
    .Wrapper
    {
        position: absolute;
        width: 100%;
        height: 100%;
        overflow: auto;
    }
        .Wrapper:before
        {
            content: '';
            display: inline-block;
            vertical-align: middle;
            height: 100%;
        }
    
    .Centered
    {
        display: inline-block;
        vertical-align: middle;
    }
    

    Find object in list that has attribute equal to some value (that meets any condition)

    For below code, xGen is an anonomous generator expression, yFilt is a filter object. Note that for xGen the additional None parameter is returned rather than throwing StopIteration when the list is exhausted.

    arr =((10,0), (11,1), (12,2), (13,2), (14,3))
    
    value = 2
    xGen = (x for x in arr if x[1] == value)
    yFilt = filter(lambda x: x[1] == value, arr)
    print(type(xGen))
    print(type(yFilt))
    
    for i in range(1,4):
        print('xGen: pass=',i,' result=',next(xGen,None))
        print('yFilt: pass=',i,' result=',next(yFilt))
    

    Output:

    <class 'generator'>
    <class 'filter'>
    xGen: pass= 1  result= (12, 2)
    yFilt: pass= 1  result= (12, 2)
    xGen: pass= 2  result= (13, 2)
    yFilt: pass= 2  result= (13, 2)
    xGen: pass= 3  result= None
    Traceback (most recent call last):
      File "test.py", line 12, in <module>
        print('yFilt: pass=',i,' result=',next(yFilt))
    StopIteration
    

    <code> vs <pre> vs <samp> for inline and block code snippets

    For normal inlined <code> use:

    <code>...</code>
    

    and for each and every place where blocked <code> is needed use

    <code style="display:block; white-space:pre-wrap">...</code>
    

    Alternatively, define a <codenza> tag for break lining block <code> (no classes)

    <script>
    </script>
    <style>
      codenza, code {}     /*  noop mnemonic aide that codenza mimes code tag  */
      codenza {display:block;white-space:pre-wrap}
    </style>`
    

    Testing: (NB: the following is a scURIple utilizing a data: URI protocol/scheme, therefore the %0A nl format codes are essential in preserving such when cut and pasted into the URL bar for testing - so view-source: (ctrl-U) looks good preceed every line below with %0A)

    data:text/html;charset=utf-8,<html >
    <script>document.write(window.navigator.userAgent)</script>
    <script></script>
    <style>
      codenza, code {}     /*  noop mnemonic aide that codenza mimes code tag  */
      codenza {display:block;white-space:pre-wrap}
    </style>
    <p>First using the usual &lt;code> tag
    <code>
      %0A     function x(arghhh){ 
      %0A          return "a very long line of text that will extend the code beyond the boundaries of the margins, guaranteed for the most part, well maybe without you as a warrantee (except in abnormally conditioned perverse environs in which case a warranty is useless)"
      %0A     }
    </code>
    and then 
    <p>with the tag blocked using pre-wrapped lines
    <code style=display:block;white-space:pre-wrap> 
      %0A     function x(arghhh){ 
      %0A          return "a very long line of text that will extend the code beyond the boundaries of the margins, guaranteed for the most part, well maybe without you as a warrantee (except in abnormally conditioned perverse environs in which case a warranty is useless)"
      %0A     }
    </code>
    <br>using an ersatz tag
    <codenza>
      %0A     function x(arghhh){ 
      %0A          return "a very long line of text that will extend the code beyond the boundaries of the margins, guaranteed for the most part, well maybe without you as a warrantee (except in abnormally conditioned perverse environs in which case a warranty is useless)"
     %0A     }
    </codenza>
    </html>
    

    TNS Protocol adapter error while starting Oracle SQL*Plus

    Another possibility (esp. with multiple Oracle homes)

    set ORACLE_SID=$SID

    sqlplus /nolog

    conn / as sysdba;

    In jQuery, how do I select an element by its name attribute?

    You might notice using class selector to get value of ASP.NET RadioButton controls is always empty and here is the reason.

    You create RadioButton control in ASP.NET as below:

    <asp:RadioButton runat="server" ID="rbSingle" GroupName="Type" CssClass="radios" Text="Single" />
    <asp:RadioButton runat="server" ID="rbDouble" GroupName="Type" CssClass="radios" Text="Double" />
    <asp:RadioButton runat="server" ID="rbTriple" GroupName="Type" CssClass="radios" Text="Triple" />
    

    And ASP.NET renders following HTML for your RadioButton

    <span class="radios"><input id="Content_rbSingle" type="radio" name="ctl00$Content$Type" value="rbSingle" /><label for="Content_rbSingle">Single</label></span>
    <span class="radios"><input id="Content_rbDouble" type="radio" name="ctl00$Content$Type" value="rbDouble" /><label for="Content_rbDouble">Double</label></span>
    <span class="radios"><input id="Content_rbTriple" type="radio" name="ctl00$Content$Type" value="rbTriple" /><label for="Content_rbTriple">Triple</label></span>
    

    For ASP.NET we don't want to use RadioButton control name or id because they can change for any reason out of user's hand (change in container name, form name, usercontrol name, ...) as you can see in code above.

    The only remaining feasible way to get the value of the RadioButton using jQuery is using css class as mentioned in this answer to a totally unrelated question as following

    $('span.radios input:radio').click(function() {
        var value = $(this).val();
    });
    

    Delete all local git branches

    Although this isn't a command line solution, I'm surprised the Git GUI hasn't been suggested yet.

    I use the command line 99% of the time, but in this case its either far to slow (hence the original question), or you don't know what you are about to delete when resorting to some lengthy, but clever shell manipulation.

    The UI solves this issue since you can quickly check off the branches you want removed, and be reminded of ones you want to keep, without having to type a command for every branch.

    From the UI go to Branch --> Delete and Ctrl+Click the branches you want to delete so they are highlighted. If you want to be sure they are merged into a branch (such as dev), under Delete Only if Merged Into set Local Branch to dev. Otherwise, set it to Always to ignore this check.

    GitUI: delete local branches

    Integrating CSS star rating into an HTML form

    How about this? I needed the exact same thing, I had to create one from scratch. It's PURE CSS, and works in IE9+ Feel-free to improve upon it.

    Demo: http://www.d-k-j.com/Articles/Web_Development/Pure_CSS_5_Star_Rating_System_with_Radios/

    <ul class="form">
        <li class="rating">
            <input type="radio" name="rating" value="0" checked /><span class="hide"></span>
            <input type="radio" name="rating" value="1" /><span></span>
            <input type="radio" name="rating" value="2" /><span></span>
            <input type="radio" name="rating" value="3" /><span></span>
            <input type="radio" name="rating" value="4" /><span></span>
            <input type="radio" name="rating" value="5" /><span></span>
        </li>
    </ul>
    

    CSS:

    .form {
        margin:0;
    }
    
    .form li {
        list-style:none;
    }
    
    .hide {
        display:none;
    }
    
    .rating input[type="radio"] {
        position:absolute;
        filter:alpha(opacity=0);
        -moz-opacity:0;
        -khtml-opacity:0;
        opacity:0;
        cursor:pointer;
        width:17px;
    }
    
    .rating span {
        width:24px;
        height:16px;
        line-height:16px;
        padding:1px 22px 1px 0; /* 1px FireFox fix */
        background:url(stars.png) no-repeat -22px 0;
    }
    
    .rating input[type="radio"]:checked + span {
        background-position:-22px 0;
    }
    
    .rating input[type="radio"]:checked + span ~ span {
        background-position:0 0;
    }
    

    AngularJS - Value attribute on an input text box is ignored when there is a ng-model used?

    That's desired behavior, you should define the model in the controller, not in the view.

    <div ng-controller="Main">
      <input type="text" ng-model="rootFolders">
    </div>
    
    
    function Main($scope) {
      $scope.rootFolders = 'bob';
    }
    

    SSL handshake alert: unrecognized_name error since upgrade to Java 1.7.0

    You cannot supply system properties to the jarsigner.exe tool, unfortunately.

    I have submitted defect 7177232, referencing @eckes' defect 7127374 and explaining why it was closed in error.

    My defect is specifically about the impact on the jarsigner tool, but perhaps it will lead them to reopening the other defect and addressing the issue properly.

    UPDATE: Actually, it turns out that you CAN supply system properties to the Jarsigner tool, it's just not in the help message. Use jarsigner -J-Djsse.enableSNIExtension=false

    How can I display two div in one line via css inline property

    You don't need to use display:inline to achieve this:

    .inline { 
        border: 1px solid red;
        margin:10px;
        float:left;/*Add float left*/
        margin :10px;
    }
    

    You can use float-left.

    Using float:left is best way to place multiple div elements in one line. Why? Because inline-block does have some problem when is viewed in IE older versions.

    fiddle

    Storing Data in MySQL as JSON

    MySQL 5.7 Now supports a native JSON data type similar to MongoDB and other schemaless document data stores:

    JSON support

    Beginning with MySQL 5.7.8, MySQL supports a native JSON type. JSON values are not stored as strings, instead using an internal binary format that permits quick read access to document elements. JSON documents stored in JSON columns are automatically validated whenever they are inserted or updated, with an invalid document producing an error. JSON documents are normalized on creation, and can be compared using most comparison operators such as =, <, <=, >, >=, <>, !=, and <=>; for information about supported operators as well as precedence and other rules that MySQL follows when comparing JSON values, see Comparison and Ordering of JSON Values.

    MySQL 5.7.8 also introduces a number of functions for working with JSON values. These functions include those listed here:

    1. Functions that create JSON values: JSON_ARRAY(), JSON_MERGE(), and JSON_OBJECT(). See Section 12.16.2, “Functions That Create JSON Values”.
    2. Functions that search JSON values: JSON_CONTAINS(), JSON_CONTAINS_PATH(), JSON_EXTRACT(), JSON_KEYS(), and JSON_SEARCH(). See Section 12.16.3, “Functions That Search JSON Values”.
    3. Functions that modify JSON values: JSON_APPEND(), JSON_ARRAY_APPEND(), JSON_ARRAY_INSERT(), JSON_INSERT(), JSON_QUOTE(), JSON_REMOVE(), JSON_REPLACE(), JSON_SET(), and JSON_UNQUOTE(). See Section 12.16.4, “Functions That Modify JSON Values”.
    4. Functions that provide information about JSON values: JSON_DEPTH(), JSON_LENGTH(), JSON_TYPE(), and JSON_VALID(). See Section 12.16.5, “Functions That Return JSON Value Attributes”.

    In MySQL 5.7.9 and later, you can use column->path as shorthand for JSON_EXTRACT(column, path). This works as an alias for a column wherever a column identifier can occur in an SQL statement, including WHERE, ORDER BY, and GROUP BY clauses. This includes SELECT, UPDATE, DELETE, CREATE TABLE, and other SQL statements. The left hand side must be a JSON column identifier (and not an alias). The right hand side is a quoted JSON path expression which is evaluated against the JSON document returned as the column value.

    See Section 12.16.3, “Functions That Search JSON Values”, for more information about -> and JSON_EXTRACT(). For information about JSON path support in MySQL 5.7, see Searching and Modifying JSON Values. See also Secondary Indexes and Virtual Generated Columns.

    More info:

    https://dev.mysql.com/doc/refman/5.7/en/json.html

    taking input of a string word by word

    getline is storing the entire line at once, which is not what you want. A simple fix is to have three variables and use cin to get them all. C++ will parse automatically at the spaces.

    #include <iostream>
    using namespace std;
    
    int main() {
        string a, b, c;
        cin >> a >> b >> c;
        //now you have your three words
        return 0;
    }
    

    I don't know what particular "operation" you're talking about, so I can't help you there, but if it's changing characters, read up on string and indices. The C++ documentation is great. As for using namespace std; versus std:: and other libraries, there's already been a lot said. Try these questions on StackOverflow to start.

    Setting JDK in Eclipse

    Some additional steps may be needed to set both the project and default workspace JRE correctly, as MayoMan mentioned. Here is the complete sequence in Eclipse Luna:

    • Right click your project > properties
    • Select “Java Build Path” on left, then “JRE System Library”, click Edit…
    • Select "Workspace Default JRE"
    • Click "Installed JREs"
    • If you see JRE you want in the list select it (selecting a JDK is OK too)
    • If not, click Search…, navigate to Computer > Windows C: > Program Files > Java, then click OK
    • Now you should see all installed JREs, select the one you want
    • Click OK/Finish a million times

    Easy.... not.

    How can I get a channel ID from YouTube?

    To get Channel id

    Ex: Apple channel ID

    enter image description here

    Select any of the video in that channel

    enter image description here

    Select iPhone - Share photos (video)

    Now click on channel name Apple bottom of the video.

    enter image description here

    Now you will get channel id in browser url

    enter image description here

    Here this is Apple channel id : UCE_M8A5yxnLfW0KghEeajjw

    How can I use Ruby to colorize the text output to a terminal?

    Combining the answers above, you can implement something that works like the gem colorize without needing another dependency.

    class String
      # colorization
      def colorize(color_code)
        "\e[#{color_code}m#{self}\e[0m"
      end
    
      def red
        colorize(31)
      end
    
      def green
        colorize(32)
      end
    
      def yellow
        colorize(33)
      end
    
      def blue
        colorize(34)
      end
    
      def pink
        colorize(35)
      end
    
      def light_blue
        colorize(36)
      end
    end
    

    Typescript Date Type?

    The answer is super simple, the type is Date:

    const d: Date = new Date(); // but the type can also be inferred from "new Date()" already
    

    It is the same as with every other object instance :)

    How to find schema name in Oracle ? when you are connected in sql session using read only user

    To create a read-only user, you have to setup a different user than the one owning the tables you want to access.

    If you just create the user and grant SELECT permission to the read-only user, you'll need to prepend the schema name to each table name. To avoid this, you have basically two options:

    1. Set the current schema in your session:
    ALTER SESSION SET CURRENT_SCHEMA=XYZ
    
    1. Create synonyms for all tables:
    CREATE SYNONYM READER_USER.TABLE1 FOR XYZ.TABLE1
    

    So if you haven't been told the name of the owner schema, you basically have three options. The last one should always work:

    1. Query the current schema setting:
    SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA') FROM DUAL
    
    1. List your synonyms:
    SELECT * FROM ALL_SYNONYMS WHERE OWNER = USER
    
    1. Investigate all tables (with the exception of the some well-known standard schemas):
    SELECT * FROM ALL_TABLES WHERE OWNER NOT IN ('SYS', 'SYSTEM', 'CTXSYS', 'MDSYS');
    

    HTML5 iFrame Seamless Attribute

    I thought this might be useful to someone:

    in chrome version 32, a 2-pixels border automatically appears around iframes without the seamless attribute. It can be easily removed by adding this CSS rule:

    iframe:not([seamless]) { border:none; }
    

    Chrome uses the same selector with these default user-agent styles:

    iframe:not([seamless]) {
      border: 2px inset;
      border-image-source: initial;
      border-image-slice: initial;
      border-image-width: initial;
      border-image-outset: initial;
      border-image-repeat: initial;
    }
    

    How to enable mbstring from php.ini?

    All XAMPP packages come with Multibyte String (php_mbstring.dll) extension installed.

    If you have accidentally removed DLL file from php/ext folder, just add it back (get the copy from XAMPP zip archive - its downloadable).

    If you have deleted the accompanying INI configuration line from php.ini file, add it back as well:

    extension=php_mbstring.dll

    Also, ensure to restart your webserver (Apache) using XAMPP control panel.

    Additional Info on Enabling PHP Extensions

    • install extension (e.g. put php_mbstring.dll into /XAMPP/php/ext directory)
    • in php.ini, ensure extension directory specified (e.g. extension_dir = "ext")
    • ensure correct build of DLL file (e.g. 32bit thread-safe VC9 only works with DLL files built using exact same tools and configuration: 32bit thread-safe VC9)
    • ensure PHP API versions match (If not, once you restart the webserver you will receive related error.)

    Fitting a Normal distribution to 1D data

    You can use matplotlib to plot the histogram and the PDF (as in the link in @MrE's answer). For fitting and for computing the PDF, you can use scipy.stats.norm, as follows.

    import numpy as np
    from scipy.stats import norm
    import matplotlib.pyplot as plt
    
    
    # Generate some data for this demonstration.
    data = norm.rvs(10.0, 2.5, size=500)
    
    # Fit a normal distribution to the data:
    mu, std = norm.fit(data)
    
    # Plot the histogram.
    plt.hist(data, bins=25, density=True, alpha=0.6, color='g')
    
    # Plot the PDF.
    xmin, xmax = plt.xlim()
    x = np.linspace(xmin, xmax, 100)
    p = norm.pdf(x, mu, std)
    plt.plot(x, p, 'k', linewidth=2)
    title = "Fit results: mu = %.2f,  std = %.2f" % (mu, std)
    plt.title(title)
    
    plt.show()
    

    Here's the plot generated by the script:

    Plot

    Can I fade in a background image (CSS: background-image) with jQuery?

    You can give opacity value as

    div {opacity: 0.4;}
    

    For IE, you can specify as

    div { filter:alpha(opacity=10));}
    

    Lower the value - Higher the transparency.

    mysql delete under safe mode

    You can trick MySQL into thinking you are actually specifying a primary key column. This allows you to "override" safe mode.

    Assuming you have a table with an auto-incrementing numeric primary key, you could do the following:

    DELETE FROM tbl WHERE id <> 0
    

    convert ArrayList<MyCustomClass> to JSONArray

    As somebody figures out that the OP wants to convert custom List to org.json.JSONArray not the com.google.gson.JsonArray,the CORRECT answer should be like this:

    Gson gson = new Gson();
    
    String listString = gson.toJson(
                        targetList,
               new TypeToken<ArrayList<targetListItem>>() {}.getType());
    
     JSONArray jsonArray =  new JSONArray(listString);
    

    get all keys set in memcached

    Bash

    To get list of keys in Bash, follow the these steps.

    First, define the following wrapper function to make it simple to use (copy and paste into shell):

    function memcmd() {
      exec {memcache}<>/dev/tcp/localhost/11211
      printf "%s\n%s\n" "$*" quit >&${memcache}
      cat <&${memcache}
    }
    

    Memcached 1.4.31 and above

    You can use lru_crawler metadump all command to dump (most of) the metadata for (all of) the items in the cache.

    As opposed to cachedump, it does not cause severe performance problems and has no limits on the amount of keys that can be dumped.

    Example command by using the previously defined function:

    memcmd lru_crawler metadump all
    

    See: ReleaseNotes1431.


    Memcached 1.4.30 and below

    Get list of slabs by using items statistics command, e.g.:

    memcmd stats items
    

    For each slub class, you can get list of items by specifying slub id along with limit number (0 - unlimited):

    memcmd stats cachedump 1 0
    memcmd stats cachedump 2 0
    memcmd stats cachedump 3 0
    memcmd stats cachedump 4 0
    ...
    

    Note: You need to do this for each memcached server.

    To list all the keys from all stubs, here is the one-liner (per one server):

    for id in $(memcmd stats items | grep -o ":[0-9]\+:" | tr -d : | sort -nu); do
        memcmd stats cachedump $id 0
    done
    

    Note: The above command could cause severe performance problems while accessing the items, so it's not advised to run on live.


    Notes:

    stats cachedump only dumps the HOT_LRU (IIRC?), which is managed by a background thread as activity happens. This means under a new enough version which the 2Q algo enabled, you'll get snapshot views of what's in just one of the LRU's.

    If you want to view everything, lru_crawler metadump 1 (or lru_crawler metadump all) is the new mostly-officially-supported method that will asynchronously dump as many keys as you want. you'll get them out of order but it hits all LRU's, and unless you're deleting/replacing items multiple runs should yield the same results.

    Source: GH-405.


    Related:

    Opening a folder in explorer and selecting a file

    // suppose that we have a test.txt at E:\
    string filePath = @"E:\test.txt";
    if (!File.Exists(filePath))
    {
        return;
    }
    
    // combine the arguments together
    // it doesn't matter if there is a space after ','
    string argument = "/select, \"" + filePath +"\"";
    
    System.Diagnostics.Process.Start("explorer.exe", argument);
    

    Using Notepad++ to validate XML against an XSD

    1. In Notepad++ go to Plugins > Plugin manager > Show Plugin Manager then find Xml Tools plugin. Tick the box and click Install

      enter image description here

    2. Open XML document you want to validate and click Ctrl+Shift+Alt+M (Or use Menu if this is your preference Plugins > XML Tools > Validate Now).
      Following dialog will open: enter image description here

    3. Click on .... Point to XSD file and I am pretty sure you'll be able to handle things from here.

    Hope this saves you some time.

    EDIT: Plugin manager was not included in some versions of Notepad++ because many users didn't like commercials that it used to show. If you want to keep an older version, however still want plugin manager, you can get it on github, and install it by extracting the archive and copying contents to plugins and updates folder.
    In version 7.7.1 plugin manager is back under a different guise... Plugin Admin so now you can simply update notepad++ and have it back.

    enter image description here

    Trying to get property of non-object MySQLi result

    I have been working on to write a custom module in Drupal 7 and got the same error:

    Notice: Trying to get property of non-object

    My code is something like this:

    function example_node_access($node, $op, $account) {
      if ($node->type == 'page' && $op == 'update') {
        drupal_set_message('This poll has been published, you may not make changes to it.','error');
        return NODE_ACCESS_DENY;    
      }
    }
    

    Solution: I just added a condition if (is_object($sqlResult)), and everything went fine.

    Here is my final code:

    function mediaten_node_access($node, $op, $account) {
    
        if (is_object($node)){
    
         if ($node->type == 'page' && $op == 'update') {
           drupal_set_message('This poll has been published, you may not make changes.','error');
           return NODE_ACCESS_DENY;    
          }
    
        }
    
    }
    

    How to write character & in android strings.xml

    This is a my issues, my solution is as following: Use &gt; for <, &lt;for > , &amp; for & ,"'" for ' , &quot for \"\"

    Python __call__ special method practical example

    We can use __call__ method to use other class methods as static methods.

        class _Callable:
            def __init__(self, anycallable):
                self.__call__ = anycallable
    
        class Model:
    
            def get_instance(conn, table_name):
    
                """ do something"""
    
            get_instance = _Callable(get_instance)
    
        provs_fac = Model.get_instance(connection, "users")             
    

    How to convert jsonString to JSONObject in Java

    To anyone still looking for an answer:

    JSONParser parser = new JSONParser();
    JSONObject json = (JSONObject) parser.parse(stringToParse);
    

    SQL 'LIKE' query using '%' where the search criteria contains '%'

    If you want a % symbol in search_criteria to be treated as a literal character rather than as a wildcard, escape it to [%]

    ... where name like '%' + replace(search_criteria, '%', '[%]') + '%'
    

    Graphical user interface Tutorial in C

    My favourite UI tutorials all come from zetcode.com:

    These are tutorials I'd consider to be "starting tutorials". The example tutorial gets you up and going, but doesn't show you anything too advanced or give much explanation. Still, often, I find the big problem is "how do I start?" and these have always proved useful to me.

    How to wait till the response comes from the $http request, in angularjs?

    I was having the same problem and none if these worked for me. Here is what did work though...

    app.factory('myService', function($http) {
        var data = function (value) {
                return $http.get(value);
        }
    
        return { data: data }
    });
    

    and then the function that uses it is...

    vm.search = function(value) {
    
            var recieved_data = myService.data(value);
    
            recieved_data.then(
                function(fulfillment){
                    vm.tags = fulfillment.data;
                }, function(){
                    console.log("Server did not send tag data.");
            });
        };
    

    The service isn't that necessary but I think its a good practise for extensibility. Most of what you will need for one will for any other, especially when using APIs. Anyway I hope this was helpful.

    List of all special characters that need to be escaped in a regex

    Combining what everyone said, I propose the following, to keep the list of characters special to RegExp clearly listed in their own String, and to avoid having to try to visually parse thousands of "\\"'s. This seems to work pretty well for me:

    final String regExSpecialChars = "<([{\\^-=$!|]})?*+.>";
    final String regExSpecialCharsRE = regExSpecialChars.replaceAll( ".", "\\\\$0");
    final Pattern reCharsREP = Pattern.compile( "[" + regExSpecialCharsRE + "]");
    
    String quoteRegExSpecialChars( String s)
    {
        Matcher m = reCharsREP.matcher( s);
        return m.replaceAll( "\\\\$0");
    }
    

    Why do I get a SyntaxError for a Unicode escape in my file path?

    C:\\Users\\expoperialed\\Desktop\\Python This syntax worked for me.

    Center image using text-align center?

    display: block with margin: 0 didn't work for me, neither wrapping with a text-align: center element.

    This is my solution:

    img.center {
        position: absolute;
        transform: translateX(-50%);
        left: 50%;
    }
    

    translateX is supported by most browsers

    How to find rows in one table that have no corresponding row in another table

    You can also use exists, since sometimes it's faster than left join. You'd have to benchmark them to figure out which one you want to use.

    select
        id
    from
        tableA a
    where
        not exists
        (select 1 from tableB b where b.id = a.id)
    

    To show that exists can be more efficient than a left join, here's the execution plans of these queries in SQL Server 2008:

    left join - total subtree cost: 1.09724:

    left join

    exists - total subtree cost: 1.07421:

    exists

    What does "hard coded" mean?

    Scenario

    In a college there are many students doing different courses, and after an examination we have to prepare a marks card showing grade. I can calculate grade two ways

    1. I can write some code like this

        if(totalMark <= 100 && totalMark > 90) { grade = "A+"; }
        else if(totalMark <= 90 && totalMark > 80) { grade = "A"; }
        else if(totalMark <= 80 && totalMark > 70) { grade = "B"; }
        else if(totalMark <= 70 && totalMark > 60) { grade = "C"; }
    

    2. You can ask user to enter grade definition some where and save that data

    Something like storing into a database table enter image description here

    In the first case the grade is common for all the courses and if the rule changes the code needs to be changed. But for second case we are giving user the provision to enter grade based on their requirement. So the code will be not be changed when the grade rules changes.

    That's the important thing when you give more provision for users to define business logic. The first case is nothing but Hard Coding.

    So in your question if you ask the user to enter the path of the file at the start, then you can remove the hard coded path in your code.

    Background color on input type=button :hover state sticks in IE

    There might be a fix to <input type="button"> - but if there is, I don't know it.

    Otherwise, a good option seems to be to replace it with a carefully styled a element.

    Example: http://jsfiddle.net/Uka5v/

    .button {
        background-color: #E3E1B8; 
        padding: 2px 4px;
        font: 13px sans-serif;
        text-decoration: none;
        border: 1px solid #000;
        border-color: #aaa #444 #444 #aaa;
        color: #000
    }
    

    Upsides include that the a element will style consistently between different (older) versions of Internet Explorer without any extra work, and I think my link looks nicer than that button :)

    How to remove unwanted space between rows and columns in table?

    For images in td, use this for images:

    display: block;
    

    That removes unwanted space for me

    Get source jar files attached to Eclipse for Maven-managed dependencies

    I had a similar problem, and the solution that worked best for me was to include the source in the same jar as the compiled code (so a given directory in the jar would include both Foo.java and Foo.class). Eclipse automatically associates the source with the compiled code, and automatically provides the JavaDoc from the source. Obviously, that's only helpful if you control the artifact.

    How do I measure time elapsed in Java?

    It is worth noting that

    • System.currentTimeMillis() has only millisecond accuracy at best. At worth its can be 16 ms on some windows systems. It has a lower cost that alternatives < 200 ns.
    • System.nanoTime() is only micro-second accurate on most systems and can jump on windows systems by 100 microseconds (i.e sometimes it not as accurate as it appears)
    • Calendar is a very expensive way to calculate time. (i can think of apart from XMLGregorianCalendar) Sometimes its the most appropriate solution but be aware you should only time long intervals.

    Oracle 11g Express Edition for Windows 64bit?

    This is a very useful question. It has 5 different helpful answers that say quite different but complementary things (surprising, eh?). This answer combines those answers into a more useful form as well as adding two more solutions.

    There is no Oracle Express Edition for 64 bit Windows. See this official [but unanswered] forum thread. Therefore, these are the classes of solutions:

    • Pay. The paid versions of Oracle (Standard/Enterprise) support 64-bit Windows.
    • Hack. Many people have successfully installed the 32 bit Oracle XE software on 64 bit Windows. This blog post seems to be the one most often cited as helpful. This is unsupported, of course, and session trace is known to fail. But for many folks this is a good solution.
    • VM. If your goal is simply to run Oracle on a 64 bit Windows machine, then running Oracle in a Virtual Machine may be a good solution. VirtualBox is a natural choice because it's free and Oracle provides pre-configured VMs with Oracle DB installed. VMWare or other virtualization systems work equally well.
    • Develop only. Many users want Oracle XE just to learn Oracle or to test an application with Oracle. If that's your requirement, then Oracle Enterprise Edition (including support for 64-bit Windows) is free "only for the purpose of developing, testing, prototyping and demonstrating your application".

    Add target="_blank" in CSS

    Unfortunately, no. In 2013, there is no way to do it with pure CSS.


    Update: thanks to showdev for linking to the obsolete spec of CSS3 Hyperlinks, and yes, no browser has implemented it. So the answer still stands valid.

    Extract only right most n letters from a string

    Just a thought:

    public static string Right(this string @this, int length) {
        return @this.Substring(Math.Max(@this.Length - length, 0));
    }
    

    Apply function to each column in a data frame observing each columns existing data type

    building on @ltamar's answer:
    Use summary and munge the output into something useful!

    library(tidyr)
    library(dplyr)
    
    df %>% 
      summary %>% 
      data.frame %>%
      select(-Var1) %>%
      separate(data=.,col=Freq,into = c('metric','value'),sep = ':') %>%
      rename(column_name=Var2) %>%
      mutate(value=as.numeric(value),
             metric = trimws(metric,'both') 
      ) %>%  
      filter(!is.na(value)) -> metrics
    

    It's not pretty and it is certainly not fast but it gets the job done!

    Heatmap in matplotlib with pcolor?

    The python seaborn module is based on matplotlib, and produces a very nice heatmap.

    Below is an implementation with seaborn, designed for the ipython/jupyter notebook.

    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    %matplotlib inline
    # import the data directly into a pandas dataframe
    nba = pd.read_csv("http://datasets.flowingdata.com/ppg2008.csv", index_col='Name  ')
    # remove index title
    nba.index.name = ""
    # normalize data columns
    nba_norm = (nba - nba.mean()) / (nba.max() - nba.min())
    # relabel columns
    labels = ['Games', 'Minutes', 'Points', 'Field goals made', 'Field goal attempts', 'Field goal percentage', 'Free throws made', 
              'Free throws attempts', 'Free throws percentage','Three-pointers made', 'Three-point attempt', 'Three-point percentage', 
              'Offensive rebounds', 'Defensive rebounds', 'Total rebounds', 'Assists', 'Steals', 'Blocks', 'Turnover', 'Personal foul']
    nba_norm.columns = labels
    # set appropriate font and dpi
    sns.set(font_scale=1.2)
    sns.set_style({"savefig.dpi": 100})
    # plot it out
    ax = sns.heatmap(nba_norm, cmap=plt.cm.Blues, linewidths=.1)
    # set the x-axis labels on the top
    ax.xaxis.tick_top()
    # rotate the x-axis labels
    plt.xticks(rotation=90)
    # get figure (usually obtained via "fig,ax=plt.subplots()" with matplotlib)
    fig = ax.get_figure()
    # specify dimensions and save
    fig.set_size_inches(15, 20)
    fig.savefig("nba.png")
    

    The output looks like this: seaborn nba heatmap I used the matplotlib Blues color map, but personally find the default colors quite beautiful. I used matplotlib to rotate the x-axis labels, as I couldn't find the seaborn syntax. As noted by grexor, it was necessary to specify the dimensions (fig.set_size_inches) by trial and error, which I found a bit frustrating.

    As noted by Paul H, you can easily add the values to heat maps (annot=True), but in this case I didn't think it improved the figure. Several code snippets were taken from the excellent answer by joelotz.

    How to redirect the output of print to a TXT file

    Usinge the file argument in the print function, you can have different files per print:

    print('Redirect output to file', file=open('/tmp/example.log', 'w'))
    

    How does spring.jpa.hibernate.ddl-auto property exactly work in Spring?

    For the record, the spring.jpa.hibernate.ddl-auto property is Spring Data JPA specific and is their way to specify a value that will eventually be passed to Hibernate under the property it knows, hibernate.hbm2ddl.auto.

    The values create, create-drop, validate, and update basically influence how the schema tool management will manipulate the database schema at startup.

    For example, the update operation will query the JDBC driver's API to get the database metadata and then Hibernate compares the object model it creates based on reading your annotated classes or HBM XML mappings and will attempt to adjust the schema on-the-fly.

    The update operation for example will attempt to add new columns, constraints, etc but will never remove a column or constraint that may have existed previously but no longer does as part of the object model from a prior run.

    Typically in test case scenarios, you'll likely use create-drop so that you create your schema, your test case adds some mock data, you run your tests, and then during the test case cleanup, the schema objects are dropped, leaving an empty database.

    In development, it's often common to see developers use update to automatically modify the schema to add new additions upon restart. But again understand, this does not remove a column or constraint that may exist from previous executions that is no longer necessary.

    In production, it's often highly recommended you use none or simply don't specify this property. That is because it's common practice for DBAs to review migration scripts for database changes, particularly if your database is shared across multiple services and applications.

    Offline Speech Recognition In Android (JellyBean)

    Google did quietly enable offline recognition in that Search update, but there is (as yet) no API or additional parameters available within the SpeechRecognizer class. {See Edit at the bottom of this post} The functionality is available with no additional coding, however the user’s device will need to be configured correctly for it to begin working and this is where the problem lies and I would imagine why a lot of developers assume they are ‘missing something’.

    Also, Google have restricted certain Jelly Bean devices from using the offline recognition due to hardware constraints. Which devices this applies to is not documented, in fact, nothing is documented, so configuring the capabilities for the user has proved to be a matter of trial and error (for them). It works for some straight away – For those that it doesn't, this is the ‘guide’ I supply them with.

    1. Make sure the default Android Voice Recogniser is set to Google not Samsung/Vlingo
    2. Uninstall any offline recognition files you already have installed from the Google Voice Search Settings
    3. Go to your Android Application Settings and see if you can uninstall the updates for the Google Search and Google Voice Search applications.
    4. If you can't do the above, go to the Play Store see if you have the option there.
    5. Reboot (if you achieved 2, 3 or 4)
    6. Update Google Search and Google Voice Search from the Play Store (if you achieved 3 or 4 or if an update is available anyway).
    7. Reboot (if you achieved 6)
    8. Install English UK offline language files
    9. Reboot
    10. Use utter! with a connection
    11. Switch to aeroplane mode and give it a try
    12. Once it is working, the offline recognition of other languages, such as English US should start working too.

    EDIT: Temporarily changing the device locale to English UK also seems to kickstart this to work for some.

    Some users reported they still had to reboot a number of times before it would begin working, but they all get there eventually, often inexplicably to what was the trigger, the key to which are inside the Google Search APK, so not in the public domain or part of AOSP.

    From what I can establish, Google tests the availability of a connection prior to deciding whether to use offline or online recognition. If a connection is available initially but is lost prior to the response, Google will supply a connection error, it won’t fall-back to offline. As a side note, if a request for the network synthesised voice has been made, there is no error supplied it if fails – You get silence.

    The Google Search update enabled no additional features in Google Now and in fact if you try to use it with no internet connection, it will error. I mention this as I wondered if the ability would be withdrawn as quietly as it appeared and therefore shouldn't be relied upon in production.

    If you intend to start using the SpeechRecognizer class, be warned, there is a pretty major bug associated with it, which require your own implementation to handle.

    Not being able to specifically request offline = true, makes controlling this feature impossible without manipulating the data connection. Rubbish. You’ll get hundreds of user emails asking you why you haven’t enabled something so simple!

    EDIT: Since API level 23 a new parameter has been added EXTRA_PREFER_OFFLINE which the Google recognition service does appear to adhere to.

    Hope the above helps.

    Can I load a UIImage from a URL?

    AFNetworking provides async image loading into a UIImageView with placeholder support. It also supports async networking for working with APIs in general.

    How do I convert a number to a numeric, comma-separated formatted string?

    You really shouldn't be doing that in SQL - you should be formatting it in the middleware instead. But I recognize that sometimes there is an edge case that requires one to do such a thing.

    This looks like it might have your answer:

    How do I format a number with commas in T-SQL?

    How can I rename a field for all documents in MongoDB?

    If you are using MongoMapper, this works:

    Access.collection.update( {}, { '$rename' => { 'location' => 'location_info' } }, :multi => true )
    

    Rails has_many with alias name

    Give this a shot:

    has_many :jobs, foreign_key: "user_id", class_name: "Task"
    

    Note, that :as is used for polymorphic associations.

    How do you get git to always pull from a specific branch?

    I find it hard to remember the exact git config or git branch arguments as in mipadi's and Casey's answers, so I use these 2 commands to add the upstream reference:

    git pull origin master
    git push -u origin master
    

    This will add the same info to your .git/config, but I find it easier to remember.

    How does Java import work?

    Import in Java does not work at all, as it is evaluated at compile time only. (Treat it as shortcuts so you do not have to write fully qualified class names). At runtime there is no import at all, just FQCNs.

    At runtime it is necessary that all classes you have referenced can be found by classloaders. (classloader infrastructure is sometimes dark magic and highly dependent on environment.) In case of an applet you will have to rig up your HTML tag properly and also provide necessary JAR archives on your server.

    PS: Matching at runtime is done via qualified class names - class found under this name is not necessarily the same or compatible with class you have compiled against.

    Using Server.MapPath() inside a static field in ASP.NET MVC

    Try HostingEnvironment.MapPath, which is static.

    See this SO question for confirmation that HostingEnvironment.MapPath returns the same value as Server.MapPath: What is the difference between Server.MapPath and HostingEnvironment.MapPath?

    How to end C++ code

    If the condition I'm testing for is really bad news, I do this:

    *(int*) NULL= 0;
    

    This gives me a nice coredump from where I can examine the situation.

    What does this expression language ${pageContext.request.contextPath} exactly do in JSP EL?

    use request.getContextPath() instead of ${pageContext.request.contextPath} in JSP expression language.

    <%
    String contextPath = request.getContextPath();
    %>
    out.println(contextPath);
    

    output: willPrintMyProjectcontextPath

    React js change child component's state from parent component

    You can use the createRef to change the state of the child component from the parent component. Here are all the steps.

    1. Create a method to change the state in the child component.

      2 - Create a reference for the child component in parent component using React.createRef().

      3 - Attach reference with the child component using ref={}.

      4 - Call the child component method using this.yor-reference.current.method.

    Parent component

    
    class ParentComponent extends Component {
    constructor()
    {
    this.changeChild=React.createRef()
    }
      render() {
        return (
          <div>
            <button onClick={this.changeChild.current.toggleMenu()}>
              Toggle Menu from Parent
            </button>
            <ChildComponent ref={this.changeChild} />
          </div>
        );
      }
    }
    
    

    Child Component

    
    class ChildComponent extends Component {
      constructor(props) {
        super(props);
        this.state = {
          open: false;
        }
      }
    
      toggleMenu=() => {
        this.setState({
          open: !this.state.open
        });
      }
    
      render() {
        return (
          <Drawer open={this.state.open}/>
        );
      }
    }
    
    
    
    

    Why is Visual Studio 2013 very slow?

    I was using a solution upgraded from Visual Studio 2012. Visual Studio 2013 also upgraded the .suo file. Deleting the solution's .suo file (it's next to the .sln file), closing and re-opening Visual Studio fixed the problem for me. My .suo file went from 91KB to 27KB.

    Write output to a text file in PowerShell

    Use the Out-File cmdlet

     Compare-Object ... | Out-File C:\filename.txt
    

    Optionally, add -Encoding utf8 to Out-File as the default encoding is not really ideal for many uses.

    How do I sort a vector of pairs based on the second element of the pair?

    You can use boost like this:

    std::sort(a.begin(), a.end(), 
              boost::bind(&std::pair<int, int>::second, _1) <
              boost::bind(&std::pair<int, int>::second, _2));
    

    I don't know a standard way to do this equally short and concise, but you can grab boost::bind it's all consisting of headers.

    raw_input function in Python

    If I let raw_input like that, no Josh or anything else. It's a variable,I think,but I don't understand her roll :-(

    The raw_input function prompts you for input and returns that as a string. This certainly worked for me. You don't need idle. Just open a "DOS prompt" and run the program.

    This is what it looked like for me:

    C:\temp>type test.py
    print "Halt!"
    s = raw_input("Who Goes there? ")
    print "You may pass,", s
    
    C:\temp>python test.py
    Halt!
    Who Goes there? Magnus
    You may pass, Magnus
    

    I types my name and pressed [Enter] after the program had printed "Who Goes there?"

    Convert comma separated string to array in PL/SQL

    Yes, it is very frustrating that dbms_utility.comma_to_table only supports comma delimieted lists and then only when elements in the list are valid PL/SQL identifies (so numbers cause an error).

    I have created a generic parsing package that will do what you need (pasted below). It is part of my "demo.zip" file, a repository of over 2000 files that support my training materials, all available at PL/SQL Obsession: www.toadworld.com/SF.

    Regards, Steven Feuerstein www.plsqlchallenge.com (daily PL/SQL quiz)

        CREATE OR REPLACE PACKAGE parse
    /*
       Generalized delimited string parsing package
    
       Author: Steven Feuerstein, [email protected]
    
       Latest version always available on PL/SQL Obsession: 
    
       www.ToadWorld.com/SF
    
       Click on "Trainings, Seminars and Presentations" and
       then download the demo.zip file.
    
       Modification History
          Date          Change
          10-APR-2009   Add support for nested list variations
    
       Notes:
         * This package does not validate correct use of delimiters.
           It assumes valid construction of lists.
         * Import the Q##PARSE.qut file into an installation of 
           Quest Code Tester 1.8.3 or higher in order to run
           the regression test for this package.
    
    */
    IS
       SUBTYPE maxvarchar2_t IS VARCHAR2 (32767);
    
       /*
       Each of the collection types below correspond to (are returned by)
       one of the parse functions.
    
       items_tt - a simple list of strings
       nested_items_tt - a list of lists of strings
       named_nested_items_tt - a list of named lists of strings
    
       This last type also demonstrates the power and elegance of string-indexed
       collections. The name of the list of elements is the index value for
       the "outer" collection.
       */
       TYPE items_tt IS TABLE OF maxvarchar2_t
                           INDEX BY PLS_INTEGER;
    
       TYPE nested_items_tt IS TABLE OF items_tt
                                  INDEX BY PLS_INTEGER;
    
       TYPE named_nested_items_tt IS TABLE OF items_tt
                                        INDEX BY maxvarchar2_t;
    
       /*
       Parse lists with a single delimiter.
       Example: a,b,c,d
    
       Here is an example of using this function:
    
       DECLARE
          l_list parse.items_tt;
       BEGIN
          l_list := parse.string_to_list ('a,b,c,d', ',');
       END;
       */
       FUNCTION string_to_list (string_in IN VARCHAR2, delim_in IN VARCHAR2)
          RETURN items_tt;
    
       /*
       Parse lists with nested delimiters.
       Example: a,b,c,d|1,2,3|x,y,z
    
       Here is an example of using this function:
    
       DECLARE
          l_list parse.nested_items_tt;
       BEGIN
          l_list := parse.string_to_list ('a,b,c,d|1,2,3,4', '|', ',');
       END;
       */
       FUNCTION string_to_list (string_in      IN VARCHAR2
                              , outer_delim_in IN VARCHAR2
                              , inner_delim_in IN VARCHAR2
                               )
          RETURN nested_items_tt;
    
       /*
       Parse named lists with nested delimiters.
       Example: letters:a,b,c,d|numbers:1,2,3|names:steven,george
    
       Here is an example of using this function:
    
       DECLARE
          l_list parse.named_nested_items_tt;
       BEGIN
       l_list := parse.string_to_list ('letters:a,b,c,d|numbers:1,2,3,4', '|', ':', ',');
       END;
       */
       FUNCTION string_to_list (string_in      IN VARCHAR2
                              , outer_delim_in IN VARCHAR2
                              , name_delim_in  IN VARCHAR2
                              , inner_delim_in IN VARCHAR2
                               )
          RETURN named_nested_items_tt;
    
       PROCEDURE display_list (string_in IN VARCHAR2
                             , delim_in  IN VARCHAR2:= ','
                              );
    
       PROCEDURE display_list (string_in      IN VARCHAR2
                             , outer_delim_in IN VARCHAR2
                             , inner_delim_in IN VARCHAR2
                              );
    
       PROCEDURE display_list (string_in      IN VARCHAR2
                             , outer_delim_in IN VARCHAR2
                             , name_delim_in  IN VARCHAR2
                             , inner_delim_in IN VARCHAR2
                              );
    
       PROCEDURE show_variations;
    
       /* Helper function for automated testing */
       FUNCTION nested_eq (list1_in    IN items_tt
                         , list2_in    IN items_tt
                         , nulls_eq_in IN BOOLEAN
                          )
          RETURN BOOLEAN;
    
    END parse;
    /
    
    CREATE OR REPLACE PACKAGE BODY parse
    IS
       FUNCTION string_to_list (string_in IN VARCHAR2, delim_in IN VARCHAR2)
          RETURN items_tt
       IS
          c_end_of_list   CONSTANT PLS_INTEGER := -99;
          l_item          maxvarchar2_t;
          l_startloc      PLS_INTEGER := 1;
          items_out       items_tt;
    
          PROCEDURE add_item (item_in IN VARCHAR2)
          IS
          BEGIN
             IF item_in = delim_in
             THEN
                /* We don't put delimiters into the collection. */
                NULL;
             ELSE
                items_out (items_out.COUNT + 1) := item_in;
             END IF;
          END;
    
          PROCEDURE get_next_item (string_in         IN     VARCHAR2
                                 , start_location_io IN OUT PLS_INTEGER
                                 , item_out             OUT VARCHAR2
                                  )
          IS
             l_loc   PLS_INTEGER;
          BEGIN
             l_loc := INSTR (string_in, delim_in, start_location_io);
    
             IF l_loc = start_location_io
             THEN
                /* A null item (two consecutive delimiters) */
                item_out := NULL;
             ELSIF l_loc = 0
             THEN
                /* We are at the last item in the list. */
                item_out := SUBSTR (string_in, start_location_io);
             ELSE
                /* Extract the element between the two positions. */
                item_out :=
                   SUBSTR (string_in
                         , start_location_io
                         , l_loc - start_location_io
                          );
             END IF;
    
             IF l_loc = 0
             THEN
                /* If the delimiter was not found, send back indication
                   that we are at the end of the list. */
    
                start_location_io := c_end_of_list;
             ELSE
                /* Move the starting point for the INSTR search forward. */
                start_location_io := l_loc + 1;
             END IF;
          END get_next_item;
       BEGIN
          IF string_in IS NULL OR delim_in IS NULL
          THEN
             /* Nothing to do except pass back the empty collection. */
             NULL;
          ELSE
             LOOP
                get_next_item (string_in, l_startloc, l_item);
                add_item (l_item);
                EXIT WHEN l_startloc = c_end_of_list;
             END LOOP;
          END IF;
    
          RETURN items_out;
       END string_to_list;
    
       FUNCTION string_to_list (string_in      IN VARCHAR2
                              , outer_delim_in IN VARCHAR2
                              , inner_delim_in IN VARCHAR2
                               )
          RETURN nested_items_tt
       IS
          l_elements   items_tt;
          l_return     nested_items_tt;
       BEGIN
          /* Separate out the different lists. */
          l_elements := string_to_list (string_in, outer_delim_in);
    
          /* For each list, parse out the separate items
             and add them to the end of the list of items
             for that list. */   
          FOR indx IN 1 .. l_elements.COUNT
          LOOP
             l_return (l_return.COUNT + 1) :=
                string_to_list (l_elements (indx), inner_delim_in);
          END LOOP;
    
          RETURN l_return;
       END string_to_list;
    
       FUNCTION string_to_list (string_in      IN VARCHAR2
                              , outer_delim_in IN VARCHAR2
                              , name_delim_in  IN VARCHAR2
                              , inner_delim_in IN VARCHAR2
                               )
          RETURN named_nested_items_tt
       IS
          c_name_position constant pls_integer := 1;
          c_items_position constant pls_integer := 2;
          l_elements          items_tt;
          l_name_and_values   items_tt;
          l_return            named_nested_items_tt;
       BEGIN
          /* Separate out the different lists. */
          l_elements := string_to_list (string_in, outer_delim_in);
    
          FOR indx IN 1 .. l_elements.COUNT
          LOOP
             /* Extract the name and the list of items that go with 
                the name. This collection always has just two elements:
                  index 1 - the name
                  index 2 - the list of values
             */
             l_name_and_values :=
                string_to_list (l_elements (indx), name_delim_in);
             /*
             Use the name as the index value for this list.
             */
             l_return (l_name_and_values (c_name_position)) :=
                string_to_list (l_name_and_values (c_items_position), inner_delim_in);
          END LOOP;
    
          RETURN l_return;
       END string_to_list;
    
       PROCEDURE display_list (string_in IN VARCHAR2
                             , delim_in  IN VARCHAR2:= ','
                              )
       IS
          l_items   items_tt;
       BEGIN
          DBMS_OUTPUT.put_line (
             'Parse "' || string_in || '" using "' || delim_in || '"'
          );
    
          l_items := string_to_list (string_in, delim_in);
    
          FOR indx IN 1 .. l_items.COUNT
          LOOP
             DBMS_OUTPUT.put_line ('> ' || indx || ' = ' || l_items (indx));
          END LOOP;
       END display_list;
    
       PROCEDURE display_list (string_in      IN VARCHAR2
                             , outer_delim_in IN VARCHAR2
                             , inner_delim_in IN VARCHAR2
                              )
       IS
          l_items   nested_items_tt;
       BEGIN
          DBMS_OUTPUT.put_line(   'Parse "'
                               || string_in
                               || '" using "'
                               || outer_delim_in
                               || '-'
                               || inner_delim_in
                               || '"');
          l_items := string_to_list (string_in, outer_delim_in, inner_delim_in);
    
    
          FOR outer_index IN 1 .. l_items.COUNT
          LOOP
             DBMS_OUTPUT.put_line(   'List '
                                  || outer_index
                                  || ' contains '
                                  || l_items (outer_index).COUNT
                                  || ' elements');
    
             FOR inner_index IN 1 .. l_items (outer_index).COUNT
             LOOP
                DBMS_OUTPUT.put_line(   '> Value '
                                     || inner_index
                                     || ' = '
                                     || l_items (outer_index) (inner_index));
             END LOOP;
          END LOOP;
       END display_list;
    
       PROCEDURE display_list (string_in      IN VARCHAR2
                             , outer_delim_in IN VARCHAR2
                             , name_delim_in  IN VARCHAR2
                             , inner_delim_in IN VARCHAR2
                              )
       IS
          l_items   named_nested_items_tt;
          l_index   maxvarchar2_t;
       BEGIN
          DBMS_OUTPUT.put_line(   'Parse "'
                               || string_in
                               || '" using "'
                               || outer_delim_in
                               || '-'
                               || name_delim_in
                               || '-'
                               || inner_delim_in
                               || '"');
          l_items :=
             string_to_list (string_in
                           , outer_delim_in
                           , name_delim_in
                           , inner_delim_in
                            );
    
          l_index := l_items.FIRST;
    
          WHILE (l_index IS NOT NULL)
          LOOP
             DBMS_OUTPUT.put_line(   'List "'
                                  || l_index
                                  || '" contains '
                                  || l_items (l_index).COUNT
                                  || ' elements');
    
             FOR inner_index IN 1 .. l_items (l_index).COUNT
             LOOP
                DBMS_OUTPUT.put_line(   '> Value '
                                     || inner_index
                                     || ' = '
                                     || l_items (l_index) (inner_index));
             END LOOP;
    
             l_index := l_items.NEXT (l_index);
          END LOOP;
       END display_list;
    
       PROCEDURE show_variations
       IS
          PROCEDURE show_header (title_in IN VARCHAR2)
          IS
          BEGIN
             DBMS_OUTPUT.put_line (RPAD ('=', 60, '='));
             DBMS_OUTPUT.put_line (title_in);
             DBMS_OUTPUT.put_line (RPAD ('=', 60, '='));
          END show_header;
       BEGIN
          show_header ('Single Delimiter Lists');
          display_list ('a,b,c');
          display_list ('a;b;c', ';');
          display_list ('a,,b,c');
          display_list (',,b,c,,');
    
          show_header ('Nested Lists');
          display_list ('a,b,c,d|1,2,3|x,y,z', '|', ',');
    
          show_header ('Named, Nested Lists');
          display_list ('letters:a,b,c,d|numbers:1,2,3|names:steven,george'
                      , '|'
                      , ':'
                      , ','
                       );
       END;
    
       FUNCTION nested_eq (list1_in    IN items_tt
                         , list2_in    IN items_tt
                         , nulls_eq_in IN BOOLEAN
                          )
          RETURN BOOLEAN
       IS
          l_return   BOOLEAN := list1_in.COUNT = list2_in.COUNT;
          l_index    PLS_INTEGER := 1;
       BEGIN
          WHILE (l_return AND l_index IS NOT NULL)
          LOOP
             l_return := list1_in (l_index) = list2_in (l_index);
             l_index := list1_in.NEXT (l_index);
          END LOOP;
    
          RETURN l_return;
       EXCEPTION
          WHEN NO_DATA_FOUND
          THEN
             RETURN FALSE;
       END nested_eq;
    END;
    /
    

    How to use LDFLAGS in makefile

    Seems like the order of the linking flags was not an issue in older versions of gcc. Eg gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) comes with Centos-6.7 happy with linker option before inputfile; but gcc with ubuntu 16.04 gcc (Ubuntu 5.3.1-14ubuntu2.1) 5.3.1 20160413 does not allow.

    Its not the gcc version alone, I has got something to with the distros

    How to set a:link height/width with css?

    Thanks to RandomUs 1r for this observation:

    changing it to display:inline-block; solves that issue. – RandomUs1r May 14 '13 at 21:59

    I tried it myself for a top navigation menu bar, as follows:

    First style the "li" element as follows:

    display: inline-block;
    width: 7em;
    text-align: center;

    Then style the "a"> element as follows:

    width: 100%;

    Now the navigation links are all equal width with text centered in each link.

    Regex matching in a Bash if statement

    There are a couple of important things to know about bash's [[ ]] construction. The first:

    Word splitting and pathname expansion are not performed on the words between the [[ and ]]; tilde expansion, parameter and variable expansion, arithmetic expansion, command substitution, process substitution, and quote removal are performed.

    The second thing:

    An additional binary operator, ‘=~’, is available,... the string to the right of the operator is considered an extended regular expression and matched accordingly... Any part of the pattern may be quoted to force it to be matched as a string.

    Consequently, $v on either side of the =~ will be expanded to the value of that variable, but the result will not be word-split or pathname-expanded. In other words, it's perfectly safe to leave variable expansions unquoted on the left-hand side, but you need to know that variable expansions will happen on the right-hand side.

    So if you write: [[ $x =~ [$0-9a-zA-Z] ]], the $0 inside the regex on the right will be expanded before the regex is interpreted, which will probably cause the regex to fail to compile (unless the expansion of $0 ends with a digit or punctuation symbol whose ascii value is less than a digit). If you quote the right-hand side like-so [[ $x =~ "[$0-9a-zA-Z]" ]], then the right-hand side will be treated as an ordinary string, not a regex (and $0 will still be expanded). What you really want in this case is [[ $x =~ [\$0-9a-zA-Z] ]]

    Similarly, the expression between the [[ and ]] is split into words before the regex is interpreted. So spaces in the regex need to be escaped or quoted. If you wanted to match letters, digits or spaces you could use: [[ $x =~ [0-9a-zA-Z\ ] ]]. Other characters similarly need to be escaped, like #, which would start a comment if not quoted. Of course, you can put the pattern into a variable:

    pat="[0-9a-zA-Z ]"
    if [[ $x =~ $pat ]]; then ...
    

    For regexes which contain lots of characters which would need to be escaped or quoted to pass through bash's lexer, many people prefer this style. But beware: In this case, you cannot quote the variable expansion:

    # This doesn't work:
    if [[ $x =~ "$pat" ]]; then ...
    

    Finally, I think what you are trying to do is to verify that the variable only contains valid characters. The easiest way to do this check is to make sure that it does not contain an invalid character. In other words, an expression like this:

    valid='0-9a-zA-Z $%&#' # add almost whatever else you want to allow to the list
    if [[ ! $x =~ [^$valid] ]]; then ...
    

    ! negates the test, turning it into a "does not match" operator, and a [^...] regex character class means "any character other than ...".

    The combination of parameter expansion and regex operators can make bash regular expression syntax "almost readable", but there are still some gotchas. (Aren't there always?) One is that you could not put ] into $valid, even if $valid were quoted, except at the very beginning. (That's a Posix regex rule: if you want to include ] in a character class, it needs to go at the beginning. - can go at the beginning or the end, so if you need both ] and -, you need to start with ] and end with -, leading to the regex "I know what I'm doing" emoticon: [][-])

    Link a .css on another folder

    check this quick reminder of file path

    Here is all you need to know about relative file paths:

    • Starting with "/" returns to the root directory and starts there
    • Starting with "../" moves one directory backwards and starts there
    • Starting with "../../" moves two directories backwards and starts there (and so on...)
    • To move forward, just start with the first subdirectory and keep moving forward

    This table does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available

    This is how you get rid of that notice and be able to open those grid cells for edit

    1) click "STRUCTURE"

    2) go to the field you want to be a primary key (and this usually is the 1st one ) and then click on the "PRIMARY" and "INDEX" fields for that field and accept the PHPMyadmin's pop-up question "OK".

    3) pad yourself in the back.

    How can I get input radio elements to horizontally align?

    Here is updated Fiddle

    Simply remove </br> between input radio's

    <div class="clearBoth"></div>
    <input type="radio" name="editList" value="always">Always
    <input type="radio" name="editList" value="never">Never
    <input type="radio" name="editList" value="costChange">Cost Change
    <div class="clearBoth"></div>