# Programs & Examples On #Maxima

Maxima is an opensource Computer Algebra System based on the legendary Macsyma. NOTE: This tag has NOTHING to do with 'finding the maxima' - for that, please use [max].

### SQL Server: Error converting data type nvarchar to numeric

I was running into this error while converting from nvarchar to float.
What I had to do was to use the `LEFT` function on the nvarchar field.

Example: `Left(Field,4)`

Basically, the query will look like:

``````Select convert(float,left(Field,4)) from TABLE
``````

Just ridiculous that SQL would complicate it to this extent, while with C# it's a breeze!
Hope it helps someone out there.

### JUNIT testing void methods

I think you should avoid writing side-effecting method. Return true or false from your method and you can check these methods in unit tests.

### Scatter plot with error bars

To summarize Laryx Decidua's answer:

define and use a function like the following

``````plot.with.errorbars <- function(x, y, err, ylim=NULL, ...) {
if (is.null(ylim))
ylim <- c(min(y-err), max(y+err))
plot(x, y, ylim=ylim, pch=19, ...)
arrows(x, y-err, x, y+err, length=0.05, angle=90, code=3)
}
``````

where one can override the automatic ylim, and also pass extra parameters such as main, xlab, ylab.

### Find row where values for column is maximal in a pandas DataFrame

``````mx.iloc[0].idxmax()
``````

This one line of code will give you how to find the maximum value from a row in dataframe, here `mx` is the dataframe and `iloc[0]` indicates the 0th index.

### Get min and max value in PHP Array

``````\$Location_Category_array = array(5,50,7,6,1,7,7,30,50,50,50,40,50,9,9,11,2,2,2,2,2,11,21,21,1,12,1,5);

asort(\$Location_Category_array);
\$count=array_count_values(\$Location_Category_array);//Counts the values in the array, returns associatve array
print_r(\$count);
\$maxsize = 0;
\$maxvalue = 0;
foreach(\$count as \$a=>\$y){
echo "<br/>".\$a."=".\$y;
if(\$y>=\$maxvalue){
\$maxvalue = \$y;
if(\$a>\$maxsize){
\$maxsize = \$a;
}
}
}

echo "<br/>max = ".\$maxsize;
``````

### Finding local maxima/minima with Numpy in a 1D numpy array

``````import numpy as np
x=np.array([6,3,5,2,1,4,9,7,8])
y=np.array([2,1,3,5,3,9,8,10,7])
sortId=np.argsort(x)
x=x[sortId]
y=y[sortId]
minm = np.array([])
maxm = np.array([])
i = 0
while i < length-1:
if i < length - 1:
while i < length-1 and y[i+1] >= y[i]:
i+=1

if i != 0 and i < length-1:
maxm = np.append(maxm,i)

i+=1

if i < length - 1:
while i < length-1 and y[i+1] <= y[i]:
i+=1

if i < length-1:
minm = np.append(minm,i)
i+=1

print minm
print maxm
``````

`minm` and `maxm` contain indices of minima and maxima, respectively. For a huge data set, it will give lots of maximas/minimas so in that case smooth the curve first and then apply this algorithm.

### Peak detection in a 2D array

Interesting problem. The solution I would try is the following.

1. Apply a low pass filter, such as convolution with a 2D gaussian mask. This will give you a bunch of (probably, but not necessarily floating point) values.

2. Perform a 2D non-maximal suppression using the known approximate radius of each paw pad (or toe).

This should give you the maximal positions without having multiple candidates which are close together. Just to clarify, the radius of the mask in step 1 should also be similar to the radius used in step 2. This radius could be selectable, or the vet could explicitly measure it beforehand (it will vary with age/breed/etc).

Some of the solutions suggested (mean shift, neural nets, and so on) probably will work to some degree, but are overly complicated and probably not ideal.

### A simple algorithm for polygon intersection

I have no very simple solution, but here are the main steps for the real algorithm:

1. Do a custom double linked list for the polygon vertices and edges. Using `std::list` won't do because you must swap next and previous pointers/offsets yourself for a special operation on the nodes. This is the only way to have simple code, and this will give good performance.
2. Find the intersection points by comparing each pair of edges. Note that comparing each pair of edge will give O(N²) time, but improving the algorithm to O(N·logN) will be easy afterwards. For some pair of edges (say a?b and c?d), the intersection point is found by using the parameter (from 0 to 1) on edge a?b, which is given by t?=d0/(d0-d1), where d0 is (c-a)×(b-a) and d1 is (d-a)×(b-a). × is the 2D cross product such as p×q=p?·q?-p?·q?. After having found t?, finding the intersection point is using it as a linear interpolation parameter on segment a?b: P=a+t?(b-a)
3. Split each edge adding vertices (and nodes in your linked list) where the segments intersect.
4. Then you must cross the nodes at the intersection points. This is the operation for which you needed to do a custom double linked list. You must swap some pair of next pointers (and update the previous pointers accordingly).

Then you have the raw result of the polygon intersection resolving algorithm. Normally, you will want to select some region according to the winding number of each region. Search for polygon winding number for an explanation on this.

If you want to make a O(N·logN) algorithm out of this O(N²) one, you must do exactly the same thing except that you do it inside of a line sweep algorithm. Look for Bentley Ottman algorithm. The inner algorithm will be the same, with the only difference that you will have a reduced number of edges to compare, inside of the loop.

This problem mostly occurs because there could be another istance of the code running, from some previous tests you did most probably. Find out and close any other instance or if it is ok, try restarting the server.

### Check if input is number or letter javascript

you can use isNaN(). it returns true when data is not number.

``````var data = 'hello there';
if(isNaN(data)){
alert("it is not number");
}else {
alert("its a valid number");
}
``````

### How can I declare and define multiple variables in one line using C++?

As of C++17, you can use Structured Bindings:

``````#include <iostream>
#include <tuple>

int main ()
{
auto [hello, world] = std::make_tuple("Hello ", "world!");
std::cout << hello << world << std::endl;
return 0;
}
``````

Demo

### Messagebox with input field

You can do it by making form and displaying it using ShowDialogBox....

`Form.ShowDialog Method` - Shows the form as a modal dialog box.

Example:

``````public void ShowMyDialogBox()
{
Form2 testDialog = new Form2();

// Show testDialog as a modal dialog and determine if DialogResult = OK.
if (testDialog.ShowDialog(this) == DialogResult.OK)
{
// Read the contents of testDialog's TextBox.
this.txtResult.Text = testDialog.TextBox1.Text;
}
else
{
this.txtResult.Text = "Cancelled";
}
testDialog.Dispose();
}
``````

### Multiple files upload in Codeigniter

``````private function upload_files(\$path, \$title, \$files)
{
\$config = array(
'allowed_types' => 'jpg|gif|png',
'overwrite'     => 1,
);

\$images = array();

foreach (\$files['name'] as \$key => \$image) {
\$_FILES['images[]']['name']= \$files['name'][\$key];
\$_FILES['images[]']['type']= \$files['type'][\$key];
\$_FILES['images[]']['tmp_name']= \$files['tmp_name'][\$key];
\$_FILES['images[]']['error']= \$files['error'][\$key];
\$_FILES['images[]']['size']= \$files['size'][\$key];

\$fileName = \$title .'_'. \$image;

\$images[] = \$fileName;

\$config['file_name'] = \$fileName;

} else {
return false;
}
}
return true;
}
``````

### Checkbox Check Event Listener

Since I don't see the `jQuery` tag in the OP, here is a javascript only option :

``````document.addEventListener("DOMContentLoaded", function (event) {
var _selector = document.querySelector('input[name=myCheckbox]');
_selector.addEventListener('change', function (event) {
if (_selector.checked) {
// do something if checked
} else {
// do something else otherwise
}
});
});
``````

See JSFIDDLE

### How to add parameters to HttpURLConnection using POST using NameValuePair

You can get output stream for the connection and write the parameter query string to it.

``````URL url = new URL("http://yoururl.com");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);

List<NameValuePair> params = new ArrayList<NameValuePair>();

OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getQuery(params));
writer.flush();
writer.close();
os.close();

conn.connect();
``````

...

``````private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException
{
StringBuilder result = new StringBuilder();
boolean first = true;

for (NameValuePair pair : params)
{
if (first)
first = false;
else
result.append("&");

result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
}

return result.toString();
}
``````

### In a URL, should spaces be encoded using %20 or +?

This confusion is because URL is still 'broken' to this day

Take "http://www.google.com" for instance. This is a URL. A URL is a Uniform Resource Locator and is really a pointer to a web page (in most cases). URLs actually have a very well-defined structure since the first specification in 1994.

We can extract detailed information about the "http://www.google.com" URL:

``````+---------------+-------------------+
|      Part     |      Data         |
+---------------+-------------------+
|  Scheme       | http              |
+---------------+-------------------+
``````

If we look at a more complex URL such as "https://bob:[email protected]:8080/file;p=1?q=2#third" we can extract the following information:

``````+-------------------+---------------------+
|        Part       |       Data          |
+-------------------+---------------------+
|  Scheme           | https               |
|  User             | bob                 |
|  Password         | bobby               |
|  Host address     | www.lunatech.com    |
|  Port             | 8080                |
|  Path             | /file               |
|  Path parameters  | p=1                 |
|  Query parameters | q=2                 |
|  Fragment         | third               |
+-------------------+---------------------+
``````

The reserved characters are different for each part

For HTTP URLs, a space in a path fragment part has to be encoded to "%20" (not, absolutely not "+"), while the "+" character in the path fragment part can be left unencoded.

Now in the query part, spaces may be encoded to either "+" (for backwards compatibility: do not try to search for it in the URI standard) or "%20" while the "+" character (as a result of this ambiguity) has to be escaped to "%2B".

This means that the "blue+light blue" string has to be encoded differently in the path and query parts: "http://example.com/blue+light%20blue?blue%2Blight+blue". From there you can deduce that encoding a fully constructed URL is impossible without a syntactical awareness of the URL structure.

What this boils down to is

you should have `%20` before the `?` and `+` after

Source

### How to split a data frame?

If you want to split a dataframe according to values of some variable, I'd suggest using `daply()` from the `plyr` package.

``````library(plyr)
x <- daply(df, .(splitting_variable), function(x)return(x))
``````

Now, `x` is an array of dataframes. To access one of the dataframes, you can index it with the name of the level of the splitting variable.

``````x\$Level1
#or
x[["Level1"]]
``````

I'd be sure that there aren't other more clever ways to deal with your data before splitting it up into many dataframes though.

### What do 1.#INF00, -1.#IND00 and -1.#IND mean?

• My program just printed out 1.#IND or 1.#INF (on Windows) or nan or inf (on Linux). What happened?
• How can I tell if a number is really a number and not a NaN or an infinity?
• How can I find out more details at runtime about kinds of NaNs and infinities?
• Do you have any sample code to show how this works?

These questions have to do with floating point exceptions. If you get some strange non-numeric output where you're expecting a number, you've either exceeded the finite limits of floating point arithmetic or you've asked for some result that is undefined. To keep things simple, I'll stick to working with the double floating point type. Similar remarks hold for float types.

Debugging 1.#IND, 1.#INF, nan, and inf

If your operation would generate a larger positive number than could be stored in a double, the operation will return 1.#INF on Windows or inf on Linux. Similarly your code will return -1.#INF or -inf if the result would be a negative number too large to store in a double. Dividing a positive number by zero produces a positive infinity and dividing a negative number by zero produces a negative infinity. Example code at the end of this page will demonstrate some operations that produce infinities.

Some operations don't make mathematical sense, such as taking the square root of a negative number. (Yes, this operation makes sense in the context of complex numbers, but a double represents a real number and so there is no double to represent the result.) The same is true for logarithms of negative numbers. Both sqrt(-1.0) and log(-1.0) would return a NaN, the generic term for a "number" that is "not a number". Windows displays a NaN as -1.#IND ("IND" for "indeterminate") while Linux displays nan. Other operations that would return a NaN include 0/0, 0*8, and 8/8. See the sample code below for examples.

In short, if you get 1.#INF or inf, look for overflow or division by zero. If you get 1.#IND or nan, look for illegal operations. Maybe you simply have a bug. If it's more subtle and you have something that is difficult to compute, see Avoiding Overflow, Underflow, and Loss of Precision. That article gives tricks for computing results that have intermediate steps overflow if computed directly.

### Is it possible to log all HTTP request headers with Apache?

If you're interested in seeing which specific headers a remote client is sending to your server, and you can cause the request to run a CGI script, then the simplest solution is to have your server script dump the environment variables into a file somewhere.

e.g. run the shell command "env > /tmp/headers" from within your script

Then, look for the environment variables that start with HTTP_...

You will see lines like:

``````HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_ACCEPT_LANGUAGE=en-US,en;q=0.5
HTTP_CACHE_CONTROL=max-age=0
``````

Each of those represents a request header.

Note that the header names are modified from the actual request. For example, "Accept-Language" becomes "HTTP_ACCEPT_LANGUAGE", and so on.

### Swap x and y axis without manually swapping values

Microsoft Excel for Mac 2011 v 14.5.9

• Click on the chart
• Press the "Switch Plot" button under the "Charts" tab

### Android Studio Gradle DSL method not found: 'android()' -- Error(17,0)

What worked for me was to import the project with "File -> New -> Project from Version Control" then choose your online source (GitHub for example). This way all the .gradle files were created in the import.

### How to check if a variable is equal to one string or another string?

``````if var == 'stringone' or var == 'stringtwo':
do_something()
``````

or more pythonic,

``````if var in ['string one', 'string two']:
do_something()
``````

### Where does forever store console.log output?

This worked for me :

``````forever -a -o out.log -e err.log app.js
``````

### How does one Display a Hyperlink in React Native App?

Use React Native Hyperlink (Native `<A>` tag):

Install:

``````npm i react-native-a
``````

import:

``````import A from 'react-native-a'
``````

Usage:

1. `<A>Example.com</A>`
2. `<A href="example.com">Example</A>`
3. `<A href="https://example.com">Example</A>`
4. `<A href="example.com" style={{fontWeight: 'bold'}}>Example</A>`

### Why is `input` in Python 3 throwing NameError: name... is not defined

I'd say the code you need is:

``````test = input("enter the test")
print(test)
``````

Otherwise it shouldn't run at all, due to a syntax error. The `print` function requires brackets in python 3. I cannot reproduce your error, though. Are you sure it's those lines causing that error?

### Generate an integer sequence in MySQL

I found this solution on the web

``````SET @row := 0;
SELECT @row := @row + 1 as row, t.*
FROM some_table t, (SELECT @row := 0) r
``````

Single query, fast, and does exactly what I wanted: now I can "number" the "selections" found from a complex query with unique numbers starting at 1 and incrementing once for each row in the result.

I think this will also work for the issue listed above: adjust the initial starting value for `@row` and add a limit clause to set the maximum.

BTW: I think that the "r" is not really needed.

ddsp

### pip installs packages successfully, but executables not found from command line

On Windows, you need to add the path `%USERPROFILE%\AppData\Roaming\Python\Scripts` to your path.

### Rails - passing parameters in link_to

``````link_to "+ Service", controller_action_path(:account_id => acct.id)
``````

If it is still not working check the path:

``````\$ rake routes
``````

### Array as session variable

``````session_start();          //php part
\$_SESSION['student']=array();
\$student_name=\$_POST['student_name']; //student_name form field name
\$student_city=\$_POST['city_id'];   //city_id form field name
array_push(\$_SESSION['student'],\$student_name,\$student_city);
//print_r(\$_SESSION['student']);

<table class="table">     //html part
<tr>
<th>Name</th>
<th>City</th>
</tr>

<tr>
<?php for(\$i = 0 ; \$i < count(\$_SESSION['student']) ; \$i++) {
echo '<td>'.\$_SESSION['student'][\$i].'</td>';
}  ?>
</tr>
</table>
``````

### Getting time difference between two times in PHP

``````<?php
\$start = strtotime("12:00");
\$end = // Run query to get datetime value from db
\$elapsed = \$end - \$start;
echo date("H:i", \$elapsed);
?>
``````

### SQL Server loop - how do I loop through a set of records

I think this is the easy way example to iterate item.

