Programs & Examples On #Ora 12154

ORA-12154: TNS:could not resolve the connect identifier specified

this is error ORA-12154: TNS:could not resolve the connect identifier specified?

ORA-12154: TNS:could not resolve the connect identifier specified?

In case the TNS is not defined you can also try this one:

If you are using C#.net 2010 or other version of VS and oracle 10g express edition or lower version, and you make a connection string like this:

static string constr = @"Data Source=(DESCRIPTION=
    (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=yourhostname )(PORT=1521)))
    (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));
    User Id=system ;Password=yourpasswrd"; 

After that you get error message ORA-12154: TNS:could not resolve the connect identifier specified then first you have to do restart your system and run your project.

And if Your windows is 64 bit then you need to install oracle 11g 32 bit and if you installed 11g 64 bit then you need to Install Oracle 11g Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio version 11.2.0.1.2 or later from OTN and check it in Oracle Universal Installer Please be sure that the following are checked:

Oracle Data Provider for .NET 2.0

Oracle Providers for ASP.NET

Oracle Developer Tools for Visual Studio

Oracle Instant Client 

And then restart your Visual Studio and then run your project .... NOTE:- SYSTEM RESTART IS necessary TO SOLVE THIS TYPES OF ERROR.......

ORA-12154: TNS:could not resolve the connect identifier specified (PLSQL Developer)

copy paste pl sql developer in program files x86 and program files both. if client is installed in other partition/drive then copy pl sql developer to that drive also. and run from pl sql developer folder instead of desktop shortcut.

ultimate solution ! chill

ORA-12154 could not resolve the connect identifier specified

This is an old question but Oracle's latest installers are no improvement, so I recently found myself back in this swamp, thrashing around for several days ...

My scenario was SQL Server 2016 RTM. 32-bit Oracle 12c Open Client + ODAC was eventually working fine for Visual Studio Report Designer and Integration Services designer, and also SSIS packages run through SQL Server Agent (with 32-bit option). 64-bit was working fine for Report Portal when defining and Testing an Data Source, but running the reports always gave the dreaded "ORA-12154" error.

My final solution was to switch to an EZCONNECT connection string - this avoids the TNSNAMES mess altogether. Here's a link to a detailed description, but it's basically just: host:port/sid

http://www.oracledistilled.com/oracle-database/oracle-net/using-easy-connect-ezconnect-naming-method-to-connect-to-oracle-databases/

In case it helps anyone in the future (or I get stuck on this again), here are my Oracle install steps (the full horror):

Install Oracle drivers: Oracle Client 12c (32-bit) plus ODAC.

a. Download and unzip the following files from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-win64-download-2297732.html and http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html ):

i. winnt_12102_client32.zip

ii. ODAC112040Xcopy_32bit.zip

b. Run winnt_12102_client32\client32\setup.exe. For the Installation Type, choose Admin. For the installation location enter C:\Oracle\Oracle12. Accept other defaults.

c. Start a Command Prompt “As Administrator” and change directory (cd) to your ODAC112040Xcopy_32bit folder.

d. Enter the command: install.bat all C:\Oracle\Oracle12 odac

e. Copy the tnsnames.ora file from another machine to these folders: *

i. C:\Oracle\Oracle12\network\admin *

ii. C:\Oracle\Oracle12\product\12.1.0\client_1\network\admin *

Install Oracle Client 12c (x64) plus ODAC

a. Download and unzip the following files from http://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-win64-download-2297732.html and http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html ):

i. winx64_12102_client.zip

ii. ODAC121024Xcopy_x64.zip

b. Run winx64_12102_client\client\setup.exe. For the Installation Type, choose Admin. For the installation location enter C:\Oracle\Oracle12_x64. Accept other defaults.

c. Start a Command Prompt “As Administrator” and change directory (cd) to the C:\Software\Oracle Client\ODAC121024Xcopy_x64 folder.

d. Enter the command: install.bat all C:\Oracle\Oracle12_x64 odac

e. Copy the tnsnames.ora file from another machine to these folders: *

i. C:\Oracle\Oracle12_x64\network\admin *

ii. C:\Oracle\Oracle12_x64\product\12.1.0\client_1\network\admin *

* If you are going with the EZCONNECT method, then these steps are not required.

The ODAC installs are tricky and obscure - thanks to Dan English who gave me the method (detailed above) for that.

Oracle ORA-12154: TNS: Could not resolve service name Error?

It has nothing to do with a space embedded in the folder structure.

I had the same problem. But when I created an environmental variable (defined both at the system- and user-level) called TNS_HOME and made it to point to the folder where TNSNAMES.ORA existed, the problem was resolved. Voila!

venki

Best Practices for Custom Helpers in Laravel 5

This is my HelpersProvider.php file:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class HelperServiceProvider extends ServiceProvider
{
    protected $helpers = [
        // Add your helpers in here
    ];

    /**
     * Bootstrap the application services.
     */
    public function boot()
    {
        //
    }

    /**
     * Register the application services.
     */
    public function register()
    {
        foreach ($this->helpers as $helper) {
            $helper_path = app_path().'/Helpers/'.$helper.'.php';

            if (\File::isFile($helper_path)) {
                require_once $helper_path;
            }
        }
    }
}

You should create a folder called Helpers under the app folder, then create file called whatever.php inside and add the string whatever inside the $helpers array.

Done!

Edit

I'm no longer using this option, I'm currently using composer to load static files like helpers.

You can add the helpers directly at:

...
"autoload": {
    "files": [
        "app/helpers/my_helper.php",
        ...
    ]
},
...

Google Gson - deserialize list<class> object? (generic type)

Wep, another way to achieve the same result. We use it for its readability.

Instead of doing this hard-to-read sentence:

Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType();
List<YourClass> list = new Gson().fromJson(jsonArray, listType);

Create a empty class that extends a List of your object:

public class YourClassList extends ArrayList<YourClass> {}

And use it when parsing the JSON:

List<YourClass> list = new Gson().fromJson(jsonArray, YourClassList.class);

SQL Server: Filter output of sp_who2

Yes, by capturing the output of sp_who2 into a table and then selecting from the table, but that would be a bad way of doing it. First, because sp_who2, despite its popularity, its an undocumented procedure and you shouldn't rely on undocumented procedures. Second because all sp_who2 can do, and much more, can be obtained from sys.dm_exec_requests and other DMVs, and show can be filtered, ordered, joined and all the other goodies that come with queriable rowsets.

NoClassDefFoundError - Eclipse and Android

John O'Connor is right with the issue. The problem stays with installing ADT 17 and above. Found this link for fixing the error:

http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

Alternate output format for psql

Also be sure to check out \H, which toggles HTML output on/off. Not necessarily easy to read at the console, but interesting for dumping into a file (see \o) or pasting into an editor/browser window for viewing, especially with multiple rows of relatively complex data.

Android SDK installation doesn't find JDK

I had the same problem, tried all the solutions but nothing worked. The problem is with Windows 7 installed is 64 bit and all the software that you are installing should be 32 bit. Android SDK itself is 32 bit and it identifies only 32 bit JDK. So install following software.

  1. JDK (32 bit)
  2. Android SDK (while installing SDK, make sure install it in directory other than "C:\Program Files (x86)", more probably in other drive or in the directory where Eclipse is extracted)
  3. Eclipse (32 bit) and finally ADT.

I tried it and all works fine.

Combine several images horizontally with Python

Just adding to the solutions already suggested. Assumes same height, no resizing.

import sys
import glob
from PIL import Image
Image.MAX_IMAGE_PIXELS = 100000000  # For PIL Image error when handling very large images

imgs    = [ Image.open(i) for i in list_im ]

widths, heights = zip(*(i.size for i in imgs))
total_width = sum(widths)
max_height = max(heights)

new_im = Image.new('RGB', (total_width, max_height))

# Place first image
new_im.paste(imgs[0],(0,0))

# Iteratively append images in list horizontally
hoffset=0
for i in range(1,len(imgs),1):
    **hoffset=imgs[i-1].size[0]+hoffset  # update offset**
    new_im.paste(imgs[i],**(hoffset,0)**)

new_im.save('output_horizontal_montage.jpg')

Creating an abstract class in Objective-C

Typically, Objective-C class are abstract by convention only—if the author documents a class as abstract, just don't use it without subclassing it. There is no compile-time enforcement that prevents instantiation of an abstract class, however. In fact, there is nothing to stop a user from providing implementations of abstract methods via a category (i.e. at runtime). You can force a user to at least override certain methods by raising an exception in those methods implementation in your abstract class:

[NSException raise:NSInternalInconsistencyException 
            format:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)];

If your method returns a value, it's a bit easier to use

@throw [NSException exceptionWithName:NSInternalInconsistencyException
                               reason:[NSString stringWithFormat:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)]
                             userInfo:nil];

as then you don't need to add a return statement from the method.

If the abstract class is really an interface (i.e. has no concrete method implementations), using an Objective-C protocol is the more appropriate option.

Which HTML Parser is the best?

Self plug: I have just released a new Java HTML parser: jsoup. I mention it here because I think it will do what you are after.

Its party trick is a CSS selector syntax to find elements, e.g.:

String html = "<html><head><title>First parse</title></head>"
  + "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
Element head = doc.select("head").first();

See the Selector javadoc for more info.

This is a new project, so any ideas for improvement are very welcome!

Client to send SOAP request and receive response

So this is my final code after googling for 2 days on how to add a namespace and make soap request along with the SOAP envelope without adding proxy/Service Reference

class Request
{
    public static void Execute(string XML)
    {
        try
        {
            HttpWebRequest request = CreateWebRequest();
            XmlDocument soapEnvelopeXml = new XmlDocument();
            soapEnvelopeXml.LoadXml(AppendEnvelope(AddNamespace(XML)));

            using (Stream stream = request.GetRequestStream())
            {
                soapEnvelopeXml.Save(stream);
            }

            using (WebResponse response = request.GetResponse())
            {
                using (StreamReader rd = new StreamReader(response.GetResponseStream()))
                {
                    string soapResult = rd.ReadToEnd();
                    Console.WriteLine(soapResult);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
    }

    private static HttpWebRequest CreateWebRequest()
    {
        string ICMURL = System.Configuration.ConfigurationManager.AppSettings.Get("ICMUrl");
        HttpWebRequest webRequest = null;

        try
        {
            webRequest = (HttpWebRequest)WebRequest.Create(ICMURL);
            webRequest.Headers.Add(@"SOAP:Action");
            webRequest.ContentType = "text/xml;charset=\"utf-8\"";
            webRequest.Accept = "text/xml";
            webRequest.Method = "POST";
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
        return webRequest;
    }

    private static string AddNamespace(string XML)
    {
        string result = string.Empty;
        try
        {

            XmlDocument xdoc = new XmlDocument();
            xdoc.LoadXml(XML);

            XmlElement temproot = xdoc.CreateElement("ws", "Request", "http://example.com/");
            temproot.InnerXml = xdoc.DocumentElement.InnerXml;
            result = temproot.OuterXml;

        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }

        return result;
    }

    private static string AppendEnvelope(string data)
    {
        string head= @"<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" ><soapenv:Header/><soapenv:Body>";
        string end = @"</soapenv:Body></soapenv:Envelope>";
        return head + data + end;
    }
}

Entity Framework Core: DbContextOptionsBuilder does not contain a definition for 'usesqlserver' and no extension method 'usesqlserver'

Currently working with Entity Framework Core 3.1.3. None of the above solutions fixed my issue.

However, installing the package Microsoft.EntityFrameworkCore.Proxies on my project fixed the issue. Now I can access the UseLazyLoadingProxies() method call when setting my DBContext options.

Hope this helps someone. See the following article:

Lazy Loading in EF Core

How to use Bootstrap modal using the anchor tag for Register?

You will have to modify the below line:

<li><a href="#" data-toggle="modal" data-target="modalRegister">Register</a></li>

modalRegister is the ID and hence requires a preceding # for ID reference in html.

So, the modified html code snippet would be as follows:

<li><a href="#" data-toggle="modal" data-target="#modalRegister">Register</a></li>

Spring Boot + JPA : Column name annotation ignored

I tried all the above and it didn't work. This worked for me:

@Column(name="TestName")
public String getTestName(){//.........

Annotate the getter instead of the variable

Using Exit button to close a winform program

this.Close();

Closes the form programmatically.

printf \t option

A tab is a tab. How many spaces it consumes is a display issue, and depends on the settings of your shell.

If you want to control the width of your data, then you could use the width sub-specifiers in the printf format string. Eg. :

printf("%5d", 2);

It's not a complete solution (if the value is longer than 5 characters, it will not be truncated), but might be ok for your needs.

If you want complete control, you'll probably have to implement it yourself.

vector vs. list in STL

Make it simple-
At the end of the day when you are confused choosing containers in C++ use this flow chart image ( Say thanks to me ) :-

enter image description here

Vector-

  1. vector is based on contagious memory
  2. vector is way to go for small data-set
  3. vector perform fastest while traversing on data-set
  4. vector insertion deletion is slow on huge data-set but fast for very small

List-

  1. list is based on heap memory
  2. list is way to go for very huge data-set
  3. list is comparatively slow on traversing small data-set but fast at huge data-set
  4. list insertion deletion is fast on huge data-set but slow on smaller ones

Python: get key of index in dictionary

By definition dictionaries are unordered, and therefore cannot be indexed. For that kind of functionality use an ordered dictionary. Python Ordered Dictionary

Python 3 - ValueError: not enough values to unpack (expected 3, got 2)

ValueErrors :In Python, a value is the information that is stored within a certain object. To encounter a ValueError in Python means that is a problem with the content of the object you tried to assign the value to.

in your case name,lastname and email 3 parameters are there but unpaidmembers only contain 2 of them.

name, lastname, email in unpaidMembers.items() so you should refer data or your code might be
lastname, email in unpaidMembers.items() or name, email in unpaidMembers.items()

'adb' is not recognized as an internal or external command, operable program or batch file

If your OS is Windows, then it is very simple. When you install Android Studio, adb.exe is located in the following folder:

C:\Users\**your-user-name**\AppData\Local\Android\Sdk\platform-tools

Copy the path and paste in your environment variables.

Open your terminal and type: adb it's done!

Adding an onclick event to a div element

I think You are using //--style="display:none"--// for hiding the div.

Use this code:

<script>
    function klikaj(i) {
        document.getElementById(i).style.display = 'block';
    }
</script>
<div id="thumb0" class="thumbs" onclick="klikaj('rad1')">Click Me..!</div>
<div id="rad1" class="thumbs" style="display:none">Helloooooo</div>

How do I create a dynamic key to be added to a JavaScript object variable

Square brackets:

jsObj['key' + i] = 'example' + 1;

In JavaScript, all arrays are objects, but not all objects are arrays. The primary difference (and one that's pretty hard to mimic with straight JavaScript and plain objects) is that array instances maintain the length property so that it reflects one plus the numeric value of the property whose name is numeric and whose value, when converted to a number, is the largest of all such properties. That sounds really weird, but it just means that given an array instance, the properties with names like "0", "5", "207", and so on, are all treated specially in that their existence determines the value of length. And, on top of that, the value of length can be set to remove such properties. Setting the length of an array to 0 effectively removes all properties whose names look like whole numbers.

OK, so that's what makes an array special. All of that, however, has nothing at all to do with how the JavaScript [ ] operator works. That operator is an object property access mechanism which works on any object. It's important to note in that regard that numeric array property names are not special as far as simple property access goes. They're just strings that happen to look like numbers, but JavaScript object property names can be any sort of string you like.

Thus, the way the [ ] operator works in a for loop iterating through an array:

for (var i = 0; i < myArray.length; ++i) {
  var value = myArray[i]; // property access
  // ...
}

is really no different from the way [ ] works when accessing a property whose name is some computed string:

var value = jsObj["key" + i];

The [ ] operator there is doing precisely the same thing in both instances. The fact that in one case the object involved happens to be an array is unimportant, in other words.

When setting property values using [ ], the story is the same except for the special behavior around maintaining the length property. If you set a property with a numeric key on an array instance:

myArray[200] = 5;

then (assuming that "200" is the biggest numeric property name) the length property will be updated to 201 as a side-effect of the property assignment. If the same thing is done to a plain object, however:

myObj[200] = 5;

there's no such side-effect. The property called "200" of both the array and the object will be set to the value 5 in otherwise the exact same way.

One might think that because that length behavior is kind-of handy, you might as well make all objects instances of the Array constructor instead of plain objects. There's nothing directly wrong about that (though it can be confusing, especially for people familiar with some other languages, for some properties to be included in the length but not others). However, if you're working with JSON serialization (a fairly common thing), understand that array instances are serialized to JSON in a way that only involves the numerically-named properties. Other properties added to the array will never appear in the serialized JSON form. So for example:

var obj = [];
obj[0] = "hello world";
obj["something"] = 5000;

var objJSON = JSON.stringify(obj);

the value of "objJSON" will be a string containing just ["hello world"]; the "something" property will be lost.

ES2015:

If you're able to use ES6 JavaScript features, you can use Computed Property Names to handle this very easily:

var key = 'DYNAMIC_KEY',
    obj = {
        [key]: 'ES6!'
    };

console.log(obj);
// > { 'DYNAMIC_KEY': 'ES6!' }

How do I delete everything in Redis?

There are different approaches. If you want to do this from remote, issue flushall to that instance, through command line tool redis-cli or whatever tools i.e. telnet, a programming language SDK. Or just log in that server, kill the process, delete its dump.rdb file and appendonly.aof(backup them before deletion).

How to use a SQL SELECT statement with Access VBA

Access 2007 can lose the CurrentDb: see http://support.microsoft.com/kb/167173, so in the event of getting "Object Invalid or no longer set" with the examples, use:

Dim db as Database
Dim rs As DAO.Recordset
Set db = CurrentDB
Set rs = db.OpenRecordset("SELECT * FROM myTable")

Easy way to use variables of enum types as string in C?

Check out the ideas at Mu Dynamics Research Labs - Blog Archive. I found this earlier this year - I forget the exact context where I came across it - and have adapted it into this code. We can debate the merits of adding an E at the front; it is applicable to the specific problem addressed, but not part of a general solution. I stashed this away in my 'vignettes' folder - where I keep interesting scraps of code in case I want them later. I'm embarrassed to say that I didn't keep a note of where this idea came from at the time.

Header: paste1.h

/*
@(#)File:           $RCSfile: paste1.h,v $
@(#)Version:        $Revision: 1.1 $
@(#)Last changed:   $Date: 2008/05/17 21:38:05 $
@(#)Purpose:        Automated Token Pasting
*/

#ifndef JLSS_ID_PASTE_H
#define JLSS_ID_PASTE_H

/*
 * Common case when someone just includes this file.  In this case,
 * they just get the various E* tokens as good old enums.
 */
#if !defined(ETYPE)
#define ETYPE(val, desc) E##val,
#define ETYPE_ENUM
enum {
#endif /* ETYPE */

   ETYPE(PERM,  "Operation not permitted")
   ETYPE(NOENT, "No such file or directory")
   ETYPE(SRCH,  "No such process")
   ETYPE(INTR,  "Interrupted system call")
   ETYPE(IO,    "I/O error")
   ETYPE(NXIO,  "No such device or address")
   ETYPE(2BIG,  "Arg list too long")

/*
 * Close up the enum block in the common case of someone including
 * this file.
 */
#if defined(ETYPE_ENUM)
#undef ETYPE_ENUM
#undef ETYPE
ETYPE_MAX
};
#endif /* ETYPE_ENUM */

#endif /* JLSS_ID_PASTE_H */

Example source:

/*
@(#)File:           $RCSfile: paste1.c,v $
@(#)Version:        $Revision: 1.2 $
@(#)Last changed:   $Date: 2008/06/24 01:03:38 $
@(#)Purpose:        Automated Token Pasting
*/

#include "paste1.h"

static const char *sys_errlist_internal[] = {
#undef JLSS_ID_PASTE_H
#define ETYPE(val, desc) desc,
#include "paste1.h"
    0
#undef ETYPE
};

static const char *xerror(int err)
{
    if (err >= ETYPE_MAX || err <= 0)
        return "Unknown error";
    return sys_errlist_internal[err];
}

static const char*errlist_mnemonics[] = {
#undef JLSS_ID_PASTE_H
#define ETYPE(val, desc) [E ## val] = "E" #val,
#include "paste1.h"
#undef ETYPE
};

#include <stdio.h>

int main(void)
{
    int i;

    for (i = 0; i < ETYPE_MAX; i++)
    {
        printf("%d: %-6s: %s\n", i, errlist_mnemonics[i], xerror(i));
    }
    return(0);
}

Not necessarily the world's cleanest use of the C pre-processor - but it does prevent writing the material out multiple times.

Filter element based on .data() key/value

Sounds like more work than its worth.

1) Why not just have a single JavaScript variable that stores a reference to the currently selected element\jQuery object.

2) Why not add a class to the currently selected element. Then you could query the DOM for the ".active" class or something.

What is the use of the @Temporal annotation in Hibernate?

We use @Temporal annotation to insert date, time or both in database table.Using TemporalType we can insert data, time or both int table.

@Temporal(TemporalType.DATE) // insert date
@Temporal(TemporalType.TIME) // insert time
@Temporal(TemporalType.TIMESTAMP) // insert  both time and date.

How do I remove an item from a stl vector with a certain value?

If you want to do it without any extra includes:

vector<IComponent*> myComponents; //assume it has items in it already.
void RemoveComponent(IComponent* componentToRemove)
{
    IComponent* juggler;

    if (componentToRemove != NULL)
    {
        for (int currComponentIndex = 0; currComponentIndex < myComponents.size(); currComponentIndex++)
        {
            if (componentToRemove == myComponents[currComponentIndex])
            {
                //Since we don't care about order, swap with the last element, then delete it.
                juggler = myComponents[currComponentIndex];
                myComponents[currComponentIndex] = myComponents[myComponents.size() - 1];
                myComponents[myComponents.size() - 1] = juggler;

                //Remove it from memory and let the vector know too.
                myComponents.pop_back();
                delete juggler;
            }
        }
    }
}

How to select date from datetime column?

simple and best way to use date function

example

SELECT * FROM 
data 
WHERE date(datetime) = '2009-10-20' 

OR

SELECT * FROM 
data 
WHERE date(datetime ) >=   '2009-10-20'  && date(datetime )  <= '2009-10-20'

Understanding PrimeFaces process/update and JSF f:ajax execute/render attributes

If you have a hard time remembering the default values (I know I have...) here's a short extract from BalusC's answer:

Component    | Submit          | Refresh
------------ | --------------- | --------------
f:ajax       | execute="@this" | render="@none"
p:ajax       | process="@this" | update="@none"
p:commandXXX | process="@form" | update="@none"

Anyway to prevent the Blue highlighting of elements in Chrome when clicking quickly?

To remove the blue overlay on mobiles, you can use one of the following:

-webkit-tap-highlight-color: transparent; /* transparent with keyword */
-webkit-tap-highlight-color: rgba(0,0,0,0); /* transparent with rgba */
-webkit-tap-highlight-color: hsla(0,0,0,0); /* transparent with hsla */
-webkit-tap-highlight-color: #00000000; /* transparent with hex with alpha */
-webkit-tap-highlight-color: #0000; /* transparent with short hex with alpha */

However, unlike other properties, you can't use

-webkit-tap-highlight-color: none; /* none keyword */

In DevTools, this will show up as an 'invalid property value' or something.


To remove the blue/black/orange outline when focused, use this:

:focus {
    outline: none; /* no outline - for most browsers */
    box-shadow: none; /* no box shadow - for some browsers or if you are using Bootstrap */
}

The reason why I removed the box-shadow is because Bootsrap (and some browsers) sometimes add it to focused elements, so you can remove it using this.

But if anyone is navigating with a keyboard, they will get very confused indeed, because they rely on this outline to navigate. So you can replace it instead

:focus {
    outline: 100px dotted #f0f; /* 100px dotted pink outline */
}

You can target taps on mobile using :hover or :active, so you could use those to help, possibly. Or it could get confusing.


Full code:

element {
    -webkit-tap-highlight-color: transparent; /* remove tap highlight */
}
element:focus {
    outline: none; /* remove outline */
    box-shadow: none; /* remove box shadow */
}

Other information:

  • If you would like to customise the -webkit-tap-highlight-color then you should set it to a semi-transparent color so the element underneath doesn't get hidden when tapped
  • Please don't remove the outline from focused elements, or add some more styles for them.
  • -webkit-tap-highlight-color has not got great browser support and is not standard. You can still use it, but watch out!

Bootstrap 3: How to get two form inputs on one line and other inputs on individual lines?

You can code like two input box inside one div

<div class="input-group">
            <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
            <input style="width:50% " class="form-control " placeholder="first name"  name="firstname" type="text" />
            <input style="width:50% " class="form-control " placeholder="lastname"  name="lastname" type="text" />
        </div>

How to find which version of Oracle is installed on a Linux server (In terminal)

As A.B.Cada pointed out, you can query the database itself with sqlplus for the db version. That is the easiest way to findout what is the version of the db that is actively running. If there is more than one you will have to set the oracle_sid appropriately and run the query against each instance.

You can view /etc/oratab file to see what instance and what db home is used per instance. Its possible to have multiple version of oracle installed per server as well as multiple instances. The /etc/oratab file will list all instances and db home. From with the oracle db home you can run "opatch lsinventory" to find out what exaction version of the db is installed as well as any patches applied to that db installation.

Increase permgen space

You can use :

-XX:MaxPermSize=128m

to increase the space. But this usually only postpones the inevitable.

You can also enable the PermGen to be garbage collected

-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Usually this occurs when doing lots of redeploys. I am surprised you have it using something like indexing. Use virtualvm or jconsole to monitor the Perm gen space and check it levels off after warming up the indexing.

Maybe you should consider changing to another JVM like the IBM JVM. It does not have a Permanent Generation and is immune to this issue.

JavaScript/jQuery to download file via POST with JSON data

I have been awake for two days now trying to figure out how to download a file using jquery with ajax call. All the support i got could not help my situation until i try this.

Client Side

_x000D_
_x000D_
function exportStaffCSV(t) {_x000D_
   _x000D_
    var postData = { checkOne: t };_x000D_
    $.ajax({_x000D_
        type: "POST",_x000D_
        url: "/Admin/Staff/exportStaffAsCSV",_x000D_
        data: postData,_x000D_
        success: function (data) {_x000D_
            SuccessMessage("file download will start in few second..");_x000D_
            var url = '/Admin/Staff/DownloadCSV?data=' + data;_x000D_
            window.location = url;_x000D_
        },_x000D_
       _x000D_
        traditional: true,_x000D_
        error: function (xhr, status, p3, p4) {_x000D_
            var err = "Error " + " " + status + " " + p3 + " " + p4;_x000D_
            if (xhr.responseText && xhr.responseText[0] == "{")_x000D_
                err = JSON.parse(xhr.responseText).Message;_x000D_
            ErrorMessage(err);_x000D_
        }_x000D_
    });_x000D_
_x000D_
}
_x000D_
_x000D_
_x000D_

Server Side

 [HttpPost]
    public string exportStaffAsCSV(IEnumerable<string> checkOne)
    {
        StringWriter sw = new StringWriter();
        try
        {
            var data = _db.staffInfoes.Where(t => checkOne.Contains(t.staffID)).ToList();
            sw.WriteLine("\"First Name\",\"Last Name\",\"Other Name\",\"Phone Number\",\"Email Address\",\"Contact Address\",\"Date of Joining\"");
            foreach (var item in data)
            {
                sw.WriteLine(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\",\"{6}\"",
                    item.firstName,
                    item.lastName,
                    item.otherName,
                    item.phone,
                    item.email,
                    item.contact_Address,
                    item.doj
                    ));
            }
        }
        catch (Exception e)
        {

        }
        return sw.ToString();

    }

    //On ajax success request, it will be redirected to this method as a Get verb request with the returned date(string)
    public FileContentResult DownloadCSV(string data)
    {
        return File(new System.Text.UTF8Encoding().GetBytes(data), System.Net.Mime.MediaTypeNames.Application.Octet, filename);
        //this method will now return the file for download or open.
    }

Good luck.

How to force addition instead of concatenation in javascript

Should also be able to do this:

total += eval(myInt1) + eval(myInt2) + eval(myInt3);

This helped me in a different, but similar, situation.

How can I check for NaN values?

All the methods to tell if the variable is NaN or None:

None type

In [1]: from numpy import math

In [2]: a = None
In [3]: not a
Out[3]: True

In [4]: len(a or ()) == 0
Out[4]: True

In [5]: a == None
Out[5]: True

In [6]: a is None
Out[6]: True

In [7]: a != a
Out[7]: False

In [9]: math.isnan(a)
Traceback (most recent call last):
  File "<ipython-input-9-6d4d8c26d370>", line 1, in <module>
    math.isnan(a)
TypeError: a float is required

In [10]: len(a) == 0
Traceback (most recent call last):
  File "<ipython-input-10-65b72372873e>", line 1, in <module>
    len(a) == 0
TypeError: object of type 'NoneType' has no len()

NaN type

In [11]: b = float('nan')
In [12]: b
Out[12]: nan

In [13]: not b
Out[13]: False

In [14]: b != b
Out[14]: True

In [15]: math.isnan(b)
Out[15]: True

How do I Validate the File Type of a File Upload?

I think there are different ways to do this. Since im not familiar with asp i can only give you some hints to check for a specific filetype:

1) the safe way: get more informations about the header of the filetype you wish to pass. parse the uploaded file and compare the headers

2) the quick way: split the name of the file into two pieces -> name of the file and the ending of the file. check out the ending of the file and compare it to the filetype you want to allow to be uploaded

hope it helps :)

