# Programs & Examples On #Array formulas

### Counting number of occurrences in column?

Put the following in B3 (credit to @Alexander-Ivanov for the countif condition):

``````={UNIQUE(A3:A),ARRAYFORMULA(COUNTIF(UNIQUE(A3:A),"=" & UNIQUE(A3:A)))}
``````

Benefits: It only requires editing 1 cell, it includes the name filtered by uniqueness, and it is concise.

Downside: it runs the unique function 3x

To use the unique function only once, split it into 2 cells:

B3: `=UNIQUE(A3:A)`

C3: `=ARRAYFORMULA(COUNTIF(B3:B,"=" & B3:B))`

### Selecting the last value of a column

This one works for me:

``````=INDEX(I:I;MAX((I:I<>"")*(ROW(I:I))))
``````

### Apply formula to the entire column

It looks like some of the other answers have become outdated, but for me this worked:

1. Click on the cell with the text/formula to copy
2. Shift+Click on the last cell to copy to
3. Ctrl + Enter

(Note that this replaces text if the destination cells aren't empty)

### Array formula on Excel for Mac

Found a solution to Excel Mac2016 as having to paste the code into the relevant cell, enter, then go to the end of the formula within the header bar and enter the following:

Enter a formula as an array formula Image + SHIFT + RETURN or CONTROL + SHIFT + RETURN

### Get current domain

Try `\$_SERVER['SERVER_NAME']`.

Tips: Create a PHP file that calls the function `phpinfo()` and see the "PHP Variables" section. There are a bunch of useful variables we never think of there.

### Changing WPF title bar background color

You can also create a borderless window, and make the borders and title bar yourself

### FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

I had the same problem because I set the following in `Catalina.sh` of my tomcat:

``````JAVA_OPTS="\$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999"
``````

After removing it, my tomcat worked well.

### Start and stop a timer PHP

As alternative, php has a built-in timer controller: `new EvTimer()`.

It can be used to make a task scheduler, with proper handling of special cases.

This is not only the Time, but a time transport layer, a chronometer, a lap counter, just as a stopwatch but with php callbacks ;)

EvTimer watchers are simple relative timers that generate an event after a given time, and optionally repeating in regular intervals after that.

The timers are based on real time, that is, if one registers an event that times out after an hour and resets the system clock to January last year, it will still time out after(roughly) one hour.

The callback is guaranteed to be invoked only after its timeout has passed (...). If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones of the same priority with later time-out values.

The timer itself will do a best-effort at avoiding drift, that is, if a timer is configured to trigger every 10 seconds, then it will normally trigger at exactly 10 second intervals. If, however, the script cannot keep up with the timer because it takes longer than those 10 seconds to do) the timer will not fire more than once per event loop iteration.

The first two parameters allows to controls the time delay before execution, and the number of iterations.

The third parameter is a callback function, called at each iteration.

``````after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached.
If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.
``````

https://www.php.net/manual/en/class.evtimer.php

https://www.php.net/manual/en/evtimer.construct.php

``````\$w2 = new EvTimer(2, 1, function (\$w) {
echo "is called every second, is launched after 2 seconds\n";
echo "iteration = ", Ev::iteration(), PHP_EOL;

// Stop the watcher after 5 iterations
Ev::iteration() == 5 and \$w->stop();
// Stop the watcher if further calls cause more than 10 iterations
Ev::iteration() >= 10 and \$w->stop();
});
``````

We can of course easily create this with basic looping and some tempo with `sleep()`, `usleep()`, or `hrtime()`, but `new EvTimer()` allows cleans and organized multiples calls, while handling special cases like overlapping.

### Echo a blank (empty) line to the console from a Windows batch file

Note: Though my original answer attracted several upvotes, I decided that I could do much better. You can find my original (simplistic and misguided) answer in the edit history.

If Microsoft had the intent of providing a means of outputting a blank line from `cmd.exe`, Microsoft surely would have documented such a simple operation. It is this omission that motivated me to ask this question.

So, because a means for outputting a blank line from `cmd.exe` is not documented, arguably one should consider any suggestion for how to accomplish this to be a hack. That means that there is no known method for outputting a blank line from `cmd.exe` that is guaranteed to work (or work efficiently) in all situations.

With that in mind, here is a discussion of methods that have been recommended for outputting a blank line from `cmd.exe`. All recommendations are based on variations of the `echo` command.

``````echo.
``````

While this will work in many if not most situations, it should be avoided because it is slower than its alternatives and actually can fail (see here, here, and here). Specifically, `cmd.exe` first searches for a file named `echo` and tries to start it. If a file named `echo` happens to exist in the current working directory, `echo.` will fail with:

``````'echo.' is not recognized as an internal or external command,
operable program or batch file.
``````

``````echo:
echo\
``````