``````declare @cateid int
select CateID into [#TempTable] from Category where GroupID = 'STOCKLIST'

while (select count(*) from #TempTable) > 0
begin
select top 1 @cateid = CateID from #TempTable
print(@cateid)

--DO SOMETHING HERE

delete #TempTable where CateID = @cateid
end

drop table #TempTable
``````

### How to find whether MySQL is installed in Red Hat?

Type `mysql --version` to see if it is installed.

To find location use `find -name mysql`.

### Get month and year from a datetime in SQL Server 2005

``````select
datepart(month,getdate()) -- integer (1,2,3...)
,datepart(year,getdate()) -- integer
,datename(month,getdate()) -- string ('September',...)
``````

### Splitting String with delimiter

You can also do:

``````Integer a = '1182-2'.split('-')[0] as Integer
Integer b = '1182-2'.split('-')[1] as Integer

//a=1182 b=2
``````

### Cast to generic type in C#

You can write a method that takes the type as a generic parameter:

``````void GenericProcessMessage<T>(T message)
{
MessageProcessor<T> processor = messageProcessors[typeof(T)]
as MessageProcessor<T>;

//  Call method processor or whatever you need to do
}
``````

Then you need a way to call the method with the correct generic argument. You can do this with reflection:

``````public void ProcessMessage(object message)
{
Type messageType = message.GetType();
MethodInfo method = this.GetType().GetMethod("GenericProcessMessage");
MethodInfo closedMethod = method.MakeGenericMethod(messageType);
closedMethod.Invoke(this, new object[] {message});
}
``````

### Replace all occurrences of a string in a data frame

Equivalent to "find and replace." Don't overthink it.

Try it with one:

``````library(tidyverse)
df <- data.frame(name = rep(letters[1:3], each = 3), var1 = rep('< 2', 9), var2 = rep('<3', 9))

df %>%
mutate(var1 = str_replace(var1, " ", ""))
#>   name var1 var2
#> 1    a   <2   <3
#> 2    a   <2   <3
#> 3    a   <2   <3
#> 4    b   <2   <3
#> 5    b   <2   <3
#> 6    b   <2   <3
#> 7    c   <2   <3
#> 8    c   <2   <3
#> 9    c   <2   <3
``````

Apply to all

``````df %>%
mutate_all(funs(str_replace(., " ", "")))
#>   name var1 var2
#> 1    a   <2   <3
#> 2    a   <2   <3
#> 3    a   <2   <3
#> 4    b   <2   <3
#> 5    b   <2   <3
#> 6    b   <2   <3
#> 7    c   <2   <3
#> 8    c   <2   <3
#> 9    c   <2   <3
``````

If the extra space was produced by uniting columns, think about making `str_trim` part of your workflow.

Created on 2018-03-11 by the reprex package (v0.2.0).

### Cannot use object of type stdClass as array?

Use `true` as the second parameter to `json_decode`. This will decode the json into an associative array instead of `stdObject` instances:

``````\$my_array = json_decode(\$my_json, true);
``````

See the documentation for more details.

### How to select last one week data from today's date

to select records for the last 7 days

``````WHERE Created_Date >= DATEADD(day, -7, GETDATE())
``````

to select records for the current week

``````SET DATEFIRST 1 -- Define beginning of week as Monday
SELECT * FROM
WHERE CreatedDate >= DATEADD(day, 1 - DATEPART(dw, GETDATE()), CONVERT(DATE, GETDATE()))
AND CreatedDate <  DATEADD(day, 8 - DATEPART(dw, GETDATE()), CONVERT(DATE, GETDATE()))
``````

if you want to select records for last week instead of the last 7 days

``````SET DATEFIRST 1 -- Define beginning of week as Monday
SELECT * FROM
WHERE CreatedDate >= DATEADD(day, -(DATEPART(dw, GETDATE()) + 6), CONVERT(DATE, GETDATE()))
AND CreatedDate <  DATEADD(day, 1 - DATEPART(dw, GETDATE()), CONVERT(DATE, GETDATE()))
``````

### Any way to declare an array in-line?

As Draemon says, the closest that Java comes to inline arrays is `new String[]{"blah", "hey", "yo"}` however there is a neat trick that allows you to do something like

`array("blah", "hey", "yo")` with the type automatically inferred.

I have been working on a useful API for augmenting the Java language to allow for inline arrays and collection types. For more details google project Espresso4J or check it out here

Similar problem wasted better half of my day!

Since solution for my problem was different from whats said here, I'm going to post it so it might help someone else.

Mine was a breakpoint. I had a "Break at function" breakpoint (i.e instead of pressing F9 on a code line, we create them using the breakpoints window) which is supposed to stop in a library function outside my project.

And I had "Use Intellisense to verify the function name" CHECKED. (Info here.)

This slowed down vs like hell (project start-up from 2 seconds to 5 minutes).

Removing the break point solved it for good.

### Read HttpContent in WebApi controller

Even though this solution might seem obvious, I just wanted to post it here so the next guy will google it faster.

If you still want to have the model as a parameter in the method, you can create a `DelegatingHandler` to buffer the content.

``````internal sealed class BufferizingHandler : DelegatingHandler
{
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var result = await base.SendAsync(request, cancellationToken);
return result;
}
}
``````

And add it to the global message handlers:

``````configuration.MessageHandlers.Add(new BufferizingHandler());
``````

This solution is based on the answer by Darrel Miller.

This way all the requests will be buffered.

### Replace given value in vector

Another simpler option is to do:

`````` > x = c(1, 1, 2, 4, 5, 2, 1, 3, 2)
> x[x==1] <- 0
> x
[1] 0 0 2 4 5 2 0 3 2
``````

### How to export data to CSV in PowerShell?

simply use the Out-File cmd but DON'T forget to give an encoding type: `-Encoding UTF8`

so use it so:

``````\$log | Out-File -Append C:\as\whatever.csv -Encoding UTF8
``````

-Append is required if you want to write in the file more then once.

### Regex to get the words after matching string

This might work out for you depending on which language you are using:

``````(?<=Object Name:).*
``````

It's a positive lookbehind assertion. More information could be found here.

It won't work with JavaScript though. In your comment I read that you're using it for logstash. If you are using GROK parsing for logstash then it would work. You can verify it yourself here:

https://grokdebug.herokuapp.com/

### MySQL select statement with CASE or IF ELSEIF? Not sure how to get the result

Another way of doing this is using nested IF statements. Suppose you have companies table and you want to count number of records in it. A sample query would be something like this

``````SELECT IF(
count(*) > 15,
'good',
IF(
count(*) > 10,
'average',
'poor'
)
) as data_count
FROM companies
``````

Here second IF condition works when the first IF condition fails. So Sample Syntax of the IF statement would be IF ( CONDITION, THEN, ELSE). Hope it helps someone.

### Change color of Button when Mouse is over

``````<Button Background="#FF4148" BorderThickness="0" BorderBrush="Transparent">
<Border HorizontalAlignment="Right" BorderBrush="#FF6A6A" BorderThickness="0>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#FF6A6A" />
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<StackPanel Orientation="Horizontal">
<Image  RenderOptions.BitmapScalingMode="HighQuality"   Source="//ImageName.png"   />
</StackPanel>
</Border>
</Button>
``````

### How can I make Visual Studio wrap lines at 80 characters?

To do this with Visual Assist (another non-free tool):

VAssistX >> Visual Assist X Options >> Advanced >> Display

• Check "Display indicator after column" and set the number field to 80.

### A SQL Query to select a string between two known strings

I had a similar need to parse out a set of parameters stored within an IIS logs' csUriQuery field, which looked like this: `id=3598308&user=AD\user&parameter=1&listing=No` needed in this format.

I ended up creating a User-defined function to accomplish a string between, with the following assumptions:

1. If the starting occurrence is not found, a `NULL` is returned, and
2. If the ending occurrence is not found, the rest of the string is returned

Here's the code:

``````CREATE FUNCTION dbo.str_between(@col varchar(max), @start varchar(50), @end varchar(50))
RETURNS varchar(max)
WITH EXECUTE AS CALLER
AS
BEGIN
RETURN substring(@col, charindex(@start, @col) + len(@start),
isnull(nullif(charindex(@end, stuff(@col, 1, charindex(@start, @col)-1, '')),0),
len(stuff(@col, 1, charindex(@start, @col)-1, ''))+1) - len(@start)-1);
END;
GO
``````

For the above question, the usage is as follows:

``````DECLARE @a VARCHAR(MAX) = 'All I knew was that the dog had been very bad and required harsh punishment immediately regardless of what anyone else thought.'
SELECT dbo.str_between(@a, 'the dog', 'immediately')
-- Yields' had been very bad and required harsh punishment '
``````

### Is there a bash command which counts files?

You can use the -R option to find the files along with those inside the recursive directories

``````ls -R | wc -l // to find all the files

ls -R | grep log | wc -l // to find the files which contains the word log
``````

you can use patterns on the grep

### How to remove an iOS app from the App Store

Since itunesconnect has been changed i am updating with the new steps here.

You have to follow through these steps

1. Login to itunesconnect
2. Choose your app in My Apps section
3. Under Appstore tab choose "Pricing and Availability"
4. Under Availability section click edit will open a popup listing the territories
5. Uncheck all the territories and click Done

### How can I create an executable JAR with dependencies using Maven?

I compared the tree plugins mentioned in this post. I generated 2 jars and a directory with all the jars. I compared the results and definitely the maven-shade-plugin is the best. My challenge was that I have multiple spring resources that needed to be merged, as well as jax-rs, and JDBC services. They were all merged properly by the shade plugin in comparison with the maven-assembly-plugin. In which case the spring will fail unless you copy them to your own resources folder and merge them manually one time. Both plugins output the correct dependency tree. I had multiple scopes like test,provide, compile, etc the test and provided were skipped by both plugins. They both produced the same manifest but I was able to consolidate licenses with the shade plugin using their transformer. With the maven-dependency-plugin of course you don't have those problems because the jars are not extracted. But like some other have pointed you need to carry one extra file(s) to work properly. Here is a snip of the pom.xml

``````            <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>\${project.build.directory}/lib</outputDirectory>
<includeScope>compile</includeScope>
<excludeTransitive>true</excludeTransitive>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<mainClass>com.rbccm.itf.cdd.poller.landingzone.LandingZonePoller</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-my-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<version>2.4.3</version>
<configuration>
<keepDependenciesWithProvidedScope>false</keepDependenciesWithProvidedScope>
<transformers>
<resource>META-INF/services/javax.ws.rs.ext.Providers</resource>
</transformer>
<resource>META-INF/spring.factories</resource>
</transformer>
<resource>META-INF/spring.handlers</resource>
</transformer>
<resource>META-INF/spring.schemas</resource>
</transformer>
<resource>META-INF/spring.tooling</resource>
</transformer>
</transformer>
</transformers>
</configuration>
<executions>
<execution>
<goals>
</goals>
</execution>
</executions>
</plugin>
``````

### Upload files with HTTPWebrequest (multipart/form-data)

I was looking to do file upload and add some parameters to a multipart/form-data request in VB.NET and not through a regular forms post. Thanks to @JoshCodes answer I got the direction I was looking for. I am posting my solution to help others find a way to perform a post with both file and parameters the html equivalent of what I try to achieve is : html

``````<form action="your-api-endpoint" enctype="multipart/form-data" method="post">
<input type="hidden" name="action" value="api-method-name"/>
<input type="hidden" name="apiKey" value="gs1xxxxxxxxxxxxxex"/>
<input type="hidden" name="access" value="protected"/>
<input type="hidden" name="name" value="test"/>
<input type="hidden" name="title" value="test"/>
<input type="hidden" name="signature" value="cf1d4xxxxxxxxcd5"/>
<input type="file" name="file"/>
</form>
``````

Due to the fact that I have to provide the apiKey and the signature (which is a calculated checksum of the request parameters and api key concatenated string), I needed to do it server side. The other reason I needed to do it server side is the fact that the post of the file can be performed at any time by pointing to a file already on the server (providing the path), so there would be no manually selected file during form post thus form data file would not contain the file stream.Otherwise I could have calculated the checksum via an ajax callback and submitted the file through the html post using JQuery. I am using .net version 4.0 and cannot upgrade to 4.5 in the actual solution. So I had to install the Microsoft.Net.Http using nuget cmd

``````PM> install-package Microsoft.Net.Http

Private Function UploadFile(req As ApiRequest, filePath As String, fileName As String) As String
Dim result = String.empty
Try
''//Get file stream
Dim paramFileStream As Stream = File.OpenRead(filePath)
Dim fileStreamContent As HttpContent = New  StreamContent(paramFileStream)
Using client = New HttpClient()
Using formData = New MultipartFormDataContent()
''// This adds parameter name ("action")
''// parameter value (req.Action) to form data
For Each param In req.Parameters
Next
''//This adds the file stream and file info to form data
''//We are now sending the request
Dim response = client.PostAsync(GetAPIEndpoint(), formData).Result
''//We are here reading the response

If Not response.IsSuccessStatusCode Then
result =  "Request Failed : Code = " & response.StatusCode & "Reason = " & response.ReasonPhrase & "Message = " & respContent
End If
result.Value = respContent
End Using
End Using
Catch ex As Exception
result = "An error occurred : " & ex.Message
End Try

Return result
End Function
``````

### adding noise to a signal in python

For those who want to add noise to a multi-dimensional dataset loaded within a pandas dataframe or even a numpy ndarray, here's an example:

``````import pandas as pd
# create a sample dataset with dimension (2,2)
# in your case you need to replace this with
# clean_signal = pd.read_csv("your_data.csv")
clean_signal = pd.DataFrame([[1,2],[3,4]], columns=list('AB'), dtype=float)
print(clean_signal)
"""
print output:
A    B
0  1.0  2.0
1  3.0  4.0
"""
import numpy as np
mu, sigma = 0, 0.1
# creating a noise with the same dimension as the dataset (2,2)
noise = np.random.normal(mu, sigma, [2,2])
print(noise)

"""
print output:
array([[-0.11114313,  0.25927152],
[ 0.06701506, -0.09364186]])
"""
signal = clean_signal + noise
print(signal)
"""
print output:
A         B
0  0.888857  2.259272
1  3.067015  3.906358
"""
``````

### How to query first 10 rows and next time query other 10 rows from table

for first 10 rows...

``````SELECT * FROM msgtable WHERE cdate='18/07/2012' LIMIT 0,10
``````

for next 10 rows

``````SELECT * FROM msgtable WHERE cdate='18/07/2012' LIMIT 10,10
``````

### Format Float to n decimal places

I was looking for an answer to this question and later I developed a method! :) A fair warning, it's rounding up the value.

``````private float limitDigits(float number) {
return Float.valueOf(String.format(Locale.getDefault(), "%.2f", number));
}
``````

### How to select data of a table from another database in SQL Server?

Using Microsoft SQL Server Management Studio you can create `Linked Server`. First make connection to current (local) server, then go to `Server Objects` > `Linked Servers` > context menu > `New Linked Server`. In window `New Linked Server` you have to specify desired server name for remote server, real server name or IP address (Data Source) and credentials (Security page).

And further you can select data from linked server:

``````select * from [linked_server_name].[database].[schema].[table]
``````

### C# how to use enum with switch

Since C# 8.0 introduced a new switch expression for enums you can do it even more elegant:

``````public double Calculate(int left, int right, Operator op) =>
op switch
{
Operator.PLUS => left + right,
Operator.MINUS => left - right,
Operator.MULTIPLY => left * right,
Operator.DIVIDE => left / right,
_    =>  0
}
``````

### Threading Example in Android

One of Androids powerful feature is the AsyncTask class.

To work with it, you have to first extend it and override `doInBackground`(...). `doInBackground` automatically executes on a worker thread, and you can add some listeners on the UI Thread to get notified about status update, those functions are called: `onPreExecute()`, `onPostExecute()` and `onProgressUpdate()`

You can find a example here.

Refer to below post for other alternatives:

### Java, How to specify absolute value and square roots

Try using Math.abs:

``````variableAbs = Math.abs(variable);
``````

For square root use:

``````variableSqRt = Math.sqrt(variable);
``````

### Practical uses of git reset --soft?

I use it to amend more than just the last commit.

Let's say I made a mistake in commit A and then made commit B. Now I can only amend B. So I do `git reset --soft HEAD^^`, I correct and re-commit A and then re-commit B.

Of course, it's not very convenient for large commits… but you shouldn't do large commits anyway ;-)

### Converting string "true" / "false" to boolean value

``````var val = (string === "true");
``````

### Excel Macro - Select all cells with data and format as table

Try this one for current selection:

``````Sub A_SelectAllMakeTable2()
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects.Add(xlSrcRange, Selection, , xlYes)
tbl.TableStyle = "TableStyleMedium15"
End Sub
``````

or equivalent of your macro (for Ctrl+Shift+End range selection):

``````Sub A_SelectAllMakeTable()
Dim tbl As ListObject
Dim rng As Range

Set rng = Range(Range("A1"), Range("A1").SpecialCells(xlLastCell))
Set tbl = ActiveSheet.ListObjects.Add(xlSrcRange, rng, , xlYes)
tbl.TableStyle = "TableStyleMedium15"
End Sub
``````

### Can you style an html radio button to look like a checkbox?

Yes, CSS can do this:

_x000D_
_x000D_
``````input[type=checkbox] {_x000D_
display: none;_x000D_
}_x000D_
input[type=checkbox] + *:before {_x000D_
content: "";_x000D_
display: inline-block;_x000D_
margin: 0 0.4em;_x000D_
/* Make some horizontal space. */_x000D_
width: .6em;_x000D_
height: .6em;_x000D_
box-shadow: 0px 0px 0px .5px #888_x000D_
/* An outer circle. */_x000D_
;_x000D_
/* No inner circle. */_x000D_
background-color: #ddd;_x000D_
/* Inner color. */_x000D_
}_x000D_
input[type=checkbox]:checked + *:before {_x000D_
box-shadow: 0px 0px 0px .5px #888_x000D_
/* An outer circle. */_x000D_
, inset 0px 0px 0px .14em #ddd;_x000D_
/* An inner circle with above inner color.*/_x000D_
background-color: #444;_x000D_
/* The dot color */_x000D_
}``````
_x000D_
``````<div>_x000D_
<input id="check1" type="checkbox" name="check" value="check1" checked>_x000D_
<label for="check1">Fake Checkbox1</label>_x000D_
</div>_x000D_
<div>_x000D_
<input id="check2" type="checkbox" name="check" value="check2">_x000D_
<label for="check2">Fake Checkbox2</label>_x000D_
</div>_x000D_
<div>_x000D_
<label for="check2">Real Checkbox1</label>_x000D_
</div>_x000D_
<div>_x000D_
<label for="check2">Real Checkbox2</label>_x000D_
</div>``````
_x000D_
_x000D_
_x000D_

### How to update std::map after using the find method?

I would use the operator[].

``````map <char, int> m1;

m1['G'] ++;  // If the element 'G' does not exist then it is created and
// initialized to zero. A reference to the internal value
// is returned. so that the ++ operator can be applied.