Linux: where are environment variables stored?

Type "set" and you will get a list of all the current variables. If you want something to persist put it in ~/.bashrc or ~/.bash_profile (if you're using bash)

T-SQL loop over query results

DECLARE @id INT
DECLARE @filename NVARCHAR(100)
DECLARE @getid CURSOR

SET @getid = CURSOR FOR
SELECT top 3 id,
filename 
FROM  table

OPEN @getid
WHILE 1=1
BEGIN

    FETCH NEXT
    FROM @getid INTO @id, @filename
    IF @@FETCH_STATUS < 0 BREAK

    print @id

END


CLOSE @getid
DEALLOCATE @getid

Jquery open popup on button click for bootstrap

Give an ID to uniquely identify the button, lets say myBtn

// when DOM is ready
$(document).ready(function () {

     // Attach Button click event listener 
    $("#myBtn").click(function(){

         // show Modal
         $('#myModal').modal('show');
    });
});

JSFIDDLE

jQuery/JavaScript to replace broken images

I solved my problem with these two simple functions:

function imgExists(imgPath) {
    var http = jQuery.ajax({
                   type:"HEAD",
                   url: imgPath,
                   async: false
               });
    return http.status != 404;
}

function handleImageError() {
    var imgPath;

    $('img').each(function() {
        imgPath = $(this).attr('src');
        if (!imgExists(imgPath)) {
            $(this).attr('src', 'images/noimage.jpg');
        }
    });
}

CSS3 :unchecked pseudo-class

There is no :unchecked pseudo class however if you use the :checked pseudo class and the sibling selector you can differentiate between both states. I believe all of the latest browsers support the :checked pseudo class, you can find more info from this resource: http://www.whatstyle.net/articles/18/pretty_form_controls_with_css

Your going to get better browser support with jquery... you can use a click function to detect when the click happens and if its checked or not, then you can add a class or remove a class as necessary...

Pass array to where in Codeigniter Active Record

From the Active Record docs:

$this->db->where_in();

Generates a WHERE field IN ('item', 'item') SQL query joined with AND if appropriate

$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Produces: WHERE username IN ('Frank', 'Todd', 'James')

Is there a W3C valid way to disable autocomplete in a HTML form?

If you use jQuery, you can do something like that :

$(document).ready(function(){$("input.autocompleteOff").attr("autocomplete","off");});

and use the autocompleteOff class where you want :

<input type="text" name="fieldName" id="fieldId" class="firstCSSClass otherCSSClass autocompleteOff" />

If you want ALL your input to be autocomplete=off, you can simply use that :

$(document).ready(function(){$("input").attr("autocomplete","off");});

Can we define min-margin and max-margin, max-padding and min-padding in css?

I think I just ran into a similar issue where I was trying to center a login box (like the gmail login box). When resizing the window, the center box would overflow out of the browser window (top) as soon as the browser window became smaller than the box. Because of this, in a small window, even when scrolling up, the top content was lost.

I was able to fix this by replacing the centering method I used by the "margin: auto" way of centering the box in its container. This prevents the box from overflowing in my case, keeping all content available. (minimum margin seems to be 0).

Good Luck !

edit: margin: auto only works to vertically center something if the parent element has its display property set to "flex".

Flexbox: center horizontally and vertically

Hope this will help.

.flex-container {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
row {
  width: 100%;
}
.flex-item {
  background: tomato;
  padding: 5px;
  width: 200px;
  height: 150px;
  margin: 10px;
  line-height: 150px;
  color: white;
  font-weight: bold;
  font-size: 3em;
  text-align: center;
}

Can anyone recommend a simple Java web-app framework?

try Wavemaker http://wavemaker.com Free, easy to use. The learning curve to build great-looking Java applications with WaveMaker isjust a few weeks!

How can I truncate a double to only two decimal places in Java?

If you want that for display purposes, use java.text.DecimalFormat:

 new DecimalFormat("#.##").format(dblVar);

If you need it for calculations, use java.lang.Math:

 Math.floor(value * 100) / 100;

Best Way to read rss feed in .net Using C#

You're looking for the SyndicationFeed class, which does exactly that.

How to "flatten" a multi-dimensional array to simple one in PHP?

Someone might find this useful, I had a problem flattening array at some dimension, I would call it last dimension so for example, if I have array like:

array (
  'germany' => 
  array (
    'cars' => 
    array (
      'bmw' => 
      array (
        0 => 'm4',
        1 => 'x3',
        2 => 'x8',
      ),
    ),
  ),
  'france' => 
  array (
    'cars' => 
    array (
      'peugeot' => 
      array (
        0 => '206',
        1 => '3008',
        2 => '5008',
      ),
    ),
  ),
)

Or:

array (
  'earth' => 
  array (
    'germany' => 
    array (
      'cars' => 
      array (
        'bmw' => 
        array (
          0 => 'm4',
          1 => 'x3',
          2 => 'x8',
        ),
      ),
    ),
  ),
  'mars' => 
  array (
    'france' => 
    array (
      'cars' => 
      array (
        'peugeot' => 
        array (
          0 => '206',
          1 => '3008',
          2 => '5008',
        ),
      ),
    ),
  ),
)

For both of these arrays when I call method below I get result:

array (
  0 => 
  array (
    0 => 'm4',
    1 => 'x3',
    2 => 'x8',
  ),
  1 => 
  array (
    0 => '206',
    1 => '3008',
    2 => '5008',
  ),
)

So I am flattening to last array dimension which should stay the same, method below could be refactored to actually stop at any kind of level:

function flattenAggregatedArray($aggregatedArray) {
    $final = $lvls = [];
    $counter = 1;
    $lvls[$counter] = $aggregatedArray;


    $elem = current($aggregatedArray);

    while ($elem){
        while(is_array($elem)){
            $counter++;
            $lvls[$counter] = $elem;
            $elem =  current($elem);
        }

        $final[] = $lvls[$counter];
        $elem = next($lvls[--$counter]);
        while ( $elem  == null){
            if (isset($lvls[$counter-1])){
                $elem = next($lvls[--$counter]);
            }
            else{
                return $final;
            }
        }
    }
}

MySQLi prepared statements error reporting

Not sure if this answers your question or not. Sorry if not

To get the error reported from the mysql database about your query you need to use your connection object as the focus.

so:

echo $mysqliDatabaseConnection->error

would echo the error being sent from mysql about your query.

Hope that helps

How to hide the bar at the top of "youtube" even when mouse hovers over it?

To remove you tube controls and title you can do something like this.

<iframe width="560" height="315" src="https://www.youtube.com/embed/zP0Wnb9RI9Q?autoplay=1&showinfo=0&controls=0" frameborder="0" allowfullscreen ></iframe>

check this example how it look

showinfo=0 is used to remove title and &controls=0 is used for remove controls like volume,play,pause,expend.

How to add an element to the beginning of an OrderedDict?

You may want to use a different structure altogether, but there are ways to do it in python 2.7.

d1 = OrderedDict([('a', '1'), ('b', '2')])
d2 = OrderedDict(c='3')
d2.update(d1)

d2 will then contain

>>> d2
OrderedDict([('c', '3'), ('a', '1'), ('b', '2')])

As mentioned by others, in python 3.2 you can use OrderedDict.move_to_end('c', last=False) to move a given key after insertion.

Note: Take into consideration that the first option is slower for large datasets due to creation of a new OrderedDict and copying of old values.

How to represent a fix number of repeats in regular expression?

In Java create the pattern with Pattern p = Pattern.compile("^\\w{14}$"); for further information see the javadoc

Height equal to dynamic width (CSS fluid layout)

Extremely simple method jsfiddle

HTML

<div id="container">
    <div id="element">
        some text
    </div>
</div>

CSS

#container {
    width: 50%; /* desired width */
}

#element {
    height: 0;
    padding-bottom: 100%;
}

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);

How can I capture packets in Android?

Option 1 - Android PCAP

Limitation

Android PCAP should work so long as:

Your device runs Android 4.0 or higher (or, in theory, the few devices which run Android 3.2). Earlier versions of Android do not have a USB Host API

Option 2 - TcpDump

Limitation

Phone should be rooted

Option 3 - bitshark (I would prefer this)

Limitation

Phone should be rooted

Reason - the generated PCAP files can be analyzed in WireShark which helps us in doing the analysis.

Other Options without rooting your phone

  1. tPacketCapture

https://play.google.com/store/apps/details?id=jp.co.taosoftware.android.packetcapture&hl=en

Advantages

Using tPacketCapture is very easy, captured packet save into a PCAP file that can be easily analyzed by using a network protocol analyzer application such as Wireshark.

  1. You can route your android mobile traffic to PC and capture the traffic in the desktop using any network sniffing tool.

http://lifehacker.com/5369381/turn-your-windows-7-pc-into-a-wireless-hotspot

Can we have functions inside functions in C++?

Let me post a solution here for C++03 that I consider the cleanest possible.*

#define DECLARE_LAMBDA(NAME, RETURN_TYPE, FUNCTION) \
    struct { RETURN_TYPE operator () FUNCTION } NAME;

...

int main(){
  DECLARE_LAMBDA(demoLambda, void, (){ cout<<"I'm a lambda!"<<endl; });
  demoLambda();

  DECLARE_LAMBDA(plus, int, (int i, int j){
    return i+j;
  });
  cout << "plus(1,2)=" << plus(1,2) << endl;
  return 0;
}

(*) in the C++ world using macros is never considered clean.

How to call stopservice() method of Service class from the calling activity class

@Juri

If you add IntentFilters for your service, you are saying you want to expose your service to other applications, then it may be stopped unexpectedly by other applications.

How to concatenate int values in java?

Couldn't you just make the numbers strings, concatenate them, and convert the strings to an integer value?

How to obtain the total numbers of rows from a CSV file in Python?

If you are working on a Unix system, the fastest method is the following shell command

cat FILE_NAME.CSV | wc -l

From Jupyter Notebook or iPython, you can use it with a !:

! cat FILE_NAME.CSV | wc -l

Checking if element exists with Python Selenium

None of the solutions provided seemed at all easiest to me, so I'd like to add my own way.

Basically, you get the list of the elements instead of just the element and then count the results; if it's zero, then it doesn't exist. Example:

if driver.find_elements_by_css_selector('#element'):
    print "Element exists"

Notice the "s" in find_elements_by_css_selector to make sure it can be countable.