At the end of this answer, the author argues that these commands can be slow, for instance if they are executed from a network drive location. A specific reason for the potential slowness is not given. But one can infer that it may have something to do with accessing the file system. (Perhaps because `:` and `\` have special meaning in a Windows file system path?)

However, some may consider these to be safe options since `:` and `\` cannot appear in a file name. For that or another reason, `echo:` is recommended by SS64.com here.

``````echo(
echo+
echo,
echo/
echo;
echo=
echo[
echo]
``````

This lengthy discussion includes what I believe to be all of these. Several of these options are recommended in this SO answer as well. Within the cited discussion, this post ends with what appears to be a recommendation for `echo(` and `echo:`.

My question at the top of this page does not specify a version of Windows. My experimentation on Windows 10 indicates that all of these produce a blank line, regardless of whether files named `echo`, `echo+`, `echo,`, ..., `echo]` exist in the current working directory. (Note that my question predates the release of Windows 10. So I concede the possibility that older versions of Windows may behave differently.)

In this answer, @jeb asserts that `echo(` always works. To me, @jeb's answer implies that other options are less reliable but does not provide any detail as to why that might be. Note that @jeb contributed much valuable content to other references I have cited in this answer.

Conclusion: Do not use `echo.`. Of the many other options I encountered in the sources I have cited, the support for these two appears most authoritative:

``````echo(
echo:
``````

But I have not found any strong evidence that the use of either of these will always be trouble-free.

Example Usage:

``````@echo off
echo Here is the first line.
echo(
echo There is a blank line above this line.
``````

Expected output:

``````Here is the first line.

There is a blank line above this line.
``````

### How to find prime numbers between 0 - 100?

A list built using the new features of ES6, especially with generator. Go to https://codepen.io/arius/pen/wqmzGp made in Catalan language for classes with my students. I hope you find it useful.

_x000D_
_x000D_
``````function* Primer(max) { _x000D_
const infinite = !max && max !== 0;_x000D_
const re = /^.?\$|^(..+?)\1+\$/; _x000D_
let current = 1;_x000D_
_x000D_
while (infinite || max-- ) {_x000D_
if(!re.test('1'.repeat(current)) == true) yield current;_x000D_
current++_x000D_
};_x000D_
};_x000D_
_x000D_
_x000D_
let [...list] = Primer(100); _x000D_
console.log(list);``````
_x000D_
_x000D_
_x000D_

### Create Table from JSON Data with angularjs and ng-repeat

Easy way to use for create dynamic header and cell in normal table :

``````<table width="100%" class="table">
<tr>
</tr>
<tbody>
<tr ng-repeat="row in MyRecCollection | filter:searchText">
<td ng-repeat="cell in row">{{cell}}</td>
</tr>
</tbody>
</table>

MyApp.controller('dataShow', function (\$scope, \$http) {
\$http.get('http://www.w3schools.com/website/Customers_MYSQL.php').success(function (data) {

\$scope.MyRecCollection = data;
})

});
``````

JSON Data :

``````[{
"Name": "Alfreds Futterkiste",
"City": "Berlin",
"Country": "Germany"
}, {
"Name": "Berglunds snabbköp",
"City": "Luleå",
"Country": "Sweden"
}, {
"Name": "Centro comercial Moctezuma",
"City": "México D.F.",
"Country": "Mexico"
}, {
"Name": "Ernst Handel",
"City": "Graz",
"Country": "Austria"
}, {
"Name": "FISSA Fabrica Inter. Salchichas S.A.",
"Country": "Spain"
}, {
"Name": "Galería del gastrónomo",
"City": "Barcelona",
"Country": "Spain"
}, {
"City": "Cowes",
"Country": "UK"
}, {
"Name": "Königlich Essen",
"City": "Brandenburg",
"Country": "Germany"
}, {
"Name": "Laughing Bacchus Wine Cellars",
"City": "Vancouver",
}, {
"Name": "Magazzini Alimentari Riuniti",
"City": "Bergamo",
"Country": "Italy"
}, {
"Name": "North/South",
"City": "London",
"Country": "UK"
}, {
"Name": "Paris spécialités",
"City": "Paris",
"Country": "France"
}, {
"Name": "Rattlesnake Canyon Grocery",
"City": "Albuquerque",
"Country": "USA"
}, {
"Name": "Simons bistro",
"City": "København",
"Country": "Denmark"
}, {
"Name": "The Big Cheese",
"City": "Portland",
"Country": "USA"
}, {
"Name": "Vaffeljernet",
"City": "Århus",
"Country": "Denmark"
}, {
"Name": "Wolski Zajazd",
"City": "Warszawa",
"Country": "Poland"
}]
``````

### Why is this program erroneously rejected by three C++ compilers?

You forgot to use Comic Sans as a font, that's why its erroring.

### Install windows service without InstallUtil.exe

This is a base service class (ServiceBase subclass) that can be subclassed to build a windows service that can be easily installed from the command line, without installutil.exe. This solution is derived from How to make a .NET Windows Service start right after the installation?, adding some code to get the service Type using the calling StackFrame

``````public abstract class InstallableServiceBase:ServiceBase
{

/// <summary>
/// returns Type of the calling service (subclass of InstallableServiceBase)
/// </summary>
/// <returns></returns>
protected static Type getMyType()
{
Type t = typeof(InstallableServiceBase);
MethodBase ret = MethodBase.GetCurrentMethod();
Type retType = null;
try
{
StackFrame[] frames = new StackTrace().GetFrames();
foreach (StackFrame x in frames)
{
ret = x.GetMethod();

Type t1 = ret.DeclaringType;

if (t1 != null && !t1.Equals(t) &&   !t1.IsSubclassOf(t))
{

break;
}
retType = t1;
}
}
catch
{

}
return retType;
}
/// <summary>
/// returns AssemblyInstaller for the calling service (subclass of InstallableServiceBase)
/// </summary>
/// <returns></returns>
protected static AssemblyInstaller GetInstaller()
{
Type t = getMyType();
AssemblyInstaller installer = new AssemblyInstaller(
t.Assembly, null);
installer.UseNewContext = true;
return installer;
}

private bool IsInstalled()
{
using (ServiceController controller =
new ServiceController(this.ServiceName))
{
try
{
ServiceControllerStatus status = controller.Status;
}
catch
{
return false;
}
return true;
}
}

private bool IsRunning()
{
using (ServiceController controller =
new ServiceController(this.ServiceName))
{
if (!this.IsInstalled()) return false;
return (controller.Status == ServiceControllerStatus.Running);
}
}
/// <summary>
/// protected method to be called by a public method within the real service
/// ie: in the real service
///    new internal  void InstallService()
///    {
///        base.InstallService();
///    }
/// </summary>
protected void InstallService()
{
if (this.IsInstalled()) return;

try
{
using (AssemblyInstaller installer = GetInstaller())
{

IDictionary state = new Hashtable();
try
{
installer.Install(state);
installer.Commit(state);
}
catch
{
try
{
installer.Rollback(state);
}
catch { }
throw;
}
}
}
catch
{
throw;
}
}
/// <summary>
/// protected method to be called by a public method within the real service
/// ie: in the real service
///    new internal  void UninstallService()
///    {
///        base.UninstallService();
///    }
/// </summary>
protected void UninstallService()
{
if (!this.IsInstalled()) return;

if (this.IsRunning()) {
this.StopService();
}
try
{
using (AssemblyInstaller installer = GetInstaller())
{
IDictionary state = new Hashtable();
try
{
installer.Uninstall(state);
}
catch
{
throw;
}
}
}
catch
{
throw;
}
}

private void StartService()
{
if (!this.IsInstalled()) return;

using (ServiceController controller =
new ServiceController(this.ServiceName))
{
try
{
if (controller.Status != ServiceControllerStatus.Running)
{
controller.Start();
controller.WaitForStatus(ServiceControllerStatus.Running,
TimeSpan.FromSeconds(10));
}
}
catch
{
throw;
}
}
}

private void StopService()
{
if (!this.IsInstalled()) return;
using (ServiceController controller =
new ServiceController(this.ServiceName))
{
try
{
if (controller.Status != ServiceControllerStatus.Stopped)
{
controller.Stop();
controller.WaitForStatus(ServiceControllerStatus.Stopped,
TimeSpan.FromSeconds(10));
}
}
catch
{
throw;
}
}
}
}
``````

All you have to do is to implement two public/internal methods in your real service:

``````    new internal  void InstallService()
{
base.InstallService();
}
new internal void UninstallService()
{
base.UninstallService();
}
``````

and then call them when you want to install the service:

``````    static void Main(string[] args)
{
if (Environment.UserInteractive)
{
MyService s1 = new MyService();
if (args.Length == 1)
{
switch (args[0])
{
case "-install":
s1.InstallService();

break;
case "-uninstall":

s1.UninstallService();
break;
default:
throw new NotImplementedException();
}
}

}
else {
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
ServiceBase.Run(MyService);
}

}
``````

### Format datetime to YYYY-MM-DD HH:mm:ss in moment.js

_x000D_
_x000D_
``````const format1 = "YYYY-MM-DD HH:mm:ss"
const format2 = "YYYY-MM-DD"
var date1 = new Date("2020-06-24 22:57:36");
var date2 = new Date();

dateTime1 = moment(date1).format(format1);
dateTime2 = moment(date2).format(format2);

document.getElementById("demo1").innerHTML = dateTime1;
document.getElementById("demo2").innerHTML = dateTime2;``````
_x000D_
``````<!DOCTYPE html>
<html>
<body>

<p id="demo1"></p>
<p id="demo2"></p>

</body>
</html>``````
_x000D_
_x000D_
_x000D_

### How do you set a default value for a MySQL Datetime column?

For all who use the TIMESTAMP column as a solution i want to second the following limitation from the manual:

http://dev.mysql.com/doc/refman/5.0/en/datetime.html

"The TIMESTAMP data type has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC. It has varying properties, depending on the MySQL version and the SQL mode the server is running in. These properties are described later in this section. "

So this will obviously break your software in about 28 years.

I believe the only solution on the database side is to use triggers like mentioned in other answers.

### Can a for loop increment/decrement by more than one?

There is an operator just for this. For example, if I wanted to change a variable i by 3 then:

_x000D_
_x000D_
``````var someValue = 9;
var Increment  = 3;
for(var i=0;i<someValue;i+=Increment){
//do whatever
}``````
_x000D_
_x000D_
_x000D_ to decrease, you use -=
_x000D_
_x000D_
``````var someValue = 3;
var Increment  = 3;
for(var i=9;i>someValue;i+=Increment){
//do whatever
}``````
_x000D_
_x000D_
_x000D_

### Sending files using POST with HttpURLConnection

I actually found a better way to send files using HttpURLConnection using MultipartEntity

``````private static String multipost(String urlString, MultipartEntity reqEntity) {
try {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);

conn.setRequestProperty("Connection", "Keep-Alive");

OutputStream os = conn.getOutputStream();
reqEntity.writeTo(conn.getOutputStream());
os.close();
conn.connect();

if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
}

} catch (Exception e) {
Log.e(TAG, "multipart post error " + e + "(" + urlString + ")");
}
return null;
}

private static String readStream(InputStream in) {
StringBuilder builder = new StringBuilder();
try {
String line = "";
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
} catch (IOException e) {
e.printStackTrace();
}
}
}
return builder.toString();
}
``````

Assuming you are uploading an image with bitmap data:

``````    Bitmap bitmap = ...;
String filename = "filename.png";
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bos);
ContentBody contentPart = new ByteArrayBody(bos.toByteArray(), filename);

MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
String response = multipost("http://server.com", reqEntity);
``````

And Voila! Your post data will contain picture field along with the filename and path on your server.

### BAT file to open CMD in current directory

I'm thinking that if you are creating a batch script that relies on the Current Directory being set to the folder that contains the batch file, that you are setting yourself up for trouble when you try to execute the batch file using a fully qualified path as you would from a scheduler.

Better to add this line to your batch file too:

``````REM Change Current Directory to the location of this batch file
CD /D %~dp0
``````

unless you are fully qualifying all of your paths.

### When should I use the Visitor Design Pattern?

Everyone here is correct, but I think it fails to address the "when". First, from Design Patterns:

Visitor lets you define a new operation without changing the classes of the elements on which it operates.

Now, let's think of a simple class hierarchy. I have classes 1, 2, 3 and 4 and methods A, B, C and D. Lay them out like in a spreadsheet: the classes are lines and the methods are columns.

Now, Object Oriented design presumes you are more likely to grow new classes than new methods, so adding more lines, so to speak, is easier. You just add a new class, specify what's different in that class, and inherits the rest.

Sometimes, though, the classes are relatively static, but you need to add more methods frequently -- adding columns. The standard way in an OO design would be to add such methods to all classes, which can be costly. The Visitor pattern makes this easy.

By the way, this is the problem that Scala's pattern matches intends to solve.

### Difference between F5, Ctrl + F5 and click on refresh button?

F5 and the refresh button will look at your browser cache before asking the server for content.

Ctrl + F5 forces a load from the server.

You can set content expiration headers and/or meta tags to ensure the browser doesn't cache anything (perhaps something you can do only for the development environment).

### fatal error C1083: Cannot open include file: 'xyz.h': No such file or directory?

This problem can be easily solved by installing the following Individual components:

# Compatibility matrix

Here is a chart of the compatibility between chromedriver and chrome. This information can be found at the Chromedriver downloads page.

``````chromedriver    chrome
2.46            71-73
2.45            70-72
2.44            69-71
2.43            69-71
2.42            68-70
2.41            67-69
2.40            66-68
2.39            66-68
2.38            65-67
2.37            64-66
2.36            63-65
2.35            62-64
2.34            61-63
2.33            60-62
---------------------
2.28            57+
2.25            54+
2.24            53+
2.22            51+
2.19            44+
2.15            42+
``````

# After 2.46, the ChromeDriver major version matches Chrome

``````chromedriver    chrome
76.0.3809.68    76
75.0.3770.140   75
74.0.3729.6     74
73.0.3683.68    73
``````

It seems compatibility is only guaranteed within that revision.

If you need to run chromedriver across multiple versions of chrome for some reason, well, plug the latest version number of chrome you're using into the Chromedriver version selection guide, then hope for the best. Actual compatibility will depend on the exact versions involved and what features you're using.

# All versions are not cross-compatible.

For example, we had a bug today where chromedriver 2.33 was trying to run this on Chrome 65:

``````((ChromeDriver) driver).findElement(By.id("firstName")).sendKeys("hello")
``````

Due to the navigation changes in Chrome 63, updated in Chromedriver 2.34, we got back

unknown error: call function result missing 'value'

Updating to Chromedriver 2.37 fixed the issue.

### How can I get the current screen orientation?

``````int orientation = this.getResources().getConfiguration().orientation;
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
// code for portrait mode
} else {
// code for landscape mode
}
``````

When the superclass of `this` is `Context`

### How do I run PHP code when a user clicks on a link?

There is the only better way is AJAX as everyone is suggest in their posts. The alternative is using IFrames like below:

``````<iframe name="f1" id="f1"> </iframe>

<a href='yourpage.php' target='f1'>Click </a>
``````

Now you will get the output in IFrame (you can place IFrame wherever you need in the page or event hide it and the result from the script).

Hope for non Ajax solution this is better.

### What is the maximum possible length of a query string?

Although officially there is no limit specified by RFC 2616, many security protocols and recommendations state that maxQueryStrings on a server should be set to a maximum character limit of 1024. While the entire URL, including the querystring, should be set to a max of 2048 characters. This is to prevent the Slow HTTP Request DDOS vulnerability on a web server. This typically shows up as a vulnerability on the Qualys Web Application Scanner and other security scanners.

Please see the below example code for Windows IIS Servers with Web.config:

``````<system.webServer>
<security>
<requestFiltering>
<requestLimits maxQueryString="1024" maxUrl="2048">
</requestLimits>
</requestFiltering>
</security>
</system.webServer>
``````

This would also work on a server level using machine.config.

Note: Limiting query string and URL length may not completely prevent Slow HTTP Requests DDOS attack but it is one step you can take to prevent it.

### How to unpack and pack pkg file?

If you are experiencing errors during PKG installation following the accepted answer, I will give you another procedure that worked for me (please note the little changes to xar, cpio and mkbom commands):

``````mkdir Foo
cd Foo
xar -xf ../Foo.pkg
cd foo.pkg
cat Payload | gunzip -dc | cpio -i
# edit Foo.app/*
find ./Foo.app | cpio -o --format odc --owner 0:80 | gzip -c > Payload
mkbom -u 0 -g 80 Foo.app Bom # or edit Bom
# edit PackageInfo
rm -rf Foo.app
cd ..
xar --compression none -cf ../Foo-new.pkg
``````

The resulted PKG will have no compression, cpio now uses odc format and specify the owner of the file as well as mkbom.

### How to Set Focus on JTextField?

This code mouse cursor “jtextfield” “Jcombobox” location focused

`````` try {
Robot  robot = new Robot();
int x = Jtextfield.getLocationOnScreen().x;
int y=  Jtextfield.getLocationOnScreen().y;
JOptionPane.showMessageDialog(null, x+"x< - y>"+y);// for I location see
robot.mouseMove(x, y);
} catch (AWTException ex) {
ex.printStackTrace();
}
``````

### R: how to label the x-axis of a boxplot

If you read the help file for `?boxplot`, you'll see there is a `names=` parameter.

``````     boxplot(apple, banana, watermelon, names=c("apple","banana","watermelon"))
``````

### Python 3 print without parenthesis

Use Autohotkey to make a macro. AHK is free and dead simple to install. www.autohotkey.com

You could assign the macro to, say, alt-p:

``````!p::send print(){Left}
``````

That will make alt-p put out print() and move your cursor to inside the parens.

Or, even better, to directly solve your problem, you define an autoreplace and limit its scope to when the open file has the .py extension:

``````#IfWinActive .py            ;;; scope limiter
:b*:print ::print(){Left}   ;;; I forget what b* does. The rest should be clear
#IfWinActive                ;;; remove the scope limitation
``````

This is a guaranteed, painless, transparent solution.

### WPF What is the correct way of using SVG files as icons in WPF

You can use the resulting xaml from the SVG as a drawing brush on a rectangle. Something like this:

``````<Rectangle>
<Rectangle.Fill>
--- insert the converted xaml's geometry here ---
</Rectangle.Fill>
</Rectangle>
``````

### Cannot find module cv2 when using OpenCV

Try to add the following line in `~/.bashrc`

``````export PYTHONPATH=/usr/local/lib/python2.7/site-packages:\$PYTHONPATH
``````

### When should I really use noexcept?

When can I realistically except to observe a performance improvement after using `noexcept`? In particular, give an example of code for which a C++ compiler is able to generate better machine code after the addition of noexcept.

Um, never? Is never a time? Never.

`noexcept` is for compiler performance optimizations in the same way that `const` is for compiler performance optimizations. That is, almost never.

`noexcept` is primarily used to allow "you" to detect at compile-time if a function can throw an exception. Remember: most compilers don't emit special code for exceptions unless it actually throws something. So `noexcept` is not a matter of giving the compiler hints about how to optimize a function so much as giving you hints about how to use a function.

Templates like `move_if_noexcept` will detect if the move constructor is defined with `noexcept` and will return a `const&` instead of a `&&` of the type if it is not. It's a way of saying to move if it is very safe to do so.

In general, you should use `noexcept` when you think it will actually be useful to do so. Some code will take different paths if `is_nothrow_constructible` is true for that type. If you're using code that will do that, then feel free to `noexcept` appropriate constructors.

In short: use it for move constructors and similar constructs, but don't feel like you have to go nuts with it.

### Adding simple legend to plot in R

Take a look at `?legend` and try this:

``````legend('topright', names(a)[-1] ,
lty=1, col=c('red', 'blue', 'green',' brown'), bty='n', cex=.75)
``````

### How to set the text/value/content of an `Entry` widget using a button in tkinter

One way would be to inherit a new class,`EntryWithSet`, and defining `set` method that makes use of `delete` and `insert` methods of the `Entry` class objects:

``````try:                        # In order to be able to import tkinter for
import tkinter as tk    # either in python 2 or in python 3
except ImportError:
import Tkinter as tk

class EntryWithSet(tk.Entry):
"""
A subclass to Entry that has a set method for setting its text to
a given string, much like a Variable class.
"""

def __init__(self, master, *args, **kwargs):
tk.Entry.__init__(self, master, *args, **kwargs)

def set(self, text_string):
"""
Sets the object's text to text_string.
"""

self.delete('0', 'end')
self.insert('0', text_string)

def on_button_click():
import random, string
rand_str = ''.join(random.choice(string.ascii_letters) for _ in range(19))
entry.set(rand_str)

if __name__ == '__main__':
root = tk.Tk()
entry = EntryWithSet(root)
entry.pack()
tk.Button(root, text="Set", command=on_button_click).pack()
tk.mainloop()
``````

### How to Get a Sublist in C#

With LINQ:

``````List<string> l = new List<string> { "1", "2", "3" ,"4","5"};
List<string> l2 = l.Skip(1).Take(2).ToList();
``````

If you need foreach, then no need for ToList:

``````foreach (string s in l.Skip(1).Take(2)){}
``````

Advantage of LINQ is that if you want to just skip some leading element,you can :

``````List<string> l2 = l.Skip(1).ToList();
foreach (string s in l.Skip(1)){}
``````

i.e. no need to take care of count/length, etc.

### In a Bash script, how can I exit the entire script if a certain condition occurs?

Try this statement:

``````exit 1
``````

Replace `1` with appropriate error codes. See also Exit Codes With Special Meanings.

### How to set RelativeLayout layout params in code not in xml?

``````    RelativeLayout layout = new RelativeLayout(this);
RelativeLayout.LayoutParams labelLayoutParams = new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
layout.setLayoutParams(labelLayoutParams);

// If you want to add some controls in this Relative Layout
labelLayoutParams = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

ImageView mImage = new ImageView(this);
mImage.setBackgroundResource(R.drawable.popupnew_bg);

setContentView(layout);
``````

### How to scroll to the bottom of a RecyclerView? scrollToPosition doesn't work

When you call `setAdapter`, that does not immediately lay out and position items on the screen (that takes a single layout pass) hence your `scrollToPosition()` call has no actual elements to scroll to when you call it.

Instead, you should register a ViewTreeObserver.OnGlobalLayoutListener (via addOnGlobalLayoutListner() from a `ViewTreeObserver` created by `conversationView.getViewTreeObserver()`) which delays your `scrollToPosition()` until after the first layout pass:

``````conversationView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
conversationView.scrollToPosition(GENERIC_MESSAGE_LIST.size();
// Unregister the listener to only call scrollToPosition once
conversationView.getViewTreeObserver().removeGlobalOnLayoutListener(this);

// Use vto.removeOnGlobalLayoutListener(this) on API16+ devices as
// removeGlobalOnLayoutListener is deprecated.
// They do the same thing, just a rename so your choice.
}
});
``````

### How do I call a dynamically-named method in Javascript?

Try These

Call Functions With Dynamic Names, like this:

``````let dynamic_func_name = 'alert';
(new Function(dynamic_func_name+'()'))()
``````

with parameters:

``````let dynamic_func_name = 'alert';
let para_1 = 'HAHAHA';
let para_2 = 'ABCD';
(new Function(`\${dynamic_func_name}('\${para_1}','\${para_2}')`))()
``````

Run Dynamic Code:

``````let some_code = "alert('hahaha');";
(new Function(some_code))()
``````

### What's the best practice using a settings file in Python?

You can have a regular Python module, say config.py, like this:

``````truck = dict(
color = 'blue',
brand = 'ford',
)
city = 'new york'
cabriolet = dict(
color = 'black',
engine = dict(
cylinders = 8,
placement = 'mid',
),
doors = 2,
)
``````

and use it like this:

``````import config
print(config.truck['color'])
``````

### AngularJS : Initialize service with asynchronous data

So I found a solution. I created an angularJS service, we'll call it MyDataRepository and I created a module for it. I then serve up this javascript file from my server-side controller:

HTML:

``````<script src="path/myData.js"></script>
``````

Server-side:

``````@RequestMapping(value="path/myData.js", method=RequestMethod.GET)
public ResponseEntity<String> getMyDataRepositoryJS()
{
// Populate data that I need into a Map
Map<String, String> myData = new HashMap<String,String>();
...
// Use Jackson to convert it to JSON
ObjectMapper mapper = new ObjectMapper();
String myDataStr = mapper.writeValueAsString(myData);

// Then create a String that is my javascript file
String myJS = "'use strict';" +
"(function() {" +
"var myDataModule = angular.module('myApp.myData', []);" +
"myDataModule.service('MyDataRepository', function() {" +
"var myData = "+myDataStr+";" +
"return {" +
"getData: function () {" +
"return myData;" +
"}" +
"}" +
"});" +
"})();"

// Now send it to the client:
return new ResponseEntity<String>(myJS , responseHeaders, HttpStatus.OK);
}
``````

I can then inject MyDataRepository where ever I need it:

``````someOtherModule.service('MyOtherService', function(MyDataRepository) {
var myData = MyDataRepository.getData();
// Do what you have to do...
}
``````

This worked great for me, but I am open to any feedback if anyone has any. }

### DISTINCT clause with WHERE

May be by :

``````SELECT DISTINCT email,id FROM table where id='2';
``````

### set up device for development (???????????? no permissions)

#### Without unplugging

All the provided answers assume that you are able to unplug and reconnect the USB cable. In situations where this is not possible (e.g., when you are remote), you can do the following to essentially do what the suggested udev rules would do on re-plug:

``````lsusb
``````

Find the device you care about, e.g.:

``````Bus 003 Device 005: ID 18d1:4ee4 Google Inc. Nexus
``````

Take note of the bus number it is on and then execute, e.g. for bus `003`:

``````sudo chmod a+w /dev/bus/usb/003/*
``````

Clearly this may be more permissive than you want (there may be more devices attached than just this one), but you get the idea.

### Comparing two maps

You should use the `equals` method since this is implemented to perform the comparison you want. `toString()` itself uses an iterator just like `equals` but it is a more inefficient approach. Additionally, as @Teepeemm pointed out, `toString` is affected by order of elements (basically iterator return order) hence is not guaranteed to provide the same output for 2 different maps (especially if we compare two different maps).

Note/Warning: Your question and my answer assume that classes implementing the map interface respect expected `toString` and `equals` behavior. The default java classes do so, but a custom map class needs to be examined to verify expected behavior.

``````boolean equals(Object o)
``````

Compares the specified object with this map for equality. Returns true if the given object is also a map and the two maps represent the same mappings. More formally, two maps m1 and m2 represent the same mappings if m1.entrySet().equals(m2.entrySet()). This ensures that the equals method works properly across different implementations of the Map interface.

#### Implementation in Java Source (java.util.AbstractMap)

Additionally, java itself takes care of iterating through all elements and making the comparison so you don't have to. Have a look at the implementation of `AbstractMap` which is used by classes such as `HashMap`:

`````` // Comparison and hashing

/**
* Compares the specified object with this map for equality.  Returns
* <tt>true</tt> if the given object is also a map and the two maps
* represent the same mappings.  More formally, two maps <tt>m1</tt> and
* <tt>m2</tt> represent the same mappings if
* <tt>m1.entrySet().equals(m2.entrySet())</tt>.  This ensures that the
* <tt>equals</tt> method works properly across different implementations
* of the <tt>Map</tt> interface.
*
* <p>This implementation first checks if the specified object is this map;
* if so it returns <tt>true</tt>.  Then, it checks if the specified
* object is a map whose size is identical to the size of this map; if
* not, it returns <tt>false</tt>.  If so, it iterates over this map's
* <tt>entrySet</tt> collection, and checks that the specified map
* contains each mapping that this map contains.  If the specified map
* fails to contain such a mapping, <tt>false</tt> is returned.  If the
* iteration completes, <tt>true</tt> is returned.
*
* @param o object to be compared for equality with this map
* @return <tt>true</tt> if the specified object is equal to this map
*/
public boolean equals(Object o) {
if (o == this)
return true;

if (!(o instanceof Map))
return false;
Map<K,V> m = (Map<K,V>) o;
if (m.size() != size())
return false;

try {
Iterator<Entry<K,V>> i = entrySet().iterator();
while (i.hasNext()) {
Entry<K,V> e = i.next();
K key = e.getKey();
V value = e.getValue();
if (value == null) {
if (!(m.get(key)==null && m.containsKey(key)))
return false;
} else {
if (!value.equals(m.get(key)))
return false;
}
}
} catch (ClassCastException unused) {
return false;
} catch (NullPointerException unused) {
return false;
}

return true;
}
``````

#### Comparing two different types of Maps

`toString` fails miserably when comparing a `TreeMap` and `HashMap` though `equals` does compare contents correctly.

Code:

``````public static void main(String args[]) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("2", "whatever2");
map.put("1", "whatever1");
TreeMap<String, Object> map2 = new TreeMap<String, Object>();
map2.put("2", "whatever2");
map2.put("1", "whatever1");

System.out.println("Are maps equal (using equals):" + map.equals(map2));
System.out.println("Are maps equal (using toString().equals()):"
+ map.toString().equals(map2.toString()));

System.out.println("Map1:"+map.toString());
System.out.println("Map2:"+map2.toString());
}
``````

Output:

``````Are maps equal (using equals):true
Are maps equal (using toString().equals()):false
Map1:{2=whatever2, 1=whatever1}
Map2:{1=whatever1, 2=whatever2}
``````

### java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0 (unable to load class frontend.listener.StartupListener)

What is your output when you do `java -version`? This will tell you what version the running JVM is.

The Unsupported major.minor version 51.0 error could mean:

• Your server is running a lower Java version then the one used to compile your Servlet and vice versa

Either way, uninstall all JVM runtimes including JDK and download latest and re-install. That should fix any `Unsupported major.minor` error as you will have the lastest JRE and JDK (Maybe even newer then the one used to compile the Servlet)

and here: http://www.oracle.com/technetwork/java/javase/downloads/index.html (Java Platform (JDK) 7u25)

for the latest version of the JRE and JDK respectively.

EDIT:

Most likely your code was written in Java7 however maybe it was done using Java7update4 and your system is running Java7update3. Thus they both are effectively the same major version but the minor versions differ. Only the larger minor version is backward compatible with the lower minor version.

Edit 2 : If you have more than one jdk installed on your pc. you should check that Apache Tomcat is using the same one (jre) you are compiling your programs with. If you installed a new jdk after installing apache it normally won't select the new version.

### R object identification

I usually start out with some combination of:

``````typeof(obj)
class(obj)
sapply(obj, class)
sapply(obj, attributes)
attributes(obj)
names(obj)
``````

as appropriate based on what's revealed. For example, try with:

``````obj <- data.frame(a=1:26, b=letters)
obj <- list(a=1:26, b=letters, c=list(d=1:26, e=letters))
data(cars)
obj <- lm(dist ~ speed, data=cars)
``````

..etc.

If `obj` is an S3 or S4 object, you can also try `methods` or `showMethods`, `showClass`, etc. Patrick Burns' R Inferno has a pretty good section on this (sec #7).

EDIT: Dirk and Hadley mention `str(obj)` in their answers. It really is much better than any of the above for a quick and even detailed peek into an object.

### Git commit with no commit message

`--allow-empty-message -m ''` (and `-m ""`) fail in Git 2.29.2 on PowerShell:

error: switch `m' requires a value

(oddly enough, with a backtick on one side and a single quote on the other)

The following works consistently in Linux, PowerShell, and Command Prompt:

``````git commit --allow-empty-message --no-edit
``````

The `--no-edit` bit does the trick, as it prevents the editor from launching.

I find this form more explicit and a bit less hacky than forcing an empty message with `-m ''`.

### Return value in a Bash function

Functions in Bash are not functions like in other language; they're actually commands. So functions are used as if they were binaries or scripts fetched from your path. From the perspective of your program logic there should be really no difference.

Shell commands are connected by pipes (aka streams), and not fundamental or user-defined data types, as in "real" programming languages. There is no such thing like a return value for a command, maybe mostly because there's no real way to declare it. It could occur on the man-page, or the `--help` output of the command, but both are only human-readable and hence are written to the wind.

When a command wants to get input it reads it from its input stream, or the argument list. In both cases text strings have to be parsed.

When a command wants to return something it has to `echo` it to its output stream. Another oftenly practiced way is to store the return value in dedicated, global variables. Writing to the output stream is clearer and more flexible, because it can take also binary data. For example, you can return a BLOB easily:

``````encrypt() {
gpg -c -o- \$1 # encrypt data in filename to stdout (asks for a passphrase)
}

encrypt public.dat > private.dat # write function result to file
``````

As others have written in this thread, the caller can also use command substitution `\$()` to capture the output.

Parallely, the function would "return" the exit code of `gpg` (GnuPG). Think of the exit code as a bonus that other languages don't have, or, depending on your temperament, as a "Schmutzeffekt" of shell functions. This status is, by convention, 0 on success or an integer in the range 1-255 for something else. To make this clear: `return` (like `exit`) can only take a value from 0-255, and values other than 0 are not necessarily errors, as is often asserted.

When you don't provide an explicit value with `return` the status is taken from the last command in a Bash statement/function/command and so forth. So there is always a status, and `return` is just an easy way to provide it.

### Check if a folder exist in a directory and create them using C#

``````if(!System.IO.Directory.Exists(@"c:\mp_upload"))
{
}
``````

### Why is &#65279; appearing in my HTML?

Here's my 2 cents: I had the same problem and I tried using Notepad++ to convert to UTF-8 no BOM, and also the old "copy to MS notepad then back again" trick, all to no avail. My problem was solved by making sure all files (and 'included' files) were the same file system; I had some files that were Windows format and some that had been copied off a remote Linux server, so were in UNIX format.

# REACT-friendly solution - (no spacer div required)

Chris Coyier (the venerable CSS-Tricks website) has kept his page on the Sticky-Footer up-to-date, with at least FIVE methods now for creating a sticky footer, including using FlexBox and CSS-Grid.

Why is this important? Because, for me, the earlier/older methods I used for years did not work with React - I had to use Chris' flexbox solution - which was easy and worked.

Below is his CSS-Tricks flexbox Sticky Footer - just look at the code below, it cannot possibly be simpler.

(The (below) StackSnippet example does not perfectly render the bottom of the example. The footer is shown extending past the bottom of the screen, which does not happen in real life.)

_x000D_
_x000D_
``````html,body{height: 100%;}
body     {display:flex; flex-direction:column;}
.content {flex: 1 0 auto;} /* flex: grow / shrink / flex-basis; */
.footer  {flex-shrink: 0;}

/* ---- BELOW IS ONLY for demo ---- */
.footer{background: palegreen;}``````
_x000D_
``````<body>
<div class="content">Page Content - height expands to fill space</div>
<footer class="footer">Footer Content</footer>
</body>``````
_x000D_
_x000D_
_x000D_

Chris also demonstrates this CSS-Grid solution for those who prefer grid.

#### References:

CSS-Tricks - A Complete Guide to Flexbox

### PostgreSQL: How to change PostgreSQL user password?

You can and should have the users's password encrypted:

``````ALTER USER username WITH ENCRYPTED PASSWORD 'password';
``````

### Passing structs to functions

Passing structs to functions by reference: simply :)

``````#define maxn 1000

struct solotion
{
int sol[maxn];
int arry_h[maxn];
int cat[maxn];
int scor[maxn];

};

void inser(solotion &come){
come.sol[0]=2;
}

void initial(solotion &come){
for(int i=0;i<maxn;i++)
come.sol[i]=0;
}

int main()
{
solotion sol1;
inser(sol1);
solotion sol2;
initial(sol2);
}
``````

### Transpose a matrix in Python

Is there a prize for being lazy and using the transpose function of NumPy arrays? ;)