// If 'G' did not exist it now exist and is 1.
// If 'G' had a value of 'n' it now has a value of 'n+1'
``````

So using this technique it becomes really easy to read all the character from a stream and count them:

``````map <char, int>                m1;
std::ifstream                  file("Plop");
std::istreambuf_iterator<char> end;

for(std::istreambuf_iterator<char> loop(file); loop != end; ++loop)
{
++m1[*loop]; // prefer prefix increment out of habbit
}
``````

### Determine if Python is running inside virtualenv

A potential solution is:

``````os.access(sys.executable, os.W_OK)
``````

In my case I really just wanted to detect if I could install items with pip as is. While it might not be the right solution for all cases, consider simply checking if you have write permissions for the location of the Python executable.

Note: this works in all versions of Python, but also returns `True` if you run the system Python with `sudo`. Here's a potential use case:

``````import os, sys
can_install_pip_packages = os.access(sys.executable, os.W_OK)

if can_install_pip_packages:
import pip
pip.main(['install', 'mypackage'])
``````

### Convert SVG to image (JPEG, PNG, etc.) in the browser

I recently discovered a couple of image tracing libraries for JavaScript that indeed are able to build an acceptable approximation to the bitmap, both size and quality. I'm developing this JavaScript library and CLI :

https://www.npmjs.com/package/svg-png-converter

Which provides unified API for all of them, supporting browser and node, non depending on DOM, and a Command line tool.

For converting logos/cartoon/like images it does excellent job. For photos / realism some tweaking is needed since the output size can grow a lot.

It has a playground although right now I'm working on a better one, easier to use, since more features has been added:

https://cancerberosgx.github.io/demos/svg-png-converter/playground/#

### Material UI and Grid system

Here is example of grid system with material-ui which is similar to bootstrap:

``````<Grid container>
<Grid item xs={12} sm={4} md={4} lg={4}>
</Grid>
<Grid item xs={12} sm={4} md={4} lg={4}>
</Grid>
</Grid>
``````

### Git commit date

You can use the `git show` command.

To get the last commit date from git repository in a long(Unix epoch timestamp):

• Command: `git show -s --format=%ct`
• Result: `1605103148`

Note: You can visit the git-show documentation to get a more detailed description of the options.

### How can I show three columns per row?

Even though the above answer appears to be correct, I wanted to add a (hopefully) more readable example that also stays in 3 columns form at different widths:

_x000D_
_x000D_
``````.flex-row-container {_x000D_
background: #aaa;_x000D_
display: flex;_x000D_
flex-wrap: wrap;_x000D_
align-items: center;_x000D_
justify-content: center;_x000D_
}_x000D_
.flex-row-container > .flex-row-item {_x000D_
flex: 1 1 30%; /*grow | shrink | basis */_x000D_
height: 100px;_x000D_
}_x000D_
_x000D_
.flex-row-item {_x000D_
background-color: #fff4e6;_x000D_
border: 1px solid #f76707;_x000D_
}``````
_x000D_
``````<div class="flex-row-container">_x000D_
<div class="flex-row-item">1</div>_x000D_
<div class="flex-row-item">2</div>_x000D_
<div class="flex-row-item">3</div>_x000D_
<div class="flex-row-item">4</div>_x000D_
<div class="flex-row-item">5</div>_x000D_
<div class="flex-row-item">6</div>_x000D_
</div>``````
_x000D_
_x000D_
_x000D_

Hope this helps someone else.

### How can I move all the files from one folder to another using the command line?

You can use `move` for this. The documentation from `help move` states:

``````Moves files and renames files and directories.

To move one or more files:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination

To rename a directory:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2

[drive:][path]filename1 Specifies the location and name of the file
or files you want to move.
destination             Specifies the new location of the file. Destination
can consist of a drive letter and colon, a
directory name, or a combination. If you are moving
only one file, you can also include a filename if
you want to rename the file when you move it.
[drive:][path]dirname1  Specifies the directory you want to rename.
dirname2                Specifies the new name of the directory.

/Y                      Suppresses prompting to confirm you want to
overwrite an existing destination file.
/-Y                     Causes prompting to confirm you want to overwrite
an existing destination file.

The switch /Y may be present in the COPYCMD environment variable.
This may be overridden with /-Y on the command line.  Default is
to prompt on overwrites unless MOVE command is being executed from
within a batch script.
``````

See the following transcript for an example where it initially shows the `qq1` and `qq2` directories as having three and no files respectively. Then, we do the `move` and we find that the three files have been moved from `qq1` to `qq2` as expected.

``````C:\Documents and Settings\Pax\My Documents>dir qq1
Volume in drive C is Primary
Volume Serial Number is 04F7-0E7B

Directory of C:\Documents and Settings\Pax\My Documents\qq1

20/01/2011  11:36 AM    <DIR>          .
20/01/2011  11:36 AM    <DIR>          ..
20/01/2011  11:36 AM                13 xx1
20/01/2011  11:36 AM                13 xx2
20/01/2011  11:36 AM                13 xx3
3 File(s)             39 bytes
2 Dir(s)  20,092,547,072 bytes free

C:\Documents and Settings\Pax\My Documents>dir qq2
Volume in drive C is Primary
Volume Serial Number is 04F7-0E7B

Directory of C:\Documents and Settings\Pax\My Documents\qq2

20/01/2011  11:36 AM    <DIR>          .
20/01/2011  11:36 AM    <DIR>          ..
0 File(s)              0 bytes
2 Dir(s)  20,092,547,072 bytes free
``````

``````C:\Documents and Settings\Pax\My Documents>move qq1\* qq2
C:\Documents and Settings\Pax\My Documents\qq1\xx1
C:\Documents and Settings\Pax\My Documents\qq1\xx2
C:\Documents and Settings\Pax\My Documents\qq1\xx3
``````

``````C:\Documents and Settings\Pax\My Documents>dir qq1
Volume in drive C is Primary
Volume Serial Number is 04F7-0E7B

Directory of C:\Documents and Settings\Pax\My Documents\qq1

20/01/2011  11:37 AM    <DIR>          .
20/01/2011  11:37 AM    <DIR>          ..
0 File(s)              0 bytes
2 Dir(s)  20,092,547,072 bytes free

C:\Documents and Settings\Pax\My Documents>dir qq2
Volume in drive C is Primary
Volume Serial Number is 04F7-0E7B

Directory of C:\Documents and Settings\Pax\My Documents\qq2

20/01/2011  11:37 AM    <DIR>          .
20/01/2011  11:37 AM    <DIR>          ..
20/01/2011  11:36 AM                13 xx1
20/01/2011  11:36 AM                13 xx2
20/01/2011  11:36 AM                13 xx3
3 File(s)             39 bytes
2 Dir(s)  20,092,547,072 bytes free
``````

### How can I exclude directories from grep -R?

Recent versions of GNU Grep (>= 2.5.2) provide:

``````--exclude-dir=dir
``````

which excludes directories matching the pattern `dir` from recursive directory searches.

So you can do:

``````grep -R --exclude-dir=node_modules 'some pattern' /path/to/search
``````

For a bit more information regarding syntax and usage see

For older GNU Greps and POSIX Grep, use `find` as suggested in other answers.

Or just use `ack` (Edit: or The Silver Searcher) and be done with it!

### Android Studio - Failed to apply plugin [id 'com.android.application']

As in Accepted post, the problem solved with updating gradle to 4.4.1.

1. Get Latest Gradle 4.4.1 from here
2. Extract and put it in "C:\Program Files\Android\Android Studio\gradle"
3. Then from android studio go to "File -> Settings -> Build, Excecution, Deployment -> Gradle", from Project-level settings: Select Use local gradle Distribution and give the above
address(folder with name "gradle-4.4.1" in "C:\Program Files\ ...")
4. Then make project.

My Problem solved this way.

### Class name does not name a type in C++

NOTE: Because people searching with the same keyword will land on this page, I am adding this answer which is not the cause for this compiler error in the above mentioned case.

I was facing this error when I had an `enum` declared in some file which had one of the elements having the same symbol as my class name.

e.g. if I declare an `enum = {A, B, C}` in some file which is included in another file where I declare an object of `class A`.

This was throwing the same compiler error message mentioning that `Class A does not name a type`. There was no circular dependency in my case.

So, be careful while naming classes and declaring enums (which might be visible, imported and used externally in other files) in C++.

### Use mysql_fetch_array() with foreach() instead of while()

You could just do it like this

``````\$query_select = "SELECT * FROM shouts ORDER BY id DESC LIMIT 8;";

\$result_select = mysql_query(\$query_select) or die(mysql_error());

foreach(\$result_select as \$row){
\$ename = stripslashes(\$row['name']);
\$eemail = stripcslashes(\$row['email']);
\$epost = stripslashes(\$row['post']);
\$eid = \$row['id'];

\$grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=".md5(strtolower(\$eemail))."&size=70";

echo ('<img src = "' . \$grav_url . '" alt="Gravatar">'.'<br/>');

echo \$eid . '<br/>';

echo \$ename . '<br/>';

echo \$eemail . '<br/>';

echo \$epost . '<br/><br/><br/><br/>';
}
``````

### preferredStatusBarStyle isn't called

Note that when using the `self.navigationController.navigationBar.barStyle = UIBarStyleBlack;` solution

be sure to go to your plist and set "View controller-based status bar appearance" to YES. If its NO it will not work.

### how to run a command at terminal from java program?

As others said, you may run your external program without xterm. However, if you want to run it in a terminal window, e.g. to let the user interact with it, xterm allows you to specify the program to run as parameter.

``````xterm -e any command
``````

In Java code this becomes:

``````String[] command = { "xterm", "-e", "my", "command", "with", "parameters" };
Runtime.getRuntime().exec(command);
``````

Or, using ProcessBuilder:

``````String[] command = { "xterm", "-e", "my", "command", "with", "parameters" };
Process proc = new ProcessBuilder(command).start();
``````

### Reading Excel files from C#

Excel Data Reader is the way to go!

It´s Open Source, at http://exceldatareader.codeplex.com/ and actively developed.

We been using it for reading Tabular (and sometimes not so tabular) worksheets for a couple of years now (In a financial application).

Works like a charm to read unit test data from human-readable sheets.

Just avoid the feature of trying to return DateTime's, as, for Excel, DateTime's are just double numbers.

### Finding the average of a list

I tried using the options above but didn't work. Try this:

``````from statistics import mean

n = [11, 13, 15, 17, 19]

print(n)
print(mean(n))
``````

worked on python 3.5

### how to initialize a char array?

You can use a for loop. but don't forget the last char must be a null character !

``````char * msg = new char[65546];
for(int i=0;i<65545;i++)
{
msg[i]='0';
}
msg[65545]='\0';
``````

### How to resize JLabel ImageIcon?

Try this :

``````ImageIcon imageIcon = new ImageIcon("./img/imageName.png"); // load the image to a imageIcon
Image image = imageIcon.getImage(); // transform it
Image newimg = image.getScaledInstance(120, 120,  java.awt.Image.SCALE_SMOOTH); // scale it the smooth way
imageIcon = new ImageIcon(newimg);  // transform it back
``````

(found it here)

### Why is synchronized block better than synchronized method?

Because lock is expensive, when you are using synchronized block you lock only if `_instance == null`, and after `_instance` finally initialized you'll never lock. But when you synchronize on method you lock unconditionally, even after the `_instance` is initialized. This is the idea behind double-checked locking optimization pattern http://en.wikipedia.org/wiki/Double-checked_locking.

### Is there more to an interface than having the correct methods