EDIT: I was checking the len( of the list, but I recently learned that an empty list is falsey, so you don't need to get the length of the list at all, leaving for even simpler code.

Also, another answer says that using xpath is more reliable, which is just not true. See What is the difference between css-selector & Xpath? which is better(according to performance & for cross browser testing)?

How to change font size in Eclipse for Java text editors?

Running Eclipse v4.3 (Kepler), the steps outlined by AlvaroCachoperro do the trick for the Java text editor and console window text.

Many of the text font options, including the Java Editor Text Font note, are "set to default: Text Font". The 'default' can be found and configured as follows:

On the Eclipse toolbar, select Window ? Preferences. Drill down to: (General ? Appearance ? Colors and Fonts ? Basic ? Text Font) (at the bottom)

  • Click Edit and select the font, style and size
  • Click OK in the Font dialog
  • Click Apply in the Preferences dialog to check it
  • Click OK in the Preferences dialog to save it

Eclipse will remember your settings for your current workspace.

I teach programming and use the larger font for the students in the back.

Key error when selecting columns in pandas dataframe after read_csv

use sep='\s*,\s*' so that you will take care of spaces in column-names:

transactions = pd.read_csv('transactions.csv', sep=r'\s*,\s*',
                           header=0, encoding='ascii', engine='python')

alternatively you can make sure that you don't have unquoted spaces in your CSV file and use your command (unchanged)

prove:

print(transactions.columns.tolist())

Output:

['product_id', 'customer_id', 'store_id', 'promotion_id', 'month_of_year', 'quarter', 'the_year', 'store_sales', 'store_cost', 'unit_sales', 'fact_count']

Javascript onHover event

Can you clarify your question? What is "ohHover" in this case and how does it correspond to a delay in hover time?

That said, I think what you probably want is...

var timeout;
element.onmouseover = function(e) {
    timeout = setTimeout(function() {
        // ...
    }, delayTimeMs)
};
element.onmouseout = function(e) {
    if(timeout) {
        clearTimeout(timeout);
    }
};

Or addEventListener/attachEvent or your favorite library's event abstraction method.

What's the best way to test SQL Server connection programmatically?

Here is my version based on the @peterincumbria answer:

using var scope = _serviceProvider.CreateScope();
var dbContext = scope.ServiceProvider.GetRequiredService<AppDbContext>();
return await dbContext.Database.CanConnectAsync(cToken);

I'm using Observable for polling health checking by interval and handling return value of the function. try-catch is not needed here because: enter image description here

How to Detect if I'm Compiling Code with a particular Visual Studio version?

Yep _MSC_VER is the macro that'll get you the compiler version. The last number of releases of Visual C++ have been of the form <compiler-major-version>.00.<build-number>, where 00 is the minor number. So _MSC_VER will evaluate to <major-version><minor-version>.

You can use code like this:

#if (_MSC_VER == 1500)
   // ... Do VC9/Visual Studio 2008 specific stuff
#elif (_MSC_VER == 1600)
   // ... Do VC10/Visual Studio 2010 specific stuff
#elif (_MSC_VER == 1700)
   // ... Do VC11/Visual Studio 2012 specific stuff
#endif

It appears updates between successive releases of the compiler, have not modified the compiler-minor-version, so the following code is not required:

#if (_MSC_VER >= 1500 && _MSC_VER <= 1600)
   // ... Do VC9/Visual Studio 2008 specific stuff
#endif

Access to more detailed versioning information (such as compiler build number) can be found using other builtin pre-processor variables here.

string.split - by multiple character delimiter

Regex.Split("abc][rfd][5][,][.", @"\]\]");

How do I compile jrxml to get jasper?

In iReport 5.5.0, just right click the report base hierarchy in Report Inspector Bloc Window viewer, then click Compile Report

In iReport, just right click the report base hierachy in Report

You can now see the result in the console down. If no Errors, you may see something like this.

enter image description here

Preprocessing in scikit learn - single sample - Depreciation warning

Just listen to what the warning is telling you:

Reshape your data either X.reshape(-1, 1) if your data has a single feature/column and X.reshape(1, -1) if it contains a single sample.

For your example type(if you have more than one feature/column):

temp = temp.reshape(1,-1) 

For one feature/column:

temp = temp.reshape(-1,1)

How do you create a Distinct query in HQL

Here's a snippet of hql that we use. (Names have been changed to protect identities)

String queryString = "select distinct f from Foo f inner join foo.bars as b" +
                " where f.creationDate >= ? and f.creationDate < ? and b.bar = ?";
        return getHibernateTemplate().find(queryString, new Object[] {startDate, endDate, bar});

How to pause javascript code execution for 2 seconds

Javascript is single-threaded, so by nature there should not be a sleep function because sleeping will block the thread. setTimeout is a way to get around this by posting an event to the queue to be executed later without blocking the thread. But if you want a true sleep function, you can write something like this:

function sleep(miliseconds) {
   var currentTime = new Date().getTime();

   while (currentTime + miliseconds >= new Date().getTime()) {
   }
}

Note: The above code is NOT recommended.

How to convert a .eps file to a high quality 1024x1024 .jpg?

For vector graphics, ImageMagick has both a render resolution and an output size that are independent of each other.

Try something like

convert -density 300 image.eps -resize 1024x1024 image.jpg

Which will render your eps at 300dpi. If 300 * width > 1024, then it will be sharp. If you render it too high though, you waste a lot of memory drawing a really high-res graphic only to down sample it again. I don't currently know of a good way to render it at the "right" resolution in one IM command.

The order of the arguments matters! The -density X argument needs to go before image.eps because you want to affect the resolution that the input file is rendered at.

This is not super obvious in the manpage for convert, but is hinted at:

SYNOPSIS

convert [input-option] input-file [output-option] output-file

Downcasting in Java

Using your example, you could do:

public void doit(A a) {
    if(a instanceof B) {
        // needs to cast to B to access draw2 which isn't present in A
        // note that this is probably not a good OO-design, but that would
        // be out-of-scope for this discussion :)
        ((B)a).draw2();
    }
    a.draw();
}

Automatically capture output of last command into a variable using Bash?

I think you might be able to hack out a solution that involves setting your shell to a script containing:

#!/bin/sh
bash | tee /var/log/bash.out.log

Then if you set $PROMPT_COMMAND to output a delimiter, you can write a helper function (maybe called _) that gets you the last chunk of that log, so you can use it like:

% find lots*of*files
...
% echo "$(_)"
... # same output, but doesn't run the command again

Show animated GIF

//Class Name
public class ClassName {
//Make it runnable
public static void main(String args[]) throws MalformedURLException{
//Get the URL
URL img = this.getClass().getResource("src/Name.gif");
//Make it to a Icon
Icon icon = new ImageIcon(img);
//Make a new JLabel that shows "icon"
JLabel Gif = new JLabel(icon);

//Make a new Window
JFrame main = new JFrame("gif");
//adds the JLabel to the Window
main.getContentPane().add(Gif);
//Shows where and how big the Window is
main.setBounds(x, y, H, W);
//set the Default Close Operation to Exit everything on Close
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Open the Window
main.setVisible(true);
   }
}

Programmatically saving image to Django ImageField

If you want to just "set" the actual filename, without incurring the overhead of loading and re-saving the file (!!), or resorting to using a charfield (!!!), you might want to try something like this --

model_instance.myfile = model_instance.myfile.field.attr_class(model_instance, model_instance.myfile.field, 'my-filename.jpg')

This will light up your model_instance.myfile.url and all the rest of them just as if you'd actually uploaded the file.

Like @t-stone says, what we really want, is to be able to set instance.myfile.path = 'my-filename.jpg', but Django doesn't currently support that.

Multi-threading in VBA

As said before, VBA does not support Multithreading.

But you don't need to use C# or vbScript to start other VBA worker threads.

I use VBA to create VBA worker threads.

First copy the makro workbook for every thread you want to start.

Then you can start new Excel Instances (running in another Thread) simply by creating an instance of Excel.Application (to avoid errors i have to set the new application to visible).

To actually run some task in another thread i can then start a makro in the other application with parameters form the master workbook.

To return to the master workbook thread without waiting i simply use Application.OnTime in the worker thread (where i need it).

As semaphore i simply use a collection that is shared with all threads. For callbacks pass the master workbook to the worker thread. There the runMakroInOtherInstance Function can be reused to start a callback.

'Create new thread and return reference to workbook of worker thread
Public Function openNewInstance(ByVal fileName As String, Optional ByVal openVisible As Boolean = True) As Workbook
    Dim newApp As New Excel.Application
    ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & fileName
    If openVisible Then newApp.Visible = True
    Set openNewInstance = newApp.Workbooks.Open(ThisWorkbook.Path & "\" & fileName, False, False) 
End Function

'Start macro in other instance and wait for return (OnTime used in target macro)
Public Sub runMakroInOtherInstance(ByRef otherWkb As Workbook, ByVal strMakro As String, ParamArray var() As Variant)
    Dim makroName As String
    makroName = "'" & otherWkb.Name & "'!" & strMakro
    Select Case UBound(var)
        Case -1:
            otherWkb.Application.Run makroName
        Case 0:
            otherWkb.Application.Run makroName, var(0)
        Case 1:
            otherWkb.Application.Run makroName, var(0), var(1)
        Case 2:
            otherWkb.Application.Run makroName, var(0), var(1), var(2)
        Case 3:
            otherWkb.Application.Run makroName, var(0), var(1), var(2), var(3)
        Case 4:
            otherWkb.Application.Run makroName, var(0), var(1), var(2), var(3), var(4)
        Case 5:
            otherWkb.Application.Run makroName, var(0), var(1), var(2), var(3), var(4), var(5)
    End Select
End Sub

Public Sub SYNCH_OR_WAIT()
    On Error Resume Next
    While masterBlocked.Count > 0
        DoEvents
    Wend
    masterBlocked.Add "BLOCKED", ThisWorkbook.FullName
End Sub

Public Sub SYNCH_RELEASE()
    On Error Resume Next
    masterBlocked.Remove ThisWorkbook.FullName
End Sub

Sub runTaskParallel()
    ...
    Dim controllerWkb As Workbook
    Set controllerWkb = openNewInstance("controller.xlsm")

    runMakroInOtherInstance controllerWkb, "CONTROLLER_LIST_FILES", ThisWorkbook, rootFold, masterBlocked
    ...
End Sub

How to get name of the computer in VBA?

A shell method to read the environmental variable for this courtesy of devhut

Debug.Print CreateObject("WScript.Shell").ExpandEnvironmentStrings("%COMPUTERNAME%")

Same source gives an API method:

Option Explicit

#If VBA7 And Win64 Then
    'x64 Declarations
    Declare PtrSafe Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
#Else
    'x32 Declaration
    Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
#End If

Public Sub test()

    Debug.Print ComputerName
    
End Sub

Public Function ComputerName() As String
    Dim sBuff                 As String * 255
    Dim lBuffLen              As Long
    Dim lResult               As Long
 
    lBuffLen = 255
    lResult = GetComputerName(sBuff, lBuffLen)
    If lBuffLen > 0 Then
        ComputerName = Left(sBuff, lBuffLen)
    End If
End Function

Why do Twitter Bootstrap tables always have 100% width?

<table style="width: auto;" ... works fine. Tested in Chrome 38 , IE 11 and Firefox 34.

jsfiddle : http://jsfiddle.net/rpaul/taqodr8o/

MySQL Query - Records between Today and Last 30 Days

You can also write this in mysql -

SELECT  DATE_FORMAT(create_date, '%m/%d/%Y')
FROM    mytable
WHERE   create_date < DATE_ADD(NOW(), INTERVAL -1 MONTH);

FIXED

An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode

The 2nd option is the one you want.

In your web.config, make sure these keys exist:

<configuration>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
    </system.webServer>
</configuration>

Redirect all output to file using Bash on Linux?

I had trouble with a crashing program *cough PHP cough* Upon crash the shell it was ran in reports the crash reason, Segmentation fault (core dumped)

To avoid this output not getting logged, the command can be run in a subshell that will capture and direct these kind of output:

sh -c 'your_command' > your_stdout.log 2> your_stderr.err
# or
sh -c 'your_command' > your_stdout.log 2>&1

How do I resolve `The following packages have unmet dependencies`

This is a bug in the npm package regarding dependencies : https://askubuntu.com/questions/1088662/npm-depends-node-gyp-0-10-9-but-it-is-not-going-to-be-installed

Bugs have been reported. The above may not work depending what you have installed already, at least it didn't for me on an up to date Ubuntu 18.04 LTS.

I followed the suggested dependencies and installed them as the above link suggests:

sudo apt-get install nodejs-dev node-gyp libssl1.0-dev

and then

sudo apt-get install npm

Please subscribe to the bug if you're affected:

bugs.launchpad.net/ubuntu/+source/npm/+bug/1517491
bugs.launchpad.net/ubuntu/+source/npm/+bug/1809828

How can I get Apache gzip compression to work?

If your Web Host is through C Panel Enable G ZIP Compression on Apache C Panel

Go to CPanel and check for software tab.

Previously Optimize website used to work but now a new option is available i.e "MultiPHP INI Editor".

Select the domain name you want to compress.

Scroll down to bottom until you find zip output compression and enable it.

Now check again for the G ZIP Compression.

You can follow the video tutorial also. https://www.youtube.com/watch?v=o0UDmcpGlZI

Return Result from Select Query in stored procedure to a List

In stored procedure, you just need to write the select query like the below:

CREATE PROCEDURE TestProcedure
AS
BEGIN
    SELECT ID, Name 
    FROM Test
END

On C# side, you can access using Reader, datatable, adapter.

Using adapter has just explained by Susanna Floora.

Using Reader:

SqlConnection connection = new SqlConnection(ConnectionString);

command = new SqlCommand("TestProcedure", connection);
command.CommandType = System.Data.CommandType.StoredProcedure;
connection.Open();
SqlDataReader reader = command.ExecuteReader();

List<Test> TestList = new List<Test>();
Test test = null;

while (reader.Read())
{
    test = new Test();
    test.ID = int.Parse(reader["ID"].ToString());
    test.Name = reader["Name"].ToString();
    TestList.Add(test);
}

gvGrid.DataSource = TestList;
gvGrid.DataBind();

Using dataTable:

SqlConnection connection = new SqlConnection(ConnectionString);

command = new SqlCommand("TestProcedure", connection);
command.CommandType = System.Data.CommandType.StoredProcedure;
connection.Open();

DataTable dt = new DataTable();

dt.Load(command.ExecuteReader());
gvGrid.DataSource = dt;
gvGrid.DataBind();

I hope it will help you. :)

Get the current cell in Excel VB

The keyword "Selection" is already a vba Range object so you can use it directly, and you don't have to select cells to copy, for example you can be on Sheet1 and issue these commands:

ThisWorkbook.worksheets("sheet2").Range("namedRange_or_address").Copy
ThisWorkbook.worksheets("sheet1").Range("namedRange_or_address").Paste

If it is a multiple selection you should use the Area object in a for loop:

Dim a as Range
For Each a in ActiveSheet.Selection.Areas
    a.Copy
    ThisWorkbook.worksheets("sheet2").Range("A1").Paste
Next

Regards

Thomas

How to fix warning from date() in PHP"

You need to set the default timezone smth like this :

date_default_timezone_set('Europe/Bucharest');

More info about this in http://php.net/manual/en/function.date-default-timezone-set.php

Or you could use @ in front of date to suppress the warning however as the warning states it's not safe to rely on the servers default timezone

transform object to array with lodash

A modern native solution if anyone is interested:

const arr = Object.keys(obj).map(key => ({ key, value: obj[key] }));

or (not IE):

const arr = Object.entries(obj).map(([key, value]) => ({ key, value }));

JS how to cache a variable

You could possibly create a cookie if thats allowed in your requirment. If you choose to take the cookie route then the solution could be as follows. Also the benefit with cookie is after the user closes the Browser and Re-opens, if the cookie has not been deleted the value will be persisted.

Cookie *Create and Store a Cookie:*

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

The function which will return the specified cookie:

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

Display a welcome message if the cookie is set

function checkCookie()
{
var username=getCookie("username");
  if (username!=null && username!="")
  {
  alert("Welcome again " + username);
  }
else 
  {
  username=prompt("Please enter your name:","");
  if (username!=null && username!="")
    {
    setCookie("username",username,365);
    }
  }
}

The above solution is saving the value through cookies. Its a pretty standard way without storing the value on the server side.

Jquery

Set a value to the session storage.

Javascript:

$.sessionStorage( 'foo', {data:'bar'} );

Retrieve the value:

$.sessionStorage( 'foo', {data:'bar'} );

$.sessionStorage( 'foo' );Results:
{data:'bar'}

Local Storage Now lets take a look at Local storage. Lets say for example you have an array of variables that you are wanting to persist. You could do as follows:

var names=[];
names[0]=prompt("New name?");
localStorage['names']=JSON.stringify(names);

//...
var storedNames=JSON.parse(localStorage['names']);

Server Side Example using ASP.NET

Adding to Sesion

Session["FirstName"] = FirstNameTextBox.Text;
Session["LastName"] = LastNameTextBox.Text;

// When retrieving an object from session state, cast it to // the appropriate type.

ArrayList stockPicks = (ArrayList)Session["StockPicks"];

// Write the modified stock picks list back to session state.
Session["StockPicks"] = stockPicks;

I hope that answered your question.

Is it better in C++ to pass by value or pass by constant reference?

As it has been pointed out, it depends on the type. For built-in data types, it is best to pass by value. Even some very small structures, such as a pair of ints can perform better by passing by value.

Here is an example, assume you have an integer value and you want pass it to another routine. If that value has been optimized to be stored in a register, then if you want to pass it be reference, it first must be stored in memory and then a pointer to that memory placed on the stack to perform the call. If it was being passed by value, all that is required is the register pushed onto the stack. (The details are a bit more complicated than that given different calling systems and CPUs).

If you are doing template programming, you are usually forced to always pass by const ref since you don't know the types being passed in. Passing penalties for passing something bad by value are much worse than the penalties of passing a built-in type by const ref.

How to hide columns in an ASP.NET GridView with auto-generated columns?

Similar to accepted answer but allows use of ColumnNames and binds to RowDataBound().

Dictionary<string, int> _headerIndiciesForAbcGridView = null;

protected void abcGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (_headerIndiciesForAbcGridView == null) // builds once per http request
    {
        int index = 0;
        _headerIndiciesForAbcGridView = ((Table)((GridView)sender).Controls[0]).Rows[0].Cells
            .Cast<TableCell>()
            .ToDictionary(c => c.Text, c => index++);
    }

    e.Row.Cells[_headerIndiciesForAbcGridView["theColumnName"]].Visible = false;
}

Not sure if it works with RowCreated().

SQL Error: ORA-01861: literal does not match format string 01861

You can also change the date format for the session. This is useful, for example, in Perl DBI, where the to_date() function is not available:

ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD'

You can permanently set the default nls_date_format as well:

ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY-MM-DD'

In Perl DBI you can run these commands with the do() method:

$db->do("ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD');

http://www.dba-oracle.com/t_dbi_interface1.htm https://community.oracle.com/thread/682596?start=15&tstart=0

Curl GET request with json parameter

None of the above mentioned solution worked for me due to some reason. Here is my solution. It's pretty basic.

curl -X GET API_ENDPOINT -H 'Content-Type: application/json' -d 'JSON_DATA'

API_ENDPOINT is your api endpoint e.g: http://127.0.0.1:80/api

-H has been used to added header content.

JSON_DATA is your request body it can be something like :: {"data_key": "value"} . ' ' surrounding JSON_DATA are important.

Anything after -d is the data which you need to send in the GET request

No grammar constraints (DTD or XML schema) detected for the document

Have you tried to add a schema to xml catalog?

in eclipse to avoid the "no grammar constraints (dtd or xml schema) detected for the document." i use to add an xsd schema file to the xml catalog under

"Window \ preferences \ xml \ xml catalog \ User specified entries".

Click "Add" button on the right.


Example:

<?xml version="1.0" encoding="UTF-8"?>
<HolidayRequest xmlns="http://mycompany.com/hr/schemas">
    <Holiday>
        <StartDate>2006-07-03</StartDate>
        <EndDate>2006-07-07</EndDate>
    </Holiday>
    <Employee>
        <Number>42</Number>
        <FirstName>Arjen</FirstName>
        <LastName>Poutsma</LastName>
    </Employee>
</HolidayRequest>

From this xml i have generated and saved an xsd under: /home/my_user/xsd/my_xsd.xsd

As Location: /home/my_user/xsd/my_xsd.xsd

As key type: Namespace name

As key: http://mycompany.com/hr/schemas


Close and reopen the xml file and do some changes to violate the schema, you should be notified

How to upload a file from Windows machine to Linux machine using command lines via PuTTy?

Pscp.exe is painfully slow.

Uploading files using WinSCP is like 10 times faster.

So, to do that from command line, first you got to add the winscp.com file to your %PATH%. It's not a top-level domain, but an executable .com file, which is located in your WinSCP installation directory.

Then just issue a simple command and your file will be uploaded much faster putty ever could:

WinSCP.com /command "open sftp://username:[email protected]:22" "put your_large_file.zip /var/www/somedirectory/" "exit"

And make sure your check the synchronize folders feature, which is basically what rsync does, so you won't ever want to use pscp.exe again.

WinSCP.com /command "help synchronize"

sh: 0: getcwd() failed: No such file or directory on cited drive

if some directory/folder does not exist but somehow you navigated to that directory in that case you can see this Error,

for example:

  • currently, you are in "mno" directory (path = abc/def/ghi/jkl/mno
  • run "sudo su" and delete mno
  • goto the "ghi" directory and delete "jkl" directory
  • now you are in "ghi" directory (path abc/def/ghi)
  • run "exit"
  • after running the "exit", you will get that Error
  • now you will be in "mno"(path = abc/def/ghi/jkl/mno) folder. that does not exist.

so, Generally this Error will show when Directory doesn't exist.

to fix this, simply run "cd;" or you can move to any other directory which exists.

Cross browser JavaScript (not jQuery...) scroll to top animation

PURE JAVASCRIPT SCROLLER CLASS

This is an old question but I thought I could answer with some fancy stuff and some more options to play with if you want to have a bit more control over the animation.

  • Cross-browser
  • Copy/Paste ready solution (You only need CSS and JS)
  • 3 animate modes: ["normal"|"linear"|false]
  • Customize your animation with available settings - make it snappy or fluent
  • Double click to skip animation
  • Every next single click adds initial speed
  • Stop scroll animation by draging down the scroll bar
  • Stop scroll animation by mouse wheel down
  • Animated button fade-in-out on scroll
  • Here it is a pure JS Class to take care of the scrolling for you:

    SEE DEMO AT CODEPEN OR GO TO THE BOTTOM AND RUN THE SINPET

    // ------------------- USE EXAMPLE ---------------------
    // *Set options
    var options = {
      'showButtonAfter': 200, // show button after scroling down this amount of px
      'animate': "linear", // [false|normal|linear] - for false no aditional settings are needed
    
      'normal': { // applys only if [animate: normal] - set scroll loop distanceLeft/steps|ms
        'steps': 20, // the more steps per loop the slower animation gets
        'ms': 10 // the less ms the quicker your animation gets
      }, 
      'linear': { // applys only if [animate: linear] - set scroll px|ms
        'px': 30, // the more px the quicker your animation gets
        'ms': 10 // the less ms the quicker your animation gets
      }, 
    };
    
    
    // *Create new Scroller and run it.
    var scroll = new Scroller(options);
    scroll.init();
    

    FULL CLASS SCRIPT + USE EXAMPLE:

    _x000D_
    _x000D_
    // PURE JAVASCRIPT (OOP)_x000D_
    _x000D_
    function Scroller(options) {_x000D_
      this.options = options;_x000D_
      this.button = null;_x000D_
      this.stop = false;_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.constructor = Scroller;_x000D_
    _x000D_
    Scroller.prototype.createButton = function() {_x000D_
    _x000D_
      this.button = document.createElement('button');_x000D_
      this.button.classList.add('scroll-button');_x000D_
      this.button.classList.add('scroll-button--hidden');_x000D_
      this.button.textContent = "^";_x000D_
      document.body.appendChild(this.button);_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.init = function() {_x000D_
      this.createButton();_x000D_
      this.checkPosition();_x000D_
      this.click();_x000D_
      this.stopListener();_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.scroll = function() {_x000D_
      if (this.options.animate == false || this.options.animate == "false") {_x000D_
        this.scrollNoAnimate();_x000D_
        return;_x000D_
      }_x000D_
      if (this.options.animate == "normal") {_x000D_
        this.scrollAnimate();_x000D_
        return;_x000D_
      }_x000D_
      if (this.options.animate == "linear") {_x000D_
        this.scrollAnimateLinear();_x000D_
        return;_x000D_
      }_x000D_
    }_x000D_
    Scroller.prototype.scrollNoAnimate = function() {_x000D_
      document.body.scrollTop = 0;_x000D_
      document.documentElement.scrollTop = 0;_x000D_
    }_x000D_
    Scroller.prototype.scrollAnimate = function() {_x000D_
      if (this.scrollTop() > 0 && this.stop == false) {_x000D_
        setTimeout(function() {_x000D_
          this.scrollAnimate();_x000D_
          window.scrollBy(0, (-Math.abs(this.scrollTop()) / this.options.normal['steps']));_x000D_
        }.bind(this), (this.options.normal['ms']));_x000D_
      }_x000D_
    }_x000D_
    Scroller.prototype.scrollAnimateLinear = function() {_x000D_
      if (this.scrollTop() > 0 && this.stop == false) {_x000D_
        setTimeout(function() {_x000D_
          this.scrollAnimateLinear();_x000D_
          window.scrollBy(0, -Math.abs(this.options.linear['px']));_x000D_
        }.bind(this), this.options.linear['ms']);_x000D_
      }_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.click = function() {_x000D_
    _x000D_
      this.button.addEventListener("click", function(e) {_x000D_
        e.stopPropagation();_x000D_
        this.scroll();_x000D_
      }.bind(this), false);_x000D_
    _x000D_
      this.button.addEventListener("dblclick", function(e) {_x000D_
        e.stopPropagation();_x000D_
        this.scrollNoAnimate();_x000D_
      }.bind(this), false);_x000D_
    _x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.hide = function() {_x000D_
      this.button.classList.add("scroll-button--hidden");_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.show = function() {_x000D_
      this.button.classList.remove("scroll-button--hidden");_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.checkPosition = function() {_x000D_
      window.addEventListener("scroll", function(e) {_x000D_
        if (this.scrollTop() > this.options.showButtonAfter) {_x000D_
          this.show();_x000D_
        } else {_x000D_
          this.hide();_x000D_
        }_x000D_
      }.bind(this), false);_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.stopListener = function() {_x000D_
    _x000D_
      // stop animation on slider drag_x000D_
      var position = this.scrollTop();_x000D_
      window.addEventListener("scroll", function(e) {_x000D_
        if (this.scrollTop() > position) {_x000D_
          this.stopTimeout(200);_x000D_
        } else {_x000D_
          //..._x000D_
        }_x000D_
        position = this.scrollTop();_x000D_
      }.bind(this, position), false);_x000D_
    _x000D_
      // stop animation on wheel scroll down_x000D_
      window.addEventListener("wheel", function(e) {_x000D_
        if (e.deltaY > 0) this.stopTimeout(200);_x000D_
      }.bind(this), false);_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.stopTimeout = function(ms) {_x000D_
      this.stop = true;_x000D_
      // console.log(this.stop); //_x000D_
      setTimeout(function() {_x000D_
        this.stop = false;_x000D_
        console.log(this.stop); //_x000D_
      }.bind(this), ms);_x000D_
    }_x000D_
    _x000D_
    Scroller.prototype.scrollTop = function() {_x000D_
      var curentScrollTop = document.documentElement.scrollTop || document.body.scrollTop;_x000D_
      return curentScrollTop;_x000D_
    }_x000D_
    _x000D_
    _x000D_
    _x000D_
    // ------------------- USE EXAMPLE ---------------------_x000D_
    // *Set options_x000D_
    var options = {_x000D_
      'showButtonAfter': 200, // show button after scroling down this amount of px_x000D_
      'animate': "normal", // [false|normal|linear] - for false no aditional settings are needed_x000D_
    _x000D_
      'normal': { // applys only if [animate: normal] - set scroll loop distanceLeft/steps|ms_x000D_
        'steps': 20, // the more steps per loop the slower animation gets_x000D_
        'ms': 10 // the less ms the quicker your animation gets_x000D_
      },_x000D_
      'linear': { // applys only if [animate: linear] - set scroll px|ms_x000D_
        'px': 30, // the more px the quicker your animation gets_x000D_
        'ms': 10 // the less ms the quicker your animation gets_x000D_
      },_x000D_
    };_x000D_
    // *Create new Scroller and run it._x000D_
    var scroll = new Scroller(options);_x000D_
    scroll.init();
    _x000D_
    /* CSS */_x000D_
    _x000D_
    @import url(https://fonts.googleapis.com/css?family=Open+Sans);_x000D_
     body {_x000D_
      font-family: 'Open Sans', sans-serif;_x000D_
      font-size: 1.2rem;_x000D_
      line-height: 2rem;_x000D_
      height: 100%;_x000D_
      position: relative;_x000D_
      padding: 0 25%;_x000D_
    }_x000D_
    .scroll-button {_x000D_
      font-size: 1.2rem;_x000D_
      line-height: 2rem;_x000D_
      padding: 10px;_x000D_
      width: 50px;_x000D_
      height: 50px;_x000D_
      background: black;_x000D_
      color: white;_x000D_
      border-radius: 50%;_x000D_
      position: fixed;_x000D_
      right: 20px;_x000D_
      bottom: 20px;_x000D_
      visibility: visible;_x000D_
      filter: alpha(opacity=50);_x000D_
      filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=50);_x000D_
      opacity: 0.5;_x000D_
      cursor: pointer;_x000D_
      transition: all 1.2s;_x000D_
      -webkit-transition: all 1.2s;_x000D_
      -moz-transition: all 1.2s;_x000D_
      -ms-transition: all 1.2s;_x000D_
      -o-transition: all 1.2s;_x000D_
    }_x000D_
    .scroll-button:hover {_x000D_
      filter: alpha(opacity=100);_x000D_
      filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);_x000D_
      opacity: 1;_x000D_
    }_x000D_
    .scroll-button--hidden {_x000D_
      filter: alpha(opacity=0);_x000D_
      filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);_x000D_
      opacity: 0;_x000D_
      visibility: hidden;_x000D_
    }
    _x000D_
    <!-- HTML -->_x000D_
    _x000D_
    <h1>Scroll down by 200px for button to appear</h1>_x000D_
    <ul>_x000D_
      <li>Cross-browser</li>_x000D_
      <li>Copy/Paste solution</li>_x000D_
      <li>3 animate modes: <b>["normal"|"linear"|false]</b></li>_x000D_
      <li>Customize your aniamtion with aveilable settings - make it snapy or fluent</li>_x000D_
      <li>Double click to skip animation</li>_x000D_
      <li>Every next single click adds initial speed</li>_x000D_
      <li>Stop scroll animation by draging down the scroll bar</li>_x000D_
      <li>Stop scroll animation by mouse wheel down</li>_x000D_
      <li>Animated button fade-in-out on scroll</li>_x000D_
    </ul>_x000D_
    _x000D_
    <br />_x000D_
    <br />_x000D_
    <pre>_x000D_
    // ------------------- USE EXAMPLE ---------------------_x000D_
    // *Set options_x000D_
    var options = {_x000D_
      'showButtonAfter': 200, // show button after scroling down this amount of px_x000D_
      'animate': "normal", // [false|normal|linear] - for false no aditional settings are needed_x000D_
      _x000D_
      'normal': { // applys only if [animate: normal] - set scroll loop distanceLeft/steps|ms_x000D_
        'steps': 20, // the more steps the slower animation gets_x000D_
        'ms': 20 // the less ms the quicker your animation gets_x000D_
      }, _x000D_
      'linear': { // applys only if [animate: linear] - set scroll px|ms_x000D_
        'px': 55, // the more px the quicker your animation gets_x000D_
        'ms': 10 // the less ms the quicker your animation gets_x000D_
      }, _x000D_
    };_x000D_
    _x000D_
    // *Create new Scroller and run it._x000D_
    var scroll = new Scroller(options);_x000D_
    scroll.init();_x000D_
    </pre>_x000D_
    <br />_x000D_
    <br />_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae molestiae illo nobis quo autem molestias voluptatum quam, amet ipsum debitis, iure animi illum soluta eaque qui perspiciatis harum, sequi nesciunt.</span><span>Quisquam nesciunt aspernatur a possimus pariatur enim architecto. Hic aperiam sit repellat doloremque vel est soluta et assumenda dolore, sint sapiente porro, quam impedit. Sint praesentium quas excepturi, voluptatem dicta!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptate, porro nisi molestias minima corrupti tempore, dolorum fugiat ipsam dicta doloremque accusamus atque consequatur iusto natus, mollitia distinctio odit dolor tempora.</span><span>Perferendis a in laudantium accusantium, dolorum eius placeat velit porro similique, eum cumque veniam neque aspernatur architecto suscipit rem laboriosam voluptates laborum? Voluptates tempora necessitatibus animi nostrum quod, maxime odio.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nihil accusantium, itaque corporis repellat pariatur soluta officia perspiciatis in reprehenderit facere, incidunt saepe excepturi. Inventore atque ex illo, ipsam at deserunt.</span><span>Laborum inventore officia, perspiciatis cumque magni consequatur iste accusantium soluta, nesciunt blanditiis voluptatibus adipisci laudantium mollitia minus quia necessitatibus voluptates. Minima unde quos impedit necessitatibus aspernatur minus maiores ipsa eligendi!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptate nesciunt, explicabo similique, quo maxime modi, aliquid, voluptatibus repellendus dolorum placeat mollitia ea dicta quia laboriosam alias dignissimos ipsam tenetur. Nulla.</span><span>Vel maiores necessitatibus odio voluptate debitis, error in accusamus nulla, eum, nemo et ea commodi. Autem numquam at, consequatur temporibus. Mollitia placeat nobis blanditiis impedit distinctio! Ad, incidunt fugiat sed.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam voluptatum, odio quam omnis iste laudantium, itaque architecto, eos ullam debitis delectus sapiente nemo autem reprehenderit. Dolorem quidem facere ipsam! Nisi.</span><span>Vitae quaerat modi voluptatibus ratione numquam? Sapiente aliquid officia pariatur quibusdam aliquam id expedita non recusandae, cumque deserunt asperiores. Corrupti et doloribus aspernatur ipsum asperiores, ipsa unde corporis commodi reiciendis?</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima adipisci minus iste, nesciunt itaque quisquam quidem voluptatum assumenda rerum aliquid, excepturi voluptatem tempora. Possimus ratione alias a error vel, rem.</span><span>Officia esse error accusantium veritatis ad, et sit animi? Recusandae mollitia odit tenetur ad cumque maiores eligendi blanditiis nobis hic tempora obcaecati consequatur commodi totam, debitis, veniam, ducimus molestias ut.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Obcaecati quibusdam, tempora cupiditate quaerat tempore ullam delectus voluptates optio eum placeat provident consequatur iure reprehenderit vero quae sapiente architecto earum nemo.</span><span>Quis molestias sint fuga doloribus, necessitatibus nulla. Esse ipsa, itaque asperiores. Tempora a sequi nobis cumque incidunt aspernatur, pariatur rem voluptatibus. Atque veniam magnam, ea laudantium ipsum reprehenderit sapiente repellendus.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, pariatur at explicabo aliquid repudiandae vero eum quasi totam voluptates iusto unde ad repellendus ipsam et voluptatem hic adipisci! Vero, nobis!</span><span>Consequatur eligendi quo quas omnis architecto dolorum aperiam doloremque labore, explicabo enim incidunt vitae saepe, quod soluta illo odit provident amet beatae quasi animi. Similique nostrum molestiae animi corrupti qui?</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Molestias quis, tempora laborum incidunt qui fuga adipisci doloremque iusto commodi vitae est, nemo iure placeat ut sit optio, consequuntur voluptas impedit.</span><span>Eos officiis, hic esse unde eaque, aut tenetur voluptate quam sint vel exercitationem totam dolor odio soluta illo praesentium non corrupti! Consequuntur velit, mollitia excepturi. Minus, veniam accusantium! Aliquam, ea!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit quis reiciendis veritatis expedita velit vitae amet magni sunt rerum in blanditiis aut tempore quia fugiat, voluptates officia quaerat quam id.</span><span>Sapiente tempore repudiandae, quae doloremque ullam odio quia ea! Impedit atque, ipsa consequatur quis obcaecati voluptas necessitatibus, cupiditate sunt amet ab modi illum inventore, a dolor enim similique architecto est!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque non aliquam, sit illo quas deserunt esse nobis reprehenderit quidem fuga beatae eligendi reiciendis omnis qui repellat velit earum blanditiis possimus.</span><span>Provident aspernatur ducimus, illum beatae debitis vitae non dolorum rem officia nostrum natus accusantium perspiciatis ad soluta maiores praesentium eveniet qui hic quis at quaerat ea perferendis. Ut, aut, natus.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione corrupti quibusdam, sed hic veniam. Perspiciatis ex, quod architecto natus autem totam at commodi excepturi maxime pariatur corporis, veritatis vero, praesentium.</span><span>Nesciunt suscipit, nobis eos perferendis ex quaerat inventore nihil qui magnam saepe rerum velit reiciendis ipsam deleniti ducimus eligendi odio eius minima vero, nisi voluptates amet eaque, iste, labore laudantium.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo, voluptas accusantium ad omnis velit distinctio! Adipisci magnam nihil nostrum molestiae rem dolores, ut ad nemo, dolor quos itaque maiores quaerat!</span><span>Quia ad suscipit reprehenderit vitae inventore eius non culpa maiores omnis sit obcaecati vel placeat quibusdam, ipsa exercitationem nam odit, magni nobis. Quam quas, accusamus expedita molestiae asperiores eaque ex?</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rerum explicabo doloribus nihil iusto quasi vel expedita dignissimos amet mollitia, temporibus aut atque architecto assumenda dolorum nam velit deserunt totam numquam.</span><span>Ab perferendis labore, quae. Quidem architecto quo officia deserunt ea doloribus libero molestias id nisi perferendis eum porro, quibusdam! Odit aliquid placeat rem aut officia minus sit esse eos obcaecati!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eligendi nostrum repellendus placeat, unde aperiam. Fuga, voluptas, minima. Debitis nemo ducimus itaque laboriosam error quaerat reprehenderit quo animi incidunt. Nulla, quis!</span><span>Explicabo assumenda dicta ratione? Tempora commodi asperiores, explicabo doloremque eius quia impedit possimus architecto sit nemo odio eum fuga minima dolor iste mollitia sequi dolorem perspiciatis unde quisquam laborum soluta.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veniam officia corporis, reiciendis laudantium, voluptate voluptates necessitatibus assumenda, delectus quisquam velit deserunt! Reprehenderit, vel quaerat accusantium nesciunt libero animi. Sequi, eveniet?</span><span>Animi natus pariatur porro, alias, veniam aut est tempora adipisci molestias harum modi cumque assumenda enim! Expedita eveniet autem illum rerum nostrum ipsum alias neque aut, dolorum impedit pariatur non?</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quis aliquid rerum, odio veniam ipsam ad officia quos repellat ex aperiam voluptatum optio est animi possimus minus. Sapiente voluptates amet dolorem.</span><span>Illo necessitatibus similique asperiores inventore ut cumque nihil assumenda debitis explicabo rerum, dolorum molestiae culpa accusantium. Nisi doloremque optio provident blanditiis, eum ipsam asperiores, consequatur aliquam vel sit mollitia sunt.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, totam harum perferendis. Minus ea perferendis laboriosam, iste, qui corrupti, quas veritatis omnis officiis animi fuga perspiciatis impedit! Error, harum, voluptas.</span><span>Omnis laborum, cum mollitia facilis ipsa unde distinctio maxime nesciunt illum perspiciatis ut officiis, eligendi numquam dolorem quod modi ipsam est rerum perferendis repellendus totam. Maxime excepturi culpa alias labore.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Impedit deleniti, odit sit consequatur dolorum omnis repellendus, alias vel ullam numquam. Nostrum obcaecati hic, possimus delectus nam atque aliquid explicabo cum.</span><span>Explicabo tenetur minima consequatur, aliquam, laudantium non consequuntur facilis sint, suscipit debitis ex atque mollitia magni quod repellat ratione dolorum excepturi molestiae cumque iusto eos unde? Voluptatum dolores, porro provident!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. At laboriosam fuga aperiam eveniet, obcaecati esse, nulla porro iure molestiae praesentium sint fugiat ea voluptate suscipit voluptates mollitia, voluptatibus. Autem, non.</span><span>Numquam velit culpa tempora ratione ipsum minus modi in? Nisi reiciendis, voluptate voluptatem maxime repellat quae odio, repellendus aliquid laborum dolorem. Labore, fuga ea minima explicabo quae voluptatum necessitatibus, similique.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi, rerum dolorum nemo error fugiat ut, modi, architecto libero maxime laborum repellendus doloribus neque aperiam adipisci quaerat obcaecati deserunt consequuntur amet!</span><span>Sint, assumenda nisi obcaecati doloremque iste. Perspiciatis accusantium, distinctio impedit cum esse recusandae sunt. Officiis culpa dolore eius, doloribus natus, dolorum excepturi vitae fugiat ullam provident harum! Suscipit, assumenda, harum.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odit, nihil tenetur tempore eligendi qui nesciunt consequatur delectus accusantium consectetur ipsa, nulla doloribus dolores rerum corporis, laborum, laboriosam hic mollitia repellat.</span><span>Ab deleniti vitae blanditiis quod tenetur! Voluptatem temporibus ab eaque quis? Quis odio aliquid harum temporibus totam, ipsa eius iusto fugiat enim in, quibusdam molestiae aliquam consequatur nulla, consequuntur sint.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illum odit praesentium quos, earum nesciunt laudantium illo tempora eligendi, porro doloremque mollitia neque aperiam inventore nam maxime dolor labore aspernatur molestias.</span><span>Voluptatibus provident hic cupiditate placeat, ut reprehenderit nisi eum, dolores ad sed quis. Doloribus molestiae, quae rem odit expedita soluta, facilis animi corporis velit ut in, recusandae harum laboriosam veritatis.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt repudiandae molestias magnam delectus veritatis labore, corporis dicta officia quos, ad corrupti odit! Ad hic officia maxime eveniet consectetur similique adipisci!</span><span>Quia at, nesciunt aliquid delectus ex alias voluptas maxime hic esse. Incidunt, laborum quos mollitia dolores et! Voluptas commodi asperiores, fugit quidem quis corporis, a eaque, animi, autem deserunt repellendus.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi quas, voluptas hic minima inventore optio, id quidem placeat necessitatibus omnis voluptatibus vitae mollitia tempora consequuntur consequatur, illo facilis accusamus illum.</span><span>Voluptates consequuntur ipsam odit. Eius quis ipsam vitae, nihil molestias perferendis corporis recusandae consequatur vero iure blanditiis quas adipisci quos voluptatem rem illo voluptate. Eveniet officiis iure sit laborum veniam.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit a quis cumque nostrum quisquam molestiae pariatur, asperiores natus necessitatibus adipisci illum cupiditate nam vero, tempora excepturi laborum, earum. Voluptates, nobis.</span><span>Pariatur suscipit, hic blanditiis libero, iusto, quam cupiditate nam error id asperiores repellat ab consequatur vitae ipsa voluptatem totam magni reiciendis expedita maxime dolor! Minus explicabo quas, laborum ab omnis!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore qui ad assumenda placeat optio illo molestias corporis dolorum cum. Doloribus eius autem obcaecati minima, asperiores iure dignissimos ducimus suscipit dolorem.</span><span>Blanditiis earum accusamus eaque temporibus necessitatibus voluptatum dolorem enim debitis inventore assumenda quae error perspiciatis aut, nulla delectus quam ipsa sapiente ea aliquam laboriosam repudiandae. Nesciunt praesentium, beatae eos quasi!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate dicta voluptate impedit? Ad voluptatum dicta earum perferendis asperiores. Dolore distinctio modi expedita consequatur provident perspiciatis neque totam rerum placeat quas.</span><span>Eveniet optio est possimus iste accusantium ipsum illum. Maiores saepe repudiandae facere, delectus iure dolorem vitae nihil pariatur minima, reprehenderit eligendi dolore impedit, nisi doloribus quidem similique. Optio, delectus, minus.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste ex molestiae architecto enim nihil tempore, atque consequuntur doloribus recusandae sed consequatur veniam quos, in consectetur perspiciatis magni nostrum ab voluptates.</span><span>Nisi quos mollitia quis in maiores asperiores labore deserunt! Voluptate voluptas adipisci qui hic officia molestias, laborum necessitatibus sint nam vel minus incidunt perspiciatis recusandae sunt, rerum suscipit doloremque possimus!</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. At nihil perferendis quae quidem facilis aliquid pariatur possimus hic asperiores, recusandae exercitationem adipisci atque laborum, delectus, odit ab reprehenderit distinctio dolor.</span><span>Non excepturi quos aspernatur repudiandae laboriosam, unde molestias, totam, sapiente harum accusamus delectus laborum ipsam velit amet nisi! Consectetur aliquam provident voluptatibus saepe repudiandae eveniet laborum beatae, animi, voluptate dolores.</span></p>_x000D_
    <p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque magni, eum ipsa, veritatis facere voluptatem dolorum nobis neque minus debitis asperiores iste. Pariatur sequi quam, tempora. Dignissimos, esse similique tempora.</span><span>Ex delectus excepturi autem sunt, nemo repudiandae, recusandae nostrum accusantium nobis temporibus magnam eligendi similique veritatis deleniti, eaque blanditiis possimus at! Repellat alias laboriosam ipsum commodi dolorem, corporis dolore suscipit!</span></p>
    _x000D_
    _x000D_
    _x000D_

    Add support library to Android Studio project

    I no longer work on Android project for a while. Although the below provides some clue to how an android studio project can be configured, but I can't guarantee it works flawlessly.

    In principle, IntelliJ respects the build file and will try to use it to configure the IDE project. It's not true in the other way round, IDE changes normally will not affect the build file.

    Since most Android projects are built by Gradle, it's always a good idea to understand this tool.

    I'd suggest referring to @skyfishjy's answer, as it seems to be more updated than this one.


    The below is not updated

    Although android studio is based on IntelliJ IDEA, at the same time it relies on gradle to build your apk. As of 0.2.3, these two doesn't play nicely in term of configuring from GUI. As a result, in addition to use the GUI to setup dependencies, it will also require you to edit the build.gradle file manually.

    Assuming you have a Test Project > Test structure. The build.gradle file you're looking for is located at TestProject/Test/build.gradle

    Look for the dependencies section, and make sure you have

    compile 'com.android.support:support-v4:13.0.+'

    Below is an example.

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.5.+'
        }
    }
    apply plugin: 'android'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.android.support:support-v4:13.0.+'
    }
    
    android {
        compileSdkVersion 18
        buildToolsVersion "18.0.1"
    
        defaultConfig {
            minSdkVersion 7
            targetSdkVersion 16
        }
    }
    

    You can also add 3rd party libraries from the maven repository

    compile group: 'com.google.code.gson', name: 'gson', version: '2.2.4'

    The above snippet will add gson 2.2.4 for you.

    In my experiment, it seems that adding the gradle will also setup correct IntelliJ dependencies for you.

    Xml Parsing in C#

    First add an Enrty and Category class:

    public class Entry {     public string Id { get; set; }     public string Title { get; set; }     public string Updated { get; set; }     public string Summary { get; set; }     public string GPoint { get; set; }     public string GElev { get; set; }     public List<string> Categories { get; set; } }  public class Category {     public string Label { get; set; }     public string Term { get; set; } } 

    Then use LINQ to XML

    XDocument xDoc = XDocument.Load("path");          List<Entry> entries = (from x in xDoc.Descendants("entry")             select new Entry()             {                 Id = (string) x.Element("id"),                 Title = (string)x.Element("title"),                 Updated = (string)x.Element("updated"),                 Summary = (string)x.Element("summary"),                 GPoint = (string)x.Element("georss:point"),                 GElev = (string)x.Element("georss:elev"),                 Categories = (from c in x.Elements("category")                                   select new Category                                   {                                       Label = (string)c.Attribute("label"),                                       Term = (string)c.Attribute("term")                                   }).ToList();             }).ToList(); 

    Table with table-layout: fixed; and how to make one column wider

    The important thing of table-layout: fixed is that the column widths are determined by the first row of the table.

    So

    if your table structure is as follow (standard table structure)

    <table>
      <thead>
          <tr>
              <th> First column </th>
              <th> Second column </th>
              <th> Third column </th>        
          </tr>
      </thead>
    
       <tbody>
          <tr>
              <td> First column </td>
              <td> Second column </td>
              <td> Third column </td>        
          </tr>
      </tbody>
    

    if you would like to give a width to second column then

    <style> 
        table{
            table-layout:fixed;
            width: 100%;
        }
    
        table tr th:nth-child(2){
           width: 60%;
         }
    
    </style>
    

    Please look that we style the th not the td.

    how to add value to combobox item

    If you want to use SelectedValue then your combobox must be databound.

    To set up the combobox:

    ComboBox1.DataSource = GetMailItems()
    ComboBox1.DisplayMember = "Name"
    ComboBox1.ValueMember = "ID"
    

    To get the data:

    Function GetMailItems() As List(Of MailItem)
    
        Dim mailItems = New List(Of MailItem)
    
        Command = New MySqlCommand("SELECT * FROM `maillist` WHERE l_id = '" & id & "'", connection)
        Command.CommandTimeout = 30
        Reader = Command.ExecuteReader()
    
        If Reader.HasRows = True Then
            While Reader.Read()
                mailItems.Add(New MailItem(Reader("ID"), Reader("name")))
            End While
        End If
    
        Return mailItems
    
    End Function
    
    Public Class MailItem
    
        Public Sub New(ByVal id As Integer, ByVal name As String)
            mID = id
            mName = name
        End Sub
    
        Private mID As Integer
        Public Property ID() As Integer
            Get
                Return mID
            End Get
            Set(ByVal value As Integer)
                mID = value
            End Set
        End Property
    
        Private mName As String
        Public Property Name() As String
            Get
                Return mName
            End Get
            Set(ByVal value As String)
                mName = value
            End Set
        End Property
    
    End Class
    

    How do I set up Visual Studio Code to compile C++ code?

    The basic problem here is that building and linking a C++ program depends heavily on the build system in use. You will need to support the following distinct tasks, using some combination of plugins and custom code:

    1. General C++ language support for the editor. This is usually done using ms-vscode.cpptools, which most people expect to also handle a lot of other stuff, like build support. Let me save you some time: it doesn't. However, you will probably want it anyway.

    2. Build, clean, and rebuild tasks. This is where your choice of build system becomes a huge deal. You will find plugins for things like CMake and Autoconf (god help you), but if you're using something like Meson and Ninja, you are going to have to write some helper scripts, and configure a custom "tasks.json" file to handle these. Microsoft has totally changed everything about that file over the last few versions, right down to what it is supposed to be called and the places (yes, placeS) it can go, to say nothing of completely changing the format. Worse, they've SORT OF kept backward compatibility, to be sure to use the "version" key to specify which variant you want. See details here:

    https://code.visualstudio.com/docs/editor/tasks

    ...but note conflicts with:

    https://code.visualstudio.com/docs/languages/cpp

    WARNING: IN ALL OF THE ANSWERS BELOW, ANYTHING THAT BEGINS WITH A "VERSION" TAG BELOW 2.0.0 IS OBSOLETE.

    Here's the closest thing I've got at the moment. Note that I kick most of the heavy lifting off to scripts, this doesn't really give me any menu entries I can live with, and there isn't any good way to select between debug and release without just making another three explicit entries in here. With all that said, here is what I can tolerate as my .vscode/tasks.json file at the moment:

    {
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build project",
            "type": "shell",
            "command": "buildscripts/build-debug.sh",
            "args": [],
    
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                // Reveal the output only if unrecognized errors occur.
                "echo": true,
                "focus": false,
                "reveal": "always",
                "panel": "shared"
            },
    
            // Use the standard MS compiler pattern to detect errors, warnings and infos
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": ["relative", "${workspaceRoot}/DEBUG"],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "rebuild project",
            "type": "shell",
            "command": "buildscripts/rebuild-debug.sh",
            "args": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                // Reveal the output only if unrecognized errors occur.
                "echo": true,
                "focus": false,
                "reveal": "always",
                "panel": "shared"
            },
    
            // Use the standard MS compiler pattern to detect errors, warnings and infos
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": ["relative", "${workspaceRoot}/DEBUG"],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "clean project",
            "type": "shell",
            "command": "buildscripts/clean-debug.sh",
            "args": [],
    
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                // Reveal the output only if unrecognized errors occur.
                "echo": true,
                "focus": false,
                "reveal": "always",
                "panel": "shared"
            },
    
            // Use the standard MS compiler pattern to detect errors, warnings and infos
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": ["relative", "${workspaceRoot}/DEBUG"],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        }
    ]
    

    }

    Note that, in theory, this file is supposed to work if you put it in the workspace root, so that you aren't stuck checking files in hidden directories (.vscode) into your revision control system. I have yet to see that actually work; test it, but if it fails, put it in .vscode. Either way, the IDE will bitch if it isn't there anyway. (Yes, at the moment, this means I have been forced to check .vscode into subversion, which I'm not happy about.) Note that my build scripts (not shown) simply create (or recreate) a DEBUG directory using, in my case, meson, and build inside it (using, in my case, ninja).

    1. Run, debug, attach, halt. These are another set of tasks, defined in "launch.json". Or at least they used to be. Microsoft has made such a hash of the documentation, I'm not even sure anymore.

    Difference between single and double quotes in Bash

    Others explained very well and just want to give with simple examples.

    Single quotes can be used around text to prevent the shell from interpreting any special characters. Dollar signs, spaces, ampersands, asterisks and other special characters are all ignored when enclosed within single quotes.

    $ echo 'All sorts of things are ignored in single quotes, like $ & * ; |.' 
    

    It will give this:

    All sorts of things are ignored in single quotes, like $ & * ; |.
    

    The only thing that cannot be put within single quotes is a single quote.

    Double quotes act similarly to single quotes, except double quotes still allow the shell to interpret dollar signs, back quotes and backslashes. It is already known that backslashes prevent a single special character from being interpreted. This can be useful within double quotes if a dollar sign needs to be used as text instead of for a variable. It also allows double quotes to be escaped so they are not interpreted as the end of a quoted string.

    $ echo "Here's how we can use single ' and double \" quotes within double quotes"
    

    It will give this:

    Here's how we can use single ' and double " quotes within double quotes
    

    It may also be noticed that the apostrophe, which would otherwise be interpreted as the beginning of a quoted string, is ignored within double quotes. Variables, however, are interpreted and substituted with their values within double quotes.

    $ echo "The current Oracle SID is $ORACLE_SID"
    

    It will give this:

    The current Oracle SID is test
    

    Back quotes are wholly unlike single or double quotes. Instead of being used to prevent the interpretation of special characters, back quotes actually force the execution of the commands they enclose. After the enclosed commands are executed, their output is substituted in place of the back quotes in the original line. This will be clearer with an example.

    $ today=`date '+%A, %B %d, %Y'`
    $ echo $today 
    

    It will give this:

    Monday, September 28, 2015 
    

    The preferred way of creating a new element with jQuery

    Much more expressive way,

    jQuery('<div/>', {
        "id": 'foo',
        "name": 'mainDiv',
        "class": 'wrapper',
        "click": function() {
          jQuery(this).toggleClass("test");
        }}).appendTo('selector');
    

    Reference: Docs

    Find unused code

    It's a great question, but be warned that you're treading in dangerous waters here. When you're deleting code you will have to make sure you're compiling and testing often.

    One great tool come to mind:

    NDepend - this tool is just amazing. It takes a little while to grok, and after the first 10 minutes I think most developers just say "Screw it!" and delete the app. Once you get a good feel for NDepend, it gives you amazing insight to how your apps are coupled. Check it out: http://www.ndepend.com/. Most importantly, this tool will allow you to view methods which do not have any direct callers. It will also show you the inverse, a complete call tree for any method in the assembly (or even between assemblies).

    Whatever tool you choose, it's not a task to take lightly. Especially if you're dealing with public methods on library type assemblies, as you may never know when an app is referencing them.

    Watching variables contents in Eclipse IDE

    You can add a watchpoint for each variable you're interested in.

    A watchpoint is a special breakpoint that stops the execution of an application whenever the value of a given expression changes, without specifying where it might occur. Unlike breakpoints (which are line-specific), watchpoints are associated with files. They take effect whenever a specified condition is true, regardless of when or where it occurred. You can set a watchpoint on a global variable by highlighting the variable in the editor, or by selecting it in the Outline view.

    What is the theoretical maximum number of open TCP connections that a modern Linux box can have

    A single listening port can accept more than one connection simultaneously.

    There is a '64K' limit that is often cited, but that is per client per server port, and needs clarifying.

    Each TCP/IP packet has basically four fields for addressing. These are:

    source_ip source_port destination_ip destination_port
    <----- client ------> <--------- server ------------>
    

    Inside the TCP stack, these four fields are used as a compound key to match up packets to connections (e.g. file descriptors).

    If a client has many connections to the same port on the same destination, then three of those fields will be the same - only source_port varies to differentiate the different connections. Ports are 16-bit numbers, therefore the maximum number of connections any given client can have to any given host port is 64K.

    However, multiple clients can each have up to 64K connections to some server's port, and if the server has multiple ports or either is multi-homed then you can multiply that further.

    So the real limit is file descriptors. Each individual socket connection is given a file descriptor, so the limit is really the number of file descriptors that the system has been configured to allow and resources to handle. The maximum limit is typically up over 300K, but is configurable e.g. with sysctl.

    The realistic limits being boasted about for normal boxes are around 80K for example single threaded Jabber messaging servers.

    How to add a button dynamically using jquery

    Working plunk here.

    To add the new input just once, use the following code:

    $(document).ready(function()
    {
      $("#insertAfterBtn").one("click", function(e)
      {
        var r = $('<input/>', { type: "button", id: "field", value: "I'm a button" });
    
        $("body").append(r);
      });
    });
    

    [... source stripped here ...]

    <body>
        <button id="insertAfterBtn">Insert after</button>
    </body>
    

    [... source stripped here ...]

    To make it work in w3 editor, copy/paste the code below into 'source code' section inside w3 editor and then hit 'Submit Code':

    <!DOCTYPE html>
    <html>
    
      <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
      </head>
    
      <body>
        <button id="insertAfterBtn">Insert only one button after</button>
        <div class="myClass"></div>
        <div id="myId"></div>
      </body>
    
    <script type="text/javascript">
    $(document).ready(function()
    {
      // when dom is ready, call this method to add an input to 'body' tag.
      addInputTo($("body"));
    
      // when dom is ready, call this method to add an input to a div with class=myClass
      addInputTo($(".myClass"));
    
      // when dom is ready, call this method to add an input to a div with id=myId
      addInputTo($("#myId"));
    
      $("#insertAfterBtn").one("click", function(e)
      {
        var r = $('<input/>', { type: "button", id: "field", value: "I'm a button" });
    
        $("body").append(r);
      });
    });
    
    function addInputTo(container)
    {
      var inputToAdd = $("<input/>", { type: "button", id: "field", value: "I was added on page load" });
    
      container.append(inputToAdd);
    }
    </script>
    
    </html>
    

    jQuery/JavaScript: accessing contents of an iframe

    For even more robustness:

    function getIframeWindow(iframe_object) {
      var doc;
    
      if (iframe_object.contentWindow) {
        return iframe_object.contentWindow;
      }
    
      if (iframe_object.window) {
        return iframe_object.window;
      } 
    
      if (!doc && iframe_object.contentDocument) {
        doc = iframe_object.contentDocument;
      } 
    
      if (!doc && iframe_object.document) {
        doc = iframe_object.document;
      }
    
      if (doc && doc.defaultView) {
       return doc.defaultView;
      }
    
      if (doc && doc.parentWindow) {
        return doc.parentWindow;
      }
    
      return undefined;
    }
    

    and

    ...
    var frame_win = getIframeWindow( frames['nameOfMyIframe'] );
    
    if (frame_win) {
      $(frame_win.contentDocument || frame_win.document).find('some selector').doStuff();
      ...
    }
    ...
    

    How do I create a HTTP Client Request with a cookie?

    You can do that using Requestify, a very simple and cool HTTP client I wrote for nodeJS, it support easy use of cookies and it also supports caching.

    To perform a request with a cookie attached just do the following:

    var requestify = require('requestify');
    requestify.post('http://google.com', {}, {
        cookies: {
            sessionCookie: 'session-cookie-data'   
        }
    });
    

    What's the correct way to communicate between controllers in AngularJS?

    You should use the Service , because $rootscope is access from whole Application , and it increases the load, or youc use the rootparams if your data is not more.

    Text overwrite in visual studio 2010

    I'm using Visual Studio 2019. I used the shortcut below:

    Shift + Insert

    How to debug a GLSL shader?

    I have found Transform Feedback to be a useful tool for debugging vertex shaders. You can use this to capture the values of VS outputs, and read them back on the CPU side, without having to go through the rasterizer.

    Here is another link to a tutorial on Transform Feedback.

    How to get all elements inside "div" that starts with a known text

    var $list = $('#divname input[id^="q17_"]');   // get all input controls with id q17_
    
    // once you have $list you can do whatever you want
    
    var ControlCnt = $list.length;
    // Now loop through list of controls
    $list.each( function() {
    
        var id = $(this).prop("id");      // get id
        var cbx = '';
        if ($(this).is(':checkbox') || $(this).is(':radio')) {
            // Need to see if this control is checked
        }
        else { 
            // Nope, not a checked control - so do something else
        }
    
    });
    

    Calling Web API from MVC controller

    well, you can do it a lot of ways... one of them is to create a HttpRequest. I would advise you against calling your own webapi from your own MVC (the idea is redundant...) but, here's a end to end tutorial.

    Why do we need middleware for async flow in Redux?

    What is wrong with this approach? Why would I want to use Redux Thunk or Redux Promise, as the documentation suggests?

    There is nothing wrong with this approach. It’s just inconvenient in a large application because you’ll have different components performing the same actions, you might want to debounce some actions, or keep some local state like auto-incrementing IDs close to action creators, etc. So it is just easier from the maintenance point of view to extract action creators into separate functions.

    You can read my answer to “How to dispatch a Redux action with a timeout” for a more detailed walkthrough.

    Middleware like Redux Thunk or Redux Promise just gives you “syntax sugar” for dispatching thunks or promises, but you don’t have to use it.

    So, without any middleware, your action creator might look like

    // action creator
    function loadData(dispatch, userId) { // needs to dispatch, so it is first argument
      return fetch(`http://data.com/${userId}`)
        .then(res => res.json())
        .then(
          data => dispatch({ type: 'LOAD_DATA_SUCCESS', data }),
          err => dispatch({ type: 'LOAD_DATA_FAILURE', err })
        );
    }
    
    // component
    componentWillMount() {
      loadData(this.props.dispatch, this.props.userId); // don't forget to pass dispatch
    }
    

    But with Thunk Middleware you can write it like this:

    // action creator
    function loadData(userId) {
      return dispatch => fetch(`http://data.com/${userId}`) // Redux Thunk handles these
        .then(res => res.json())
        .then(
          data => dispatch({ type: 'LOAD_DATA_SUCCESS', data }),
          err => dispatch({ type: 'LOAD_DATA_FAILURE', err })
        );
    }
    
    // component
    componentWillMount() {
      this.props.dispatch(loadData(this.props.userId)); // dispatch like you usually do
    }
    

    So there is no huge difference. One thing I like about the latter approach is that the component doesn’t care that the action creator is async. It just calls dispatch normally, it can also use mapDispatchToProps to bind such action creator with a short syntax, etc. The components don’t know how action creators are implemented, and you can switch between different async approaches (Redux Thunk, Redux Promise, Redux Saga) without changing the components. On the other hand, with the former, explicit approach, your components know exactly that a specific call is async, and needs dispatch to be passed by some convention (for example, as a sync parameter).

    Also think about how this code will change. Say we want to have a second data loading function, and to combine them in a single action creator.

    With the first approach we need to be mindful of what kind of action creator we are calling:

    // action creators
    function loadSomeData(dispatch, userId) {
      return fetch(`http://data.com/${userId}`)
        .then(res => res.json())
        .then(
          data => dispatch({ type: 'LOAD_SOME_DATA_SUCCESS', data }),
          err => dispatch({ type: 'LOAD_SOME_DATA_FAILURE', err })
        );
    }
    function loadOtherData(dispatch, userId) {
      return fetch(`http://data.com/${userId}`)
        .then(res => res.json())
        .then(
          data => dispatch({ type: 'LOAD_OTHER_DATA_SUCCESS', data }),
          err => dispatch({ type: 'LOAD_OTHER_DATA_FAILURE', err })
        );
    }
    function loadAllData(dispatch, userId) {
      return Promise.all(
        loadSomeData(dispatch, userId), // pass dispatch first: it's async
        loadOtherData(dispatch, userId) // pass dispatch first: it's async
      );
    }
    
    
    // component
    componentWillMount() {
      loadAllData(this.props.dispatch, this.props.userId); // pass dispatch first
    }
    

    With Redux Thunk action creators can dispatch the result of other action creators and not even think whether those are synchronous or asynchronous:

    // action creators
    function loadSomeData(userId) {
      return dispatch => fetch(`http://data.com/${userId}`)
        .then(res => res.json())
        .then(
          data => dispatch({ type: 'LOAD_SOME_DATA_SUCCESS', data }),
          err => dispatch({ type: 'LOAD_SOME_DATA_FAILURE', err })
        );
    }
    function loadOtherData(userId) {
      return dispatch => fetch(`http://data.com/${userId}`)
        .then(res => res.json())
        .then(
          data => dispatch({ type: 'LOAD_OTHER_DATA_SUCCESS', data }),
          err => dispatch({ type: 'LOAD_OTHER_DATA_FAILURE', err })
        );
    }
    function loadAllData(userId) {
      return dispatch => Promise.all(
        dispatch(loadSomeData(userId)), // just dispatch normally!
        dispatch(loadOtherData(userId)) // just dispatch normally!
      );
    }
    
    
    // component
    componentWillMount() {
      this.props.dispatch(loadAllData(this.props.userId)); // just dispatch normally!
    }
    

    With this approach, if you later want your action creators to look into current Redux state, you can just use the second getState argument passed to the thunks without modifying the calling code at all:

    function loadSomeData(userId) {
      // Thanks to Redux Thunk I can use getState() here without changing callers
      return (dispatch, getState) => {
        if (getState().data[userId].isLoaded) {
          return Promise.resolve();
        }
    
        fetch(`http://data.com/${userId}`)
          .then(res => res.json())
          .then(
            data => dispatch({ type: 'LOAD_SOME_DATA_SUCCESS', data }),
            err => dispatch({ type: 'LOAD_SOME_DATA_FAILURE', err })
          );
      }
    }
    

    If you need to change it to be synchronous, you can also do this without changing any calling code:

    // I can change it to be a regular action creator without touching callers
    function loadSomeData(userId) {
      return {
        type: 'LOAD_SOME_DATA_SUCCESS',
        data: localStorage.getItem('my-data')
      }
    }
    

    So the benefit of using middleware like Redux Thunk or Redux Promise is that components aren’t aware of how action creators are implemented, and whether they care about Redux state, whether they are synchronous or asynchronous, and whether or not they call other action creators. The downside is a little bit of indirection, but we believe it’s worth it in real applications.

    Finally, Redux Thunk and friends is just one possible approach to asynchronous requests in Redux apps. Another interesting approach is Redux Saga which lets you define long-running daemons (“sagas”) that take actions as they come, and transform or perform requests before outputting actions. This moves the logic from action creators into sagas. You might want to check it out, and later pick what suits you the most.

    I searched the Redux repo for clues, and found that Action Creators were required to be pure functions in the past.

    This is incorrect. The docs said this, but the docs were wrong.
    Action creators were never required to be pure functions.
    We fixed the docs to reflect that.

    See full command of running/stopped container in Docker

    Use runlike from git repository https://github.com/lavie/runlike

    To install runlike

    pip install runlike
    

    As it accept container id as an argument so to extract container id use following command

    docker ps -a -q
    

    You are good to use runlike to extract complete docker run command with following command

    runlike <docker container ID>
    

    How can I account for period (AM/PM) using strftime?

    The Python time.strftime docs say:

    When used with the strptime() function, the %p directive only affects the output hour field if the %I directive is used to parse the hour.

    Sure enough, changing your %H to %I makes it work.

    Unknown column in 'field list' error on MySQL Update query

    I too got the same error, problem in my case is I included the column name in GROUP BY clause and it caused this error. So removed the column from GROUP BY clause and it worked!!!

    Detect Android phone via Javascript / jQuery

    Take a look at that : http://davidwalsh.name/detect-android

    JavaScript:

    var ua = navigator.userAgent.toLowerCase();
    var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
    if(isAndroid) {
      // Do something!
      // Redirect to Android-site?
      window.location = 'http://android.davidwalsh.name';
    }
    

    PHP:

    $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
    if(stripos($ua,'android') !== false) { // && stripos($ua,'mobile') !== false) {
      header('Location: http://android.davidwalsh.name');
      exit();
    }
    

    Edit : As pointed out in some comments, this will work in 99% of the cases, but some edge cases are not covered. If you need a much more advanced and bulletproofed solution in JS, you should use platform.js : https://github.com/bestiejs/platform.js

    Jackson enum Serializing and DeSerializer

    Actual Answer:

    The default deserializer for enums uses .name() to deserialize, so it's not using the @JsonValue. So as @OldCurmudgeon pointed out, you'd need to pass in {"event": "FORGOT_PASSWORD"} to match the .name() value.

    An other option (assuming you want the write and read json values to be the same)...

    More Info:

    There is (yet) another way to manage the serialization and deserialization process with Jackson. You can specify these annotations to use your own custom serializer and deserializer:

    @JsonSerialize(using = MySerializer.class)
    @JsonDeserialize(using = MyDeserializer.class)
    public final class MyClass {
        ...
    }
    

    Then you have to write MySerializer and MyDeserializer which look like this:

    MySerializer

    public final class MySerializer extends JsonSerializer<MyClass>
    {
        @Override
        public void serialize(final MyClass yourClassHere, final JsonGenerator gen, final SerializerProvider serializer) throws IOException, JsonProcessingException
        {
            // here you'd write data to the stream with gen.write...() methods
        }
    
    }
    

    MyDeserializer

    public final class MyDeserializer extends org.codehaus.jackson.map.JsonDeserializer<MyClass>
    {
        @Override
        public MyClass deserialize(final JsonParser parser, final DeserializationContext context) throws IOException, JsonProcessingException
        {
            // then you'd do something like parser.getInt() or whatever to pull data off the parser
            return null;
        }
    
    }
    

    Last little bit, particularly for doing this to an enum JsonEnum that serializes with the method getYourValue(), your serializer and deserializer might look like this:

    public void serialize(final JsonEnum enumValue, final JsonGenerator gen, final SerializerProvider serializer) throws IOException, JsonProcessingException
    {
        gen.writeString(enumValue.getYourValue());
    }
    
    public JsonEnum deserialize(final JsonParser parser, final DeserializationContext context) throws IOException, JsonProcessingException
    {
        final String jsonValue = parser.getText();
        for (final JsonEnum enumValue : JsonEnum.values())
        {
            if (enumValue.getYourValue().equals(jsonValue))
            {
                return enumValue;
            }
        }
        return null;
    }
    

    Remove excess whitespace from within a string

    $str = preg_replace('/[\s]+/', ' ', $str);
    

    Force "git push" to overwrite remote files

    You want to force push

    What you basically want to do is to force push your local branch, in order to overwrite the remote one.

    If you want a more detailed explanation of each of the following commands, then see my details section below. You basically have 4 different options for force pushing with Git:

    git push <remote> <branch> -f
    git push origin master -f # Example
    
    git push <remote> -f
    git push origin -f # Example
    
    git push -f
    
    git push <remote> <branch> --force-with-lease
    

    If you want a more detailed explanation of each command, then see my long answers section below.

    Warning: force pushing will overwrite the remote branch with the state of the branch that you're pushing. Make sure that this is what you really want to do before you use it, otherwise you may overwrite commits that you actually want to keep.

    Force pushing details

    Specifying the remote and branch

    You can completely specify specific branches and a remote. The -f flag is the short version of --force

    git push <remote> <branch> --force
    git push <remote> <branch> -f
    

    Omitting the branch

    When the branch to push branch is omitted, Git will figure it out based on your config settings. In Git versions after 2.0, a new repo will have default settings to push the currently checked-out branch:

    git push <remote> --force
    

    while prior to 2.0, new repos will have default settings to push multiple local branches. The settings in question are the remote.<remote>.push and push.default settings (see below).

    Omitting the remote and the branch

    When both the remote and the branch are omitted, the behavior of just git push --force is determined by your push.default Git config settings:

    git push --force
    
    • As of Git 2.0, the default setting, simple, will basically just push your current branch to its upstream remote counter-part. The remote is determined by the branch's branch.<remote>.remote setting, and defaults to the origin repo otherwise.

    • Before Git version 2.0, the default setting, matching, basically just pushes all of your local branches to branches with the same name on the remote (which defaults to origin).

    You can read more push.default settings by reading git help config or an online version of the git-config(1) Manual Page.

    Force pushing more safely with --force-with-lease

    Force pushing with a "lease" allows the force push to fail if there are new commits on the remote that you didn't expect (technically, if you haven't fetched them into your remote-tracking branch yet), which is useful if you don't want to accidentally overwrite someone else's commits that you didn't even know about yet, and you just want to overwrite your own:

    git push <remote> <branch> --force-with-lease
    

    You can learn more details about how to use --force-with-lease by reading any of the following:

    how to get all child list from Firebase android

    as Frank said Firebase stores sequence of values in the format of "key": "Value" which is a Map structure

    to get List from this sequence you have to

    1. initialize GenericTypeIndicator with HashMap of String and your Object.
    2. get value of DataSnapShot as GenericTypeIndicator into Map.
    3. initialize ArrayList with HashMap values.

    GenericTypeIndicator<HashMap<String, Object>> objectsGTypeInd = new GenericTypeIndicator<HashMap<String, Object>>() {};
    Map<String, Object> objectHashMap = dataSnapShot.getValue(objectsGTypeInd);
    ArrayList<Object> objectArrayList = new ArrayList<Object>(objectHashMap.values());
    

    Works fine for me, Hope it helps.

    Print in one line dynamically

    If you just want to print the numbers, you can avoid the loop.

    # python 3
    import time
    
    startnumber = 1
    endnumber = 100
    
    # solution A without a for loop
    start_time = time.clock()
    m = map(str, range(startnumber, endnumber + 1))
    print(' '.join(m))
    end_time = time.clock()
    timetaken = (end_time - start_time) * 1000
    print('took {0}ms\n'.format(timetaken))
    
    # solution B: with a for loop
    start_time = time.clock()
    for i in range(startnumber, endnumber + 1):
        print(i, end=' ')
    end_time = time.clock()
    timetaken = (end_time - start_time) * 1000
    print('\ntook {0}ms\n'.format(timetaken))
    

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 took 21.1986929975ms

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 took 491.466823551ms

    How to set-up a favicon?

    you could take a look at the w3 how to, i think you will find it helpful

    your link tag attribute should be rel="icon"

    How to connect to LocalDb

    You can connect with MSSMS to LocalDB. Type only in SERVER NAME: (localdb)\v11.0 and leave it by Windows Authentication and it connects to your LocalDB server and shows you the databases in it.

    How to compile Tensorflow with SSE4.2 and AVX instructions?

    I have recently installed it from source and bellow are all the steps needed to install it from source with the mentioned instructions available.

    Other answers already describe why those messages are shown. My answer gives a step-by-step on how to isnstall, which may help people struglling on the actual installation as I did.

    1. Install Bazel

    Download it from one of their available releases, for example 0.5.2. Extract it, go into the directory and configure it: bash ./compile.sh. Copy the executable to /usr/local/bin: sudo cp ./output/bazel /usr/local/bin

    1. Install Tensorflow

    Clone tensorflow: git clone https://github.com/tensorflow/tensorflow.git Go to the cloned directory to configure it: ./configure

    It will prompt you with several questions, bellow I have suggested the response to each of the questions, you can, of course, choose your own responses upon as you prefer:

    Using python library path: /usr/local/lib/python2.7/dist-packages
    Do you wish to build TensorFlow with MKL support? [y/N] y
    MKL support will be enabled for TensorFlow
    Do you wish to download MKL LIB from the web? [Y/n] Y
    Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]: 
    Do you wish to use jemalloc as the malloc implementation? [Y/n] n
    jemalloc disabled
    Do you wish to build TensorFlow with Google Cloud Platform support? [y/N] N
    No Google Cloud Platform support will be enabled for TensorFlow
    Do you wish to build TensorFlow with Hadoop File System support? [y/N] N
    No Hadoop File System support will be enabled for TensorFlow
    Do you wish to build TensorFlow with the XLA just-in-time compiler (experimental)? [y/N] N
    No XLA JIT support will be enabled for TensorFlow
    Do you wish to build TensorFlow with VERBS support? [y/N] N
    No VERBS support will be enabled for TensorFlow
    Do you wish to build TensorFlow with OpenCL support? [y/N] N
    No OpenCL support will be enabled for TensorFlow
    Do you wish to build TensorFlow with CUDA support? [y/N] N
    No CUDA support will be enabled for TensorFlow
    
    1. The pip package. To build it you have to describe which instructions you want (you know, those Tensorflow informed you are missing).

    Build pip script: bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mfpmath=both --copt=-msse4.1 --copt=-msse4.2 -k //tensorflow/tools/pip_package:build_pip_package

    Build pip package: bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

    Install Tensorflow pip package you just built: sudo pip install /tmp/tensorflow_pkg/tensorflow-1.2.1-cp27-cp27mu-linux_x86_64.whl

    Now next time you start up Tensorflow it will not complain anymore about missing instructions.

    javascript get x and y coordinates on mouse click

    Like this.

    _x000D_
    _x000D_
    function printMousePos(event) {_x000D_
      document.body.textContent =_x000D_
        "clientX: " + event.clientX +_x000D_
        " - clientY: " + event.clientY;_x000D_
    }_x000D_
    _x000D_
    document.addEventListener("click", printMousePos);
    _x000D_
    _x000D_
    _x000D_

    MouseEvent - MDN

    MouseEvent.clientX Read only
    The X coordinate of the mouse pointer in local (DOM content) coordinates.

    MouseEvent.clientY Read only
    The Y coordinate of the mouse pointer in local (DOM content) coordinates.

    In Python, how do I use urllib to see if a website is 404 or 200?

    The getcode() method (Added in python2.6) returns the HTTP status code that was sent with the response, or None if the URL is no HTTP URL.

    >>> a=urllib.urlopen('http://www.google.com/asdfsf')
    >>> a.getcode()
    404
    >>> a=urllib.urlopen('http://www.google.com/')
    >>> a.getcode()
    200
    

    Threads vs Processes in Linux

    For most cases i would prefer processes over threads. threads can be useful when you have a relatively smaller task (process overhead >> time taken by each divided task unit) and there is a need of memory sharing between them. Think a large array. Also (offtopic), note that if your CPU utilization is 100 percent or close to it, there is going to be no benefit out of multithreading or processing. (in fact it will worsen)

    Getting The ASCII Value of a character in a C# string

    Here's an alternative since you don't like the cast to int:

    foreach(byte b in System.Text.Encoding.UTF8.GetBytes(str.ToCharArray()))
        Console.Write(b.ToString());
    

    Remap values in pandas column with a dict

    map can be much faster than replace

    If your dictionary has more than a couple of keys, using map can be much faster than replace. There are two versions of this approach, depending on whether your dictionary exhaustively maps all possible values (and also whether you want non-matches to keep their values or be converted to NaNs):

    Exhaustive Mapping

    In this case, the form is very simple:

    df['col1'].map(di)       # note: if the dictionary does not exhaustively map all
                             # entries then non-matched entries are changed to NaNs
    

    Although map most commonly takes a function as its argument, it can alternatively take a dictionary or series: Documentation for Pandas.series.map

    Non-Exhaustive Mapping

    If you have a non-exhaustive mapping and wish to retain the existing variables for non-matches, you can add fillna:

    df['col1'].map(di).fillna(df['col1'])
    

    as in @jpp's answer here: Replace values in a pandas series via dictionary efficiently

    Benchmarks

    Using the following data with pandas version 0.23.1:

    di = {1: "A", 2: "B", 3: "C", 4: "D", 5: "E", 6: "F", 7: "G", 8: "H" }
    df = pd.DataFrame({ 'col1': np.random.choice( range(1,9), 100000 ) })
    

    and testing with %timeit, it appears that map is approximately 10x faster than replace.

    Note that your speedup with map will vary with your data. The largest speedup appears to be with large dictionaries and exhaustive replaces. See @jpp answer (linked above) for more extensive benchmarks and discussion.

    Null vs. False vs. 0 in PHP

    It's language specific, but in PHP :

    Null means "nothing". The var has not been initialized.

    False means "not true in a boolean context". Used to explicitly show you are dealing with logical issues.

    0 is an int. Nothing to do with the rest above, used for mathematics.

    Now, what is tricky, it's that in dynamic languages like PHP, all of them have a value in a boolean context, which (in PHP) is False.

    If you test it with ==, it's testing the boolean value, so you will get equality. If you test it with ===, it will test the type, and you will get inequality.

    So why are they useful ?

    Well, look at the strrpos() function. It returns False if it did not found anything, but 0 if it has found something at the beginning of the string !

    <?php
    // pitfall :
    if (strrpos("Hello World", "Hello")) { 
        // never exectuted
    }
    
    // smart move :
    if (strrpos("Hello World", "Hello") !== False) {
        // that works !
    }
    ?>
    

    And of course, if you deal with states:

    You want to make a difference between DebugMode = False (set to off), DebugMode = True (set to on) and DebugMode = Null (not set at all, will lead to hard debugging ;-)).

    CSS Vertical align does not work with float

    Edited:

    The vertical-align CSS property specifies the vertical alignment of an inline, inline-block or table-cell element.

    Read this article for Understanding vertical-align

    Run batch file from Java code

    Your code is fine, but the problem is inside the batch file.

    You have to show the content of the bat file, your problem is in the paths inside the bat file.

    VBA Convert String to Date

    Try using Replace to see if it will work for you. The problem as I see it which has been mentioned a few times above is the CDate function is choking on the periods. You can use replace to change them to slashes. To answer your question about a Function in vba that can parse any date format, there is not any you have very limited options.

    Dim current as Date, highest as Date, result() as Date 
    For Each itemDate in DeliveryDateArray
        Dim tempDate As String
        itemDate = IIf(Trim(itemDate) = "", "0", itemDate) 'Added per OP's request.
        tempDate = Replace(itemDate, ".", "/")
        current = Format(CDate(tempDate),"dd/mm/yyyy")
        if current > highest then 
            highest = current 
        end if 
        ' some more operations an put dates into result array 
    Next itemDate 
    'After activating final sheet... 
    Range("A1").Resize(UBound(result), 1).Value = Application.Transpose(result) 
    

    PHP Email sending BCC

    You were setting BCC but then overwriting the variable with the FROM

    $to = "[email protected]";
         $subject .= "".$emailSubject."";
     $headers .= "Bcc: ".$emailList."\r\n";
     $headers .= "From: [email protected]\r\n" .
         "X-Mailer: php";
         $headers .= "MIME-Version: 1.0\r\n";
         $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
     $message = '<html><body>';
     $message .= 'THE MESSAGE FROM THE FORM';
    
         if (mail($to, $subject, $message, $headers)) {
         $sent = "Your email was sent!";
         } else {
          $sent = ("Error sending email.");
         }
    

    No increment operator (++) in Ruby?

    Ruby has no pre/post increment/decrement operator. For instance, x++ or x-- will fail to parse. More importantly, ++x or --x will do nothing! In fact, they behave as multiple unary prefix operators: -x == ---x == -----x == ...... To increment a number, simply write x += 1.

    Taken from "Things That Newcomers to Ruby Should Know " (archive, mirror)

    That explains it better than I ever could.

    EDIT: and the reason from the language author himself (source):

    1. ++ and -- are NOT reserved operator in Ruby.
    2. C's increment/decrement operators are in fact hidden assignment. They affect variables, not objects. You cannot accomplish assignment via method. Ruby uses +=/-= operator instead.
    3. self cannot be a target of assignment. In addition, altering the value of integer 1 might cause severe confusion throughout the program.

    Accessing all items in the JToken

    In addition to the accepted answer I would like to give an answer that shows how to iterate directly over the Newtonsoft collections. It uses less code and I'm guessing its more efficient as it doesn't involve converting the collections.

    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    //Parse the data
    JObject my_obj = JsonConvert.DeserializeObject<JObject>(your_json);
    
    foreach (KeyValuePair<string, JToken> sub_obj in (JObject)my_obj["ADDRESS_MAP"])
    {
        Console.WriteLine(sub_obj.Key);
    }
    

    I started doing this myself because JsonConvert automatically deserializes nested objects as JToken (which are JObject, JValue, or JArray underneath I think).

    I think the parsing works according to the following principles:

    • Every object is abstracted as a JToken

    • Cast to JObject where you expect a Dictionary

    • Cast to JValue if the JToken represents a terminal node and is a value

    • Cast to JArray if its an array

    • JValue.Value gives you the .NET type you need

    Collection was modified; enumeration operation may not execute in ArrayList

    Instead of foreach(), use a for() loop with a numeric index.

    System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll?

    I had this when build my application with "All cpu" target while it referenced a 3rd party x64-only (managed) dll.

    Carry Flag, Auxiliary Flag and Overflow Flag in Assembly

    Carry Flag

    The rules for turning on the carry flag in binary/integer math are two:

    1. The carry flag is set if the addition of two numbers causes a carry out of the most significant (leftmost) bits added. 1111 + 0001 = 0000 (carry flag is turned on)

    2. The carry (borrow) flag is also set if the subtraction of two numbers requires a borrow into the most significant (leftmost) bits subtracted. 0000 - 0001 = 1111 (carry flag is turned on) Otherwise, the carry flag is turned off (zero).

      • 0111 + 0001 = 1000 (carry flag is turned off [zero])
      • 1000 - 0001 = 0111 (carry flag is turned off [zero])

    In unsigned arithmetic, watch the carry flag to detect errors.

    In signed arithmetic, the carry flag tells you nothing interesting.

    Overflow Flag

    The rules for turning on the overflow flag in binary/integer math are two:

    1. If the sum of two numbers with the sign bits off yields a result number with the sign bit on, the "overflow" flag is turned on. 0100 + 0100 = 1000 (overflow flag is turned on)

    2. If the sum of two numbers with the sign bits on yields a result number with the sign bit off, the "overflow" flag is turned on. 1000 + 1000 = 0000 (overflow flag is turned on)

    Otherwise the "overflow" flag is turned off

    • 0100 + 0001 = 0101 (overflow flag is turned off)
    • 0110 + 1001 = 1111 (overflow flag turned off)
    • 1000 + 0001 = 1001 (overflow flag turned off)
    • 1100 + 1100 = 1000 (overflow flag is turned off)

    Note that you only need to look at the sign bits (leftmost) of the three numbers to decide if the overflow flag is turned on or off.

    If you are doing two's complement (signed) arithmetic, overflow flag on means the answer is wrong - you added two positive numbers and got a negative, or you added two negative numbers and got a positive.

    If you are doing unsigned arithmetic, the overflow flag means nothing and should be ignored.

    For more clarification please refer: http://teaching.idallen.com/dat2343/10f/notes/040_overflow.txt

    Referencing Row Number in R

    Perhaps with dataframes one of the most easy and practical solution is:

    data = dplyr::mutate(data, rownum=row_number())

    Pass a PHP array to a JavaScript function

    Use JSON.

    In the following example $php_variable can be any PHP variable.

    <script type="text/javascript">
        var obj = <?php echo json_encode($php_variable); ?>;
    </script>
    

    In your code, you could use like the following:

    drawChart(600/50, <?php echo json_encode($day); ?>, ...)
    

    In cases where you need to parse out an object from JSON-string (like in an AJAX request), the safe way is to use JSON.parse(..) like the below:

    var s = "<JSON-String>";
    var obj = JSON.parse(s);
    

    Read all contacts' phone numbers in android

    Following code shows an easy way to read all phone numbers and names:

    Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
    while (phones.moveToNext())
    {
      String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
      String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    
    }
    phones.close();
    

    NOTE: getContentResolver is a method from the Activity context.

    How can I generate a tsconfig.json file?

    $ npm run tsc -- --init
    This worked for the below package.json

      "devDependencies": {
        "@types/jasmine": "^3.6.2",
        "@types/node": "^14.14.19",
        "jasmine": "^3.6.3",
        "protractor": "^7.0.0",
        "typescript": "^4.1.3"
      },
    

    Add Foreign Key to existing table

    To add a foreign key (grade_id) to an existing table (users), follow the following steps:

    ALTER TABLE users ADD grade_id SMALLINT UNSIGNED NOT NULL DEFAULT 0;
    ALTER TABLE users ADD CONSTRAINT fk_grade_id FOREIGN KEY (grade_id) REFERENCES grades(id);
    

    Convert String into a Class Object

    You can use the statement :-

    Class c = s.getClass();
    

    To get the class instance.

    How to avoid the "divide by zero" error in SQL?

    This is how I fixed it:

    IIF(ValueA != 0, Total / ValueA, 0)
    

    It can be wrapped in an update:

    SET Pct = IIF(ValueA != 0, Total / ValueA, 0)
    

    Or in a select:

    SELECT IIF(ValueA != 0, Total / ValueA, 0) AS Pct FROM Tablename;
    

    Thoughts?

    How many concurrent AJAX (XmlHttpRequest) requests are allowed in popular browsers?

    The network results at Browserscope will give you both Connections per Hostname and Max Connections for popular browsers. The data is gathered by running tests on users "in the wild," so it will stay up to date.

    How can I check if some text exist or not in the page using Selenium?

    You could retrieve the body text of the whole page like this:

    bodyText = self.driver.find_element_by_tag_name('body').text
    

    then use an assert to check it like this:

    self.assertTrue("the text you want to check for" in bodyText)
    

    Of course, you can be specific and retrieve a specific DOM element's text and then check that instead of retrieving the whole page.

    Difference between abstraction and encapsulation?

    abstraction is hiding non useful data from users and encapsulation is bind together data into a capsule (a class). I think encapsulation is way that we achieve abstraction.

    plot.new has not been called yet

    As a newbie, I faced the same 'problem'.

    In newbie terms : when you call plot(), the graph window gets the focus and you cannot enter further commands into R. That is when you conclude that you must close the graph window to return to R. However, some commands, like identify(), act on open/active graph windows. When identify() cannot find an open/active graph window, it gives this error message.

    However, you can simply click on the R window without closing the graph window. Then you can type more commands at the R prompt, like identify() etc.

    Getting path relative to the current working directory?

    public string MakeRelativePath(string workingDirectory, string fullPath)
    {
        string result = string.Empty;
        int offset;
    
        // this is the easy case.  The file is inside of the working directory.
        if( fullPath.StartsWith(workingDirectory) )
        {
            return fullPath.Substring(workingDirectory.Length + 1);
        }
    
        // the hard case has to back out of the working directory
        string[] baseDirs = workingDirectory.Split(new char[] { ':', '\\', '/' });
        string[] fileDirs = fullPath.Split(new char[] { ':', '\\', '/' });
    
        // if we failed to split (empty strings?) or the drive letter does not match
        if( baseDirs.Length <= 0 || fileDirs.Length <= 0 || baseDirs[0] != fileDirs[0] )
        {
            // can't create a relative path between separate harddrives/partitions.
            return fullPath;
        }
    
        // skip all leading directories that match
        for (offset = 1; offset < baseDirs.Length; offset++)
        {
            if (baseDirs[offset] != fileDirs[offset])
                break;
        }
    
        // back out of the working directory
        for (int i = 0; i < (baseDirs.Length - offset); i++)
        {
            result += "..\\";
        }
    
        // step into the file path
        for (int i = offset; i < fileDirs.Length-1; i++)
        {
            result += fileDirs[i] + "\\";
        }
    
        // append the file
        result += fileDirs[fileDirs.Length - 1];
    
        return result;
    }
    

    This code is probably not bullet-proof but this is what I came up with. It's a little more robust. It takes two paths and returns path B as relative to path A.

    example:

    MakeRelativePath("c:\\dev\\foo\\bar", "c:\\dev\\junk\\readme.txt")
    //returns: "..\\..\\junk\\readme.txt"
    
    MakeRelativePath("c:\\dev\\foo\\bar", "c:\\dev\\foo\\bar\\docs\\readme.txt")
    //returns: "docs\\readme.txt"
    

    Java best way for string find and replace?

    Simply include the Apache Commons Lang JAR and use the org.apache.commons.lang.StringUtils class. You'll notice lots of methods for replacing Strings safely and efficiently.

    You can view the StringUtils API at the previously linked website.

    "Don't reinvent the wheel"

    Git Cherry-pick vs Merge Workflow

    In my opinion cherry-picking should be reserved for rare situations where it is required, for example if you did some fix on directly on 'master' branch (trunk, main development branch) and then realized that it should be applied also to 'maint'. You should base workflow either on merge, or on rebase (or "git pull --rebase").

    Please remember that cherry-picked or rebased commit is different from the point of view of Git (has different SHA-1 identifier) than the original, so it is different than the commit in remote repository. (Rebase can usually deal with this, as it checks patch id i.e. the changes, not a commit id).

    Also in git you can merge many branches at once: so called octopus merge. Note that octopus merge has to succeed without conflicts. Nevertheless it might be useful.

    HTH.

    Jquery AJAX: No 'Access-Control-Allow-Origin' header is present on the requested resource

    Its a CORS issue, your api cannot be accessed directly from remote or different origin, In order to allow other ip address or other origins from accessing you api, you should add the 'Access-Control-Allow-Origin' on the api's header, you can set its value to '*' if you want it to be accessible to all, or you can set specific domain or ips like 'http://siteA.com' or 'http://192. ip address ';

    Include this on your api's header, it may vary depending on how you are displaying json data,

    if your using ajax, to retrieve and display data your header would look like this,

    $.ajax({
       url: '',
       headers: {  'Access-Control-Allow-Origin': 'http://The web site allowed to access' },
       data: data,
       type: 'dataType',
       /* etc */
       success: function(jsondata){
    
       }
    })
    

    Qt: resizing a QLabel containing a QPixmap while keeping its aspect ratio

    I have polished this missing subclass of QLabel. It is awesome and works well.

    aspectratiopixmaplabel.h

    #ifndef ASPECTRATIOPIXMAPLABEL_H
    #define ASPECTRATIOPIXMAPLABEL_H
    
    #include <QLabel>
    #include <QPixmap>
    #include <QResizeEvent>
    
    class AspectRatioPixmapLabel : public QLabel
    {
        Q_OBJECT
    public:
        explicit AspectRatioPixmapLabel(QWidget *parent = 0);
        virtual int heightForWidth( int width ) const;
        virtual QSize sizeHint() const;
        QPixmap scaledPixmap() const;
    public slots:
        void setPixmap ( const QPixmap & );
        void resizeEvent(QResizeEvent *);
    private:
        QPixmap pix;
    };
    
    #endif // ASPECTRATIOPIXMAPLABEL_H
    

    aspectratiopixmaplabel.cpp

    #include "aspectratiopixmaplabel.h"
    //#include <QDebug>
    
    AspectRatioPixmapLabel::AspectRatioPixmapLabel(QWidget *parent) :
        QLabel(parent)
    {
        this->setMinimumSize(1,1);
        setScaledContents(false);
    }
    
    void AspectRatioPixmapLabel::setPixmap ( const QPixmap & p)
    {
        pix = p;
        QLabel::setPixmap(scaledPixmap());
    }
    
    int AspectRatioPixmapLabel::heightForWidth( int width ) const
    {
        return pix.isNull() ? this->height() : ((qreal)pix.height()*width)/pix.width();
    }
    
    QSize AspectRatioPixmapLabel::sizeHint() const
    {
        int w = this->width();
        return QSize( w, heightForWidth(w) );
    }
    
    QPixmap AspectRatioPixmapLabel::scaledPixmap() const
    {
        return pix.scaled(this->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
    }
    
    void AspectRatioPixmapLabel::resizeEvent(QResizeEvent * e)
    {
        if(!pix.isNull())
            QLabel::setPixmap(scaledPixmap());
    }
    

    Hope that helps! (Updated resizeEvent, per @dmzl's answer)

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

    Install the SharpVectors library

    Install-Package SharpVectors
    

    Add the following in XAML

    <UserControl xmlns:svgc="http://sharpvectors.codeplex.com/svgc">
        <svgc:SvgViewbox Source="/Icons/icon.svg"/>
    </UserControl>
    

    Sorting a Data Table

    After setting the sort expression on the DefaultView (table.DefaultView.Sort = "Town ASC, Cutomer ASC" ) you should loop over the table using the DefaultView not the DataTable instance itself

    foreach(DataRowView r in table.DefaultView)
    {
        //... here you get the rows in sorted order
        Console.WriteLine(r["Town"].ToString());
    }
    

    Using the Select method of the DataTable instead, produces an array of DataRow. This array is sorted as from your request, not the DataTable

    DataRow[] rowList = table.Select("", "Town ASC, Cutomer ASC");
    foreach(DataRow r in rowList)
    {
        Console.WriteLine(r["Town"].ToString());
    }
    

    positional argument follows keyword argument

    The grammar of the language specifies that positional arguments appear before keyword or starred arguments in calls:

    argument_list        ::=  positional_arguments ["," starred_and_keywords]
                                ["," keywords_arguments]
                              | starred_and_keywords ["," keywords_arguments]
                              | keywords_arguments
    

    Specifically, a keyword argument looks like this: tag='insider trading!' while a positional argument looks like this: ..., exchange, .... The problem lies in that you appear to have copy/pasted the parameter list, and left some of the default values in place, which makes them look like keyword arguments rather than positional ones. This is fine, except that you then go back to using positional arguments, which is a syntax error.

    Also, when an argument has a default value, such as price=None, that means you don't have to provide it. If you don't provide it, it will use the default value instead.

    To resolve this error, convert your later positional arguments into keyword arguments, or, if they have default values and you don't need to use them, simply don't specify them at all:

    order_id = kite.order_place(self, exchange, tradingsymbol,
        transaction_type, quantity)
    
    # Fully positional:
    order_id = kite.order_place(self, exchange, tradingsymbol, transaction_type, quantity, price, product, order_type, validity, disclosed_quantity, trigger_price, squareoff_value, stoploss_value, trailing_stoploss, variety, tag)
    
    # Some positional, some keyword (all keywords at end):
    
    order_id = kite.order_place(self, exchange, tradingsymbol,
        transaction_type, quantity, tag='insider trading!')
    

    Spring JUnit: How to Mock autowired component in autowired component

    Spring Boot 1.4 introduced testing annotation called @MockBean. So now mocking and spying on Spring beans is natively supported by Spring Boot.

    LINQ query on a DataTable

    It's not that they were deliberately not allowed on DataTables, it's just that DataTables pre-date the IQueryable and generic IEnumerable constructs on which Linq queries can be performed.

    Both interfaces require some sort type-safety validation. DataTables are not strongly typed. This is the same reason why people can't query against an ArrayList, for example.

    For Linq to work you need to map your results against type-safe objects and query against that instead.

    Telegram Bot - how to get a group chat id?

    You can get Chat ID in this way.

    On private chat with your bot, send a random message. You will search this message later.

    Get Your API-token from bot_father : XXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY

    Then, on your browser make a request with that url :

    https://api.telegram.org/botXXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY/getUpdates
    

    The request returns a json response, in json text search your random message and get chat id in that object.

    Change value of input onchange?

    for jQuery we can use below:

    by input name:

    $('input[name="textboxname"]').val('some value');
    

    by input class:

    $('input[type=text].textboxclass').val('some value');
    

    by input id:

    $('#textboxid').val('some value');
    

    How to pass a Javascript Array via JQuery Post so that all its contents are accessible via the PHP $_POST array?

    This is fairly straightforward. In your JS, all you would do is this or something similar:

    var array = ["thing1", "thing2", "thing3"];
    
    var parameters = {
      "array1[]": array,
      ...
    };
    
    $.post(
      'your/page.php',
      parameters
    )
    .done(function(data, statusText) {
        // This block is optional, fires when the ajax call is complete
    });
    

    In your php page, the values in array form will be available via $_POST['array1'].

    references

    How do you count the number of occurrences of a certain substring in a SQL varchar?

    this T-SQL code finds and prints all occurrences of pattern @p in sentence @s. you can do any processing on the sentence afterward.

    declare @old_hit int = 0
    declare @hit int = 0
    declare @i int = 0
    declare @s varchar(max)='alibcalirezaalivisualization'
    declare @p varchar(max)='ali'
     while @i<len(@s)
      begin
       set @hit=charindex(@p,@s,@i)
       if @hit>@old_hit 
        begin
        set @old_hit =@hit
        set @i=@hit+1
        print @hit
       end
      else
        break
     end
    

    the result is: 1 6 13 20

    Can a unit test project load the target application's app.config file?

    Your unit tests are considered as an environment that runs your code to test it. Just like any normal environment, you have i.e. staging/production. You may need to add a .config file for your test project as well. A workaround is to create a class library and convert it to Test Project by adding necessary NuGet packages such as NUnit and NUnit Adapter. it works perfectly fine with both Visual Studio Test Runner and Resharper and you have your app.config file in your test project. enter image description here

    enter image description here

    enter image description here

    enter image description here

    And finally debugged my test and value from App.config:

    enter image description here

    REST API using POST instead of GET

    In REST, each HTTP verbs has its place and meaning.

    For example,

    • GET is to get the 'resource(s)' that is pointed to in the URL.

    • POST is to instructure the backend to 'create' a resource of the 'type' pointed to in the URL. You can supplement the POST operation with parameters or additional data in the body of the POST call.

    In you case, since you are interested in 'getting' the info using query, thus it should be a GET operation instead of a POST operation.

    This wiki may help to further clarify things.

    Hope this help!

    Session unset, or session_destroy?

    Something to be aware of, the $_SESSION variables are still set in the same page after calling session_destroy() where as this is not the case when using unset($_SESSION) or $_SESSION = array(). Also, unset($_SESSION) blows away the $_SESSION superglobal so only do this when you're destroying a session.

    With all that said, it's best to do like the PHP docs has it in the first example for session_destroy().

    How to change maven logging level to display only warning and errors?

    If you are using Logback, just put this logback-test.xml file into src/test/resources directory:

    <configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
    </configuration>
    

    Search for exact match of string in excel row using VBA Macro

    Try this:

    Sub GetColumns()
    
    Dim lnRow As Long, lnCol As Long
    
    lnRow = 3 'For testing
    
    lnCol = Sheet1.Cells(lnRow, 1).EntireRow.Find(What:="sds", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column
    
    End Sub
    

    Probably best not to use colIndex and rowIndex as variable names as they are already mentioned in the Excel Object Library.

    How to configure Spring Security to allow Swagger URL to be accessed without authentication

    if your springfox version higher than 2.5, should be add WebSecurityConfiguration as below:

    @Override
    public void configure(HttpSecurity http) throws Exception {
        // TODO Auto-generated method stub
        http.authorizeRequests()
            .antMatchers("/v2/api-docs", "/swagger-resources/configuration/ui", "/swagger-resources", "/swagger-resources/configuration/security", "/swagger-ui.html", "/webjars/**").permitAll()
            .and()
            .authorizeRequests()
            .anyRequest()
            .authenticated()
            .and()
            .csrf().disable();
    }
    

    Xamarin.Forms ListView: Set the highlight color of a tapped item

    To change color of selected ViewCell, there is a simple process without using custom renderer. Make Tapped event of your ViewCell as below

    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell Tapped="ViewCell_Tapped">            
            <Label Text="{Binding StudentName}" TextColor="Black" />
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
    

    In your ContentPage or .cs file, implement the event

    private void ViewCell_Tapped(object sender, System.EventArgs e)
    {
        if(lastCell!=null)
        lastCell.View.BackgroundColor = Color.Transparent;
        var viewCell = (ViewCell)sender;
        if (viewCell.View != null)
        {
            viewCell.View.BackgroundColor = Color.Red;
            lastCell = viewCell;
        }
    } 
    

    Declare lastCell at the top of your ContentPage like this ViewCell lastCell;

    How to initialize an array in Java?

    Try data = new int[] {10,20,30,40,50,60,71,80,90,91 };

    Could not find an implementation of the query pattern

    I had the same error, but for me, it was attributed to having a database and a table that were named the same. When I added the ADO .NET Entity Object to my project, it misgenerated what I wanted in my database context file:

    // Table
    public virtual DbSet<OBJ> OBJs { get; set; }
    

    which should've been:

    public virtual DbSet<OBJ> OBJ { get; set; }
    

    And

    // Database?
    public object OBJ { get; internal set; }
    

    which I actually didn't really need, so I commented it out.

    I was trying to pull in my table like this, in my controller, when I got my error:

    protected Model1 db = new Model1();
    
    public ActionResult Index()
    {
        var obj =
            from p in db.OBJ
            orderby p.OBJ_ID descending
            select p;
    
        return View(obj);
    }
    

    I corrected my database context and all was fine, after that.

    Changing font size and direction of axes text in ggplot2

    Ditto @Drew Steen on the use of theme(). Here are common theme attributes for axis text and titles.

    ggplot(mtcars, aes(x = factor(cyl), y = mpg))+
      geom_point()+
      theme(axis.text.x = element_text(color = "grey20", size = 20, angle = 90, hjust = .5, vjust = .5, face = "plain"),
            axis.text.y = element_text(color = "grey20", size = 12, angle = 0, hjust = 1, vjust = 0, face = "plain"),  
            axis.title.x = element_text(color = "grey20", size = 12, angle = 0, hjust = .5, vjust = 0, face = "plain"),
            axis.title.y = element_text(color = "grey20", size = 12, angle = 90, hjust = .5, vjust = .5, face = "plain"))
    

    Disable Drag and Drop on HTML elements?

    Question is old, but it's never too late to answer.

    $(document).ready(function() {
      //prevent drag and drop
      const yourInput = document.getElementById('inputid');
      yourInput.ondrop = e => e.preventDefault();
    
      //prevent paste
      const Input = document.getElementById('inputid');
      Input.onpaste = e => e.preventDefault();
    });
    

    How to export all collections in MongoDB?

    1. Open the Connection
    2. Start the server
    3. open new Command prompt

    Export:

    mongo/bin> mongoexport -d webmitta -c domain -o domain-k.json

    Import:

    mongoimport -d dbname -c newCollecionname --file domain-k.json

    Where

    webmitta(db name)
    domain(Collection Name)
    domain-k.json(output file name)
    

    How should I store GUID in MySQL tables?

    I would store it as a char(36).

    Iterating through populated rows

    It looks like you just hard-coded the row and column; otherwise, a couple of small tweaks, and I think you're there:

    Dim sh As Worksheet
    Dim rw As Range
    Dim RowCount As Integer
    
    RowCount = 0
    
    Set sh = ActiveSheet
    For Each rw In sh.Rows
    
      If sh.Cells(rw.Row, 1).Value = "" Then
        Exit For
      End If
    
      RowCount = RowCount + 1
    
    Next rw
    
    MsgBox (RowCount)
    

    Django download a file

    If you hafe upload your file in media than:

    media
    example-input-file.txt

    views.py

    def download_csv(request):    
        file_path = os.path.join(settings.MEDIA_ROOT, 'example-input-file.txt')    
        if os.path.exists(file_path):    
            with open(file_path, 'rb') as fh:    
                response = HttpResponse(fh.read(), content_type="application/vnd.ms-excel")    
                response['Content-Disposition'] = 'inline; filename=' + os.path.basename(file_path)    
                return response
    

    urls.py

    path('download_csv/', views.download_csv, name='download_csv'),
    

    download.html

    a href="{% url 'download_csv' %}" download=""
    

    Run Excel Macro from Outside Excel Using VBScript From Command Line

    I tried to adapt @Siddhart's code to a relative path to run my open_form macro, but it didn't seem to work. Here was my first attempt. My working solution is below.

    Option Explicit
    
    Dim xlApp, xlBook
    dim fso
    dim curDir
    set fso = CreateObject("Scripting.FileSystemObject")
    curDir = fso.GetAbsolutePathName(".")
    set fso = nothing
    
    Set xlApp = CreateObject("Excel.Application")
    '~~> Change Path here
    Set xlBook = xlApp.Workbooks.Open(curDir & "Excels\CLIENTES.xlsb", 0, true)
    xlApp.Run "open_form"
    xlBook.Close
    xlApp.Quit
    
    Set xlBook = Nothing
    Set xlApp = Nothing
    
    WScript.Echo "Finished."
    

    EDIT

    I have actually worked it out, just in case someone wants to run a userform "alike" a stand alone application:

    Issues I was facing:

    1 - I did not want to use the Workbook_Open Event as the excel is locked in read only. 2 - The batch command is limited that the fact that (to my knowledge) it cannot call the macro.

    I first wrote a macro to launch my userform while hiding the application:

    Sub open_form()
     Application.Visible = False
     frmAddClient.Show vbModeless
    End Sub
    

    I then created a vbs to launch this macro (doing it with a relative path has been tricky):

    dim fso
    dim curDir
    dim WinScriptHost
    set fso = CreateObject("Scripting.FileSystemObject")
    curDir = fso.GetAbsolutePathName(".")
    set fso = nothing
    
    Set xlObj = CreateObject("Excel.application")
    xlObj.Workbooks.Open curDir & "\Excels\CLIENTES.xlsb"
    xlObj.Run "open_form"
    

    And I finally did a batch file to execute the VBS...

    @echo off
    pushd %~dp0
    cscript Add_Client.vbs
    

    Note that I have also included the "Set back to visible" in my Userform_QueryClose:

    Private Sub cmdClose_Click()
    Unload Me
    End Sub
    
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
        ThisWorkbook.Close SaveChanges:=True
        Application.Visible = True
        Application.Quit
    End Sub
    

    Anyway, thanks for your help, and I hope this will help if someone needs it

    How can I debug what is causing a connection refused or a connection time out?

    Use a packet analyzer to intercept the packets to/from somewhere.com. Studying those packets should tell you what is going on.

    Time-outs or connections refused could mean that the remote host is too busy.

    react-router (v4) how to go back?

    Can you provide the code where you use this.props.history.push('/Page2');?

    Have you tried the goBack() method?

    this.props.history.goBack();

    It's listed here https://reacttraining.com/react-router/web/api/history

    With a live example here https://reacttraining.com/react-router/web/example/modal-gallery

    "Prevent saving changes that require the table to be re-created" negative effects

    Yes, there are negative effects from this:

    If you script out a change blocked by this flag you get something like the script below (all i am turning the ID column in Contact into an autonumbered IDENTITY column, but the table has dependencies). Note potential errors that can occur while the following is running:

    1. Even microsoft warns that this may cause data loss (that comment is auto-generated)!
    2. for a period of time, foreign keys are not enforced.
    3. if you manually run this in ssms and the ' EXEC('INSERT INTO ' fails, and you let the following statements run (which they do by default, as they are split by 'go') then you will insert 0 rows, then drop the old table.
    4. if this is a big table, the runtime of the insert can be large, and the transaction is holding a schema modification lock, so blocks many things.

    --

    /* To prevent any potential data loss issues, you should review this script in detail before running it outside the context of the database designer.*/
    
    BEGIN TRANSACTION
    GO
    ALTER TABLE raw.Contact
        DROP CONSTRAINT fk_Contact_AddressType
    GO
    ALTER TABLE ref.ContactpointType SET (LOCK_ESCALATION = TABLE)
    GO
    COMMIT
    BEGIN TRANSACTION
    GO
    ALTER TABLE raw.Contact
        DROP CONSTRAINT fk_contact_profile
    GO
    ALTER TABLE raw.Profile SET (LOCK_ESCALATION = TABLE)
    GO
    COMMIT
    BEGIN TRANSACTION
    GO
    CREATE TABLE raw.Tmp_Contact
        (
        ContactID int NOT NULL IDENTITY (1, 1),
        ProfileID int NOT NULL,
        AddressType char(2) NOT NULL,
        ContactText varchar(250) NULL
        )  ON [PRIMARY]
    GO
    ALTER TABLE raw.Tmp_Contact SET (LOCK_ESCALATION = TABLE)
    GO
    SET IDENTITY_INSERT raw.Tmp_Contact ON
    GO
    IF EXISTS(SELECT * FROM raw.Contact)
         EXEC('INSERT INTO raw.Tmp_Contact (ContactID, ProfileID, AddressType, ContactText)
            SELECT ContactID, ProfileID, AddressType, ContactText FROM raw.Contact WITH (HOLDLOCK TABLOCKX)')
    GO
    SET IDENTITY_INSERT raw.Tmp_Contact OFF
    GO
    ALTER TABLE raw.PostalAddress
        DROP CONSTRAINT fk_AddressProfile
    GO
    ALTER TABLE raw.MarketingFlag
        DROP CONSTRAINT fk_marketingflag_contact
    GO
    ALTER TABLE raw.Phones
        DROP CONSTRAINT fk_phones_contact
    GO
    DROP TABLE raw.Contact
    GO
    EXECUTE sp_rename N'raw.Tmp_Contact', N'Contact', 'OBJECT' 
    GO
    ALTER TABLE raw.Contact ADD CONSTRAINT
        Idx_Contact_1 PRIMARY KEY CLUSTERED 
        (
        ProfileID,
        ContactID
        ) 
    
    GO
    ALTER TABLE raw.Contact ADD CONSTRAINT
        Idx_Contact UNIQUE NONCLUSTERED 
        (
        ProfileID,
        ContactID
        ) 
    
    GO
    CREATE NONCLUSTERED INDEX idx_Contact_0 ON raw.Contact
        (
        AddressType
        ) 
    GO
    ALTER TABLE raw.Contact ADD CONSTRAINT
        fk_contact_profile FOREIGN KEY
        (
        ProfileID
        ) REFERENCES raw.Profile
        (
        ProfileID
        ) ON UPDATE  NO ACTION 
         ON DELETE  NO ACTION 
    
    GO
    ALTER TABLE raw.Contact ADD CONSTRAINT
        fk_Contact_AddressType FOREIGN KEY
        (
        AddressType
        ) REFERENCES ref.ContactpointType
        (
        ContactPointTypeCode
        ) ON UPDATE  NO ACTION 
         ON DELETE  NO ACTION 
    
    GO
    COMMIT
    BEGIN TRANSACTION
    GO
    ALTER TABLE raw.Phones ADD CONSTRAINT
        fk_phones_contact FOREIGN KEY
        (
        ProfileID,
        PhoneID
        ) REFERENCES raw.Contact
        (
        ProfileID,
        ContactID
        ) ON UPDATE  NO ACTION 
         ON DELETE  NO ACTION 
    
    GO
    ALTER TABLE raw.Phones SET (LOCK_ESCALATION = TABLE)
    GO
    COMMIT
    BEGIN TRANSACTION
    GO
    ALTER TABLE raw.MarketingFlag ADD CONSTRAINT
        fk_marketingflag_contact FOREIGN KEY
        (
        ProfileID,
        ContactID
        ) REFERENCES raw.Contact
        (
        ProfileID,
        ContactID
        ) ON UPDATE  NO ACTION 
         ON DELETE  NO ACTION 
    
    GO
    ALTER TABLE raw.MarketingFlag SET (LOCK_ESCALATION = TABLE)
    GO
    COMMIT
    BEGIN TRANSACTION
    GO
    ALTER TABLE raw.PostalAddress ADD CONSTRAINT
        fk_AddressProfile FOREIGN KEY
        (
        ProfileID,
        AddressID
        ) REFERENCES raw.Contact
        (
        ProfileID,
        ContactID
        ) ON UPDATE  NO ACTION 
         ON DELETE  NO ACTION 
    
    GO
    ALTER TABLE raw.PostalAddress SET (LOCK_ESCALATION = TABLE)
    GO
    COMMIT
    

    How to get a view table query (code) in SQL Server 2008 Management Studio

    right-click the view in the object-explorer, select "script view as...", then "create to" and then "new query editor window"

    Vertical Text Direction

    Here is an example of some SVG code I used to get three lines of vertical text into a table column heading. Other angles are possible with a bit of tweaking. I believe most browsers support SVG these days.

    <svg height="150" width="40">
      <text font-weight="bold" x="-150" y="10" transform="rotate(-90 0 0)">Jane Doe</text>
      <text x="-150" y="25" transform="rotate(-90 0 0)">0/0&nbsp;&nbsp;&nbsp;&nbsp;0/0</text>
      <text x="-150" y="40" transform="rotate(-90 0 0)">2015-06-06</text>
      Sorry, your browser does not support inline SVG.
    </svg>
    

    Why are there two ways to unstage a file in Git?

    For versions 2.23 and above only,

    Instead of these suggestions, you could use git restore --staged <file> in order to unstage the file(s).

    Big-oh vs big-theta

    Because there are algorithms whose best-case is quick, and thus it's technically a big O, not a big Theta.

    Big O is an upper bound, big Theta is an equivalence relation.

    Regex - Should hyphens be escaped?

    Outside of character classes, it is conventional not to escape hyphens. If I saw an escaped hyphen outside of a character class, that would suggest to me that it was written by someone who was not very comfortable with regexes.

    Inside character classes, I don't think one way is conventional over the other; in my experience, it usually seems to be to put either first or last, as in [-._:] or [._:-], to avoid the backslash; but I've also often seen it escaped instead, as in [._\-:], and I wouldn't call that unconventional.

    C free(): invalid pointer

    From where did you get the idea that you need to free(token) and free(tk)? You don't. strsep() doesn't allocate memory, it only returns pointers inside the original string. Of course, those are not pointers allocated by malloc() (or similar), so free()ing them is undefined behavior. You only need to free(s) when you are done with the entire string.

    Also note that you don't need dynamic memory allocation at all in your example. You can avoid strdup() and free() altogether by simply writing char *s = p;.

    How to mock location on device?

    Make use of the very convenient and free interactive location simulator for Android phones and tablets (named CATLES). It mocks the GPS-location on a system-wide level (even within the Google Maps or Facebook apps) and it works on physical as well as virtual devices:

    Website: http://ubicom.snet.tu-berlin.de/catles/index.html

    Video: https://www.youtube.com/watch?v=0WSwH5gK7yg