``````import numpy as np

a = np.array([(1,2,3), (4,5,6)])

b = a.transpose()
``````

### How to push both value and key into PHP array

Exactly what Pekka said...

Alternatively, you can probably use array_merge like this if you wanted:

``````array_merge(\$_GET, array(\$rule[0] => \$rule[1]));
``````

But I'd prefer Pekka's method probably as it is much simpler.

### Jquery-How to grey out the background while showing the loading icon over it

Note: There is no magic to animating a gif: it is either an animated gif or it is not. If the gif is not visible, very likely the path to the gif is wrong - or, as in your case, the container (div/p/etc) is not large enough to display it. In your code sample, you did not specify height or width and that appeared to be problem.

If the gif is displayed but not animating, see reference links at very bottom of this answer.

Displaying the gif + overlay, however, is easier than you might think.

All you need are two absolute-position DIVs: an overlay div, and a div that contains your loading gif. Both have higher z-index than your page content, and the image has a higher z-index than the overlay - so they will display above the page when visible.

So, when the button is pressed, just unhide those two divs. That's it!

jsFiddle Demo

_x000D_
_x000D_
``````\$("#button").click(function() {_x000D_
\$('#myOverlay').show();_x000D_
setTimeout(function(){_x000D_
},2500);_x000D_
});_x000D_
/*  Or, remove overlay/image on click background... */_x000D_
\$('#myOverlay').click(function(){_x000D_
});``````
_x000D_
``````body{font-family:Calibri, Helvetica, sans-serif;}_x000D_
#myOverlay{position:absolute;top:0;left:0;height:100%;width:100%;}_x000D_
#myOverlay{display:none;backdrop-filter:blur(4px);background:black;opacity:.4;z-index:2;}_x000D_
_x000D_
_x000D_
_x000D_
``````<div id="myOverlay"></div>_x000D_
_x000D_
<div id="abunchoftext">_x000D_
Once upon a midnight dreary, while I pondered weak and weary, over many a quaint and curious routine of forgotten code... While I nodded, nearly napping, suddenly there came a tapping... as of someone gently rapping - rapping at my office door. 'Tis the team leader, I muttered, tapping at my office door - only this and nothing more. Ah, distinctly I remember it was in the bleak December and each separate React print-out lay there crumpled on the floor. Eagerly I wished the morrow; vainly I had sought to borrow from Stack-O surcease from sorrow - sorrow for my routine's core. For the brilliant but unworking code my angels seem to just ignore. I'll be tweaking code... forevermore! - <a href="http://www.online-literature.com/poe/335/" target="_blank">Apologies To Poe</a></div>_x000D_
<button id="button">Submit</button>_x000D_
_x000D_
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>``````
_x000D_
_x000D_
_x000D_

#### Update:

You might enjoy playing with the new `backdrop-filter:blur(_px)` css property that gives a blur effect to the underlying content, as used in above demo... (As of April 2020: works in Chrome, Edge, Safari, Android, but not yet in Firefox)

References:

http://www.paulirish.com/2007/animated-gif-not-animating/

Animated GIF while loading page does not animate

https://wordpress.org/support/topic/animated-gif-not-working

http://forums.mozillazine.org/viewtopic.php?p=987829

### SQL How to Select the most recent date item

``````Select *
FROM test_table
WHERE user_id = value
from test_table
where user_id = value)``````

### MySQL foreign key constraints, cascade delete