Interfaces allow statically typed languages to support polymorphism. An Object Oriented purist would insist that a language should provide inheritance, encapsulation, modularity and polymorphism in order to be a fully-featured Object Oriented language. In dynamically-typed - or duck typed - languages (like Smalltalk,) polymorphism is trivial; however, in statically typed languages (like Java or C#,) polymorphism is far from trivial (in fact, on the surface it seems to be at odds with the notion of strong typing.)

Let me demonstrate:

In a dynamically-typed (or duck typed) language (like Smalltalk), all variables are references to objects (nothing less and nothing more.) So, in Smalltalk, I can do this:

``````|anAnimal|
anAnimal := Pig new.
anAnimal makeNoise.

anAnimal := Cow new.
anAnimal makeNoise.
``````

That code:

1. Declares a local variable called anAnimal (note that we DO NOT specify the TYPE of the variable - all variables are references to an object, no more and no less.)
2. Creates a new instance of the class named "Pig"
3. Assigns that new instance of Pig to the variable anAnimal.
4. Sends the message `makeNoise` to the pig.
5. Repeats the whole thing using a cow, but assigning it to the same exact variable as the Pig.

The same Java code would look something like this (making the assumption that Duck and Cow are subclasses of Animal:

``````Animal anAnimal = new Pig();
duck.makeNoise();

anAnimal = new Cow();
cow.makeNoise();
``````

That's all well and good, until we introduce class Vegetable. Vegetables have some of the same behavior as Animal, but not all. For example, both Animal and Vegetable might be able to grow, but clearly vegetables don't make noise and animals cannot be harvested.

In Smalltalk, we can write this:

``````|aFarmObject|
aFarmObject := Cow new.
aFarmObject grow.
aFarmObject makeNoise.

aFarmObject := Corn new.
aFarmObject grow.
aFarmObject harvest.
``````

This works perfectly well in Smalltalk because it is duck-typed (if it walks like a duck, and quacks like a duck - it is a duck.) In this case, when a message is sent to an object, a lookup is performed on the receiver's method list, and if a matching method is found, it is called. If not, some kind of NoSuchMethodError exception is thrown - but it's all done at runtime.

But in Java, a statically typed language, what type can we assign to our variable? Corn needs to inherit from Vegetable, to support grow, but cannot inherit from Animal, because it does not make noise. Cow needs to inherit from Animal to support makeNoise, but cannot inherit from Vegetable because it should not implement harvest. It looks like we need multiple inheritance - the ability to inherit from more than one class. But that turns out to be a pretty difficult language feature because of all the edge cases that pop up (what happens when more than one parallel superclass implement the same method?, etc.)

Along come interfaces...

If we make Animal and Vegetable classes, with each implementing Growable, we can declare that our Cow is Animal and our Corn is Vegetable. We can also declare that both Animal and Vegetable are Growable. That lets us write this to grow everything:

``````List<Growable> list = new ArrayList<Growable>();

for(Growable g : list) {
g.grow();
}
``````

And it lets us do this, to make animal noises:

``````List<Animal> list = new ArrayList<Animal>();
for(Animal a : list) {
a.makeNoise();
}
``````

The advantage to the duck-typed language is that you get really nice polymorphism: all a class has to do to provide behavior is provide the method. As long as everyone plays nice, and only sends messages that match defined methods, all is good. The downside is that the kind of error below isn't caught until runtime:

``````|aFarmObject|
aFarmObject := Corn new.
aFarmObject makeNoise. // No compiler error - not checked until runtime.
``````

Statically-typed languages provide much better "programming by contract," because they will catch the two kinds of error below at compile-time:

``````// Compiler error: Corn cannot be cast to Animal.
Animal farmObject = new Corn();
farmObject makeNoise();
``````

--

``````// Compiler error: Animal doesn't have the harvest message.
Animal farmObject = new Cow();
farmObject.harvest();
``````

So....to summarize:

1. Interface implementation allows you to specify what kinds of things objects can do (interaction) and Class inheritance lets you specify how things should be done (implementation).

2. Interfaces give us many of the benefits of "true" polymorphism, without sacrificing compiler type checking.

I wanted to add to Joseph Kingry's answer. He provided the solution but at first I couldn't get it to work either and got a result just like Adhip Gupta. And then I realized that the route has to exist in the first place and the parameters need to match the route exactly. So I had an id and then a text parameter for my route which also needed to be included too.

``````Html.ActionLink(article.Title, "Login", "Item", new { id = article.ArticleID, title = article.Title }, null)
``````

### How to export table as CSV with headings on Postgresql?

I am posting this answer because none of the other answers given here actually worked for me. I could not use `COPY` from within Postgres, because I did not have the correct permissions. So I chose "Export grid rows" and saved the output as UTF-8.

The `psql` version given by @Brian also did not work for me, for a different reason. The reason it did not work is that apparently the Windows command prompt (I was using Windows) was meddling around with the encoding on its own. I kept getting this error:

ERROR: character with byte sequence 0x81 in encoding "WIN1252" has no equivalent in encoding "UTF8"

The solution I ended up using was to write a short JDBC script (Java) which read the CSV file and issued insert statements directly into my Postgres table. This worked, but the command prompt also would have worked had it not been altering the encoding.

### can you add HTTPS functionality to a python flask web server?

For a quick n' dirty self-signed cert, you can also use `flask run --cert adhoc` or set the `FLASK_RUN_CERT` env var.

``````\$ export FLASK_APP="app.py"

* Environment: development
* Debug mode: on
* Running on https://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 329-665-000
``````

The `adhoc` option isn't well documented (for good reason, never do this in production), but it's mentioned in the cli.py source code.

There's a thorough explanation of this by Miguel Grinberg at Running Your Flask Application Over HTTPS.

### Create component to specific module with Angular-CLI

For Angular v4 and Above, simply use:

``````ng g c componentName -m ModuleName
``````

### Are PHP short tags acceptable to use?

http://uk3.php.net/manual/en/language.basic-syntax.phpmode.php has plenty of advice, including:

while some people find short tags and ASP style tags convenient, they are less portable, and generally not recommended.

and

note that if you are embedding PHP within XML or XHTML you will need to use the `<?php ?>` tags to remain compliant with standards.

and

Using short tags should be avoided when developing applications or libraries that are meant for redistribution, or deployment on PHP servers which are not under your control, because short tags may not be supported on the target server. For portable, redistributable code, be sure not to use short tags.

### How can I escape a double quote inside double quotes?

Bash allows you to place strings adjacently, and they'll just end up being glued together.

So this:

``````\$ echo "Hello"', world!'
``````

produces

``````Hello, world!
``````

The trick is to alternate between single and double-quoted strings as required. Unfortunately, it quickly gets very messy. For example:

``````\$ echo "I like to use" '"double quotes"' "sometimes"
``````

produces

``````I like to use "double quotes" sometimes
``````

In your example, I would do it something like this:

``````\$ dbtable=example
\$ dbload='load data local infile "'"'gfpoint.csv'"'" into '"table \$dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '"'"'"' LINES "'TERMINATED BY "'"'\n'"'" IGNORE 1 LINES'
``````

which produces the following output:

``````load data local infile "'gfpoint.csv'" into table example FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "'\n'" IGNORE 1 LINES
``````

It's difficult to see what's going on here, but I can annotate it using Unicode quotes. The following won't work in bash – it's just for illustration:

`dbload=``load data local infile "`’“`'gfpoint.csv'`”‘`" into`’“`table \$dbtable FIELDS TERMINATED BY ',' ENCLOSED BY '`”‘`"`’“`' LINES`”‘`TERMINATED BY "`’“`'\n'`”‘`" IGNORE 1 LINES`

The quotes like “ ‘ ’ ” in the above will be interpreted by bash. The quotes like `" '` will end up in the resulting variable.

If I give the same treatment to the earlier example, it looks like this:

`\$ echo``I like to use``"double quotes"``sometimes`

### How do I update a Tomcat webapp without restarting the entire service?

There are multiple easy ways.

1. Just touch web.xml of any webapp.

``````touch /usr/share/tomcat/webapps/<WEBAPP-NAME>/WEB-INF/web.xml
``````

You can also update a particular jar file in WEB-INF/lib and then touch web.xml, rather than building whole war file and deploying it again.

1. Delete webapps/YOUR_WEB_APP directory, Tomcat will start deploying war within 5 seconds (assuming your war file still exists in webapps folder).

2. Generally overwriting war file with new version gets redeployed by tomcat automatically. If not, you can touch web.xml as explained above.

3. Copy over an already exploded "directory" to your webapps folder

### C++ - How to append a char to char*?

``````char ch = 't';
char chArray[2];
sprintf(chArray, "%c", ch);
char chOutput[10]="tes";
strcat(chOutput, chArray);
cout<<chOutput;
``````

OUTPUT:

``````test
``````

### Where to get this Java.exe file for a SQL Developer installation

Please provide full path >

In mines case it was E:\app\ankitmittal01\product\11.2.0\dbhome_1\jdk\bin\java.exe

### Get the selected value in a dropdown using jQuery.

``````\$('#availability').find('option:selected').val() // For Value
\$('#availability').find('option:selected').text() // For Text
or
\$('#availability option:selected').val() // For Value
\$('#availability option:selected').text() // For Text
``````

### Determine what user created objects in SQL Server

The answer is "no, you probably can't".

While there is stuff in there that might say who created a given object, there are a lot of "ifs" behind them. A quick (and not necessarily complete) review:

sys.objects (and thus sys.tables, sys.procedures, sys.views, etc.) has column principal_id. This value is a foreign key that relates to the list of database users, which in turn can be joined with the list of SQL (instance) logins. (All of this info can be found in further system views.)

But.

A quick check on our setup here and a cursory review of BOL indicates that this value is only set (i.e. not null) if it is "different from the schema owner". In our development system, and we've got dbo + two other schemas, everything comes up as NULL. This is probably because everyone has dbo rights within these databases.

This is using NT authentication. SQL authentication probably works much the same. Also, does everyone have and use a unique login, or are they shared? If you have employee turnover and domain (or SQL) logins get dropped, once again the data may not be there or may be incomplete.

You can look this data over (select * from sys.objects), but if principal_id is null, you are probably out of luck.

### How do I perform query filtering in django templates

The other option is that if you have a filter that you always want applied, to add a custom manager on the model in question which always applies the filter to the results returned.

A good example of this is a `Event` model, where for 90% of the queries you do on the model you are going to want something like `Event.objects.filter(date__gte=now)`, i.e. you're normally interested in `Events` that are upcoming. This would look like:

``````class EventManager(models.Manager):
def get_query_set(self):
now = datetime.now()
return super(EventManager,self).get_query_set().filter(date__gte=now)
``````

And in the model:

``````class Event(models.Model):
...
objects = EventManager()
``````

But again, this applies the same filter against all default queries done on the `Event` model and so isn't as flexible some of the techniques described above.

### Get a filtered list of files in a directory

You can define pattern and check for it. Here I have taken both start and end pattern and looking for them in the filename. FILES contains the list of all the files in a directory.

``````import os
PATTERN_START = "145592"
PATTERN_END = ".jpg"
CURRENT_DIR = os.path.dirname(os.path.realpath(__file__))
for r,d,FILES in os.walk(CURRENT_DIR):
for FILE in FILES:
if PATTERN_START in FILE.startwith(PATTERN_START) and PATTERN_END in FILE.endswith(PATTERN_END):
print FILE
``````

### How to make a HTTP PUT request?

``````
protected void UpdateButton_Click(object sender, EventArgs e)
{
var values = string.Format("Name={0}&Family={1}&Id={2}", NameToUpdateTextBox.Text, FamilyToUpdateTextBox.Text, IdToUpdateTextBox.Text);
var bytes = Encoding.ASCII.GetBytes(values);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(string.Format("http://localhost:51436/api/employees"));
request.Method = "PUT";
request.ContentType = "application/x-www-form-urlencoded";
using (var requestStream = request.GetRequestStream())
{
requestStream.Write(bytes, 0, bytes.Length);
}
var response =  (HttpWebResponse) request.GetResponse();

if (response.StatusCode == HttpStatusCode.OK)
UpdateResponseLabel.Text = "Update completed";
else
UpdateResponseLabel.Text = "Error in update";
}
``````

### Difference between private, public, and protected inheritance

Public inheritance models an IS-A relationship. With

``````class B {};
class D : public B {};
``````

every `D` is a `B`.

Private inheritance models an IS-IMPLEMENTED-USING relationship (or whatever that's called). With

``````class B {};
class D : private B {};
``````

a `D` is not a `B`, but every `D` uses its `B` in its implementation. Private inheritance can always be eliminated by using containment instead:

``````class B {};
class D {
private:
B b_;
};
``````

This `D`, too, can be implemented using `B`, in this case using its `b_`. Containment is a less tight coupling between types than inheritance, so in general it should be preferred. Sometimes using containment instead of private inheritance is not as convenient as private inheritance. Often that's a lame excuse for being lazy.

I don't think anyone knows what `protected` inheritance models. At least I haven't seen any convincing explanation yet.

### The system cannot find the file specified. in Visual Studio

The system cannot find the file specified usually means the build failed (which it will for your code as you're missing a `#` infront of `include`, you have a stray `>>` at the end of your `cout` line and you need `std::` infront of cout) but you have the 'run anyway' option checked which means it runs an executable that doesn't exist. Hit F7 to just do a build and make sure it says '0 errors' before you try running it.

Code which builds and runs:

``````#include <iostream>

int main()
{
std::cout << "Hello World";
system("pause");
return 0;
}
``````

### How to convert InputStream to FileInputStream

You need something like:

``````    URL resource = this.getClass().getResource("/path/to/resource.res");
File is = null;
try {
is = new File(resource.toURI());
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
FileInputStream input = new FileInputStream(is);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
``````

But it will work only within your IDE, not in runnable JAR. I had same problem explained here.

### Eclipse: How do I add the javax.servlet package to a project?

2. Make a folder ("lib") inside the project folder and move that jar file to there.

3. In Eclipse, right click on project > BuildPath > Configure BuildPath > Libraries > Add External Jar

Thats all

### How to change the value of attribute in appSettings section with Web.config transformation

You want something like:

``````<appSettings>
<add key="developmentModeUserId" xdt:Transform="Remove" xdt:Locator="Match(key)"/>
<add key="developmentMode" value="false" xdt:Transform="SetAttributes"
xdt:Locator="Match(key)"/>
</appSettings>
``````

### PostgreSQL: role is not permitted to log in

The role you have created is not allowed to log in. You have to give the role permission to log in.

One way to do this is to log in as the `postgres` user and update the role:

``````psql -U postgres
``````

Once you are logged in, type:

``````ALTER ROLE "asunotest" WITH LOGIN;
``````

Here's the documentation http://www.postgresql.org/docs/9.0/static/sql-alterrole.html

### Object variable or With block variable not set (Error 91)

As I wrote in my comment, the solution to your problem is to write the following:

``````Set hyperLinkText = hprlink.Range
``````

`Set` is needed because `TextRange` is a class, so `hyperLinkText` is an object; as such, if you want to assign it, you need to make it point to the actual object that you need.

### Setting default values for columns in JPA

In my case, I modified hibernate-core source code, well, to introduce a new annotation `@DefaultValue`:

``````commit 34199cba96b6b1dc42d0d19c066bd4d119b553d5
Author: Lenik <xjl at 99jsj.com>
Date:   Wed Dec 21 13:28:33 2011 +0800

Add default-value ddl support with annotation @DefaultValue.

diff --git a/hibernate-core/src/main/java/org/hibernate/annotations/DefaultValue.java b/hibernate-core/src/main/java/org/hibernate/annotations/DefaultValue.java
new file mode 100644
index 0000000..b3e605e
--- /dev/null
+++ b/hibernate-core/src/main/java/org/hibernate/annotations/DefaultValue.java
@@ -0,0 +1,35 @@
+package org.hibernate.annotations;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+
+/**
+ * Specify a default value for the column.
+ *
+ * This is used to generate the auto DDL.
+ *
+ * WARNING: This is not part of JPA 2.0 specification.
+ *
+ * @author ???
+ */
[email protected]({ FIELD, METHOD })
+@Retention(RUNTIME)
+public @interface DefaultValue {
+
+    /**
+     * The default value sql fragment.
+     *
+     * For string values, you need to quote the value like 'foo'.
+     *
+     * Because different database implementation may use different
+     * quoting format, so this is not portable. But for simple values
+     * like number and strings, this is generally enough for use.
+     */
+    String value();
+
+}
diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/Ejb3Column.java b/hibernate-core/src/main/java/org/hibernate/cfg/Ejb3Column.java
index b289b1e..ac57f1a 100644
--- a/hibernate-core/src/main/java/org/hibernate/cfg/Ejb3Column.java
+++ b/hibernate-core/src/main/java/org/hibernate/cfg/Ejb3Column.java
@@ -29,6 +29,7 @@ import org.hibernate.AnnotationException;
import org.hibernate.AssertionFailure;
import org.hibernate.annotations.ColumnTransformer;
import org.hibernate.annotations.ColumnTransformers;
+import org.hibernate.annotations.DefaultValue;
import org.hibernate.annotations.common.reflection.XProperty;
import org.hibernate.cfg.annotations.Nullability;
import org.hibernate.mapping.Column;
@@ -65,6 +66,7 @@ public class Ejb3Column {
private String propertyName;
private boolean unique;
private boolean nullable = true;
+   private String defaultValue;
private String formulaString;
private Formula formula;
private Table table;
@@ -175,7 +177,15 @@ public class Ejb3Column {
return mappingColumn.isNullable();
}

-   public Ejb3Column() {
+   public String getDefaultValue() {
+        return defaultValue;
+    }
+
+    public void setDefaultValue(String defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+
+    public Ejb3Column() {
}

public void bind() {
@@ -186,7 +196,7 @@ public class Ejb3Column {
}
else {
initMappingColumn(
-                   logicalColumnName, propertyName, length, precision, scale, nullable, sqlType, unique, true
+                   logicalColumnName, propertyName, length, precision, scale, nullable, sqlType, unique, defaultValue, true
);
log.debug( "Binding column: " + toString());
}
@@ -201,6 +211,7 @@ public class Ejb3Column {
boolean nullable,
String sqlType,
boolean unique,
+           String defaultValue,
boolean applyNamingStrategy) {
if ( StringHelper.isNotEmpty( formulaString ) ) {
this.formula = new Formula();
@@ -217,6 +228,7 @@ public class Ejb3Column {
this.mappingColumn.setNullable( nullable );
this.mappingColumn.setSqlType( sqlType );
this.mappingColumn.setUnique( unique );
+           this.mappingColumn.setDefaultValue(defaultValue);

if(writeExpression != null && !writeExpression.matches("[^?]*\\?[^?]*")) {
throw new AnnotationException(
@@ -454,6 +466,11 @@ public class Ejb3Column {
else {
column.setLogicalColumnName( columnName );
}
+                   DefaultValue _defaultValue = inferredData.getProperty().getAnnotation(DefaultValue.class);
+                   if (_defaultValue != null) {
+                       String defaultValue = _defaultValue.value();
+                       column.setDefaultValue(defaultValue);
+                   }

column.setPropertyName(
BinderHelper.getRelativePath( propertyHolder, inferredData.getPropertyName() )
diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/Ejb3JoinColumn.java b/hibernate-core/src/main/java/org/hibernate/cfg/Ejb3JoinColumn.java
index e57636a..3d871f7 100644
--- a/hibernate-core/src/main/java/org/hibernate/cfg/Ejb3JoinColumn.java
+++ b/hibernate-core/src/main/java/org/hibernate/cfg/Ejb3JoinColumn.java
@@ -423,6 +424,7 @@ public class Ejb3JoinColumn extends Ejb3Column {
getMappingColumn() != null ? getMappingColumn().isNullable() : false,
referencedColumn.getSqlType(),
getMappingColumn() != null ? getMappingColumn().isUnique() : false,
+               null, // default-value
false
);
@@ -502,6 +504,7 @@ public class Ejb3JoinColumn extends Ejb3Column {
getMappingColumn().isNullable(),
column.getSqlType(),
getMappingColumn().isUnique(),
+               null, // default-value
false //We do copy no strategy here
);
``````

Well, this is a hibernate-only solution.

### Converting float to char*

``````typedef union{
float a;
char b[4];
} my_union_t;
``````

You can access to float data value byte by byte and send it through 8-bit output buffer (e.g. USART) without casting.

### How to search in array of object in mongodb

The right way is:

``````db.users.find({awards: {\$elemMatch: {award:'National Medal', year:1975}}})
``````

`\$elemMatch` allows you to match more than one component within the same array element.

Without `\$elemMatch` mongo will look for users with National Medal in some year and some award in 1975s, but not for users with National Medal in 1975.

### Using pointer to char array, values in that array can be accessed?

When you want to access an element, you have to first dereference your pointer, and then index the element you want (which is also dereferncing). i.e. you need to do:

`printf("\nvalue:%c", (*ptr)[0]);` , which is the same as `*((*ptr)+0)`

Note that working with pointer to arrays are not very common in C. instead, one just use a pointer to the first element in an array, and either deal with the length as a separate element, or place a senitel value at the end of the array, so one can learn when the array ends, e.g.

``````char arr[5] = {'a','b','c','d','e',0};
char *ptr = arr; //same as char *ptr = &arr[0]

printf("\nvalue:%c", ptr[0]);
``````

### Check if String / Record exists in DataTable

You can loop over each row of the `DataTable` and check the value.

I'm a big fan of using a foreach loop when using `IEnumerable`s. Makes it very simple and clean to look at or process each row

``````DataTable dtPs = // ... initialize your DataTable
foreach (DataRow dr in dtPs.Rows)
{
if (dr["item_manuf_id"].ToString() == "some value")
{
// do your deed
}
}
``````

Alternatively you can use a `PrimaryKey` for your `DataTable`. This helps in various ways, but you often need to define one before you can use it.

An example of using one if at http://msdn.microsoft.com/en-us/library/z24kefs8(v=vs.80).aspx

``````DataTable workTable = new DataTable("Customers");

// set constraints on the primary key
DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));
workCol.AllowDBNull = false;
workCol.Unique = true;

// set primary key
workTable.PrimaryKey = new DataColumn[] { workTable.Columns["CustID"] };
``````

Once you have a primary key defined and data populated, you can use the Find(...) method to get the rows that match your primary key.

``````DataRow drFound = dtPs.Rows.Find("some value");
if (drFound["item_manuf_id"].ToString() == "some value")
{
// do your deed
}
``````

Finally, you can use the Select() method to find data within a `DataTable` also found at at http://msdn.microsoft.com/en-us/library/y06xa2h1(v=vs.80).aspx.

``````String sExpression = "item_manuf_id == 'some value'";
DataRow[] drFound;
drFound = dtPs.Select(sExpression);

foreach (DataRow dr in drFound)
{
// do you deed. Each record here was already found to match your criteria
}
``````

### Postgres Error: More than one row returned by a subquery used as an expression

Technically, to repair your statement, you can add `LIMIT 1` to the subquery to ensure that at most 1 row is returned. That would remove the error, your code would still be nonsense.

``... 'SELECT store_key FROM store LIMIT 1' ...``

Practically, you want to match rows somehow instead of picking an arbitrary row from the remote table `store` to update every row of your local table `customer`.
Your rudimentary question doesn't provide enough details, so I am assuming a text column `match_name` in both tables (and `UNIQUE` in `store`) for the sake of this example:

``````... 'SELECT store_key FROM store
WHERE match_name = ' || quote_literal(customer.match_name)  ...``````

But that's an extremely expensive way of doing things.

Ideally, you should completely rewrite the statement.

``````UPDATE customer c
SET    customer_id = s.store_key
,'SELECT match_name, store_key FROM store')
AS s(match_name text, store_key integer)
WHERE c.match_name = s.match_name
AND   c.customer_id IS DISTINCT FROM s.store_key;
``````

This remedies a number of problems in your original statement.

• Obviously, the basic problem leading to your error is fixed.

• It's almost always better to join in additional relations in the `FROM` clause of an `UPDATE` statement than to run correlated subqueries for every individual row.

• When using dblink, the above becomes a thousand times more important. You do not want to call `dblink()` for every single row, that's extremely expensive. Call it once to retrieve all rows you need.

• With correlated subqueries, if no row is found in the subquery, the column gets updated to NULL, which is almost always not what you want.
In my updated form, the row only gets updated if a matching row is found. Else, the row is not touched.

• Normally, you wouldn't want to update rows, when nothing actually changes. That's expensively doing nothing (but still produces dead rows). The last expression in the `WHERE` clause prevents such empty updates:

`````` AND   c.customer_id IS DISTINCT FROM sub.store_key
``````

### var self = this?

Yeah, this appears to be a common standard. Some coders use self, others use me. It's used as a reference back to the "real" object as opposed to the event.

It's something that took me a little while to really get, it does look odd at first.

I usually do this right at the top of my object (excuse my demo code - it's more conceptual than anything else and isn't a lesson on excellent coding technique):

``````function MyObject(){
var me = this;

//Events
Click = onClick; //Allows user to override onClick event with their own

//Event Handlers
onClick = function(args){
me.MyProperty = args; //Reference me, referencing this refers to onClick
...
//Do other stuff
}
}
``````

### database vs. flat files

1. Databases can handle querying tasks, so you don't have to walk over files manually. Databases can handle very complicated queries.
2. Databases can handle indexing tasks, so if tasks like get record with id = x can be VERY fast
3. Databases can handle multiprocess/multithreaded access.
4. Databases can handle access from network
5. Databases can watch for data integrity
6. Databases can update data easily (see 1) )
7. Databases are reliable
8. Databases can handle transactions and concurrent access
9. Databases + ORMs let you manipulate data in very programmer friendly way.

### time.sleep -- sleeps thread or process?

It will just sleep the thread except in the case where your application has only a single thread, in which case it will sleep the thread and effectively the process as well.

The python documentation on sleep doesn't specify this however, so I can certainly understand the confusion!

http://docs.python.org/2/library/time.html

### How do I compare 2 rows from the same table (SQL Server)?

Some people find the following alternative syntax easier to see what is going on:

``````select t1.value,t2.value
from MyTable t1
inner join MyTable t2 on
t1.id = t2.id
where t1.id = @id
``````

### Print commit message of a given commit in git

`git show` is more a plumbing command than `git log`, and has the same formatting options:

``````git show -s --format=%B SHA1
``````

### Can I add background color only for padding?

#### Use the `background-clip` and `box-shadow` properties.

1) Set `background-clip: content-box` - this restricts the background only to the content itself (instead of covering both the padding and border)

2) Add an inner `box-shadow` with the spread radius set to the same value as the padding.

So say the padding is 10px - set `box-shadow: inset 0 0 0 10px lightGreen` - which will make only the padding area light green.

#### Codepen demo

_x000D_
_x000D_
``````nav {_x000D_
width: 80%;_x000D_
height: 50px;_x000D_
background-color: gray;_x000D_
float: left;_x000D_
border: 2px solid red;_x000D_
background-clip: content-box; /* <---- */_x000D_
box-shadow: inset 0 0 0 10px lightGreen; /* <-- 10px spread radius */_x000D_
}_x000D_
ul {_x000D_
list-style: none;_x000D_
}_x000D_
li {_x000D_
display: inline-block;_x000D_
}``````
_x000D_
``````<h2>The light green background color shows the padding of the element</h2>_x000D_
<nav>_x000D_
<ul>_x000D_
<li><a href="index.html">Home</a>_x000D_
</li>_x000D_
</li>_x000D_
<li><a href="/blog/">Blog</a>_x000D_
</li>_x000D_
</ul>_x000D_
</nav>``````
_x000D_
_x000D_
_x000D_

For a thorough tutorial covering this technique see this great css-tricks post

### Resource from src/main/resources not found after building with maven

I think assembly plugin puts the file on class path. The location will be different in in the JAR than you see on disk. Unpack the resulting JAR and look where the file is located there.

### What does Statement.setFetchSize(nSize) method really do in SQL Server JDBC driver?

I had the exact same problem in a project. The issue is that even though the fetch size might be small enough, the JDBCTemplate reads all the result of your query and maps it out in a huge list which might blow your memory. I ended up extending NamedParameterJdbcTemplate to create a function which returns a Stream of Object. That Stream is based on the ResultSet normally returned by JDBC but will pull data from the ResultSet only as the Stream requires it. This will work if you don't keep a reference of all the Object this Stream spits. I did inspire myself a lot on the implementation of org.springframework.jdbc.core.JdbcTemplate#execute(org.springframework.jdbc.core.ConnectionCallback). The only real difference has to do with what to do with the ResultSet. I ended up writing this function to wrap up the ResultSet:

``````private <T> Stream<T> wrapIntoStream(ResultSet rs, RowMapper<T> mapper) {
CustomSpliterator<T> spliterator = new CustomSpliterator<T>(rs, mapper, Long.MAX_VALUE, NON-NULL | IMMUTABLE | ORDERED);
Stream<T> stream = StreamSupport.stream(spliterator, false);
return stream;
}
private static class CustomSpliterator<T> extends Spliterators.AbstractSpliterator<T> {
// won't put code for constructor or properties here
// the idea is to pull for the ResultSet and set into the Stream
@Override
public boolean tryAdvance(Consumer<? super T> action) {
try {
// you can add some logic to close the stream/Resultset automatically
if(rs.next()) {
T mapped = mapper.mapRow(rs, rowNumber++);
action.accept(mapped);
return true;
} else {
return false;
}
} catch (SQLException) {
// do something with this Exception
}
}
}
``````

you can add some logic to make that Stream "auto closable", otherwise don't forget to close it when you are done.

### Spark RDD to DataFrame python

See,

There are two ways to convert an RDD to DF in Spark.

`toDF()` and `createDataFrame(rdd, schema)`

I will show you how you can do that dynamically.

#### toDF()

The `toDF()` command gives you the way to convert an `RDD[Row]` to a Dataframe. The point is, the object `Row()` can receive a `**kwargs` argument. So, there is an easy way to do that.

``````from pyspark.sql.types import Row

#here you are going to create a function
def f(x):
d = {}
for i in range(len(x)):
d[str(i)] = x[i]
return d

#Now populate that
df = rdd.map(lambda x: Row(**f(x))).toDF()
``````

This way you are going to be able to create a dataframe dynamically.

# createDataFrame(rdd, schema)

Other way to do that is creating a dynamic schema. How?

This way:

``````from pyspark.sql.types import StructType
from pyspark.sql.types import StructField
from pyspark.sql.types import StringType

schema = StructType([StructField(str(i), StringType(), True) for i in range(32)])

df = sqlContext.createDataFrame(rdd, schema)
``````

This second way is cleaner to do that...

So this is how you can create dataframes dynamically.

### Getting the absolute path of the executable, using C#?

``````AppDomain.CurrentDomain.BaseDirectory
``````

### PHP CURL Enable Linux

if you have used curl above the page and below your html is present and unfortunately your html page is not able to view then just enable your curl. But in order to check CURL is enable or not in php you need to write following code:

``````echo 'Curl: ', function_exists('curl_version') ? 'Enabled' : 'Disabled';
``````

### angularjs: allows only numbers to be typed into a text box

I know this is an old post but this adaptation of My Mai's answer works nicely for me...

``````angular.module("app").directive("numbersOnly", function() {
return {
require: "ngModel",
restrict: "A",
link: function(scope, element, attr, ctrl) {
function inputValue(val) {
if (val) {
//transform val to a string so replace works
var myVal = val.toString();

//replace any non numeric characters with nothing
var digits = myVal.replace(/\D/g, "");

//if anything needs replacing - do it!
if (digits !== myVal) {
ctrl.\$setViewValue(digits);
ctrl.\$render();
}
return parseFloat(digits);
}
return undefined;
}
ctrl.\$parsers.push(inputValue);
}
};
});
``````

### Apache 13 permission denied in user's home directory

Have you changed the permissions on the individual files as well as just the directory?

``````chmod -R 777 /home/user/xxx
``````

### How do you keep parents of floated elements from collapsing?

I use 2 and 4 where applicable (i.e. when I know the content's height or if overflowing doesn't harm). Anywhere else, I go with solution 3. By the way, your first solution has no advantage over 3 (that I can spot) because it isn't any more semantic since it uses the same dummy element.

By the way, I wouldn't be concerned about the fourth solution being a hack. Hacks in CSS would only be harmful if their underlying behaviour is subject to reinterpretation or other change. This way, your hack wouldn't be guaranteed to work. However in this case, your hack relies on the exact behaviour that `overflow: auto` is meant to have. No harm in hitching a free ride.

### MVC 4 Edit modal form using Bootstrap

I prefer to avoid using `Ajax.BeginForm` helper and do an Ajax call with JQuery. In my experience it is easier to maintain code written like this. So below are the details:

Models

``````public class ManagePeopleModel
{
public List<PersonModel> People { get; set; }
... any other properties
}

public class PersonModel
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
... any other properties
}
``````

Parent View

This view contains the following things:

• records of people to iterate through
• an empty div that will be populated with a modal when a Person needs to be edited
• some JavaScript handling all ajax calls
``````@model ManagePeopleModel

<h1>Manage People</h1>

@using(var table = Html.Bootstrap().Begin(new Table()))
{
foreach(var person in Model.People)
{
<tr>
<td>@person.Id</td>
<td>@Person.Name</td>
<td>@person.Age</td>
<td>@html.Bootstrap().Button().Text("Edit Person").Data(new { @id = person.Id }).Class("btn-trigger-modal")</td>
</tr>
}
}

@using (var m = Html.Bootstrap().Begin(new Modal().Id("modal-person")))
{

}

@section Scripts
{
<script type="text/javascript">
// Handle "Edit Person" button click.
// This will make an ajax call, get information for person,
// put it all in the modal and display it
\$(document).on('click', '.btn-trigger-modal', function(){
var personId = \$(this).data('id');
\$.ajax({
url: '/[WhateverControllerName]/GetPersonInfo',
type: 'GET',
data: { id: personId },
success: function(data){
var m = \$('#modal-person');
m.find('.modal-content').html(data);
m.modal('show');
}
});
});

// Handle submitting of new information for Person.
// This will attempt to save new info
// If save was successful, it will close the Modal and reload page to see updated info
// Otherwise it will only reload contents of the Modal
\$(document).on('click', '#btn-person-submit', function() {
var self = \$(this);
\$.ajax({
url: '/[WhateverControllerName]/UpdatePersonInfo',
type: 'POST',
data: self.closest('form').serialize(),
success: function(data) {
if(data.success == true) {
\$('#modal-person').modal('hide');
} else {
\$('#modal-person').html(data);
}
}
});
});
</script>
}
``````

Partial View

This view contains a modal that will be populated with information about person.

``````@model PersonModel
@{
// get modal helper
var modal = Html.Bootstrap().Misc().GetBuilderFor(new Modal());
}

@using (var f = Html.Bootstrap.Begin(new Form()))
{
using (modal.BeginBody())
{
@Html.HiddenFor(x => x.Id)
@f.ControlGroup().TextBoxFor(x => x.Name)
@f.ControlGroup().TextBoxFor(x => x.Age)
}
using (modal.BeginFooter())
{
// if needed, add here @Html.Bootstrap().ValidationSummary()
@:@Html.Bootstrap().Button().Text("Save").Id("btn-person-submit")
@Html.Bootstrap().Button().Text("Close").Data(new { dismiss = "modal" })
}
}
``````

Controller Actions

``````public ActionResult GetPersonInfo(int id)
{
var model = db.GetPerson(id); // get your person however you need
return PartialView("[Partial View Name]", model)
}

public ActionResult UpdatePersonInfo(PersonModel model)
{
if(ModelState.IsValid)
{
db.UpdatePerson(model); // update person however you need
return Json(new { success = true });
}
// else
return PartialView("[Partial View Name]", model);
}
``````

### Getting Data from Android Play Store

Disclaimer: I am from 42matters, who provides this data already on https://42matters.com/api , feel free to check it out or drop us a line.

As lenik mentioned there are open-source libraries that already help with obtaining some data from GPlay. If you want to build one yourself you can try to parse the Google Play App page, but you should pay attention to the following:

• Make sure the URL you are trying to parse is not blocked in robots.txt - e.g. https://play.google.com/robots.txt
• Make sure that you are not doing it too often, Google will throttle and potentially blacklist you if you are doing it too much.
• Send a correct User-Agent header to actually show you are a bot
• The page of an app is big - make sure you accept gzip and request the mobile version
• GPlay website is not an API, it doesn't care that you parse it so it will change over time. Make sure you handle changes - e.g. by having test to make sure you get what you expected.

So that in mind getting one page metadata is a matter of fetching the page html and parsing it properly. With JSoup you can try:

``````      HttpClient httpClient = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(crawlUrl);
HttpResponse rsp = httpClient.execute(request);

int statusCode = rsp.getStatusLine().getStatusCode();

if (statusCode == 200) {
String content = EntityUtils.toString(rsp.getEntity());
Document doc = Jsoup.parse(content);
//parse content, whatever you need
Element price = doc.select("[itemprop=price]").first();
}
``````

For that very simple use case that should get you started. However, the moment you want to do more interesting stuff, things get complicated:

• Search is forbidden in robots.
• Keeping app metadata up-to-date is hard to do. There are more than 2.2m apps, if you want to refresh their metadata daily there are 2.2 requests/day, which will 1) get blocked immediately, 2) costs a lot of money - pessimistic 220gb data transfer per day if one app is 100k
• How do you discover new apps
• How do you get pricing in each country, translations of each language

The list goes on. If you don't want to do all this by yourself, you can consider 42matters API, which supports lookup and search, top google charts, advanced queries and filters. And this for 35 languages and more than 50 countries.

[2]:

### How to use Tomcat 8 in Eclipse?

Alternatively we can use eclipse update site (Help -> Install New Features -> Add Site (urls below) -> Select desired Features).

### How to check whether the user uploaded a file in PHP?

You can use `is_uploaded_file()`:

``````if(!file_exists(\$_FILES['myfile']['tmp_name']) || !is_uploaded_file(\$_FILES['myfile']['tmp_name'])) {
}
``````

From the docs:

Returns TRUE if the file named by filename was uploaded via HTTP POST. This is useful to help ensure that a malicious user hasn't tried to trick the script into working on files upon which it should not be working--for instance, /etc/passwd.

This sort of check is especially important if there is any chance that anything done with uploaded files could reveal their contents to the user, or even to other users on the same system.

EDIT: I'm using this in my FileUpload class, in case it helps:

``````public function fileUploaded()
{
if(empty(\$_FILES)) {
return false;
}
\$this->file = \$_FILES[\$this->formField];
\$this->errors['FileNotExists'] = true;
return false;
}
return true;
}
``````

### How to change a dataframe column from String type to Double type in PySpark?

There is no need for an UDF here. `Column` already provides `cast` method with `DataType` instance :

``````from pyspark.sql.types import DoubleType

changedTypedf = joindf.withColumn("label", joindf["show"].cast(DoubleType()))
``````

or short string:

``````changedTypedf = joindf.withColumn("label", joindf["show"].cast("double"))
``````

where canonical string names (other variations can be supported as well) correspond to `simpleString` value. So for atomic types:

``````from pyspark.sql import types

for t in ['BinaryType', 'BooleanType', 'ByteType', 'DateType',
'DecimalType', 'DoubleType', 'FloatType', 'IntegerType',
'LongType', 'ShortType', 'StringType', 'TimestampType']:
print(f"{t}: {getattr(types, t)().simpleString()}")
``````
``````BinaryType: binary
BooleanType: boolean
ByteType: tinyint
DateType: date
DecimalType: decimal(10,0)
DoubleType: double
FloatType: float
IntegerType: int
LongType: bigint
ShortType: smallint
StringType: string
TimestampType: timestamp
``````

and for example complex types

``````types.ArrayType(types.IntegerType()).simpleString()
``````
``````'array<int>'
``````
``````types.MapType(types.StringType(), types.IntegerType()).simpleString()
``````
``````'map<string,int>'
``````

### MVC 4 Data Annotations "Display" Attribute

One of the benefits is you can use it in multiple views and have a consistent label text. It is also used by asp.net MVC scaffolding to generate the labels text and makes it easier to generate meaningful text

``````[Display(Name = "Wild and Crazy")]
public string WildAndCrazyProperty { get; set; }
``````

"Wild and Crazy" shows up consistently wherever you use the property in your application.

Sometimes this is not flexible as you might want to change the text in some view. In that case, you will have to use custom markup like in your second example

# Chrome 76+

Last year I used Linblow's answer (2018-Oct-19) to successfully discover my local IP via javascript. However, recent Chrome updates (76?) have wonked this method so that it now returns an obfuscated IP, such as: `1f4712db-ea17-4bcf-a596-105139dfd8bf.local`

If you have full control over your browser, you can undo this behavior by turning it off in Chrome Flags, by typing this into your address bar:

``````chrome://flags
``````

and DISABLING the flag `Anonymize local IPs exposed by WebRTC`

In my case, I require the IP for a TamperMonkey script to determine my present location and do different things based on my location. I also have full control over my own browser settings (no Corporate Policies, etc). So for me, changing the `chrome://flags` setting does the trick.

Sources:

### What is a provisioning profile used for when developing iPhone applications?

Apple cares about security and as you know it is not possible to install any application on a real iOS device. Apple has several legal ways to do it:

• When you need to test/debug an app on a real device the `Development Provisioning Profile` allows you to do it
• When you publish an app you send a `Distribution Provisioning Profile`[About] and Apple after review reassign it by they own key

`Development Provisioning Profile` is stored on device and contains:

• Application ID - application which are going to run
• List of Development certificates - who can debug the app
• List of devices - which devices can run this app

`Xcode` by default take cares about

In Spyder, go to your active shell and download nltk using below 2 commands. import nltk nltk.download() Then you should see NLTK downloader window open as below, Go to 'Models' tab in this window and click on 'punkt' and download 'punkt'

### jQuery UI DatePicker - Change Date Format

This is what worked for me:

``````\$.fn.datepicker.defaults.format = 'yy-mm-dd'
``````

### PKIX path building failed in Java application

In my case the issue was resolved by installing Oracle's official JDK 10 as opposed to using the default OpenJDK that came with my Ubuntu. This is the guide I followed: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html

### Undefined Symbols error when integrating Apptentive iOS SDK via Cocoapods

We have found that adding the Apptentive cocoa pod to an existing Xcode project may potentially not include some of our required frameworks.

``Target > Build Settings > Other Linker Flags ``

You should see `-lApptentiveConnect` listed as a linker flag:

``... -ObjC -lApptentiveConnect ... ``

You should also see our required Frameworks listed:

• Accelerate
• CoreData
• CoreText
• CoreGraphics
• CoreTelephony
• Foundation
• QuartzCore
• StoreKit
• SystemConfiguration
• UIKit

``-ObjC -lApptentiveConnect -framework Accelerate -framework CoreData -framework CoreGraphics -framework CoreText -framework Foundation -framework QuartzCore -framework SystemConfiguration -framework UIKit -framework CoreTelephony -framework StoreKit  ``

### How to uncommit my last commit in Git

Be careful with that.

But you can use the rebase command

``````git rebase -i HEAD~2
``````

A `vi` will open and all you have to do is delete the line with the commit. Also can read instructions that were shown in proper edition @ `vi`. A couple of things can be performed on this mode.

### How to select an option from drop down using Selenium WebDriver C#?

`````` var select = new SelectElement(elementX);
select.MoveToElement(elementX).Build().Perform();

var click = (
from sel in select
let value = "College"
select value
);
``````

### How to determine if Javascript array contains an object with an attribute that equals a given value?

You can use `includes` from the Ramda library:

i.e:

``````R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true
``````

### How to make a background 20% transparent on Android

I know, that's a very old question.

If you want use a color value, you can also use the short version of that with `#ARGB`. Where `A` is the value for the alpha channel.

In case of a white color there are the following transparency values:

``````#FFFF  -     0%
#EFFF  -   6,7%
#DFFF  -  13,3%
#CFFF  -  20,0%
#BFFF  -  26,7%
#AFFF  -  33,3%
#9FFF  -  40,0%
#FFF8  -  46,7%
#7FFF  -  53,3%
#6FFF  -  60,0%
#5FFF  -  66,7%
#4FFF  -  73,3%
#3FFF  -  80,0%
#2FFF  -  86,7%
#1FFF  -  93,3%
#0FFF  - 100,0%
``````

So you can for `TextView` add the following line for 20% transparency:

``````<TextView
android:background="#CFFF"
... />
``````

### How do I add an image to a JButton

I did only one thing and it worked for me .. check your code is this method there ..

``````setResizable(false);
``````

if it false make it true and it will work just fine .. I hope it helped ..

### Subset data.frame by date

Well, it's clearly not a number since it has dashes in it. The error message and the two comments tell you that it is a factor but the commentators are apparently waiting and letting the message sink in. Dirk is suggesting that you do this:

`````` EPL2011_12\$Date2 <- as.Date( as.character(EPL2011_12\$Date), "%d-%m-%y")
``````

After that you can do this:

`````` EPL2011_12FirstHalf <- subset(EPL2011_12, Date2 > as.Date("2012-01-13") )
``````

R date functions assume the format is either "YYYY-MM-DD" or "YYYY/MM/DD". You do need to compare like classes: date to date, or character to character.

### Add column in dataframe from list

You can also use `df.assign`:

``````In [1559]: df
Out[1559]:
A   B   C
0  0 NaN NaN
1  4 NaN NaN
2  5 NaN NaN
3  6 NaN NaN
4  7 NaN NaN
5  7 NaN NaN
6  6 NaN NaN
7  5 NaN NaN

In [1560]: mylist = [2,5,6,8,12,16,26,32]

In [1567]: df = df.assign(D=mylist)

In [1568]: df
Out[1568]:
A   B   C   D
0  0 NaN NaN   2
1  4 NaN NaN   5
2  5 NaN NaN   6
3  6 NaN NaN   8
4  7 NaN NaN  12
5  7 NaN NaN  16
6  6 NaN NaN  26
7  5 NaN NaN  32
``````

### How do I move files in node.js?

This example taken from: Node.js in Action

A move() function that renames, if possible, or falls back to copying

``````var fs = require('fs');

module.exports = function move(oldPath, newPath, callback) {

fs.rename(oldPath, newPath, function (err) {
if (err) {
if (err.code === 'EXDEV') {
copy();
} else {
callback(err);
}
return;
}
callback();
});

function copy() {
var writeStream = fs.createWriteStream(newPath);

writeStream.on('error', callback);

readStream.on('close', function () {
});

}
}
``````

### What is the difference between g++ and gcc?

GCC: GNU Compiler Collection

• Referrers to all the different languages that are supported by the GNU compiler.

`gcc`: GNU C      Compiler
`g++`: GNU C++ Compiler

The main differences:

1. `gcc` will compile: `*.c\*.cpp` files as C and C++ respectively.
2. `g++` will compile: `*.c\*.cpp` files but they will all be treated as C++ files.
3. Also if you use `g++` to link the object files it automatically links in the std C++ libraries (`gcc` does not do this).
4. `gcc` compiling C files has fewer predefined macros.
5. `gcc` compiling `*.cpp` and `g++` compiling `*.c\*.cpp` files has a few extra macros.

Extra Macros when compiling `*.cpp` files:

``````#define __GXX_WEAK__ 1
#define __cplusplus 1
#define __DEPRECATED 1
#define __GNUG__ 4
#define __EXCEPTIONS 1
#define __private_extern__ extern
``````

### GitHub Error Message - Permission denied (publickey)

I had 2 Github identity files loaded in the ssh agent. My personal key and another for a client project.

I removed the key that was causing confusion:

`ssh-add -d id_rsa_github_somekey`

### Which data type for latitude and longitude?

I strongly advocate for PostGis. It's specific for that kind of datatype and it has out of the box methods to calculate distance between points, among other GIS operations that you can find useful in the future

### Given two directory trees, how can I find out which files differ by content?

These two commands do basically the thing asked for:

``````diff --brief --recursive --no-dereference --new-file --no-ignore-file-name-case /dir1 /dir2 > dirdiff_1.txt

rsync --recursive --delete --links --checksum --verbose --dry-run /dir1/ /dir2/ > dirdiff_2.txt
``````

The choice between them depends on the location of dir1 and dir2:

When the directories reside on two seperate drives, diff outperforms rsync. But when the two directories compared are on the same drive, rsync is faster. It's because diff puts an almost equal load on both directories in parallel, maximizing load on the two drives.

rsync calculates checksums in large chunks before actually comparing them. That groups the i/o operations in large chunks and leads to a more efficient processing when things take place on a single drive.

### Most common C# bitwise operations on enums

For the best performance and zero garbage, use this:

``````using System;
using T = MyNamespace.MyFlags;

namespace MyNamespace
{
[Flags]
public enum MyFlags
{
None = 0,
Flag1 = 1,
Flag2 = 2
}

static class MyFlagsEx
{
public static bool Has(this T type, T value)
{
return (type & value) == value;
}

public static bool Is(this T type, T value)
{
return type == value;
}

public static T Add(this T type, T value)
{
return type | value;
}

public static T Remove(this T type, T value)
{
return type & ~value;
}
}
}
``````

### Visual Studio Code PHP Intelephense Keep Showing Not Necessary Error

Intelephense 1.3 added undefined type, function, constant, class constant, method, and property diagnostics, where previously in 1.2 there was only undefined variable diagnostics.

Some frameworks are written in a way that provide convenient shortcuts for the user but make it difficult for static analysis engines to discover symbols that are available at runtime.

Stub generators like https://github.com/barryvdh/laravel-ide-helper help fill the gap here and using this with Laravel will take care of many of the false diagnostics by providing concrete definitions of symbols that can be easily discovered.

Still, PHP is a very flexible language and there may be other instances of false undefined symbols depending on how code is written. For this reason, since 1.3.3, intelephense has config options to enable/disable each category of undefined symbol to suit the workspace and coding style.

These options are: `intelephense.diagnostics.undefinedTypes` `intelephense.diagnostics.undefinedFunctions` `intelephense.diagnostics.undefinedConstants` `intelephense.diagnostics.undefinedClassConstants` `intelephense.diagnostics.undefinedMethods` `intelephense.diagnostics.undefinedProperties` `intelephense.diagnostics.undefinedVariables`

Setting all of these to false except `intelephense.diagnostics.undefinedVariables` will give version 1.2 behaviour. See the VSCode settings UI and search for `intelephense`.

### Are there any free Xml Diff/Merge tools available?

Pretty Diff tool was created with XML in mind. Just ensure you click the option for "markup".

http://prettydiff.com/

### Auto Scale TextView Text to Fit within Bounds

Providing this version of top answer rewritten on C# for those who codes on Xamarin.Android. Worked for me well.

`````` /**
*               DO WHAT YOU WANT TO PUBLIC LICENSE
*                    Version 2, December 2004
*
* Copyright (C) 2004 Sam Hocevar <[email protected]>
*
* Everyone is permitted to copy and distribute verbatim or modified
* copies of this license document, and changing it is allowed as long
* as the name is changed.
*
*            DO WHAT YOU WANT TO PUBLIC LICENSE
*   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
*
*  0. You just DO WHAT YOU WANT TO.
*/

using System;
using Android.Content;
using Android.Runtime;
using Android.Text;
using Android.Util;
using Android.Widget;
using Java.Lang;

namespace App.GuestGuide.Droid.Controls
{
public class OnTextResizeEventArgs : EventArgs
{
public TextView TextView { get; set; }
public float OldSize { get; set; }
public float NewSize { get; set; }
}

/// <inheritdoc />
/// <summary>
/// Text view that auto adjusts text size to fit within the view.
/// If the text size equals the minimum text size and still does not
/// fit, append with an ellipsis.
/// </summary>
public class AutoResizeTextView : TextView
{
/// <summary>
/// Minimum text size for this text view
/// </summary>
public static float MIN_TEXT_SIZE = 10;

/// <summary>
/// Our ellipse string
/// </summary>
private const string Ellipsis = "...";

private float _mMaxTextSize;

private float _mMinTextSize = MIN_TEXT_SIZE;

/// <summary>
/// Register subscriber to receive resize notifications
/// </summary>
public event EventHandler<OnTextResizeEventArgs> OnTextResize;

/// <summary>
/// Flag for text and/or size changes to force a resize
/// </summary>
private bool _needsResize;

/// <summary>
/// Text size that is set from code. This acts as a starting point for resizing
/// </summary>
private float _textSize;

/// <summary>
/// Text view line spacing multiplier
/// </summary>
private float _spacingMult = 1.0f;

/// <summary>
/// Text view additional line spacing
/// </summary>

/// <summary>
/// Add ellipsis to text that overflows at the smallest text size
/// </summary>
public bool ShouldAddEllipsis { get; set; }

/// <inheritdoc />
/// <summary>
/// Override the set text size to update our internal reference values
/// </summary>
public override float TextSize
{
get => base.TextSize;
set
{
base.TextSize = value;
_textSize = TextSize;
}
}

/// <summary>
/// Temporary upper bounds on the starting text size
/// </summary>
public float MaxTextSize
{
get => _mMaxTextSize;
// Set the upper text size limit and invalidate the view
set
{
_mMaxTextSize = value;
RequestLayout();
Invalidate();
}
}

/// <summary>
/// Lower bounds for text size
/// </summary>
public float MinTextSize
{
get => _mMinTextSize;
//Set the lower text size limit and invalidate the view
set
{
_mMinTextSize = value;
RequestLayout();
Invalidate();
}
}

public AutoResizeTextView(Context context) : this(context, null)
{
}

public AutoResizeTextView(Context context, IAttributeSet attrs) : this(context, attrs, 0)
{
}

public AutoResizeTextView(Context context, IAttributeSet attrs, int defStyleAttr) : base(context, attrs, defStyleAttr)
{
_textSize = TextSize;
}

public AutoResizeTextView(Context context, IAttributeSet attrs, int defStyleAttr, int defStyleRes) : base(context, attrs, defStyleAttr, defStyleRes)
{
_textSize = TextSize;
}

protected AutoResizeTextView(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
{
_textSize = TextSize;
}

/// <inheritdoc />
/// <summary>
/// When text changes, set the force resize flag to true and reset the text size.
/// </summary>
/// <param name="text"></param>
/// <param name="start"></param>
/// <param name="lengthBefore"></param>
/// <param name="lengthAfter"></param>
protected override void OnTextChanged(ICharSequence text, int start, int lengthBefore, int lengthAfter)
{
_needsResize = true;
// Since this view may be reused, it is good to reset the text size
ResetTextSize();
}

/// <inheritdoc />
/// <summary>
/// If the text view size changed, set the force resize flag to true
/// </summary>
/// <param name="w"></param>
/// <param name="h"></param>
/// <param name="oldw"></param>
/// <param name="oldh"></param>
protected override void OnSizeChanged(int w, int h, int oldw, int oldh)
{
if (w != oldw || h != oldh)
{
_needsResize = true;
}
}

public override void SetTextSize([GeneratedEnum] ComplexUnitType unit, float size)
{
base.SetTextSize(unit, size);
_textSize = TextSize;
}

/// <inheritdoc />
/// <summary>
/// Override the set line spacing to update our internal reference values
/// </summary>
/// <param name="mult"></param>
public override void SetLineSpacing(float add, float mult)
{
_spacingMult = mult;
}

/// <summary>
/// Reset the text to the original size
/// </summary>
public void ResetTextSize()
{
if (_textSize > 0)
{
base.SetTextSize(ComplexUnitType.Px, _textSize);
_mMaxTextSize = _textSize;
}
}

/// <inheritdoc />
/// <summary>
/// Resize text after measuring
/// </summary>
/// <param name="changed"></param>
/// <param name="left"></param>
/// <param name="top"></param>
/// <param name="right"></param>
/// <param name="bottom"></param>
protected override void OnLayout(bool changed, int left, int top, int right, int bottom)
{
if (changed || _needsResize)
{
var widthLimit = (right - left) - CompoundPaddingLeft - CompoundPaddingRight;
var heightLimit = (bottom - top) - CompoundPaddingBottom - CompoundPaddingTop;
ResizeText(widthLimit, heightLimit);
}

base.OnLayout(changed, left, top, right, bottom);
}

/// <summary>
/// Resize the text size with default width and height
/// </summary>
public void ResizeText()
{
var heightLimit = Height - PaddingBottom - PaddingTop;
var widthLimit = Width - PaddingLeft - PaddingRight;
ResizeText(widthLimit, heightLimit);
}

/// <summary>
/// Resize the text size with specified width and height
/// </summary>
/// <param name="width"></param>
/// <param name="height"></param>
public void ResizeText(int width, int height)
{
ICharSequence text = null;

if (!string.IsNullOrEmpty(Text))
{
text = new Java.Lang.String(Text);
}

// Do not resize if the view does not have dimensions or there is no text
if (text == null || text.Length() == 0 || height <= 0 || width <= 0 || _textSize == 0)
{
return;
}

if (TransformationMethod != null)
{
text = TransformationMethod.GetTransformationFormatted(text, this);
}

// Get the text view's paint object
var textPaint = Paint;
// Store the current text size
var oldTextSize = textPaint.TextSize;
// If there is a max text size set, use the lesser of that and the default text size
var targetTextSize = _mMaxTextSize > 0 ? System.Math.Min(_textSize, _mMaxTextSize) : _textSize;

// Get the required text height
var textHeight = GetTextHeight(text, textPaint, width, targetTextSize);

// Until we either fit within our text view or we had reached our min text size, incrementally try smaller sizes
while (textHeight > height && targetTextSize > _mMinTextSize)
{
targetTextSize = System.Math.Max(targetTextSize - 2, _mMinTextSize);
textHeight = GetTextHeight(text, textPaint, width, targetTextSize);
}

// If we had reached our minimum text size and still don't fit, append an ellipsis
if (ShouldAddEllipsis && targetTextSize == _mMinTextSize && textHeight > height)
{
// Draw using a static layout
// modified: use a copy of TextPaint for measuring
var paint = new TextPaint(textPaint);
// Draw using a static layout
var layout = new StaticLayout(text, paint, width, Layout.Alignment.AlignNormal, _spacingMult, _spacingAdd, false);

// Check that we have a least one line of rendered text
if (layout.LineCount > 0)
{
// Since the line at the specific vertical position would be cut off,
// we must trim up to the previous line
var lastLine = layout.GetLineForVertical(height) - 1;
// If the text would not even fit on a single line, clear it
if (lastLine < 0)
{
Text = string.Empty;
}
// Otherwise, trim to the previous line and add an ellipsis
else
{
var start = layout.GetLineStart(lastLine);
var end = layout.GetLineEnd(lastLine);
var lineWidth = layout.GetLineWidth(lastLine);
var ellipseWidth = textPaint.MeasureText(Ellipsis);

// Trim characters off until we have enough room to draw the ellipsis
while (width < lineWidth + ellipseWidth)
{
lineWidth = textPaint.MeasureText(text.SubSequence(start, --end + 1));
}

Text = text.SubSequence(0, end) + Ellipsis;
}
}
}

// Some devices try to auto adjust line spacing, so force default line spacing
// and invalidate the layout as a side effect
SetTextSize(ComplexUnitType.Px, targetTextSize);

var notifyArgs = new OnTextResizeEventArgs
{
TextView = this,
NewSize = targetTextSize,
OldSize = oldTextSize
};

// Notify the listener if registered
OnTextResize?.Invoke(this, notifyArgs);

// Reset force resize flag
_needsResize = false;
}

/// <summary>
/// Set the text size of the text paint object and use a static layout to render text off screen before measuring
/// </summary>
/// <param name="source"></param>
/// <param name="paint"></param>
/// <param name="width"></param>
/// <param name="textSize"></param>
/// <returns></returns>
private int GetTextHeight(ICharSequence source, TextPaint paint, int width, float textSize)
{
// modified: make a copy of the original TextPaint object for measuring
// (apparently the object gets modified while measuring, see also the
// docs for TextView.getPaint() (which states to access it read-only)
// Update the text paint object
var paintCopy = new TextPaint(paint)
{
TextSize = textSize
};

// Measure using a static layout
var layout = new StaticLayout(source, paintCopy, width, Layout.Alignment.AlignNormal, _spacingMult, _spacingAdd, true);

return layout.Height;
}
}
}
``````

### How to allow only integers in a textbox?

It can be done with a compare validator as below. Unlike the other answers, this also allows negative numbers to be entered, which is valid for integer values.

``````<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CompareValidator ControlToValidate="TextBox1" runat="server" ErrorMessage="Integers only please" Operator="DataTypeCheck" Type="Integer" ></asp:CompareValidator>
``````

### SessionTimeout: web.xml vs session.maxInactiveInterval()

Now, i'm being told that this will terminate the session (or is it all sessions?) in the 15th minute of use, regardless their activity.

This is wrong. It will just kill the session when the associated client (webbrowser) has not accessed the website for more than 15 minutes. The activity certainly counts, exactly as you initially expected, seeing your attempt to solve this.

The `HttpSession#setMaxInactiveInterval()` doesn't change much here by the way. It does exactly the same as `<session-timeout>` in `web.xml`, with the only difference that you can change/set it programmatically during runtime. The change by the way only affects the current session instance, not globally (else it would have been a `static` method).

To play around and experience this yourself, try to set `<session-timeout>` to 1 minute and create a `HttpSessionListener` like follows:

``````@WebListener
public class HttpSessionChecker implements HttpSessionListener {

public void sessionCreated(HttpSessionEvent event) {
System.out.printf("Session ID %s created at %s%n", event.getSession().getId(), new Date());
}

public void sessionDestroyed(HttpSessionEvent event) {
System.out.printf("Session ID %s destroyed at %s%n", event.getSession().getId(), new Date());
}

}
``````

(if you're not on Servlet 3.0 yet and thus can't use `@WebListener`, then register in `web.xml` as follows):

``````<listener>
<listener-class>com.example.HttpSessionChecker</listener-class>
</listener>
``````

Note that the servletcontainer won't immediately destroy sessions after exactly the timeout value. It's a background job which runs at certain intervals (e.g. 5~15 minutes depending on load and the servletcontainer make/type). So don't be surprised when you don't see `destroyed` line in the console immediately after exactly one minute of inactivity. However, when you fire a HTTP request on a timed-out-but-not-destroyed-yet session, it will be destroyed immediately.

### What causes a SIGSEGV

Wikipedia has the answer, along with a number of other sources.

A segfault basically means you did something bad with pointers. This is probably a segfault:

``````char *c = NULL;
...
*c; // dereferencing a NULL pointer
``````

Or this:

``````char *c = "Hello";
...
c[10] = 'z'; // out of bounds, or in this case, writing into read-only memory
``````

Or maybe this:

``````char *c = new char[10];
...
delete [] c;
...
c[2] = 'z'; // accessing freed memory
``````

Same basic principle in each case - you're doing something with memory that isn't yours.

### How do I run msbuild from the command line using Windows SDK 7.1?

From `Visual Studio 2013` onwards, `MSbuild` comes as a part of Visual Studio. Earlier, MSBuild was installed as a part of. NET Framework.

MSBuild is installed directly under %ProgramFiles%. So, the path for MSBuild might be different depending on the version of Visual Studio.

For `Visual Studio 2015`, Path of `MSBuild` is `"%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"`

For `Visual Studio 15 Preview`, Path of `MSBuild` is `"%ProgramFiles(x86)%\MSBuild\15.0\Bin\MSBuild.exe"`

Also, Some new MSBuild properties has been added and some have been modified. For more information look here

Update 1: VS 2017

The location for the MSBuild has changed again with the release of Visual Studio 2017. Now the installation directory is under the `%ProgramFiles(x86)%\Microsoft Visual Studio\2017\[VS Edition]\MSBuild\15.0\Bin\`. Since, i have an Enterprise edition, the MSBuild location for my machine is `"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSbuild.exe"`

### how to do file upload using jquery serialization

HTML

``````<form name="my_form" id="my_form" accept-charset="multipart/form-data" onsubmit="return false">
<input id="name" name="name" placeholder="Enter Name" type="text" value="">
<textarea id="detail" name="detail" placeholder="Enter Detail"></textarea>
<select name="gender" id="gender">
<option value="male" selected="selected">Male</option>
<option value="female">Female</option>
</select>
<input type="file" id="my_images" name="my_images" multiple="" accept="image/x-png,image/gif,image/jpeg"/>
</form>
``````

JavaScript

``````var data = new FormData();

//Form data
var form_data = \$('#my_form').serializeArray();
\$.each(form_data, function (key, input) {
data.append(input.name, input.value);
});

//File data
var file_data = \$('input[name="my_images"]')[0].files;
for (var i = 0; i < file_data.length; i++) {
data.append("my_images[]", file_data[i]);
}

//Custom data
data.append('key', 'value');

\$.ajax({
url: "URL",
method: "post",
processData: false,
contentType: false,
data: data,
success: function (data) {
//success
},
error: function (e) {
//error
}
});
``````

PHP

``````<?php
echo '<pre>';
print_r(\$_POST);
print_r(\$_FILES);
echo '</pre>';
die();
?>
``````

### How to get cell value from DataGridView in VB.Net?

It is working for me

``````MsgBox(DataGridView1.CurrentRow.Cells(0).Value.ToString)
``````

### How to use Bootstrap 4 in ASP.NET Core

Why not just use a CDN? Unless you need to edit the code of BS, then you just need to reference the codes in CDN.

See BS 4 CDN Here:

https://www.w3schools.com/bootstrap4/bootstrap_get_started.asp

At the bottom of the page.

### Determining if a number is prime

If you are lazy, and have a lot of RAM, create a sieve of Eratosthenes which is practically a giant array from which you kicked all numbers that are not prime. From then on every prime "probability" test will be super quick. The upper limit for this solution for fast results is the amount of you RAM. The upper limit for this solution for superslow results is your hard disk's capacity.

### jquery mobile background image

Just add !important tag to all css elements in Paolo's answer! Works fine for me JQM+phonegap

EXAMPLE:

``````body {
background: url(../images/background.jpg) !important;
``````

### Best way to change font colour halfway through paragraph?

You can also simply add the font tag inside the p tag.

CSS sheet:

``````<style type="text/css">
p { font:15px Arial; color:white; }
</style>
``````

and in HTML page:

``````<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
<font color="red">
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris     nisi ut aliquip ex ea commodo consequat.
</font>
Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </p>
``````

It works for me. But, in case you need modification, see w3schools for more usage :)

### Margin-Top not working for span element?

Unlike `div`, `p` 1 which are Block Level elements which can take up `margin` on all sides,`span`2 cannot as it's an Inline element which takes up margins horizontally only.

From the specification:

Margin properties specify the width of the margin area of a box. The 'margin' shorthand property sets the margin for all four sides while the other margin properties only set their respective side. These properties apply to all elements, but vertical margins will not have any effect on non-replaced inline elements.

Demo 1 (Vertical `margin` not applied as `span` is an `inline` element)

Solution? Make your `span` element, `display: inline-block;` or `display: block;`.

Demo 2

Would suggest you to use `display: inline-block;` as it will be `inline` as well as `block`. Making it `block` only will result in your element to render on another line, as `block` level elements take `100%` of horizontal space on the page, unless they are made `inline-block` or they are `floated` to `left` or `right`.

1. Block Level Elements - MDN Source

2. Inline Elements - MDN Resource

### CSS3 transform not working

Are you specifically trying to rotate the links only? Because doing it on the LI tags seems to work fine.

According to Snook transforms require the elements affected be block. He's also got some code there to make this work for IE using filters, if you care to add it on(though there appears to be some limitation on values).

### The Completest Cocos2d-x Tutorial & Guide List

Here you got complementaries discussions about the topic, it can be interesting.

discussion1

discussion2

### Where are \$_SESSION variables stored?

In my Ubuntu machine sessions are stored at

``````/var/lib/php/sessions
``````

and you have to `sudo ls` in this directory only `ls` it will throw

ls: cannot open directory '.': Permission denied

And on my Windows Wamp server php sessions are stored in

``````C:\wamp64\tmp
``````

and if you install standalone php on windows then there is no value set by default

``````session.save_path => no value => no value
``````

### ng-repeat :filter by single field

See the example on the filter page. Use an object, and set the color in the color property:

``````Search by color: <input type="text" ng-model="search.color">
<div ng-repeat="product in products | filter:search">
``````

### Setting default value in select drop-down using Angularjs

I could help you out with the html:

``````<option value="">abc</option>
``````

``````<option value="4">abc</option>
``````

to set abc as the default value.

### When to use reinterpret_cast?

``````template <class outType, class inType>
outType safe_cast(inType pointer)
{
void* temp = static_cast<void*>(pointer);
return static_cast<outType>(temp);
}
``````

I tried to conclude and wrote a simple safe cast using templates. Note that this solution doesn't guarantee to cast pointers on a functions.

### Multiple returns from a function

Yes, you can use an object :-)

But the simplest way is to return an array:

``````return array('value1', 'value2', 'value3', '...');
``````

### How to remove symbols from a string with Python?

One way, using regular expressions:

``````>>> s = "how much for the maple syrup? \$20.99? That's ridiculous!!!"
>>> re.sub(r'[^\w]', ' ', s)
'how much for the maple syrup   20 99  That s ridiculous   '
``````
• `\w` will match alphanumeric characters and underscores

• `[^\w]` will match anything that's not alphanumeric or underscore

### How can I clone a private GitLab repository?

If you are using Windows,

1. make a folder and open git bash from there

2. in the git bash,

git clone [email protected]:Example/projectName.git

### Git: How to return from 'detached HEAD' state

If you remember which branch was checked out before (e.g. `master`) you could simply

``````git checkout master
``````

to get out of detached HEAD state.

Generally speaking: `git checkout <branchname>` will get you out of that.

If you don't remember the last branch name, try

``````git checkout -
``````

This also tries to check out your last checked out branch.

### How to download files using axios

It's very simple javascript code to trigger a download for the user:

``````window.open("<insert URL here>")
``````

You don't want/need axios for this operation; it should be standard to just let the browser do it's thing.

Note: If you need authorisation for the download then this might not work. I'm pretty sure you can use cookies to authorise a request like this, provided it's within the same domain, but regardless, this might not work immediately in such a case.

As for whether it's possible... not with the in-built file downloading mechanism, no.

### Javadoc link to method in other class

For the Javadoc tag `@see`, you don't need to use `@link`; Javadoc will create a link for you. Try

``````@see com.my.package.Class#method()
``````

Here's more info about `@see`.

### How to implement "select all" check box in HTML?

``````<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" /></script>

<script type="text/javascript">

\$('input[name="all"],input[name="title"]').bind('click', function(){
var status = \$(this).is(':checked');
\$('input[type="checkbox"]', \$(this).parent('li')).attr('checked', status);
});

});
</script>

<div id="wrapper">
<li style="margin-top: 20px">
<input type="checkbox" name="all" id="all" /> <label for='all'>All</label>
<ul>
<li><input type="checkbox" name="title" id="title_1" /> <label for="title_1"><strong>Title 01</strong></label>
<ul>
<li><input type="checkbox" name="selected[]" id="box_1" value="1" /> <label for="box_1">Sub Title 01</label></li>
<li><input type="checkbox" name="selected[]" id="box_2" value="2" /> <label for="box_2">Sub Title 02</label></li>
<li><input type="checkbox" name="selected[]" id="box_3" value="3" /> <label for="box_3">Sub Title 03</label></li>
<li><input type="checkbox" name="selected[]" id="box_4" value="4" /> <label for="box_4">Sub Title 04</label></li>
</ul>
</li>
</ul>
<ul>
<li><input type="checkbox" name="title" id="title_2" /> <label for="title_2"><strong>Title 02</strong></label>
<ul>
<li><input type="checkbox" name="selected[]" id="box_5" value="5" /> <label for="box_5">Sub Title 05</label></li>
<li><input type="checkbox" name="selected[]" id="box_6" value="6" /> <label for="box_6">Sub Title 06</label></li>
<li><input type="checkbox" name="selected[]" id="box_7" value="7" /> <label for="box_7">Sub Title 07</label></li>
</ul>
</li>
</ul>
</li>
</div>
``````

### Darkening an image with CSS (In any shape)

You could always change the opacity of the image, given the difficulty of any alternatives this might be the best approach.

CSS:

``````.tinted { opacity: 0.8; }
``````

If you're interested in better browser compatability, I suggest reading this:

If you're determined enough you can get this working as far back as IE7 (who knew!)

Note: As JGonzalezD points out below, this only actually darkens the image if the background colour is generally darker than the image itself. Although this technique may still be useful if you don't specifically want to darken the image, but instead want to highlight it on hover/focus/other state for whatever reason.

### What does CultureInfo.InvariantCulture mean?

Not all cultures use the same format for dates and decimal / currency values.

This will matter for you when you are converting input values (read) that are stored as strings to `DateTime`, `float`, `double` or `decimal`. It will also matter if you try to format the aforementioned data types to strings (write) for display or storage.

If you know what specific culture that your dates and decimal / currency values will be in ahead of time, you can use that specific `CultureInfo` property (i.e. `CultureInfo("en-GB")`). For example if you expect a user input.

The `CultureInfo.InvariantCulture` property is used if you are formatting or parsing a string that should be parseable by a piece of software independent of the user's local settings.

The default value is `CultureInfo.InstalledUICulture` so the default CultureInfo is depending on the executing OS's settings. This is why you should always make sure the culture info fits your intention (see Martin's answer for a good guideline).

### Drop multiple columns in pandas

Try this

`df.drop(df.iloc[:, 1:69], inplace=True, axis=1)`

This works for me

### I can pass a variable from a JSP scriptlet to JSTL but not from JSTL to a JSP scriptlet without an error

@skaffman nailed it down. They live each in its own context. However, I wouldn't consider using scriptlets as the solution. You'd like to avoid them. If all you want is to concatenate strings in EL and you discovered that the `+` operator fails for strings in EL (which is correct), then just do:

``````<c:out value="abc\${test}" />
``````

Or if `abc` is to obtained from another scoped variable named `\${resp}`, then do:

``````<c:out value="\${resp}\${test}" />
``````

### How to display svg icons(.svg files) in UI using React Component?

There are two ways I want to show you.

The first one is just a simple import of the required SVG.

``````import MyImageSvg from '../../path/to.svg';
``````

Just remember to use a loader for e.g. Webpack:

`````` {
test: /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?\$/,
include: [Path.join(__dirname, "src/assets")],
}
``````

Another (and more elegant way) is that you can define an SVG icon sprite and use a component to fetch the correct sprite of the SVG. For example:

``````import React from "react";
import Icons from "../../assets/icons/icons.svg"; // Path to your icons.svg
import PropTypes from 'prop-types';

const Icon = ({ name, color, size }) => (
<svg className={`icon icon-\${name}`} fill={color} width={size} height={size}>
</svg>
);

Icon.propTypes = {
name: PropTypes.string.isRequired,
color: PropTypes.string,
size: PropTypes.number
};

export default Icon;
``````

The icon sprite (icons.svg) can be defined as:

``````<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">

<symbol id="icon-account-group" viewBox="0 0 512 512">
<path d="m256 301l0-41c7-7 19-24 21-60 10-5 16-16 16-30 0-12-4-22-12-28 7-13 18-37 12-60-7-28-48-39-81-39-29 0-65 8-77 30-12-1-20 2-26 9-15 16-8 46-4 62 1 2 2 4 2 5l0 42c0 41 24 63 42 71l0 39c-8 3-17 7-26 10-56 20-104 37-112 64-11 31-11 102-11 105 0 6 5 11 11 11l384 0c6 0 10-5 10-11 0-3 0-74-10-105-11-31-69-48-139-74z m-235 168c1-20 3-66 10-88 5-16 57-35 99-50 12-4 23-8 34-12 4-2 7-6 7-10l0-54c0-4-3-9-8-10-1 0-35-12-35-54l0-42c0-3-1-5-2-11-2-8-9-34-2-41 3-4 11-3 15-2 6 1 11-2 13-8 3-13 29-22 60-22 31 0 57 9 60 22 5 17-6 37-11 48-3 6-5 10-5 14 0 5 5 10 11 10 3 0 5 6 5 11 0 4-2 11-5 11-6 0-11 4-11 10 0 43-16 55-16 55-3 2-5 6-5 9l0 54c0 4 2 8 7 10 51 19 125 41 132 62 8 22 9 68 10 88l-363 0z m480-94c-8-25-49-51-138-84l0-20c7-7 19-25 21-61 4-2 7-5 10-9 4-5 6-13 6-20 0-13-5-23-13-28 7-15 19-41 13-64-4-15-21-31-40-39-19-7-38-6-54 5-5 3-6 10-3 15 3 4 10 6 15 3 12-9 25-6 34-3 15 6 25 18 27 24 4 17-6 40-12 52-3 6-4 10-4 13 0 3 1 6 3 8 2 2 4 3 7 3 4 0 6 6 6 11 0 3-1 6-3 8-1 2-2 2-3 2-6 0-10 5-10 11 0 43-17 55-17 55-3 2-5 5-5 9l0 32c0 4 3 8 7 10 83 31 127 56 133 73 7 22 9 68 10 88l-43 0c-6 0-11 5-11 11 0 6 5 11 11 11l53 0c6 0 11-5 11-11 0-3 0-74-11-105z"/>
</symbol>

<symbol id="icon-arrow-down" viewBox="0 0 512 512">
<path d="m508 109c-4-4-11-3-15 1l-237 269-237-269c-4-4-11-5-15-1-5 4-5 11-1 15l245 278c2 2 5 3 8 3 3 0 6-1 8-3l245-278c4-4 4-11-1-15z"/>
</symbol>

<symbol id="icon-arrow-left" viewBox="0 0 512 512">
<path d="m133 256l269-237c4-4 5-11 1-15-4-5-11-5-15-1l-278 245c-2 2-3 5-3 8 0 3 1 6 3 8l278 245c2 2 4 3 7 3 3 0 6-1 8-4 4-4 3-11-1-15z"/>
</symbol>

<symbol id="icon-arrow-right" viewBox="0 0 512 512">
<path d="m402 248l-278-245c-4-4-11-4-15 1-4 4-3 11 1 15l269 237-269 237c-4 4-5 11-1 15 2 3 5 4 8 4 3 0 5-1 7-3l278-245c2-2 3-5 3-8 0-3-1-6-3-8z"/>
</symbol>
</svg>
``````

You can define your own icon sprite on http://fontastic.me/ for free.

And the usage: `<Icon name="arrow-down" color="#FFFFFF" size={35} />`

And possible add some simple styling for using the icons everywhere:

``````[class^="icon-"], [class*=" icon-"] {
display: inline-block;
vertical-align: middle;
}
``````

### PostgreSQL: ERROR: operator does not exist: integer = character varying

I think it is telling you exactly what is wrong. You cannot compare an integer with a varchar. PostgreSQL is strict and does not do any magic typecasting for you. I'm guessing SQLServer does typecasting automagically (which is a bad thing).

If you want to compare these two different beasts, you will have to cast one to the other using the casting syntax `::`.

Something along these lines:

``````create view view1
as
select table1.col1,table2.col1,table3.col3
from table1
inner join
table2
inner join
table3
on
table1.col4::varchar = table2.col5
/* Here col4 of table1 is of "integer" type and col5 of table2 is of type "varchar" */
/* ERROR: operator does not exist: integer = character varying */
....;
``````

Notice the `varchar` typecasting on the table1.col4.

Also note that typecasting might possibly render your index on that column unusable and has a performance penalty, which is pretty bad. An even better solution would be to see if you can permanently change one of the two column types to match the other one. Literately change your database design.

Or you could create a index on the casted values by using a custom, immutable function which casts the values on the column. But this too may prove suboptimal (but better than live casting).

### ASP.NET MVC: Html.EditorFor and multi-line text boxes

Use data type 'MultilineText':

``````[DataType(DataType.MultilineText)]
public string Text { get; set; }
``````

### How do you connect to a MySQL database using Oracle SQL Developer?

Under Tools > Preferences > Databases there is a third party JDBC driver path that must be setup. Once the driver path is setup a separate 'MySQL' tab should appear on the New Connections dialog.

Note: This is the same jdbc connector that is available as a JAR download from the MySQL website.

### Android ADB commands to get the device properties

You should use `adb shell getprop` command and `grep` specific info about your current device, For additional information you can read documentation: Android Debug Bridge documentation

I added some examples below:

1. language - `adb shell getprop | grep language`

[persist.sys.language]: [en]

[ro.product.locale.language]: [en]

2. boot complete ( device ready after reset) - `adb shell getprop | grep boot_completed`

[sys.boot_completed]: [1]

3. device model - `adb shell getprop | grep model`

[ro.product.model]: [Nexus 4]

4. sdk version - `adb shell getprop | grep sdk`

[ro.build.version.sdk]: [22]

5. time zone - `adb shell getprop | grep timezone`

[persist.sys.timezone]: [Asia/China]

6. serial number - `adb shell getprop | grep serialno`

[ro.boot.serialno]: [1234567]

### Oracle date to string conversion

If your column is of type DATE (as you say), then you don't need to convert it into a string first (in fact you would convert it implicitly to a string first, then explicitly to a date and again explicitly to a string):

``````SELECT TO_CHAR(COL1, 'mm/dd/yyyy') FROM TABLE1
``````

The date format your seeing for your column is an artifact of the tool your using (TOAD, SQL Developer etc.) and it's language settings.

### ServletException, HttpServletResponse and HttpServletRequest cannot be resolved to a type

You can do the folllwoing: import the jar file inside you class:

`import javax.servlet.http.HttpServletResponse`

add the Apache Tomcat library as follow:

Project > Properties > Java Build Path > Libraries > Add library from library tab > Choose server runtime > Next > choose Apache Tomcat v 6.0 > Finish > Ok

Also First of all, make sure that Servlet jar is included in your class path in eclipse as PermGenError said.

I think this will solve your error

### Getting CheckBoxList Item values

Try to use this :

`````` private void button1_Click(object sender, EventArgs e)
{

for (int i = 0; i < chBoxListTables.Items.Count; i++)
if (chBoxListTables.GetItemCheckState(i) == CheckState.Checked)
{
txtBx.text += chBoxListTables.Items[i].ToString() + " \n";

}
}
``````

### How do you cache an image in Javascript

as @Pointy said you don't cache images with javascript, the browser does that. so this may be what you are asking for and may not be... but you can preload images using javascript. By putting all of the images you want to preload into an array and putting all of the images in that array into hidden img elements, you effectively preload (or cache) the images.

``````var images = [
'/path/to/image1.png',
'/path/to/image2.png'
];

\$(images).each(function() {
var image = \$('<img />').attr('src', this);
});
``````

### Bootstrap radio button "checked" flag

Use active class with label to make it auto select and use `checked=""` .

``````   <label class="btn btn-primary  active" value="regular"  style="width:47%">
<input  type="radio" name="service" checked=""  > Regular </label>
<label class="btn btn-primary " value="express" style="width:46%">
<input type="radio" name="service"> Express </label>
``````

### What does !important mean in CSS?

`!important` is a part of CSS1.

Browsers supporting it: IE5.5+, Firefox 1+, Safari 3+, Chrome 1+.

It means, something like:

Use me, if there is nothing important else around!

Cant say it better.

### IIs Error: Application Codebehind=“Global.asax.cs” Inherits=“nadeem.MvcApplication”

In my case, it was also caused by old dlls. Clean all your files then rebuild.

### How to count items in JSON object using command line?

A simple solution is to install `jshon` library :

``````jshon -l < /tmp/test.json
2
``````

### how can I enable scrollbars on the WPF Datagrid?

Put the `DataGrid` in a `Grid`, `DockPanel`, `ContentControl` or directly in the `Window`. A vertically-oriented `StackPanel` will give its children whatever vertical space they ask for - even if that means it is rendered out of view.

### Cast from VARCHAR to INT - MySQL

For casting varchar fields/values to number format can be little hack used:

``````SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`
``````

### Angular - How to apply [ngStyle] conditions

``````[ngStyle]="{'opacity': is_mail_sent ? '0.5' : '1' }"
``````

### pandas groupby sort descending order

As of Pandas 0.18 one way to do this is to use the `sort_index` method of the grouped data.

Here's an example:

``````np.random.seed(1)
n=10
df = pd.DataFrame({'mygroups' : np.random.choice(['dogs','cats','cows','chickens'], size=n),
'data' : np.random.randint(1000, size=n)})

grouped = df.groupby('mygroups', sort=False).sum()
grouped.sort_index(ascending=False)
print grouped

data
mygroups
dogs      1831
chickens  1446
cats       933
``````

As you can see, the groupby column is sorted descending now, indstead of the default which is ascending.

### Redirect website after certain amount of time

The simplest way is using HTML META tag like this:

``````<meta http-equiv="refresh" content="3;url=http://example.com/" />
``````

Wikipedia

### What's the difference between Unicode and UTF-8?

It's weird. Unicode is a standard, not an encoding. As it is possible to specify the endianness I guess it's effectively UTF-16 or maybe 32.

Where does this menu provide from?

### How to click a href link using Selenium

Use an explicit `wait` for the element like this:

``````WebDriverWait wait1 = new WebDriverWait(driver, 500);
wait1.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("path of element"))).click();
``````

### not finding android sdk (Unity)

In my case, I was trying to build and get APK for an old Unity 3D project (so that I can play the game in my Android phone). I was using the most recent Android Studio version, and all the SDK packages I could download via SDK Manager in Android Studio. SDK Packages was located in

C:/Users/Onat/AppData/Local/Android/Sdk And the error message I got was the same except the JDK (Java Development Kit) version "jdk-12.0.2" . JDK was located in

C:\Program Files\Java\jdk-12.0.2 And Environment Variable in Windows was JAVA_HOME : C:\Program Files\Java\jdk-12.0.2

After 3 hours of research, I found out that Unity does not support JDK 10. As told in https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-java-version-from-10-0-1.532169/ . My suggestion is:

1.Uninstall unwanted JDK if you have one installed already. https://www.java.com/tr/download/help/uninstall_java.xml

3.Login to/Open a Oracle account if not already logged in.

4.Download the older but functional JDK 8 for your computer set-up(32 bit/64 bit, Windows/Linux etc.)

5.Install the JDK. Remember the installation path. (https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/)

6.If you are using Windows, Open Environment Variables and change Java Path via Right click My Computer/This PC>Properties>Advanced System Settings>Environment Variables>New>Variable Name: JAVA_HOME>Variable Value: [YOUR JDK Path, Mine was "C:\Program Files\Java\jdk1.8.0_221"]

7.In Unity 3D, press Edit > Preferences > External Tools and fill in the JDK path (Mine was "C:\Program Files\Java\jdk1.8.0_221").

8.Also, in the same pop-up, edit SDK Path. (Get it from Android Studio > SDK Manager > Android SDK > Android SDK Location.)

9.If needed, restart your computer for changes to take effect.

### Java: Multiple class declarations in one file

My suggested name for this technique (including multiple top-level classes in a single source file) would be "mess". Seriously, I don't think it's a good idea - I'd use a nested type in this situation instead. Then it's still easy to predict which source file it's in. I don't believe there's an official term for this approach though.

As for whether this actually changes between implementations - I highly doubt it, but if you avoid doing it in the first place, you'll never need to care :)

### How to call Oracle MD5 hash function?

To calculate MD5 hash of CLOB content field with my desired encoding without implicitly recoding content to AL32UTF8, I've used this code:

``````create or replace function clob2blob(AClob CLOB) return BLOB is
Result BLOB;
o1 integer;
o2 integer;
c integer;
w integer;
begin
o1 := 1;
o2 := 1;
c := 0;
w := 0;
DBMS_LOB.CreateTemporary(Result, true);
DBMS_LOB.ConvertToBlob(Result, AClob, length(AClob), o1, o2, 0, c, w);
return(Result);
end clob2blob;
/

update my_table t set t.hash = (rawtohex(DBMS_CRYPTO.Hash(clob2blob(t.content),2)));
``````

### Why am I getting error for apple-touch-icon-precomposed.png

If a user from Safari Web browser (Apple devices) visit your site. The browser tries to fetch the site icon if it is not defined in `<head>` in the following order:

1. apple-touch-icon-57x57-precomposed.png
2. apple-touch-icon-57x57.png
3. apple-touch-icon-precomposed.png
4. apple-touch-icon.png

To resolve this issue either define an icon for safari web browsers or apple devices. Add something like this to head section of your site:

``````<link rel="apple-touch-icon" href="/custom_icon.png"/>
``````

If you want to keep `<head>` clean then upload the icon to root dir of your site with proper name.

The default icon size is 57px.

You can find more details on iOS developer library.

### How to define the css :hover state in a jQuery selector?

You can try this:

``````\$(".myclass").mouseover(function() {
\$(this).find(" > div").css("background-color","red");
}).mouseout(function() {
\$(this).find(" > div").css("background-color","transparent");
});
``````

DEMO

### Video streaming over websockets using JavaScript

The Media Source Extensions has been proposed which would allow for Adaptive Bitrate Streaming implementations.

### What's the difference between all the Selection Segues?

The document has moved here it seems: https://help.apple.com/xcode/mac/8.0/#/dev564169bb1

Can't copy the icons here, but here are the descriptions:

• Show: Present the content in the detail or master area depending on the content of the screen.

If the app is displaying a master and detail view, the content is pushed onto the detail area. If the app is only displaying the master or the detail, the content is pushed on top of the current view controller stack.

• Show Detail: Present the content in the detail area.

If the app is displaying a master and detail view, the new content replaces the current detail. If the app is only displaying the master or the detail, the content replaces the top of the current view controller stack.

• Present Modally: Present the content modally.

• Present as Popover: Present the content as a popover anchored to an existing view.

• Custom: Create your own behaviors by using a custom segue.

# Virtual Function Tables

Let's begin with some background on virtual function tables and how they work (source):

[20.3] What's the difference between how virtual and non-virtual member functions are called?

Non-virtual member functions are resolved statically. That is, the member function is selected statically (at compile-time) based on the type of the pointer (or reference) to the object.

In contrast, virtual member functions are resolved dynamically (at run-time). That is, the member function is selected dynamically (at run-time) based on the type of the object, not the type of the pointer/reference to that object. This is called "dynamic binding." Most compilers use some variant of the following technique: if the object has one or more virtual functions, the compiler puts a hidden pointer in the object called a "virtual-pointer" or "v-pointer." This v-pointer points to a global table called the "virtual-table" or "v-table."

The compiler creates a v-table for each class that has at least one virtual function. For example, if class Circle has virtual functions for draw() and move() and resize(), there would be exactly one v-table associated with class Circle, even if there were a gazillion Circle objects, and the v-pointer of each of those Circle objects would point to the Circle v-table. The v-table itself has pointers to each of the virtual functions in the class. For example, the Circle v-table would have three pointers: a pointer to Circle::draw(), a pointer to Circle::move(), and a pointer to Circle::resize().

During a dispatch of a virtual function, the run-time system follows the object's v-pointer to the class's v-table, then follows the appropriate slot in the v-table to the method code.

The space-cost overhead of the above technique is nominal: an extra pointer per object (but only for objects that will need to do dynamic binding), plus an extra pointer per method (but only for virtual methods). The time-cost overhead is also fairly nominal: compared to a normal function call, a virtual function call requires two extra fetches (one to get the value of the v-pointer, a second to get the address of the method). None of this runtime activity happens with non-virtual functions, since the compiler resolves non-virtual functions exclusively at compile-time based on the type of the pointer.

# My problem, or how I came here

I'm attempting to use something like this now for a cubefile base class with templated optimized load functions which will be implemented differently for different types of cubes (some stored by pixel, some by image, etc).

Some code:

``````virtual void  LoadCube(UtpBipCube<float> &Cube,long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1) = 0;
virtual void  LoadCube(UtpBipCube<short> &Cube, long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1) = 0;
virtual void  LoadCube(UtpBipCube<unsigned short> &Cube, long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1) = 0;
``````

What I'd like it to be, but it won't compile due to a virtual templated combo:

``````template<class T>
virtual void  LoadCube(UtpBipCube<T> &Cube,long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1) = 0;
``````

I ended up moving the template declaration to the class level. This solution would have forced programs to know about specific types of data they would read before they read them, which is unacceptable.

# Solution

warning, this isn't very pretty but it allowed me to remove repetitive execution code

1) in the base class

``````virtual void  LoadCube(UtpBipCube<float> &Cube,long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1) = 0;
virtual void  LoadCube(UtpBipCube<short> &Cube, long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1) = 0;
virtual void  LoadCube(UtpBipCube<unsigned short> &Cube, long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1) = 0;
``````

2) and in the child classes

``````void  LoadCube(UtpBipCube<float> &Cube, long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1)

void  LoadCube(UtpBipCube<short> &Cube, long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1)

void  LoadCube(UtpBipCube<unsigned short> &Cube, long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1)

template<class T>
void  LoadAnyCube(UtpBipCube<T> &Cube, long LowerLeftRow=0,long LowerLeftColumn=0,
long UpperRightRow=-1,long UpperRightColumn=-1,long LowerBand=0,long UpperBand=-1);
``````

Note that LoadAnyCube is not declared in the base class.

Here's another stack overflow answer with a work around: need a virtual template member workaround.

### Resolving require paths with webpack

I have resolve it with Webpack 2 like this:

``````module.exports = {
resolve: {
modules: ["mydir", "node_modules"]
}
}
``````

You can add more directories to array...