I think (I'm not certain) that foreign key constraints won't do precisely what you want given your table design. Perhaps the best thing to do is to define a stored procedure that will delete a category the way you want, and then call that procedure whenever you want to delete a category.

``````CREATE PROCEDURE `DeleteCategory` (IN category_ID INT)
LANGUAGE SQL
NOT DETERMINISTIC
MODIFIES SQL DATA
SQL SECURITY DEFINER
BEGIN

DELETE FROM
`products`
WHERE
`id` IN (
SELECT `products_id`
FROM `categories_products`
WHERE `categories_id` = category_ID
)
;

DELETE FROM `categories`
WHERE `id` = category_ID;

END
``````

You also need to add the following foreign key constraints to the linking table:

``````ALTER TABLE `categories_products` ADD
CONSTRAINT `Constr_categoriesproducts_categories_fk`
FOREIGN KEY `categories_fk` (`categories_id`) REFERENCES `categories` (`id`)
CONSTRAINT `Constr_categoriesproducts_products_fk`
FOREIGN KEY `products_fk` (`products_id`) REFERENCES `products` (`id`)
``````

The CONSTRAINT clause can, of course, also appear in the CREATE TABLE statement.

Having created these schema objects, you can delete a category and get the behaviour you want by issuing `CALL DeleteCategory(category_ID)` (where category_ID is the category to be deleted), and it will behave how you want. But don't issue a normal `DELETE FROM` query, unless you want more standard behaviour (i.e. delete from the linking table only, and leave the `products` table alone).

### How can I tell if a VARCHAR variable contains a substring?

``````    IF CHARINDEX('TextToSearch',@TextWhereISearch, 0) > 0 => TEXT EXISTS

IF PATINDEX('TextToSearch', @TextWhereISearch) > 0 => TEXT EXISTS

Additionally we can also use LIKE but I usually don't use LIKE.
``````

### disable past dates on datepicker

``````\$("#datetimepicker2").datepicker({
dateFormat: "mm/dd/yy",
minDate: new Date()
});
``````

### How to align an indented line in a span that wraps into multiple lines?

Also you can try to use

``````display:inline-block;
``````

if you would like the span element to align horizontally.

Incase you would like to align span elements vertically, just use

`````` display:block;
``````

### Deep copy, shallow copy, clone

• Deep copy: Clone this object and every reference to every other object it has
• Shallow copy: Clone this object and keep its references
• Object clone() throws CloneNotSupportedException: It is not specified whether this should return a deep or shallow copy, but at the very least: o.clone() != o

### How to create a 100% screen width div inside a container in bootstrap?

2019's answer as this is still actively seen today

You should likely change the .container to .container-fluid, which will cause your container to stretch the entire screen. This will allow any div's inside of it to naturally stretch as wide as they need.

original hack from 2015 that still works in some situations

You should pull that div outside of the container. You're asking a div to stretch wider than its parent, which is generally not recommended practice.

If you cannot pull it out of the div for some reason, you should change the position style with this css:

``````.full-width-div {
position: absolute;
width: 100%;
left: 0;
}
``````

Instead of absolute, you could also use fixed, but then it will not move as you scroll.

### cannot load such file -- bundler/setup (LoadError)

This was happening in the production environment for me.

`rm /vendor/bundle`

then `bundle install --deployment`

resolved the issue.

### Angular 2 declaring an array of objects

``````public mySentences:Array<Object> = [
{id: 1, text: 'Sentence 1'},
{id: 2, text: 'Sentence 2'},
{id: 3, text: 'Sentence 3'},
{id: 4, text: 'Sentenc4 '},
];
``````

Or rather,

``````export interface type{
id:number;
text:string;
}

public mySentences:type[] = [
{id: 1, text: 'Sentence 1'},
{id: 2, text: 'Sentence 2'},
{id: 3, text: 'Sentence 3'},
{id: 4, text: 'Sentenc4 '},
];
``````

### How to set the max size of upload file

I know this is extremely late to the game, but I wanted to post the additional issue I faced when using mysql, if anyone faces the same issue in future.

As some of the answers mentioned above, setting these in the application.properties will mostly fix the problem

``````spring.http.multipart.max-file-size=16MB
spring.http.multipart.max-request-size=16MB
``````

I am setting it to 16 MB, because I am using mysql MEDIUMBLOB datatype to store the file.

But after fixing the application.properties, When uploading a file > 4MB gave the error: org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [insert into test_doc(doc_id, duration_of_doc, doc_version_id, file_name, doc) values (?, ?, ?, ?, ?)]; Packet for query is too large (6656781 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (6656781 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.

So I ran this command from mysql:

``````SET GLOBAL max_allowed_packet = 1024*1024*16;
``````

### PHPMailer character encoding issues

``````\$mail = new PHPMailer();
\$mail->CharSet = "UTF-8";
\$mail->Encoding = "16bit";
``````

### Rails server says port already used, how to kill that process?

For anyone stumbling across this question that is not on a Mac: assuming you know that your server is running on port 3000, you can do this in one shot by executing the following:

``````fuser -k 3000/tcp
``````

But as Toby has mentioned, the implementation of fuser in Mac OS is rather primitive and this command will not work on mac.

### How to set image button backgroundimage for different state?

Hi try the following code it will be useful to you,

``````((ImageView)findViewById(R.id.ImageViewButton)).setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN)
((ImageView) v.findViewById(R.id.ImageViewButton)).setImageResource(R.drawable.image_over);

if(event.getAction() == MotionEvent.ACTION_UP)
((ImageView) v.findViewById(R.id.ImageViewButton)).setImageResource(R.drawable.image_normal);

return false;
}
});
``````

### Best cross-browser method to capture CTRL+S with JQuery?

I like this little plugin. It needs a bit more cross browser friendliness though.

### UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 23: ordinal not in range(128)

I was getting this error when executing in python3,I got the same program working by simply executing in `python2`

### JUnit Testing Exceptions

If your constructor is similar to this one:

``````public Example(String example) {
if (example == null) {
throw new NullPointerException();
}
//do fun things with valid example here
}
``````

Then, when you run this JUnit test you will get a green bar:

``````@Test(expected = NullPointerException.class)
public void constructorShouldThrowNullPointerException() {
Example example = new Example(null);
}
``````

### Change bullets color of an HTML list without using span

I managed this without adding markup, but instead using `li:before`. This obviously has all the limitations of `:before` (no old IE support), but it seems to work with IE8, Firefox and Chrome after some very limited testing. The bullet style is also limited by what's in unicode.

_x000D_
_x000D_
``````li {_x000D_
list-style: none;_x000D_
}_x000D_
li:before {_x000D_
/* For a round bullet */_x000D_
content: '\2022';_x000D_
/* For a square bullet */_x000D_
/*content:'\25A0';*/_x000D_
display: block;_x000D_
position: relative;_x000D_
max-width: 0;_x000D_
max-height: 0;_x000D_
left: -10px;_x000D_
top: 0;_x000D_
color: green;_x000D_
font-size: 20px;_x000D_
}``````
_x000D_
``````<ul>_x000D_
<li>foo</li>_x000D_
<li>bar</li>_x000D_
</ul>``````
_x000D_
_x000D_
_x000D_

### Converting a String array into an int Array in java

``````public static int[] strArrayToIntArray(String[] a){
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
b[i] = Integer.parseInt(a[i]);
}

return b;
}
``````

This is a simple function, that should help you. You can use him like this:

``````int[] arr = strArrayToIntArray(/*YOUR STR ARRAY*/);
``````

### Run function from the command line

Something like this: call_from_terminal.py

``````# call_from_terminal.py
# Ex to run from terminal
# ip='"hi"'
# python -c "import call_from_terminal as cft; cft.test_term_fun(\${ip})"
# or
# fun_name='call_from_terminal'
# python -c "import \${fun_name} as cft; cft.test_term_fun(\${ip})"
def test_term_fun(ip):
print ip
``````

This works in bash.

``````\$ ip='"hi"' ; fun_name='call_from_terminal'
\$ python -c "import \${fun_name} as cft; cft.test_term_fun(\${ip})"
hi
``````

### java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication Maven

I had the same problem and tried most of the solutions suggested above, but none worked for me. Eventually, I rebuild my entire com.springframework (maven) repository (by simply deleting .m2/org/springworkframework directory).

It worked for me.

### setting min date in jquery datepicker

The problem is that the default option of "yearRange" is 10 years.

So `2012 - 10 = 2002`.

So change the yearRange to `c-20:c` or just 1999 (`yearRange: '1999:c'`), and use that in combination with restrict dates (mindate, maxdate).

See example: http://jsfiddle.net/kGjdL/

``````\$(function () {
\$('#datepicker').datepicker({
dateFormat: 'yy-mm-dd',
showButtonPanel: true,
changeMonth: true,
changeYear: true,
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
minDate: new Date(1999, 10 - 1, 25),
maxDate: '+30Y',
yearRange: '1999:c',
inline: true
});
});
``````

### How to import a .cer certificate into a java keystore?

Here is the code I've been using for programatically importing .cer files into a new KeyStore.

``````import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
//VERY IMPORTANT.  SOME OF THESE EXIST IN MORE THAN ONE PACKAGE!
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;

//Put everything after here in your function.
KeyStore trustStore  = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null);//Make an empty store
InputStream fis = /* insert your file path here */;
BufferedInputStream bis = new BufferedInputStream(fis);

CertificateFactory cf = CertificateFactory.getInstance("X.509");

while (bis.available() > 0) {
Certificate cert = cf.generateCertificate(bis);
trustStore.setCertificateEntry("fiddler"+bis.available(), cert);
}
``````

### fatal: This operation must be run in a work tree

You repository is bare, i.e. it does not have a working tree attached to it. You can clone it locally to create a working tree for it, or you could use one of several other options to tell Git where the working tree is, e.g. the `--work-tree` option for single commands, or the `GIT_WORK_TREE` environment variable. There is also the `core.worktree` configuration option but it will not work in a bare repository (check the man page for what it does).

``````# git --work-tree=/path/to/work/tree checkout master
# GIT_WORK_TREE=/path/to/work/tree git status
``````

### Twig for loop for arrays with keys

I found the answer :

``````{% for key,value in array_path %}
Key : {{ key }}
Value : {{ value }}
{% endfor %}
``````

### How to create many labels and textboxes dynamically depending on the value of an integer variable?

Suppose you have a button that when pressed sets n to 5, you could then generate labels and textboxes on your form like so.

``````var n = 5;
for (int i = 0; i < n; i++)
{
//Create label
Label label = new Label();
label.Text = String.Format("Label {0}", i);
//Position label on screen
label.Left = 10;
label.Top = (i + 1) * 20;
//Create textbox
TextBox textBox = new TextBox();
//Position textbox on screen
textBox.Left = 120;
textBox.Top = (i + 1) * 20;
//Add controls to form
}
``````

This will not only add them to the form but position them decently as well.

### Checking if sys.argv[x] is defined

Pretty close to what the originator was trying to do. Here is a function I use:

``````def get_arg(index):
try:
sys.argv[index]
except IndexError:
return ''
else:
return sys.argv[index]
``````

So a usage would be something like:

``````if __name__ == "__main__":
banner(get_arg(1),get_arg(2))
``````

### Can a WSDL indicate the SOAP version (1.1 or 1.2) of the web service?

http://schemas.xmlsoap.org/wsdl/soap12/soap12WSDL.htm

which says that Soap 1.2 uses the new namespace http://schemas.xmlsoap.org/wsdl/soap12/

It is in the 'WSDL 1.1 Binding extension for SOAP 1.1'.

### How to remove old Docker containers

#### The basic steps to stop/remove all containers and images

1. List all the containers

`docker ps -aq`

2. Stop all running containers

`docker stop \$(docker ps -aq)`

3. Remove all containers

`docker rm \$(docker ps -aq)`

4. Remove all images

`docker rmi \$(docker images -q)`

Note: First you have to stop all the running containers before you remove them. Also before removing an image, you have to stop and remove its dependent container(s).

### How to replace (or strip) an extension from a filename in Python?

I'm surprised nobody has mentioned pathlib's `with_name`. This solution works with multiple extensions (i.e. it replaces all of the extensions.)

``````import pathlib

p = pathlib.Path('/some/path/somefile.txt')
p = p.with_name(p.stem).with_suffix('.jpg')
``````

### Waiting until two async blocks are executed before starting another block

The first answer is essentially correct, but if you want the very simplest way to accomplish the desired result, here's a stand-alone code example demonstrating how to do it with a semaphore (which is also how dispatch groups work behind the scenes, JFYI):

``````#include <dispatch/dispatch.h>
#include <stdio.h>

main()
{
dispatch_queue_t myQ = dispatch_queue_create("my.conQ", DISPATCH_QUEUE_CONCURRENT);
dispatch_semaphore_t mySem = dispatch_semaphore_create(0);

dispatch_async(myQ, ^{ printf("Hi I'm block one!\n"); sleep(2); dispatch_semaphore_signal(mySem);});
dispatch_async(myQ, ^{ printf("Hi I'm block two!\n"); sleep(4); dispatch_semaphore_signal(mySem);});
dispatch_async(myQ, ^{ dispatch_semaphore_wait(mySem, DISPATCH_TIME_FOREVER); printf("Hi, I'm the final block!\n"); });
dispatch_main();
}
``````

### Check if date is in the past Javascript

To make the answer more re-usable for things other than just the datepicker change function you can create a prototype to handle this for you.

``````// safety check to see if the prototype name is already defined
Function.prototype.method = function (name, func) {
if (!this.prototype[name]) {
this.prototype[name] = func;
return this;
}
};
Date.method('inPast', function () {
return this < new Date(\$.now());// the \$.now() requires jQuery
});

// including this prototype as using in example
Date.method('addDays', function (days) {
var date = new Date(this);
date.setDate(date.getDate() + (days));
return date;
});
``````

If you dont like the safety check you can use the conventional way to define prototypes:

``````Date.prototype.inPast = function(){
return this < new Date(\$.now());// the \$.now() requires jQuery
}
``````

Example Usage

``````var dt = new Date(\$.now());
var yesterday = dt.addDays(-1);
var tomorrow = dt.addDays(1);
console.log('Yesterday: ' + yesterday.inPast());
console.log('Tomorrow: ' + tomorrow.inPast());
``````

### Set position / size of UI element as percentage of screen size

Use the PercentRelativeLayout or PercentFrameLayout from the Percent Supoort Library

``````<android.support.percent.PercentFrameLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
app:layout_heightPercent="68%"/>
<Gallery
android:id="@+id/gallery"
android:layout_width="match_parent"
app:layout_heightPercent="16%"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
</android.support.percent.PercentFrameLayout>
``````

### Why is Java Vector (and Stack) class considered obsolete or deprecated?

You can use the synchronizedCollection/List method in `java.util.Collection` to get a thread-safe collection from a non-thread-safe one.

### Kubernetes service external ip pending

In case someone is using MicroK8s: You need a network load balancer.

MicroK8s comes with metallb, you can enable it like this:

``````microk8s enable metallb
``````

`<pending>` should turn into an actual IP address then.

### Can I assume (bool)true == (int)1 for any C++ compiler?

According to the standard, you should be safe with that assumption. The C++ `bool` type has two values - `true` and `false` with corresponding values 1 and 0.

The thing to watch about for is mixing `bool` expressions and variables with `BOOL` expression and variables. The latter is defined as `FALSE = 0` and `TRUE != FALSE`, which quite often in practice means that any value different from 0 is considered `TRUE`.

A lot of modern compilers will actually issue a warning for any code that implicitly tries to cast from `BOOL` to `bool` if the `BOOL` value is different than 0 or 1.

### UL or DIV vertical scrollbar

You need to set a height on the DIV. Otherwise it will keep expanding indefinitely.

### How to add images to README.md on GitHub?

Try this markdown:

``````![alt text](http://url/to/img.png)
``````

I think you can link directly to the raw version of an image if it's stored in your repository. i.e.

``````![alt text](https://github.com/[username]/[reponame]/blob/[branch]/image.jpg?raw=true)
``````

### How do you remove an array element in a foreach loop?

``````foreach(\$display_related_tags as \$key => \$tag_name)
{
if(\$tag_name == \$found_tag['name'])
unset(\$display_related_tags[\$key];
}
``````

### How to create an instance of System.IO.Stream stream

You have to create an instance of one of the subclasses. `Stream` is an abstract class that can't be instantiated directly.

There are a bunch of choices if you look at the bottom of the reference here:

Stream Class | Microsoft Developer Network

The most common probably being `FileStream` or `MemoryStream`. Basically, you need to decide where you wish the data backing your stream to come from, then create an instance of the appropriate subclass.

### Is it possible to do a sparse checkout without checking out the whole repository first?

In my case, I want to skip the `Pods` folder when cloning the project. I did step by step like below and it works for me. Hope it helps.

``````mkdir my_folder
cd my_folder
git init
git remote add origin -f <URL>
git config core.sparseCheckout true
echo '!Pods/*\n/*' > .git/info/sparse-checkout
git pull origin master
``````

Memo, If you want to skip more folders, just add more line in sparse-checkout file.

### Swift - Remove " character from string

Replacing for Removing is not quite logical. String.filter allows to iterate a string char by char and keep only true assertion.

Swift 4 & 5

``````var aString = "Optional(\"5\")"

aString = aString.filter { \$0 != "\"" }

> Optional(5)
``````

Or to extend

``````var aString = "Optional(\"5\")"

let filteredChars = "\"\n\t"

aString = aString.filter { filteredChars.range(of: String(\$0)) == nil }

> Optional(5)
``````

### What does "Could not find or load main class" mean?

On Windows put `.;` at the CLASSPATH value in the beginning.

The . (dot) means "look in the current directory". This is a permanent solution.

Also you can set it "one time" with set `CLASSPATH=%CLASSPATH%;.`. This will last as long as your cmd window is open.

### How to load property file from classpath?

``````final Properties properties = new Properties();
try (final InputStream stream =
this.getClass().getResourceAsStream("foo.properties")) {
/* or properties.loadFromXML(...) */
}
``````

### How to get request url in a jQuery \$.get/ajax request

Since jQuery.get is just a shorthand for jQuery.ajax, another way would be to use the latter one's `context` option, as stated in the documentation:

The `this` reference within all callbacks is the object in the context option passed to `\$.ajax` in the settings; if context is not specified, this is a reference to the Ajax settings themselves.

So you would use

``````\$.ajax('http://www.example.org', {
dataType: 'xml',
data: {'a':1,'b':2,'c':3},
context: {
url: 'http://www.example.org'
}
``````

### sending email via php mail function goes to spam

Be careful with your tests. If you in your form you put the same email as the email address which must receive it will be directly in spam :)

### How can I remove a key and its value from an associative array?

You may need two or more loops depending on your array:

``````\$arr[\$key1][\$key2][\$key3]=\$value1; // ....etc

foreach (\$arr as \$key1 => \$values) {
foreach (\$key1 as \$key2 => \$value) {
unset(\$arr[\$key1][\$key2]);
}
}
``````

### Check if a string has a certain piece of text

Here you go: ES5

``````var test = 'Hello World';
if( test.indexOf('World') >= 0){
// Found world
}
``````

With ES6 best way would be to use `includes` function to test if the string contains the looking work.

``````const test = 'Hello World';
if (test.includes('World')) {
// Found world
}
``````

### Return 0 if field is null in MySQL

None of the above answers were complete for me. If your field is named `field`, so the selector should be the following one:

``````IFNULL(`field`,0) AS field
``````

For example in a SELECT query:

``````SELECT IFNULL(`field`,0) AS field, `otherfield` FROM `mytable`
``````

Hope this can help someone to not waste time.

### Is there a “not in” operator in JavaScript for checking object properties?

Personally I find

``````if (id in tutorTimes === false) { ... }
``````

easier to read than

``````if (!(id in tutorTimes)) { ... }
``````

but both will work.

### HTML 5: Is it <br>, <br/>, or <br />?

XML requires all tags to have a corresponding closing tag. So there is a special short-hand syntax for tags without inner contents.

HTML5 is not XML, so it should not pose such a requirement. Neither is HTML 4.01.

For instance, in HTML5 specs, all examples with `br` tag use `<br>` syntax, not `<br/>`.

UPD Actually, `<br/>` is permitted in HTML5. 9.1.2.1, 7.

### Reading a file line by line in Go

In Go 1.1 and newer the most simple way to do this is with a `bufio.Scanner`. Here is a simple example that reads lines from a file:

``````package main

import (
"bufio"
"fmt"
"log"
"os"
)

func main() {
file, err := os.Open("/path/to/file.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()

scanner := bufio.NewScanner(file)
for scanner.Scan() {
fmt.Println(scanner.Text())
}

if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}
``````

This is the cleanest way to read from a `Reader` line by line.

There is one caveat: Scanner does not deal well with lines longer than 65536 characters. If that is an issue for you then then you should probably roll your own on top of `Reader.Read()`.

### Why doesn't indexOf work on an array IE8?

For a really thorough explanation and workaround, not only for indexOf but other array functions missing in IE check out the StackOverflow question Fixing JavaScript Array functions in Internet Explorer (indexOf, forEach, etc.)

### What is the difference between function and procedure in PL/SQL?

1. we can call a stored procedure inside stored Procedure,Function within function ,StoredProcedure within function but we can not call function within stored procedure.
2. we can call function inside select statement.
3. We can return value from function without passing output parameter as a parameter to the stored procedure.

This is what the difference i found. Please let me know if any .

### Replace all whitespace characters

If you use

``````str.replace(/\s/g, "");
``````

it replaces all whitespaces. For example:

``````var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"
``````

### Ruby: How to convert a string to boolean

Working in Rails 5

``````ActiveModel::Type::Boolean.new.cast('t')     # => true
ActiveModel::Type::Boolean.new.cast('true')  # => true
ActiveModel::Type::Boolean.new.cast(true)    # => true
ActiveModel::Type::Boolean.new.cast('1')     # => true
ActiveModel::Type::Boolean.new.cast('f')     # => false
ActiveModel::Type::Boolean.new.cast('0')     # => false
ActiveModel::Type::Boolean.new.cast('false') # => false
ActiveModel::Type::Boolean.new.cast(false)   # => false
ActiveModel::Type::Boolean.new.cast(nil)     # => nil
``````

### Why do I need to override the equals and hashCode methods in Java?

Ok, Let me explain the concept in very simple words.

Firstly from a broader perspective we have collections,and hashmap is one of the datastructure in the collections.

To understand why we have to override the both equals and hashcode method, if need to first understand what is hashmap and what is does.

A hashmap is a datastructure which stores key value pairs of data in array fashion. Lets say a[], where each element in 'a' is a key value pair.

Also each index in the above array can be linked list thereby having more than one values at one index.

Now why is a hashmap used? If we have to search among a large array then searching through each if them will not be efficient, so what hash technique tells us that lets pre process the array with some logic and group the elements based on that logic i.e. Hashing

eg: we have array 1,2,3,4,5,6,7,8,9,10,11 and we apply a hash function mod 10 so 1,11 will be grouped in together. So if we had to search for 11 in previous array then we would have to iterate the complete array but when we group it we limit our scope of iteration thereby improving speed. That datastructure used to store all the above information can be thought of as a 2d array for simplicity

Now apart from the above hashmap also tells that it wont add any Duplicates in it. And this is the main reason why we have to override the equals and hashcode

So when its said that explain the internal working of hashmap , we need to find what methods the hashmap has and how does it follow the above rules which i explained above

so the hashmap has method called as put(K,V) , and according to hashmap it should follow the above rules of efficiently distributing the array and not adding any duplicates

so what put does is that it will first generate the hashcode for the given key to decide which index the value should go in.if nothing is present at that index then the new value will be added over there, if something is already present over there then the new value should be added after the end of the linked list at that index. but remember no duplicates should be added as per the desired behavior of the hashmap. so lets say you have two Integer objects aa=11,bb=11. as every object derived from the object class, the default implementation for comparing two objects is that it compares the reference and not values inside the object. So in the above case both though semantically equal will fail the equality test, and possibility that two objects which same hashcode and same values will exists thereby creating duplicates. If we override then we could avoid adding duplicates. You could also refer to Detail working

``````import java.util.HashMap;

public class Employee {

String name;
String mobile;
public Employee(String name,String mobile) {
this.name=name;
this.mobile=mobile;
}

@Override
public int hashCode() {
System.out.println("calling hascode method of Employee");
String str=this.name;
Integer sum=0;
for(int i=0;i<str.length();i++){
sum=sum+str.charAt(i);
}
return sum;

}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
System.out.println("calling equals method of Employee");
Employee emp=(Employee)obj;
if(this.mobile.equalsIgnoreCase(emp.mobile)){

System.out.println("returning true");
return true;
}else{
System.out.println("returning false");
return false;
}

}

public static void main(String[] args) {
// TODO Auto-generated method stub

Employee emp=new Employee("abc", "hhh");
Employee emp2=new Employee("abc", "hhh");
HashMap<Employee, Employee> h=new HashMap<>();
//for (int i=0;i<5;i++){
h.put(emp, emp);
h.put(emp2, emp2);

//}

System.out.println("----------------");
System.out.println("size of hashmap: "+h.size());

}

}
``````

### Byte Array and Int conversion in Java

I found a simple way in com.google.common.primitives which is in the [Maven:com.google.guava:guava:12.0.1]

``````long newLong = Longs.fromByteArray(oldLongByteArray);
int newInt = Ints.fromByteArray(oldIntByteArray);
``````

Have a nice try :)

### How to export MySQL database with triggers and procedures?

I've created the following script and it worked for me just fine.

``````#! /bin/sh
cd \$(dirname \$0)
DB=\$1
DBUSER=\$2
DBPASSWD=\$3
FILE=\$DB-\$(date +%F).sql
mysqldump --routines "--user=\${DBUSER}"  --password=\$DBPASSWD \$DB > \$PWD/\$FILE
gzip \$FILE
echo Created \$PWD/\$FILE*
``````

and you call the script using command line arguments.

``````backupdb.sh my_db dev_user dev_password
``````

### Is there a way to comment out markup in an .ASPX page?

While this works:

``````<%-- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ht_tv1.Default" %> --%>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Blank._Default" %>
``````

This won't.

``````<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" <%--Inherits="ht_tv1.Default"--%> Inherits="Blank._Default" %>
``````

So you can't comment out part of something which is what I want to do 99.9995% of the time.

### How to Lazy Load div background images

I do it like this:

``````<div class="lazyload" style="width: 1000px; height: 600px" data-src="%s">
<img class="spinner" src="spinner.gif"/>
</div>
``````

``````\$(window).load(function(){

var lazy = \$(this);
var src = lazy.attr('data-src');

lazy.find('img.spinner').remove();
lazy.css('background-image', 'url("'+src+'")');
});

});

});
``````

Tried @Rocketmonkeys solution but downloaded files were being stored as *.bin and given random names. That's not fine of course. Adding another line from @elo80ka solved the problem.
Here is the code I'm using now:

``````from wsgiref.util import FileWrapper
from django.http import HttpResponse

wrapper = FileWrapper(file(filename))
response = HttpResponse(wrapper, content_type='text/plain')
response['Content-Disposition'] = 'attachment; filename=%s' % os.path.basename(filename)
response['Content-Length'] = os.path.getsize(filename)
return response
``````

You can now store files in a private directory (not inside /media nor /public_html) and expose them via django to certain users or under certain circumstances.
Hope it helps.

Thanks to @elo80ka, @S.Lott and @Rocketmonkeys for the answers, got the perfect solution combining all of them =)

### Javadoc link to method in other class

Aside from `@see`, a more general way of refering to another class and possibly method of that class is `{@link somepackage.SomeClass#someMethod(paramTypes)}`. This has the benefit of being usable in the middle of a javadoc description.

This tag is very simliar to @see – both require the same references and accept exactly the same syntax for package.class#member and label. The main difference is that {@link} generates an in-line link rather than placing the link in the "See Also" section. Also, the {@link} tag begins and ends with curly braces to separate it from the rest of the in-line text.

### PHP how to get local IP of system

It is easy one. You can get the host name by this simple code.

``````\$ip = getHostByName(getHostName());
``````

Or you can also use `\$_SERVER['HTTP_HOST']` to get the hostname.

### Remove title in Toolbar in appcompat-v7

``````Toolbar toolbar = findViewById(R.id.myToolbar);
toolbar.setTitle("");
``````

### How to make a <div> or <a href="#"> to align center

You can put in in a paragraph

``````<p style="text-align:center;"><a href="contact.html" class="button large hpbottom">Get Started</a></p>
``````

To align a div in the center, you have to do 2 things: - Make the div a fixed width - Set the left and right margin properties variable

``````<div class="container">
<div style="width:100px; margin:0 auto;">
<span>a centered div</span>
</div>
</div>
``````

### How to make background of table cell transparent

Just set the opacity for the inner table. You can do inline CSS if you want it just for a specific table element, so it doesn't apply to the entire table.

``````style="opacity: 0%;"
``````

### How to add not null constraint to existing column in MySQL

Try this, you will know the difference between change and modify,

``````ALTER TABLE table_name CHANGE curr_column_name new_column_name new_column_datatype [constraints]

ALTER TABLE table_name MODIFY column_name new_column_datatype [constraints]
``````
• You can change name and datatype of the particular column using `CHANGE`.
• You can modify the particular column datatype using `MODIFY`. You cannot change the name of the column using this statement.

Hope, I explained well in detail.

### Log4j: How to configure simplest possible file logging?

Here is a log4j.properties file that I've used with great success.

``````logDir=/var/log/myapp

log4j.rootLogger=INFO, stdout
#log4j.rootLogger=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{MM/dd/yyyy hh:mm:ss a}|%-5p|%-30c{1}| %m%n
log4j.appender.stdout.DatePattern='.'yyyy-MM-dd
log4j.appender.stdout.File=\${logDir}/myapp.log
log4j.appender.stdout.append=true
``````

The DailyRollingFileAppender will create new files each day with file names that look like this:

``````myapp.log.2017-01-27
myapp.log.2017-01-28
myapp.log.2017-01-29
myapp.log  <-- today's log
``````

Each entry in the log file will will have this format:

``````01/30/2017 12:59:47 AM|INFO |Component1   | calling foobar(): userId=123, returning totalSent=1
01/30/2017 12:59:47 AM|INFO |Component2   | count=1 > 0, calling fooBar()
``````

Set the location of the above file by using `-Dlog4j.configuration`, as mentioned in this posting:

``````java -Dlog4j.configuration=file:/home/myapp/config/log4j.properties com.foobar.myapp
``````

In your Java code, be sure to set the name of each software component when you instantiate your logger object. I also like to log to both the log file and standard output, so I wrote this small function.

``````private static final Logger LOGGER = Logger.getLogger("Component1");

public static void log(org.apache.log4j.Logger logger, String message) {

logger.info(message);
System.out.printf("%s\n", message);
}

public static String stackTraceToString(Exception ex) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
ex.printStackTrace(pw);
return sw.toString();
}
``````

And then call it like so:

``````LOGGER.info(String.format("Exception occurred: %s", stackTraceToString(ex)));
``````

### SQL Error: ORA-00922: missing or invalid option

You should not use space character while naming database objects. Even though it's possible by using double quotes(quoted identifiers), `CREATE TABLE "chartered flight" ...`, it's not recommended. Take a closer look here

### Why is my power operator (^) not working?

Well, first off, the `^` operator in C/C++ is the bit-wise XOR. It has nothing to do with powers.

Now, regarding your problem with using the `pow()` function, some googling shows that casting one of the arguments to double helps:

``````result = (int) pow((double) a,i);
``````

Note that I also cast the result to `int` as all `pow()` overloads return double, not `int`. I don't have a MS compiler available so I couldn't check the code above, though.

Since C99, there are also `float` and `long double` functions called `powf` and `powl` respectively, if that is of any help.

### Converting double to integer in Java

``````Double perValue = 96.57;
int roundVal= (int) Math.round(perValue);
``````

Solved my purpose.

### Sending an HTTP POST request on iOS

``````-(void)sendingAnHTTPPOSTRequestOniOSWithUserEmailId: (NSString *)emailId withPassword: (NSString *)password{
//Init the NSURLSession with a configuration
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]];

//Create an URLRequest
NSURL *url = [NSURL URLWithString:@"http://www.example.com/apis/login_api"];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];

//Create POST Params and add it to HTTPBody
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];

NSURLSessionDataTask *dataTask = [defaultSession dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
//Handle your response here
NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
NSLog(@"%@",responseDict);
}];
}
``````

### php get values from json encode

`json_decode()` will return an object or array if second value it's true:

``````\$json = '{"countryId":"84","productId":"1","status":"0","opId":"134"}';
\$json = json_decode(\$json, true);
echo \$json['countryId'];
echo \$json['productId'];
echo \$json['status'];
echo \$json['opId'];
``````

### ASP.NET MVC - Find Absolute Path to the App_Data folder from Controller

``````string Index = i;
string FileName = "Mutton" + Index + ".xml";
XmlDocument xmlDoc = new XmlDocument();

var path = Path.Combine(Server.MapPath("~/Content/FilesXML"), FileName);
``````

this is the best Solution to get the path what is exactly need for now

### How to open Console window in Eclipse?

1. Open Eclipse
2. Click on Window
3. Go to Show view
4. Click on Console
5. Minimize it now or drag it to the bottom and it will split between your console and other screens

### Explanation of polkitd Unregistered Authentication Agent

Policykit is a system daemon and policykit authentication agent is used to verify identity of the user before executing actions. The messages logged in `/var/log/secure` show that an authentication agent is registered when user logs in and it gets unregistered when user logs out. These messages are harmless and can be safely ignored.

### How to add line break for UILabel?

It seems wrong to me to change the label frame sizes especially when using autolayout. Using the appendFormat method seems more appropriate. Here is my example:

``````NSMutableString *list = [[NSMutableString alloc] init];
NSArray *textArray = @[@"AAAA", @"BBBB"];
for (NSString *string in textArray) {
[list appendFormat:@"%@\n", string.mutableCopy];
}
self.label.text = list;
self.label.numberOfLines = 0;
``````

### Accessing elements by type in javascript

In plain-old JavaScript you can do this:

``````var inputs = document.getElementsByTagName('input');

for(var i = 0; i < inputs.length; i++) {
if(inputs[i].type.toLowerCase() == 'text') {
}
}
``````

In jQuery, you would just do:

``````// select all inputs of type 'text' on the page
\$("input:text")

// hide all text inputs which are descendants of div class="foo"
\$("div.foo input:text").hide();
``````

### Git - remote: Repository not found

I solved it by deleting the `.git` file (hidden folder) and then uploading it again.

### Show ProgressDialog Android

Declare your progress dialog:

``````ProgressDialog progress;
``````

When you're ready to start the progress dialog:

``````progress = ProgressDialog.show(this, "dialog title",
"dialog message", true);
``````

and to make it go away when you're done:

``````progress.dismiss();
``````

Here's a little thread example for you:

``````// Note: declare ProgressDialog progress as a field in your class.

progress = ProgressDialog.show(this, "dialog title",
"dialog message", true);

new Thread(new Runnable() {
@Override
public void run()
{
// do the thing that takes a long time

@Override
public void run()
{
progress.dismiss();
}
});
}
}).start();
``````

### How to call a Web Service Method?

In visual studio, use the "Add Web Reference" feature and then enter in the URL of your web service.

By adding a reference to the DLL, you not referencing it as a web service, but simply as an assembly.

When you add a web reference it create a proxy class in your project that has the same or similar methods/arguments as your web service. That proxy class communicates with your web service via SOAP but hides all of the communications protocol stuff so you don't have to worry about it.

### Passing arguments to JavaScript function from code-behind

Some other things I found out:

You can't directly pass in an array like:

``````this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "xx",
"<script>test("+x+","+y+");</script>");
``````

because that calls the ToString() methods of x and y, which returns "System.Int32[]", and obviously Javascript can't use that. I had to pass in the arrays as strings, like "[1,2,3,4,5]", so I wrote a helper method to do the conversion.

Also, there is a difference between this.Page.ClientScript.RegisterStartupScript() and this.Page.ClientScript.RegisterClientScriptBlock() - the former places the script at the bottom of the page, which I need in order to be able to access the controls (like with document.getElementByID). RegisterClientScriptBlock() is executed before the tags are rendered, so I actually get a Javascript error if I use that method.

http://www.wrox.com/WileyCDA/Section/Manipulating-ASP-NET-Pages-and-Server-Controls-with-JavaScript.id-310803.html covers the difference between the two pretty well.

Here's the complete example I came up with:

``````// code behind
protected void Button1_Click(object sender, EventArgs e)
{
int[] x = new int[] { 1, 2, 3, 4, 5 };
int[] y = new int[] { 1, 2, 3, 4, 5 };

string xStr = getArrayString(x); // converts {1,2,3,4,5} to [1,2,3,4,5]
string yStr = getArrayString(y);

string script = String.Format("test({0},{1})", xStr, yStr);
this.Page.ClientScript.RegisterStartupScript(this.GetType(),
"testFunction", script, true);
//this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
//"testFunction", script, true); // different result
}
private string getArrayString(int[] array)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < array.Length; i++)
{
sb.Append(array[i] + ",");
}
string arrayStr = string.Format("[{0}]", sb.ToString().TrimEnd(','));
return arrayStr;
}

//aspx page
<html xmlns="http://www.w3.org/1999/xhtml">
<title>Untitled Page</title>
<script type="text/javascript">
function test(x, y)
{
var text1 = document.getElementById("text1")
for(var i = 0; i<x.length; i++)
{
text1.innerText += x[i]; // prints 12345
}
text1.innerText += "\ny: " + y; // prints y: 1,2,3,4,5

}

</script>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
</div>
<div id ="text1">
</div>
</form>
</body>
</html>
``````

### String.Replace(char, char) method in C#

If you use

``````string temp = mystring.Replace("\r\n", "").Replace("\n", "");
``````

then you won't have to worry about where your string is coming from.

### if A vs if A is not None:

I created a file called `test.py` and ran it on the interpreter. You may change what you want to, to test for sure how things is going on behind the scenes.

``````import dis

def func1():

matchesIterator = None

if matchesIterator:

print( "On if." );

def func2():

matchesIterator = None

if matchesIterator is not None:

print( "On if." );

print( "\nFunction 1" );
dis.dis(func1)

print( "\nFunction 2" );
dis.dis(func2)
``````

This is the assembler difference:

Source:

``````>>> import importlib
>>> reload( test )

Function 1
6           0 LOAD_CONST               0 (None)
3 STORE_FAST               0 (matchesIterator)

8           6 LOAD_FAST                0 (matchesIterator)
9 POP_JUMP_IF_FALSE       20

10          12 LOAD_CONST               1 ('On if.')
15 PRINT_ITEM
16 PRINT_NEWLINE
17 JUMP_FORWARD             0 (to 20)
>>   20 LOAD_CONST               0 (None)
23 RETURN_VALUE

Function 2
14           0 LOAD_CONST               0 (None)
3 STORE_FAST               0 (matchesIterator)

16           6 LOAD_FAST                0 (matchesIterator)
9 LOAD_CONST               0 (None)
12 COMPARE_OP               9 (is not)
15 POP_JUMP_IF_FALSE       26

18          18 LOAD_CONST               1 ('On if.')
21 PRINT_ITEM
22 PRINT_NEWLINE
23 JUMP_FORWARD             0 (to 26)
>>   26 LOAD_CONST               0 (None)
29 RETURN_VALUE
<module 'test' from 'test.py'>
``````

### How can I print a quotation mark in C?

This one also works:

``````printf("%c\n", printf("Here, I print some double quotes: "));
``````

But if you plan to use it in an interview, make sure you can explain what it does.

EDIT: Following Eric Postpischil's comment, here's a version that doesn't rely on ASCII:

``````printf("%c\n", printf("%*s", '"', "Printing quotes: "));
``````

The output isn't as nice, and it still isn't 100% portable (will break on some hypothetical encoding schemes), but it should work on EBCDIC.

### Java parsing XML document gives "Content not allowed in prolog." error

Make sure there's no hidden whitespace at the start of your XML file. Also maybe include encoding="UTF-8" (or 16? No clue) in the node.

### json.dumps vs flask.jsonify

The choice of one or another depends on what you intend to do. From what I do understand:

• jsonify would be useful when you are building an API someone would query and expect json in return. E.g: The REST github API could use this method to answer your request.

• dumps, is more about formating data/python object into json and work on it inside your application. For instance, I need to pass an object to my representation layer where some javascript will display graph. You'll feed javascript with the Json generated by dumps.

### Using BufferedReader.readLine() in a while loop properly

Concept Solution:br.read() returns particular character's int value so loop continue's until we won't get -1 as int value and Hence up to there it prints br.readLine() which returns a line into String form.

``````    //Way 1:
{
//continues loop until we won't get int value as a -1
}

//Way 2:
{
System.out.println(line);
}

//Way 3:
{
System.out.println(line);
}
``````

Way 4: It's an advance way to read file using collection and arrays concept How we iterate using for each loop. check it here http://www.java67.com/2016/01/how-to-use-foreach-method-in-java-8-examples.html

### git repo says it's up-to-date after pull but files are not updated

Try this:

`````` git fetch --all
git reset --hard origin/master
``````

Explanation:

`git fetch` downloads the latest from remote without trying to merge or rebase anything.

Please let me know if you have any questions!

### Reading from text file until EOF repeats last line

At the end of the last line, you have a new line character, which is not read by >> operator and it is not an end of file. Please, make an experiment and delete the new line (thelast character in file) - you will not get the duplication. To have a flexible code and avoid unwanted effects just apply any solution given by other users.

### Can't load IA 32-bit .dll on a AMD 64-bit platform

Had same issue in win64bit and JVM 64bit

Was solved by uploading dll to system32

### How to use Greek symbols in ggplot2?

You do not need the `latex2exp` package to do what you wanted to do. The following code would do the trick.

``````ggplot(smr, aes(Fuel.Rate, Eng.Speed.Ave., color=Eng.Speed.Max.)) +
geom_point() +
labs(title=expression("Fuel Efficiency"~(alpha*Omega)),
color=expression(alpha*Omega), x=expression(Delta~price))
``````

Also, some comments (unanswered as of this point) asked about putting an asterisk (*) after a Greek letter. `expression(alpha~"*")` works, so I suggest giving it a try.

More comments asked about getting `? Price` and I find the most straightforward way to achieve that is `expression(Delta~price))`. If you need to add something before the Greek letter, you can also do this: `expression(Indicative~Delta~price)` which gets you:

### Getting individual colors from a color map in matplotlib

I had precisely this problem, but I needed sequential plots to have highly contrasting color. I was also doing plots with a common sub-plot containing reference data, so I wanted the color sequence to be consistently repeatable.

I initially tried simply generating colors randomly, reseeding the RNG before each plot. This worked OK (commented-out in code below), but could generate nearly indistinguishable colors. I wanted highly contrasting colors, ideally sampled from a colormap containing all colors.

I could have as many as 31 data series in a single plot, so I chopped the colormap into that many steps. Then I walked the steps in an order that ensured I wouldn't return to the neighborhood of a given color very soon.

My data is in a highly irregular time series, so I wanted to see the points and the lines, with the point having the 'opposite' color of the line.

Given all the above, it was easiest to generate a dictionary with the relevant parameters for plotting the individual series, then expand it as part of the call.

Here's my code. Perhaps not pretty, but functional.

``````from matplotlib import cm
cmap = cm.get_cmap('gist_rainbow')  #('hsv') #('nipy_spectral')

max_colors = 31   # Constant, max mumber of series in any plot.  Ideally prime.
color_number = 0  # Variable, incremented for each series.

def restart_colors():
global color_number
color_number = 0
#np.random.seed(1)

def next_color():
global color_number
color_number += 1
#color = tuple(np.random.uniform(0.0, 0.5, 3))
color = cmap( ((5 * color_number) % max_colors) / max_colors )
return color

def plot_args():  # Invoked for each plot in a series as: '**(plot_args())'
mkr = next_color()
clr = (1 - mkr[0], 1 - mkr[1], 1 - mkr[2], mkr[3])  # Give line inverse of marker color
return {
"marker": "o",
"color": clr,
"mfc": mkr,
"mec": mkr,
"markersize": 0.5,
"linewidth": 1,
}

``````

My context is JupyterLab and Pandas, so here's sample plot code:

``````restart_colors()  # Repeatable color sequence for every plot

fig, axs = plt.subplots(figsize=(15, 8))
plt.title("%s + T-meter"%name)

# Plot reference temperatures:
axs.set_ylabel("°C", rotation=0)
for s in ["T1", "T2", "T3", "T4"]:
df_tmeter.plot(ax=axs, x="Timestamp", y=s, label="T-meter:%s" % s, **(plot_args()))

# Other series gets their own axis labels
ax2 = axs.twinx()
ax2.set_ylabel(units)

for c in df_uptime_sensors:
df_uptime[df_uptime["UUID"] == c].plot(
ax=ax2, x="Timestamp", y=units, label="%s - %s" % (units, c), **(plot_args())
)

fig.tight_layout()
plt.show()
``````

The resulting plot may not be the best example, but it becomes more relevant when interactively zoomed in.

### Setting a property by reflection with a string value

You can use `Convert.ChangeType()` - It allows you to use runtime information on any `IConvertible` type to change representation formats. Not all conversions are possible, though, and you may need to write special case logic if you want to support conversions from types that are not `IConvertible`.

The corresponding code (without exception handling or special case logic) would be:

``````Ship ship = new Ship();
string value = "5.5";
PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude");
propertyInfo.SetValue(ship, Convert.ChangeType(value, propertyInfo.PropertyType), null);
``````

### What is function overloading and overriding in php?

Overloading is defining functions that have similar signatures, yet have different parameters. Overriding is only pertinent to derived classes, where the parent class has defined a method and the derived class wishes to override that method.

In PHP, you can only overload methods using the magic method `__call`.

An example of overriding:

``````<?php

class Foo {
function myFoo() {
return "Foo";
}
}

class Bar extends Foo {
function myFoo() {
return "Bar";
}
}

\$foo = new Foo;
\$bar = new Bar;
echo(\$foo->myFoo()); //"Foo"
echo(\$bar->myFoo()); //"Bar"
?>
``````

### SMTP server response: 530 5.7.0 Must issue a STARTTLS command first

Blockquote

``````I then modified the php.ini file to use it (commented out the other lines):

[mail function]
; For Win32 only.
; SMTP = smtp.gmail.com
; smtp_port = 25

; For Win32 only.
; sendmail_from = <e-mail username>@gmail.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"

Ignore the "For Unix only" comment, as this version of sendmail works for Windows.

You then have to configure the "sendmail.ini" file in the directory where sendmail was installed:

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=25
error_logfile=error.log
debug_logfile=debug.log

http://byitcurious.blogspot.com.br/2009/04/solving-must-issue-starttls-command.html

> Blockquote
``````

### Google Android USB Driver and ADB

Driver for Huawei was not found. So I've been using the universal ADB driver:

• Extract `ADBDriverInstaller` and Run the file. Make sure you have connected your device through USB to your computer.
• A window is displayed.
• Click Install.
• A dialog box will appear. It will ask you to press the `Restart` button.

`(The above. in brief, says to press Restart button in the dialog box. Select Troubleshoot. Select Advance Option. Select Startup Setting. Press Restart. After system's been restarted, on the appearing screen press 7)`

• When PC has been Restarted, Run the `ADBDriverInstaller` file again. Select your device from the options. Press install.

And it's done :)

### Simplest way to download and unzip files in Node.js cross-platform?

I found success with the following, works with .zip
(Simplified here for posting: no error checking & just unzips all files to current folder)

``````function DownloadAndUnzip(URL){
var unzip = require('unzip');
var http = require('http');
var request = http.get(URL, function(response) {
response.pipe(unzip.Extract({path:'./'}))
});
}
``````

### Oracle PL/SQL string compare issue

To the first question:

Probably the message wasn't print out because you have the output turned off. Use these commands to turn it back on:

``````set serveroutput on
exec dbms_output.enable(1000000);
``````

On the second question:

My PLSQL is quite rusty so I can't give you a full snippet, but you'll need to loop over the result set of the SQL query and CONCAT all the strings together.

### What's wrong with using == to compare floats in Java?

Are you dealing with outsourced code that would use floats for things named sectionID and currentSectionID? Just curious.

@Bill K: "The binary representation of a float is kind of annoying." How so? How would you do it better? There are certain numbers that cannot be represented in any base properly, because they never end. Pi is a good example. You can only approximate it. If you have a better solution, contact Intel.

### for loop in Python

Try using this:

``````for k in range(1,c+1,2):
``````

### Java 8: merge lists with stream API

In Java 8 we can use stream List1.stream().collect(Collectors.toList()).addAll(List2); Another option List1.addAll(List2)

### Get git branch name in Jenkins Pipeline/Jenkinsfile

This is for simple Pipeline type - not multibranch. Using Jenkins 2.150.1

```environment { FULL_PATH_BRANCH = "\${sh(script:'git name-rev --name-only HEAD', returnStdout: true)}" GIT_BRANCH = FULL_PATH_BRANCH.substring(FULL_PATH_BRANCH.lastIndexOf('/') + 1, FULL_PATH_BRANCH.length()) }```

then use it `env.GIT_BRANCH`

### How to parse unix timestamp to time.Time

Sharing a few functions which I created for dates:

Please note that I wanted to get time for a particular location (not just UTC time). If you want UTC time, just remove loc variable and .In(loc) function call.

``````func GetTimeStamp() string {
loc, _ := time.LoadLocation("America/Los_Angeles")
t := time.Now().In(loc)
return t.Format("20060102150405")
}
func GetTodaysDate() string {
loc, _ := time.LoadLocation("America/Los_Angeles")
current_time := time.Now().In(loc)
return current_time.Format("2006-01-02")
}

func GetTodaysDateTime() string {
loc, _ := time.LoadLocation("America/Los_Angeles")
current_time := time.Now().In(loc)
return current_time.Format("2006-01-02 15:04:05")
}

func GetTodaysDateTimeFormatted() string {
loc, _ := time.LoadLocation("America/Los_Angeles")
current_time := time.Now().In(loc)
return current_time.Format("Jan 2, 2006 at 3:04 PM")
}

func GetTimeStampFromDate(dtformat string) string {
form := "Jan 2, 2006 at 3:04 PM"
t2, _ := time.Parse(form, dtformat)
return t2.Format("20060102150405")
}
``````

### Convert unix time stamp to date in java

You can use SimlpeDateFormat to format your date like this:

``````long unixSeconds = 1372339860;
// convert seconds to milliseconds
Date date = new java.util.Date(unixSeconds*1000L);
// the format of your date
SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
// give a timezone reference for formatting (see comment at the bottom)
sdf.setTimeZone(java.util.TimeZone.getTimeZone("GMT-4"));
String formattedDate = sdf.format(date);
System.out.println(formattedDate);
``````

The pattern that `SimpleDateFormat` takes if very flexible, you can check in the javadocs all the variations you can use to produce different formatting based on the patterns you write given a specific `Date`. http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

• Because a `Date` provides a `getTime()` method that returns the milliseconds since EPOC, it is required that you give to `SimpleDateFormat` a timezone to format the date properly acording to your timezone, otherwise it will use the default timezone of the JVM (which if well configured will anyways be right)

### Replace contents of factor column in R dataframe

I bet the problem is when you are trying to replace values with a new one, one that is not currently part of the existing factor's levels:

``````levels(iris\$Species)
# [1] "setosa"     "versicolor" "virginica"
``````

``````iris\$Species[iris\$Species == 'virginica'] <- 'setosa'
``````

This is what more likely creates the problem you were seeing with your own data:

``````iris\$Species[iris\$Species == 'virginica'] <- 'new.species'
# Warning message:
# In `[<-.factor`(`*tmp*`, iris\$Species == "virginica", value = c(1L,  :
#   invalid factor level, NAs generated
``````

It will work if you first increase your factor levels:

``````levels(iris\$Species) <- c(levels(iris\$Species), "new.species")
iris\$Species[iris\$Species == 'virginica'] <- 'new.species'
``````

If you want to replace "species A" with "species B" you'd be better off with

``````levels(iris\$Species)[match("oldspecies",levels(iris\$Species))] <- "newspecies"
``````

### HTML5 image icon to input placeholder

``````  #search:placeholder-shown {
// show background image, I like svg
// when using svg, do not use HEX for colour; you can use rbg/a instead
// also notice the single quotes
background-image url('data:image/svg+xml; utf8, <svg>... <g fill="grey"...</svg>')
// other background props
}

#search:not(:placeholder-shown) { background-image: none;}
``````

### Arrow operator (->) usage in C

Dot is a dereference operator and used to connect the structure variable for a particular record of structure. Eg :

``````struct student
{
int s.no;
Char name [];
int age;
} s1,s2;

main()
{
s1.name;
s2.name;
}
``````

In such way we can use a dot operator to access the structure variable

### Can't create handler inside thread which has not called Looper.prepare()

All the answers above are correct, but I think this is the easiest example possible:

``````public class ExampleActivity extends Activity {
private Handler handler;
private ProgressBar progress;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
progress = (ProgressBar) findViewById(R.id.progressBar1);
handler = new Handler();
}

public void clickAButton(View view) {
// Do something that takes a while
Runnable runnable = new Runnable() {
@Override
public void run() {
handler.post(new Runnable() { // This thread runs in the UI
@Override
public void run() {
progress.setProgress("anything"); // Update the UI
}
});
}
};
}
}
``````

What this does is update a progress bar in the UI thread from a completely different thread passed through the post() method of the handler declared in the activity.

Hope it helps!

### How to export a mysql database using Command Prompt?

Locate your mysql instance with:

``````which mysql
``````

If this is correct then export with the following (else navigate to the mysql instance in your mamp folder in bin):

``````mysqldump -u [username] -p [password] [dbname] > filename.sql
``````

And if you wish to zip it at the sametime:

``````mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
``````

You can then move this file between servers with:

``````scp [email protected]:/path_to_your_dump/filename.sql.gz your_detination_path/
``````

(where xxx.xxx.xxx.xxx is the server IP address)

And then import it with:

``````gunzip filename.sql.gz | mysql -u [user] -p [password] [database]
``````

### How to use if - else structure in a batch file?

`IF...ELSE IF` constructs work very well in batch files, in particular when you use only one conditional expression on each IF line:

``````IF %F%==1 (
::copying the file c to d
copy "%sourceFile%1" "%destinationFile1%"
) ELSE IF %F%==0 (
::moving the file e to f
move "%sourceFile2%" "%destinationFile2%" )
``````

In your example you use `IF...AND...IF` type construct, where 2 conditions must be met simultaneously. In this case you can still use `IF...ELSE IF` construct, but with extra parentheses to avoid uncertainty for the next ELSE condition:

``````IF %F%==1 (IF %C%==1 (
::copying the file c to d
copy "%sourceFile1%" "%destinationFile1%" )
) ELSE IF %F%==1 (IF %C%==0 (
::moving the file e to f
move "%sourceFile2%" "%destinationFile2%"))
``````

The above construct is equivalent to:

``````IF %F%==1 (
IF %C%==1 (
::copying the file c to d
copy "%sourceFile1%" "%destinationFile1%"
) ELSE IF %C%==0 (
::moving the file e to f
move "%sourceFile2%" "%destinationFile2%"))
``````

Processing sequence of batch commands depends on CMD.exe parsing order. Just make sure your construct follows that logical order, and as a rule it will work. If your batch script is processed by Cmd.exe without errors, it means this is the correct (i.e. supported by your OS Cmd.exe version) construct, even if someone said otherwise.

### Get the current date in java.sql.Date format

Will do: `new Date(Instant.now().toEpochMilli())`

### How do you check if a certain index exists in a table?

You can do it using a straight forward select like this:

``````SELECT *
FROM sys.indexes
WHERE name='YourIndexName' AND object_id = OBJECT_ID('Schema.YourTableName')
``````

### Breaking out of a nested loop

Since I first saw `break` in C a couple of decades back, this problem has vexed me. I was hoping some language enhancement would have an extension to break which would work thus:

``````break; // our trusty friend, breaks out of current looping construct.
break 2; // breaks out of the current and it's parent looping construct.
break 3; // breaks out of 3 looping constructs.
break all; // totally decimates any looping constructs in force.
``````

### count number of lines in terminal output

Putting the comment of EaterOfCode here as an answer.

grep itself also has the -c flag which just returns the count

So the command and output could look like this.

``````\$ grep -Rl "curl" ./ -c
24
``````

EDIT:

Although this answer might be shorter and thus might seem better than the accepted answer (that is using `wc`). I do not agree with this anymore. I feel like remembering that you can count lines by piping to `wc -l` is much more useful as you can use it with other programs than `grep` as well.

### The container 'Maven Dependencies' references non existing library - STS

Today I had this same problem with another jar. I tried multiple things people said on Stackoverflow, but nothing worked. Eventually I did this:

1. Close eclipse and any project-app that is running.
2. Delete the .m2 folder (Users --> [your_username] --> .m2). It's an invisible folder, make sure you are able to view invisible folders.
3. Restarted Eclipse (I guess it works in other IDE too) and updated my project.

Now it works again for me. Perhaps this solves the problem for someone else too.

### Flatten nested dictionaries, compressing keys

I was thinking of a subclass of UserDict to automagically flat the keys.

``````class FlatDict(UserDict):
def __init__(self, *args, separator='.', **kwargs):
self.separator = separator
super().__init__(*args, **kwargs)

def __setitem__(self, key, value):
if isinstance(value, dict):
for k1, v1 in FlatDict(value, separator=self.separator).items():
super().__setitem__(f"{key}{self.separator}{k1}", v1)
else:
super().__setitem__(key, value)
``````

? The advantages it that keys can be added on the fly, or using standard dict instanciation, without surprise:

?

``````>>> fd = FlatDict(
...    {
...        'person': {
...            'sexe': 'male',
...            'name': {
...                'first': 'jacques',
...                'last': 'dupond'
...            }
...        }
...    }
... )
>>> fd
{'person.sexe': 'male', 'person.name.first': 'jacques', 'person.name.last': 'dupond'}
>>> fd['person'] = {'name': {'nickname': 'Bob'}}
>>> fd
{'person.sexe': 'male', 'person.name.first': 'jacques', 'person.name.last': 'dupond', 'person.name.nickname': 'Bob'}
>>> fd['person.name'] = {'civility': 'Dr'}
>>> fd
{'person.sexe': 'male', 'person.name.first': 'jacques', 'person.name.last': 'dupond', 'person.name.nickname': 'Bob', 'person.name.civility': 'Dr'}
``````

### Enum to String C++

You could throw the enum value and string into an STL map. Then you could use it like so.

``````   return myStringMap[Enum::Apple];
``````

### calling Jquery function from javascript

jQuery functions are called just like JavaScript functions.

For example, to dynamically add the class "red" to the document element with the id "orderedlist" using the jQuery addClass function:

``````\$("#orderedlist").addClass("red");
``````

As opposed to a regular line of JavaScript calling a regular function:

``````var x = document.getElementById("orderedlist");
``````

addClass() is a jQuery function, getElementById() is a JavaScript function.

The dollar sign function makes the jQuery addClass function available.

The only difference is the jQuery example is calling the addclass function of the jQuery object \$("#orderedlist") and the regular example is calling a function of the document object.

``````\$(function() {
// code to execute when the DOM is ready
});
``````

Is used to specify code to run when the DOM is ready.

It does not differentiate (as you may think) what is "jQuery code" from regular JavaScript code.

So, to answer your question, just call functions you defined as you normally would.

``````//create a function
function my_fun(){
// call a jQuery function:
}

//call the function you defined:
myfun();
``````

### How can I test if a letter in a string is uppercase or lowercase using JavaScript?

One I use (notice this doesnt make "TestString" as "T est String" or " Test String").

``````function seperateCapitalised(capitalisedString) {
if (typeof capitalisedString !== "string" || capitalisedString.length === 0)
return capitalisedString;

var newStr = capitalisedString[0];
for (var i = 1; i < capitalisedString.length; i++) {
var char = capitalisedString[i];

if (char === char.toUpperCase() && isNaN(char)) {
newStr += ' ' + char;
}
else {
newStr += char;
}
}
return newStr;
}
``````

### Dynamically Changing log4j log level

Changing the log level is simple; modifying other portions of the configuration will pose a more in depth approach.

``````LogManager.getRootLogger().setLevel(Level.DEBUG);
``````

The changes are permanent through the life cyle of the `Logger`. On reinitialization the configuration will be read and used as setting the level at runtime does not persist the level change.

UPDATE: If you are using Log4j 2 you should remove the calls to `setLevel` per the documentation as this can be achieved via implementation classes.

Calls to logger.setLevel() or similar methods are not supported in the API. Applications should remove these. Equivalent functionality is provided in the Log4j 2 implementation classes but may leave the application susceptible to changes in Log4j 2 internals.

### scp copy directory to another server with private key auth

Putty doesn't use openssh key files - there is a utility in putty suite to convert them.

edit: it is called puttygen

### Calculate difference between two dates (number of days)?

I think this will do what you want:

``````DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.Now.AddDays(-1);

TimeSpan t = d1 - d2;
double NrOfDays = t.TotalDays;
``````

### When to use EntityManager.find() vs EntityManager.getReference() with JPA

Because a reference is 'managed', but not hydrated, it can also allow you to remove an entity by ID, without needing to load it into memory first.

As you can't remove an unmanaged entity, it's just plain silly to load all fields using find(...) or createQuery(...), only to immediately delete it.

``````MyLargeObject myObject = em.getReference(MyLargeObject.class, objectId);
em.remove(myObject);
``````

### Remove Trailing Spaces and Update in Columns in SQL Server

Well, it depends on which version of SQL Server you are using.

In SQL Server 2008 r2, 2012 And 2014 you can simply use `TRIM(CompanyName)`

SQL Server TRIM Function

In other versions you have to use `set CompanyName = LTRIM(RTRIM(CompanyName))`

### How to use sudo inside a docker container?

if you want to connect to container and install something
using apt-get
first as above answer from our brother "Tomáš Záluský"

``````docker exec -u root -t -i container_id /bin/bash
``````

then try to

RUN apt-get update or apt-get 'anything you want'

it worked with me hope it's useful for all

### How to make/get a multi size .ico file?

This can be done for free using GIMP.

It uses the ability of GIMP to have each layer a different size.

I created the following layers sized correctly.

• 256x256 will be saved as 32bpp 8bit alpha
• 48x48 will be saved as 32bpp 8bit alpha
• 48x48 will be saved as 8bpp 1bit alpha
• 32x32 will be saved as 32bpp 8bit alpha
• 32x32 will be saved as 8bpp 1bit alpha
• 32x32 will be saved as 4bpp 1bit alpha
• 16x16 will be saved as 32bpp 8bit alpha
• 16x16 will be saved as 8bpp 1bit alpha
• 16x16 will be saved as 4bpp 1bit alpha

Notes

• You may need to check other resources to confirm to yourself that this is a sensible list of resolutions and colour depths.
• Make sure you use transparency round the outside of your image, and anti-aliased edges. You should see the grey checkerboard effect round the outside of your layers to indicate they are transparent
• The 16x16 icons will need to be heavily edited by hand using a 1 pixel wide pencil and the eyedropper tool to make them look any good.
• Do not change colour depth / Mode in GIMP. Leave it as RGB
• You change the colour depths when you save as an .ico - GIMP pops up a special dialog box for changing the colour settings for each layer

### Auto highlight text in a textbox control

If you want to do it for your whole WPF application you can do the following: - In the file App.xaml.cs

``````    protected override void OnStartup(StartupEventArgs e)
{
//works for tab into textbox
EventManager.RegisterClassHandler(typeof(TextBox),
TextBox.GotFocusEvent,
new RoutedEventHandler(TextBox_GotFocus));
//works for click textbox
EventManager.RegisterClassHandler(typeof(Window),
Window.GotMouseCaptureEvent,
new RoutedEventHandler(Window_MouseCapture));

base.OnStartup(e);
}
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
(sender as TextBox).SelectAll();
}

private void Window_MouseCapture(object sender, RoutedEventArgs e)
{
var textBox = e.OriginalSource as TextBox;
if (textBox != null)
textBox.SelectAll();
}
``````

### How to delete a row from GridView?

``````using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class Default3 : System.Web.UI.Page
{
DataTable dt = new DataTable();
DataSet Gds = new DataSet();
// DataColumn colm1 = new DataColumn();
//DataColumn colm2 = new DataColumn();

protected void Page_Load(object sender, EventArgs e)
{

}

protected void BtnLoad_Click(object sender, EventArgs e)
{
//   gvLoad is Grid View Id
if (gvLoad.Rows.Count == 0)
{
}
else
{
dt = tblGridRow();
}
}

{
return dt;
}
protected DataRow tblRow()
{
DataRow dr;
dr = dt.NewRow();
dr["Exp Id"] = Convert.ToInt16(txtId.Text);
dr["First Name"] = Convert.ToString(txtName.Text);
return dr;
}

protected DataTable tblGridRow()
{
DataRow dr;
for (int i = 0; i < gvLoad.Rows.Count; i++)
{
if (gvLoad.Rows[i].Cells[0].Text != null)
{

dr = dt.NewRow();
dr["Exp Id"] = gvLoad.Rows[i].Cells[1].Text.ToString();
dr["First Name"] = gvLoad.Rows[i].Cells[2].Text.ToString();

}

}
return dt;
}

protected void btn_Click(object sender, EventArgs e)
{
dt = tblGridRow();
Session["tab"] = dt;
// Response.Redirect("Default.aspx");
}

protected void gvLoad_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
dt = tblGridRow();
dt.Rows.RemoveAt(e.RowIndex);
}
}
``````

### SonarQube Exclude a directory

If you're an Azure DevOps user looking for both where and how to exclude files and folders, here ya go:

1. Edit your pipeline
2. Make sure you have the "Prepare analysis on SonarQube" task added. You'll need to look elsewhere if you need help configuring this. Suggestion: Use the UI pipeline editor vs the yaml editor if you are missing the manage link. At present, there is no way to convert to UI from yaml. Just recreate the pipeline. If using git, you can delete the yaml from the root of your repo.
3. Under the 'Advanced' section of the "Prepare analysis on SonarQube" task, you can add exclusions. See advice given by others for specific exclusion formats.

Example:

``````# Additional properties that will be passed to the scanner,
# Put one key=value per line, example:
# sonar.exclusions=**/*.bin
sonar.exclusions=MyProjectName/MyWebContentFolder/**
``````

Note: If you're not sure on the path, you can go into sonarqube, view your project, look at all or new 'Code Smells' and the path you need is listed above each grouping of issues. You can grab the full path to a file or use wilds like these examples:

• MyProjectName/MyCodeFile.cs
• MyProjectName/**

If you don't have the 'Run Code Analysis' task added, do that and place it somewhere after the 'Build solution **/*.sln' task.

Save and Queue and then check out your sonarqube server to see if the exclusions worked.

### Device not detected in Eclipse when connected with USB cable

Before starting, Make sure that USB DEBUGGING IS ENABLED in your phone settings !!!

1) BASIC STEP - Plug in device via USB, then go to device page in Android developers blog. There you can find necessary information regarding adding USB vendor ids. Add your device specific ids, and restart eclipse if needed.

2)If you were able to see the device connected(using command: `'adb devices'` ) earlier, but not anymore, then just try restarting ADB. (you can use the commands: `'adb kill-server'` followed by `'adb start-server'`. adb commands need to be executed from platform tools folder in the Android SDK, if you havent exported it).

3)If neither of them works out and you are on windows machine, then check the installed usb drivers are correct. If not install proper drivers Please find more information on how to install/update drivers in http://developer.android.com/tools/extras/oem-usb.html

If this also is not working, try installing Universal ADB windows driver https://plus.google.com/103583939320326217147/posts/BQ5iYJEaaEH

4)You may also try increasing the timeout time Go to preferences-> android->DDMS in eclipse, then try increasing 'ADB connection timeout(ms)' value

5)Run > Run Configurations > Target. Please make sure, the option "Always prompt to pick device" is enabled.

Special case: Windows 8 and Nexus 10 (from this question: ADB No Devices Found)

Windows 8 wouldn't recognize my Nexus 10 device. Fixed by Setting the transfer mode to Camera (PTP) through the settings dialogue on the device.

Settings > Storage > Menu > USB Computer connection to "Camera (PTP)"

### vba: get unique values from array

This post contains 2 examples. I like the 2nd one:

``````Sub unique()
Dim arr As New Collection, a
Dim aFirstArray() As Variant
Dim i As Long

aFirstArray() = Array("Banana", "Apple", "Orange", "Tomato", "Apple", _
"Lemon", "Lime", "Lime", "Apple")

On Error Resume Next
For Each a In aFirstArray
Next
On Error Goto 0 ' added to original example by PEH

For i = 1 To arr.Count
Cells(i, 1) = arr(i)
Next

End Sub
``````

### PostgreSQL next value of the sequences?

I tried this and it works perfectly

``````@Entity
public class Shipwreck {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
@Basic(optional = false)
@SequenceGenerator(name = "seq", sequenceName = "shipwreck_seq", allocationSize = 1)
Long id;
``````

....

``````CREATE SEQUENCE public.shipwreck_seq
INCREMENT 1
START 110
MINVALUE 1
MAXVALUE 9223372036854775807
CACHE 1;
``````

### How to use subList()

To get the last element, simply use the size of the list as the second parameter. So for example, if you have 35 files, and you want the last five, you would do:

``````dataList.subList(30, 35);
``````

A guaranteed safe way to do this is:

``````dataList.subList(Math.max(0, first), Math.min(dataList.size(), last) );
``````

### ValidateAntiForgeryToken purpose, explanation and example

MVC's anti-forgery support writes a unique value to an HTTP-only cookie and then the same value is written to the form. When the page is submitted, an error is raised if the cookie value doesn't match the form value.

It's important to note that the feature prevents cross site request forgeries. That is, a form from another site that posts to your site in an attempt to submit hidden content using an authenticated user's credentials. The attack involves tricking the logged in user into submitting a form, or by simply programmatically triggering a form when the page loads.

The feature doesn't prevent any other type of data forgery or tampering based attacks.

To use it, decorate the action method or controller with the `ValidateAntiForgeryToken` attribute and place a call to `@Html.AntiForgeryToken()` in the forms posting to the method.

### Jackson Vs. Gson

It seems that GSon don't support JAXB. By using JAXB annotated class to create or process the JSON message, I can share the same class to create the Restful Web Service interface by using spring MVC.

### Global Variable in app.js accessible in routes?

A neat way to do this is to use `app.locals` provided by Express itself. Here is the documentation.

``````// In app.js:
app.locals.variable_you_need = 42;

// In index.js
exports.route = function(req, res){
var variable_i_needed = req.app.locals.variable_you_need;
}
``````

### Git commit date

The show command may be what you want. Try

``````git show -s --format=%ci <commit>
``````

Other formats for the date string are available as well. Check the manual page for details.

### Java Pass Method as Parameter

First define an Interface with the method you want to pass as a parameter

``````public interface Callable {
public void call(int param);
}
``````

Implement a class with the method

``````class Test implements Callable {
public void call(int param) {
System.out.println( param );
}
}
``````

// Invoke like that

``````Callable cmd = new Test();
``````

This allows you to pass cmd as parameter and invoke the method call defined in the interface

``````public invoke( Callable callable ) {
callable.call( 5 );
}
``````

### C# code to validate email address

I just want to point out, that there has been a recent addition to the .NET documentation regarding email validation, also utilitzing Regex operations. A thorough explanation to their implementation can be found there.

https://docs.microsoft.com/en-us/dotnet/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format

For convenience, here is a list of their test results:

``````//       Valid: [email protected]
//       Valid: [email protected]
//       Valid: [email protected]
//       Invalid: [email protected]
//       Valid: [email protected]
//       Valid: js#[email protected]
//       Valid: j_9@[129.126.118.1]
//       Invalid: [email protected]
//       Invalid: js*@proseware.com
//       Invalid: [email protected]
//       Valid: [email protected]
//       Valid: [email protected]
//       Valid: "j\"s\""@proseware.com
//       Valid: js@contoso.??
``````

### How to right align widget in horizontal linear layout Android?

`linear layout` with `layout_width="fill_parent"` and also the widget with same `layout width` + `gravity as right` would align it to the right.

I'm using 2 `TextView`s in following example, `topicTitle` on the left and `topicQuestions` on the right.

``````<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:id="@+id/topicTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="bold" />

<TextView
android:id="@+id/topicQuestions"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>

</RelativeLayout>
``````

### Could not establish secure channel for SSL/TLS with authority '*'

Yes an Untrusted certificate can cause this. Look at the certificate path for the webservice by opening the websservice in a browser and use the browser tools to look at the certificate path. You may need to install one or more intermediate certificates onto the computer calling the webservice. In the browser you may see "Certificate errors" with an option to "Install Certificate" when you investigate further - this could be the certificate you missing.

My particular problem was a Geotrust Geotrust DV SSL CA intermediate certificate missing following an upgrade to their root server in July 2010 https://knowledge.geotrust.com/support/knowledge-base/index?page=content&id=AR1422

(2020 update deadlink preserved here: https://web.archive.org/web/20140724085537/https://knowledge.geotrust.com/support/knowledge-base/index?page=content&id=AR1422 )

### How to Get the HTTP Post data in C#?

Use this:

``````    public void ShowAllPostBackData()
{
if (IsPostBack)
{
string[] keys = Request.Form.AllKeys;
Literal ctlAllPostbackData = new Literal();
ctlAllPostbackData.Text = "<div class='well well-lg' style='border:1px solid black;z-index:99999;position:absolute;'><h3>All postback data:</h3><br />";
for (int i = 0; i < keys.Length; i++)
{
ctlAllPostbackData.Text += "<b>" + keys[i] + "</b>: " + Request[keys[i]] + "<br />";
}
ctlAllPostbackData.Text += "</div>";
}
}
``````

### Git - What is the difference between push.default "matching" and "simple"

From GIT documentation: Git Docs

Below gives the full information. In short, `simple` will only push the `current working branch` and even then only if it also has the same name on the remote. This is a very good setting for beginners and will become the default in `GIT 2.0`

Whereas `matching` will push all branches locally that have the same name on the remote. (Without regard to your current working branch ). This means potentially many different branches will be pushed, including those that you might not even want to share.

In my personal usage, I generally use a different option: `current` which pushes the current working branch, (because I always branch for any changes). But for a beginner I'd suggest `simple`

push.default
Defines the action git push should take if no refspec is explicitly given. Different values are well-suited for specific workflows; for instance, in a purely central workflow (i.e. the fetch source is equal to the push destination), upstream is probably what you want. Possible values are:

nothing - do not push anything (error out) unless a refspec is explicitly given. This is primarily meant for people who want to avoid mistakes by always being explicit.

current - push the current branch to update a branch with the same name on the receiving end. Works in both central and non-central workflows.

upstream - push the current branch back to the branch whose changes are usually integrated into the current branch (which is called @{upstream}). This mode only makes sense if you are pushing to the same repository you would normally pull from (i.e. central workflow).

simple - in centralized workflow, work like upstream with an added safety to refuse to push if the upstream branch's name is different from the local one.

When pushing to a remote that is different from the remote you normally pull from, work as current. This is the safest option and is suited for beginners.

This mode will become the default in Git 2.0.

matching - push all branches having the same name on both ends. This makes the repository you are pushing to remember the set of branches that will be pushed out (e.g. if you always push maint and master there and no other branches, the repository you push to will have these two branches, and your local maint and master will be pushed there).

To use this mode effectively, you have to make sure all the branches you would push out are ready to be pushed out before running git push, as the whole point of this mode is to allow you to push all of the branches in one go. If you usually finish work on only one branch and push out the result, while other branches are unfinished, this mode is not for you. Also this mode is not suitable for pushing into a shared central repository, as other people may add new branches there, or update the tip of existing branches outside your control.

This is currently the default, but Git 2.0 will change the default to simple.

### Accessing MP3 metadata with Python

A simple example from the book Dive Into Python works ok for me, this is the download link, the example is fileinfo.py. Don't know if it's the best, but it can do the basic job.

The entire book is available online here.