Programs & Examples On #Showmodaldialog

How can I make window.showmodaldialog work in chrome 37?

The window.returnValue property does not work directly when you are opening a window using window.open() while it does work when you are using window.showModalDialog()

So in your case you have two options to achieve what you are trying to do.

Option 1 - Using window.showModalDialog()

In your parent page

var answer = window.showModalDialog(<your page and other arguments>)
if (answer == 1)
 { do some thing with answer }

and inside your child page you can make use of the window.returnValue directly like

window.returnValue = 'value that you want to return';

showModalDialog halts the executions of the JavaScript until the dialog box is closed and can get a return value from the opened dialog box when its closing.But the problem with showModalDialog is that it is not supported on many modern browsers. In contrast window.open just opens a window asynchronously (User can access both the parent window and the opened window). And the JavaScript execution will continue immediately. Which bring us to Option 2

Option 2 - Using window.open() In your parent page write a function that deals with opening of your dialog.

function openDialog(url, width, height, callback){
if(window.showModalDialog){
    options = 'dialogHeight: '+ height + '; dialogWidth: '+ width + '; scroll=no'
    var returnValue = window.showModalDialog(url,this,options);
    callback(returnValue)
}
else {
    options ='toolbar=no, directories=no, location=no, status=yes, menubar=no, resizable=yes, scrollbars=no, width=' + width + ', height=' + height; 
        var childWindow = window.open(url,"",options);
        $(childWindow).on('unload',function(){
            if (childWindow.isOpened == null) {
                childWindow.isOpened = 1;
            }
            else {
                if(callback){
                    callback(childWindow.returnValue);
                }
            }
        });
}

}

And whenever you want to use open a dialog. Write a callback that deals with the return value and pass it as a parameter to openDialog function

function callback(returnValue){
if(returnValue){
    do something nice with the returnValue
}}

And when calling the function

openDialog(<your page>, 'width px', 'height px', callbak);

Check out an article on how to replace window.showModalDialog with window.open

How to deal with ModalDialog using selenium webdriver?

I have tried it, it works for you.

String mainWinHander = webDriver.getWindowHandle();

// code for clicking button to open new window is ommited

//Now the window opened. So here reture the handle with size = 2
Set<String> handles = webDriver.getWindowHandles();

for(String handle : handles)
{
    if(!mainWinHander.equals(handle))
    {
        // Here will block for ever. No exception and timeout!
        WebDriver popup = webDriver.switchTo().window(handle);
        // do something with popup
        popup.close();
    }
}

Javascript to open popup window and disable parent window

To my knowledge, you cannot disable the browser window.

What you can do is create a jQuery (or a similar kind of ) popup and when this popup appears your parent browser will be disabled.

Open your child page in popup.

Avoid browser popup blockers

Based on Jason Sebring's very useful tip, and on the stuff covered here and there, I found a perfect solution for my case:

Pseudo code with Javascript snippets:

  1. immediately create a blank popup on user action

     var importantStuff = window.open('', '_blank');
    

    (Enrich the call to window.open with whatever additional options you need.)

    Optional: add some "waiting" info message. Examples:

    a) An external HTML page: replace the above line with

     var importantStuff = window.open('http://example.com/waiting.html', '_blank');
    

    b) Text: add the following line below the above one:

     importantStuff.document.write('Loading preview...');
    
  2. fill it with content when ready (when the AJAX call is returned, for instance)

     importantStuff.location.href = 'https://example.com/finally.html';
    

    Alternatively, you could close the window here if you don't need it after all (if ajax request fails, for example - thanks to @Goose for the comment):

     importantStuff.close();
    

I actually use this solution for a mailto redirection, and it works on all my browsers (windows 7, Android). The _blank bit helps for the mailto redirection to work on mobile, btw.

how to place last div into right top corner of parent div? (css)

You can simply add a right float to .block2 element and place it in the first position (this is very important).

Here is the code:

<html>
<head>
    <style type="text/css">
        .block1 {
            color: red;
            width: 100px;
            border: 1px solid green;
        }
        .block2 {
            color: blue;
            width: 70px;
            border: 2px solid black;
            position: relative;
            float: right;
        }
    </style>
</head>
<body>
    <div class='block1'>
        <div class='block2'>block2</div>
        <p>text</p>
        <p>text2</p>
    </div>
</body>

Regards...

Set focus and cursor to end of text input field / string w. Jquery

You can do this using Input.setSelectionRange, part of the Range API for interacting with text selections and the text cursor:

var searchInput = $('#Search');

// Multiply by 2 to ensure the cursor always ends up at the end;
// Opera sometimes sees a carriage return as 2 characters.
var strLength = searchInput.val().length * 2;

searchInput.focus();
searchInput[0].setSelectionRange(strLength, strLength);

Demo: Fiddle

Easy way to get a test file into JUnit

You can try @Rule annotation. Here is the example from the docs:

public static class UsesExternalResource {
    Server myServer = new Server();

    @Rule public ExternalResource resource = new ExternalResource() {
        @Override
        protected void before() throws Throwable {
            myServer.connect();
        };

        @Override
        protected void after() {
            myServer.disconnect();
        };
    };

    @Test public void testFoo() {
        new Client().run(myServer);
    }
}

You just need to create FileResource class extending ExternalResource.

Full Example

import static org.junit.Assert.*;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExternalResource;

public class TestSomething
{
    @Rule
    public ResourceFile res = new ResourceFile("/res.txt");

    @Test
    public void test() throws Exception
    {
        assertTrue(res.getContent().length() > 0);
        assertTrue(res.getFile().exists());
    }
}

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

import org.junit.rules.ExternalResource;

public class ResourceFile extends ExternalResource
{
    String res;
    File file = null;
    InputStream stream;

    public ResourceFile(String res)
    {
        this.res = res;
    }

    public File getFile() throws IOException
    {
        if (file == null)
        {
            createFile();
        }
        return file;
    }

    public InputStream getInputStream()
    {
        return stream;
    }

    public InputStream createInputStream()
    {
        return getClass().getResourceAsStream(res);
    }

    public String getContent() throws IOException
    {
        return getContent("utf-8");
    }

    public String getContent(String charSet) throws IOException
    {
        InputStreamReader reader = new InputStreamReader(createInputStream(),
            Charset.forName(charSet));
        char[] tmp = new char[4096];
        StringBuilder b = new StringBuilder();
        try
        {
            while (true)
            {
                int len = reader.read(tmp);
                if (len < 0)
                {
                    break;
                }
                b.append(tmp, 0, len);
            }
            reader.close();
        }
        finally
        {
            reader.close();
        }
        return b.toString();
    }

    @Override
    protected void before() throws Throwable
    {
        super.before();
        stream = getClass().getResourceAsStream(res);
    }

    @Override
    protected void after()
    {
        try
        {
            stream.close();
        }
        catch (IOException e)
        {
            // ignore
        }
        if (file != null)
        {
            file.delete();
        }
        super.after();
    }

    private void createFile() throws IOException
    {
        file = new File(".",res);
        InputStream stream = getClass().getResourceAsStream(res);
        try
        {
            file.createNewFile();
            FileOutputStream ostream = null;
            try
            {
                ostream = new FileOutputStream(file);
                byte[] buffer = new byte[4096];
                while (true)
                {
                    int len = stream.read(buffer);
                    if (len < 0)
                    {
                        break;
                    }
                    ostream.write(buffer, 0, len);
                }
            }
            finally
            {
                if (ostream != null)
                {
                    ostream.close();
                }
            }
        }
        finally
        {
            stream.close();
        }
    }

}

How to get build time stamp from Jenkins build variables?

I know its late replying to this question, but I have recently found a better solution to this problem without installing any plugin. We can create a formatted version number and can then use the variable created to display the build date/time. Steps to create: Build Environment --> Create a formatted version number:

  • Environment Variable Name: BUILD_DATE

  • Version Number Format String: ${BUILD_DATE_FORMATTED}

thats it. Just use the variable created above in the email subject line as ${ENV, var="BUILD_DATE"} and you will get the date/time of the current build.

How do I create a datetime in Python from milliseconds?

Converting millis to datetime (UTC):

import datetime
time_in_millis = 1596542285000
dt = datetime.datetime.fromtimestamp(time_in_millis / 1000.0, tz=datetime.timezone.utc)

Converting datetime to string following the RFC3339 standard (used by Open API specification):

from rfc3339 import rfc3339
converted_to_str = rfc3339(dt, utc=True, use_system_timezone=False)
# 2020-08-04T11:58:05Z

Download File Using jQuery

See here for a similar post on using jQuery to clear forms: Resetting a multi-stage form with jQuery

You may also be running into an issue where the values are being repopulated by the struts value stack. In other words, you submit your form, do whatever in the action class, but do not clear the related field values in the action class. In this scenario the form would appear to maintain the values you previously submitted. If you are persisting these in some way, just null each field value in your action class after persisting and prior to returning SUCCESS.

Jenkins Git Plugin: How to build specific tag?

What I did in the end was:

  • created a new branch jenkins-target, and got jenkins to track that
  • merge from whichever branch or tag I want to build onto the jenkins-target
  • once the build was working, tests passing etc, just simply create a tag from the jenkins-target branch

I'm not sure if this will work for everyone, my project was quite small, not too many tags and stuff, but it's dead easy to do, dont have to mess around with refspecs and parameters and stuff :-)

Set variable value to array of strings

In SQL you can not have a variable array.
However, the best alternative solution is to use a temporary table.

How to copy commits from one branch to another?

Suppose I have committed changes to master branch.I will get the commit id(xyz) of the commit now i have to go to branch for which i need to push my commits.

Single commit id xyx

git checkout branch-name
git cherry-pick xyz
git push origin branch-name

Multiple commit id's xyz abc qwe

git checkout branch-name
git cherry-pick xyz abc qwe
git push origin branch-name

Ruby Arrays: select(), collect(), and map()

EDIT: I just realized you want to filter details, which is an array of hashes. In that case you could do

details.reject { |item| item[:qty].empty? }

The inner data structure itself is not an Array, but a Hash. You can also use select here, but the block is given the key and value in this case:

irb(main):001:0> h = {:sku=>"507772-B21", :desc=>"HP 1TB 3G SATA 7.2K RPM LFF (3 .", :qty=>"", :qty2=>"1", :price=>"5,204.34 P"}
irb(main):002:0> h.select { |key, value| !value.empty? }
=> {:sku=>"507772-B21", :desc=>"HP 1TB 3G SATA 7.2K RPM LFF (3 .", 
    :qty2=>"1", :price=>"5,204.34 P"}

Or using reject, which is the inverse of select (excludes all items for which the given condition holds):

h.reject { |key, value| value.empty? }

Note that this is Ruby 1.9. If you have to maintain compatibility with 1.8, you could do:

Hash[h.reject { |key, value| value.empty? }]

jquery draggable: how to limit the draggable area?

Use the "containment" option:

jQuery UI API - Draggable Widget - containment

The documentation says it only accepts the values: 'parent', 'document', 'window', [x1, y1, x2, y2] but I seem to remember it will accept a selector such as '#container' too.

C char array initialization

Interestingly enough, it is possible to initialize arrays in any way at any time in the program, provided they are members of a struct or union.

Example program:

#include <stdio.h>

struct ccont
{
  char array[32];
};

struct icont
{
  int array[32];
};

int main()
{
  int  cnt;
  char carray[32] = { 'A', 66, 6*11+1 };    // 'A', 'B', 'C', '\0', '\0', ...
  int  iarray[32] = { 67, 42, 25 };

  struct ccont cc = { 0 };
  struct icont ic = { 0 };

  /*  these don't work
  carray = { [0]=1 };           // expected expression before '{' token
  carray = { [0 ... 31]=1 };    // (likewise)
  carray = (char[32]){ [0]=3 }; // incompatible types when assigning to type 'char[32]' from type 'char *'
  iarray = (int[32]){ 1 };      // (likewise, but s/char/int/g)
  */

  // but these perfectly work...
  cc = (struct ccont){ .array='a' };        // 'a', '\0', '\0', '\0', ...
  // the following is a gcc extension, 
  cc = (struct ccont){ .array={ [0 ... 2]='a' } };  // 'a', 'a', 'a', '\0', '\0', ...
  ic = (struct icont){ .array={ 42,67 } };      // 42, 67, 0, 0, 0, ...
  // index ranges can overlap, the latter override the former
  // (no compiler warning with -Wall -Wextra)
  ic = (struct icont){ .array={ [0 ... 1]=42, [1 ... 2]=67 } }; // 42, 67, 67, 0, 0, ...

  for (cnt=0; cnt<5; cnt++)
    printf("%2d %c %2d %c\n",iarray[cnt], carray[cnt],ic.array[cnt],cc.array[cnt]);

  return 0;
}

Converting newline formatting from Mac to Windows

vim also can convert files from UNIX to DOS format. For example:

vim hello.txt <<EOF
:set fileformat=dos
:wq
EOF

How to put an image in div with CSS?

you can do this:

<div class="picture1">&nbsp;</div>

and put this into your css file:

div.picture1 {
   width:100px; /*width of your image*/
   height:100px; /*height of your image*/
   background-image:url('yourimage.file');
   margin:0; /* If you want no margin */
   padding:0; /*if your want to padding */
}

otherwise, just use them as plain

Javascript: Call a function after specific time period

sounds like you're looking for setInterval. It's as easy as this:

function FetchData() {
  // do something
}
setInterval(FetchData, 60000);

if you only want to call something once, theres setTimeout.

How to hide the Google Invisible reCAPTCHA badge

Since hiding the badge is not really legit as per the TOU, and existing placement options were breaking my UI and/or UX, I've come up with the following customization that mimics fixed positioning, but is instead rendered inline:

Collapsible "invisible" captcha

You just need to apply some CSS on your badge container:

.badge-container {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
  width: 70px;
  height: 60px;
  margin: 0 auto;
  box-shadow: 0 0 4px #ddd;
  transition: linear 100ms width;
}
.badge-container:hover {
    width: 256px;
}

I think that's as far as you can legally push it.

Access denied for user 'root'@'localhost' with PHPMyAdmin

Edit your phpmyadmin config.inc.php file and if you have Password, insert that in front of Password in following code:

$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = '**your-root-username**';
$cfg['Servers'][$i]['password'] = '**root-password**';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

How to modify memory contents using GDB?

The easiest is setting a program variable (see GDB: assignment):

(gdb) l
6       {
7           int i;
8           struct file *f, *ftmp;
9
(gdb) set variable i = 10
(gdb) p i
$1 = 10

Or you can just update arbitrary (writable) location by address:

(gdb) set {int}0x83040 = 4

There's more. Read the manual.

Running JAR file on Windows

In Windows Vista or Windows 7, the manual file association editor has been removed.

The easiest way is to run Jarfix, a tiny but powerful freeware tool. Just run it and your Java apps is back... double-clickable again.

How to show current time in JavaScript in the format HH:MM:SS?

new Date().toTimeString().slice(0,8)

Note that toLocaleTimeString() might return something like 9:00:00 AM.

.jar error - could not find or load main class

I found this question when I was looking for the answer to the above question. But in my case the issue was the use of an 'en dash' rather than a 'dash'. Check which dash you are using, it might be the wrong one. I hope this answer speeds up someone else's search, a comment like this could have saved me a bit of time.

C#: How to make pressing enter in a text box trigger a button, yet still allow shortcuts such as "Ctrl+A" to get through?

If you want the return to trigger an action only when the user is in the textbox, you can assign the desired button the AcceptButton control, like this.

    private void textBox_Enter(object sender, EventArgs e)
    {
        ActiveForm.AcceptButton = Button1; // Button1 will be 'clicked' when user presses return
    }

    private void textBox_Leave(object sender, EventArgs e)
    {
        ActiveForm.AcceptButton = null; // remove "return" button behavior
    }

How to overwrite the output directory in spark

UPDATE: Suggest using Dataframes, plus something like ... .write.mode(SaveMode.Overwrite) ....

Handy pimp:

implicit class PimpedStringRDD(rdd: RDD[String]) {
    def write(p: String)(implicit ss: SparkSession): Unit = {
      import ss.implicits._
      rdd.toDF().as[String].write.mode(SaveMode.Overwrite).text(p)
    }
  }

For older versions try

yourSparkConf.set("spark.hadoop.validateOutputSpecs", "false")
val sc = SparkContext(yourSparkConf)

In 1.1.0 you can set conf settings using the spark-submit script with the --conf flag.

WARNING (older versions): According to @piggybox there is a bug in Spark where it will only overwrite files it needs to to write it's part- files, any other files will be left unremoved.

Check if two lists are equal

Enumerable.SequenceEqual(FirstList.OrderBy(fElement => fElement), 
                         SecondList.OrderBy(sElement => sElement))

Display filename before matching line

This is a slight modification from a previous solution. My example looks for stderr redirection in bash scripts: grep '2>' $(find . -name "*.bash")

Using multiple parameters in URL in express

app.get('/fruit/:fruitName/:fruitColor', function(req, res) {
    var data = {
        "fruit": {
            "apple": req.params.fruitName,
            "color": req.params.fruitColor
        }
    }; 

    send.json(data);
});

If that doesn't work, try using console.log(req.params) to see what it is giving you.

Compile a DLL in C/C++, then call it from another program

Regarding building a DLL using MinGW, here are some very brief instructions.

First, you need to mark your functions for export, so they can be used by callers of the DLL. To do this, modify them so they look like (for example)

__declspec( dllexport ) int add2(int num){
   return num + 2;
}

then, assuming your functions are in a file called funcs.c, you can compile them:

gcc -shared -o mylib.dll funcs.c

The -shared flag tells gcc to create a DLL.

To check if the DLL has actually exported the functions, get hold of the free Dependency Walker tool and use it to examine the DLL.

For a free IDE which will automate all the flags etc. needed to build DLLs, take a look at the excellent Code::Blocks, which works very well with MinGW.

Edit: For more details on this subject, see the article Creating a MinGW DLL for Use with Visual Basic on the MinGW Wiki.

How do I hide a menu item in the actionbar?

Android kotlin, hide or set visibility of a menu item in the action bar programmatically.

override fun onCreateOptionsMenu(menu: Menu): Boolean {
    val inflater = menuInflater
    inflater.inflate(R.menu.main_menu, menu)
    val method = menu.findItem(R.id.menu_method)
    method.isVisible = false //if want to show set true
    return super.onCreateOptionsMenu(menu)
}

Run script on mac prompt "Permission denied"

In my case, I had made a stupid typo in the shebang.

So in case someone else on with fat fingers stumbles across this question:

Whoops: #!/usr/local/bin ruby

I meant to write: #!/usr/bin/env ruby

The vague error ZSH gives sent me down the wrong path:

ZSH: zsh: permission denied: ./foo.rb

Bash: bash: ./foo.rb: /usr/local/bin: bad interpreter: Permission denied

How can I convert my Java program to an .exe file?

I would say launch4j is the best tool for converting a java source code(.java) to .exe file You can even bundle a jre with it for distribution and the exe can even be iconified. Although the size of application increases, it makes sure that the application will work perfectly even if the user does not have a jre installed. It also makes sure that you are able to provide the specific jre required for your app without the user having to install it separately. But unfortunately, java loses its importance. Its multi platform support is totally ignored and the final app is only supported for windows. But that is not a big deal, if you are catering only to windows users.

How do I set a checkbox in razor view?

I did it using Razor , works for me

Razor Code

@Html.CheckBox("CashOnDelivery", CashOnDelivery) (This is a bit or bool value) Razor don't support nullable bool
@Html.CheckBox("OnlinePayment", OnlinePayment)

C# Code

 var CashOnDelivery = Convert.ToBoolean(Collection["CashOnDelivery"].Contains("true")?true:false);
 var OnlinePayment = Convert.ToBoolean(Collection["OnlinePayment"].Contains("true") ? true : false);

How to make the python interpreter correctly handle non-ASCII characters in string operations?

s.replace(u'Â ', '')              # u before string is important

and make your .py file unicode.

How do I find the date a video (.AVI .MP4) was actually recorded?

There doesn't seem to be a well defined standard for video metadata (compared to photos and audio files, which have EXIF and ID3/etc. respectively)

Some tags exists like e.g. Title, Composer etc. You can see those if you select a movie file in Windows 7 (perhaps earlier versions also) explorer or right click and view properties. I have not found a tag for recording date unfortunately - the closest thing available is Year (integer) :-(

Programatically, you can read and write most of these tags in .NET using Taglib Sharp from the mono project. Source and binaries are available on the banshee FTP server. It has a pretty impressive list of formats it supports (but still, make sure you catch exceptions when trying to read or write tags - it will throw whenever it finds a file it cannot understand, something which happened to me several times for my modest collection of home recordings.)

To read tags:

using (var f = TagLib.File.Create(@"c:\Path\To\MyVideo.mp4"))
{
    if (f.Tag != null)
    {
        string title = f.Tag.Title;
        Size resolution = new Size(f.Properties.VideoWidth, f.Properties.VideoHeight);
        int year = f.Tag.Year;
        // etc.
    }
}

And similarly, to write metadata back to the file:

using (var f = TagLib.File.Create(@"c:\Path\To\MyVideo.mp4"))
{
    f.Tag.Title = "My Awesome Movie";
    f.Tag.Year = (uint)2011;
    f.Save();
}

How to retrieve GET parameters from JavaScript

This one uses a regular expression and returns null if the parameter doesn't exist or doesn't have any value:

function getQuery(q) {
   return (window.location.search.match(new RegExp('[?&]' + q + '=([^&]+)')) || [, null])[1];
}

Set a persistent environment variable from cmd.exe

Indeed SET TEST_VARIABLE=value works for current process only, so SETX is required. A quick example for permanently storing an environment variable at user level.

  1. In cmd, SETX TEST_VARIABLE etc. Not applied yet (echo %TEST_VARIABLE% shows %TEST_VARIABLE%,
  2. Quick check: open cmd, echo %TEST_VARIABLE% shows etc.
  3. GUI check: System Properties -> Advanced -> Environment variables -> User variables for -> you should see Varible TEST_VARIABLE with value etc.

What is going wrong when Visual Studio tells me "xcopy exited with code 4"

I had the same problem. You could also check which way the slash is pointing. For me it worked to use backslash, instead of forward slash. Example

xcopy /s /y "C:\SFML\bin\*.dll" "$(OutDir)"

Instead of:

xcopy /s /y "C:/SFML/bin/*.dll" "$(OutDir)"

Session variables in ASP.NET MVC

Great answers from the guys but I would caution you against always relying on the Session. It is quick and easy to do so, and of course would work but would not be great in all cicrumstances.

For example if you run into a scenario where your hosting doesn't allow session use, or if you are on a web farm, or in the example of a shared SharePoint application.

If you wanted a different solution you could look at using an IOC Container such as Castle Windsor, creating a provider class as a wrapper and then keeping one instance of your class using the per request or session lifestyle depending on your requirements.

The IOC would ensure that the same instance is returned each time.

More complicated yes, if you need a simple solution just use the session.

Here are some implementation examples below out of interest.

Using this method you could create a provider class along the lines of:

public class CustomClassProvider : ICustomClassProvider
{
    public CustomClassProvider(CustomClass customClass)
    { 
        CustomClass = customClass;
    }

    public string CustomClass { get; private set; }
}

And register it something like:

public void Install(IWindsorContainer container, IConfigurationStore store)
{
    container.Register(
            Component.For<ICustomClassProvider>().UsingFactoryMethod(
                () => new CustomClassProvider(new CustomClass())).LifestylePerWebRequest());
    }

Javascript to check whether a checkbox is being checked or unchecked

The value attribute of a checkbox is what you set by:

<input type='checkbox' name='test' value='1'>

So when someone checks that box, the server receives a variable named test with a value of 1 - what you want to check for is not the value of it (which will never change, whether it is checked or not) but the checked status of the checkbox.

So, if you replace this code:

if (arrChecks[i].value == "on") 
{
    arrChecks[i].checked = 1;
} else {
    arrChecks[i].checked = 0;
}

With this:

arrChecks[i].checked = !arrChecks[i].checked;

It should work. You should use true and false instead of 0 and 1 for this.

cast_sender.js error: Failed to load resource: net::ERR_FAILED in Chrome

To stop seeing those cast_sender.js errors, edit the youtube link in the iframe src and change embed to v

convert big endian to little endian in C [without using provided func]

Here's a fairly generic version; I haven't compiled it, so there are probably typos, but you should get the idea,

void SwapBytes(void *pv, size_t n)
{
    assert(n > 0);

    char *p = pv;
    size_t lo, hi;
    for(lo=0, hi=n-1; hi>lo; lo++, hi--)
    {
        char tmp=p[lo];
        p[lo] = p[hi];
        p[hi] = tmp;
    }
}
#define SWAP(x) SwapBytes(&x, sizeof(x));

NB: This is not optimised for speed or space. It is intended to be clear (easy to debug) and portable.

Update 2018-04-04 Added the assert() to trap the invalid case of n == 0, as spotted by commenter @chux.

C string append

You could use asprintf to concatenate both into a new string:

char *new_str;
asprintf(&new_str,"%s%s",str1,str2);

Set div height to fit to the browser using CSS

You have to declare height of html to div1 elements together, like:

html,
body,
.container,
.div1,
.div2 {
    height:100%;
}

Demo: http://jsfiddle.net/Ccham/

How to get index of an item in java.util.Set

you can extend LinkedHashSet adding your desired getIndex() method. It's 15 minutes to implement and test it. Just go through the set using iterator and counter, check the object for equality. If found, return the counter.

Matlab: Running an m-file from command-line

A command like this runs the m-file successfully:

"C:\<a long path here>\matlab.exe" -nodisplay -nosplash -nodesktop -r "run('C:\<a long path here>\mfile.m'); exit;"

Make a phone call programmatically

Probably the mymobileNO.titleLabel.text value doesn't include the scheme tel://

Your code should look like this:

NSString *phoneNumber = [@"tel://" stringByAppendingString:mymobileNO.titleLabel.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

How to Convert JSON object to Custom C# object?

Using JavaScriptSerializer() is less strict than the generic solution offered : public static T Deserialize(string json)

That might come handy when passing json to the server that does not match exactly the Object definition you are trying to convert to.

Select statement to find duplicates on certain fields

Try this query to find duplicate records on multiple fields

SELECT a.column1, a.column2
FROM dbo.a a
JOIN (SELECT column1, 
       column2, count(*) as countC
FROM dbo.a 
GROUP BY column4, column5
HAVING count(*) > 1 ) b
ON a.column1 = b.column1
AND a.column2 = b.column2

How to simulate a mouse click using JavaScript?

(Modified version to make it work without prototype.js)

function simulate(element, eventName)
{
    var options = extend(defaultOptions, arguments[2] || {});
    var oEvent, eventType = null;

    for (var name in eventMatchers)
    {
        if (eventMatchers[name].test(eventName)) { eventType = name; break; }
    }

    if (!eventType)
        throw new SyntaxError('Only HTMLEvents and MouseEvents interfaces are supported');

    if (document.createEvent)
    {
        oEvent = document.createEvent(eventType);
        if (eventType == 'HTMLEvents')
        {
            oEvent.initEvent(eventName, options.bubbles, options.cancelable);
        }
        else
        {
            oEvent.initMouseEvent(eventName, options.bubbles, options.cancelable, document.defaultView,
            options.button, options.pointerX, options.pointerY, options.pointerX, options.pointerY,
            options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, element);
        }
        element.dispatchEvent(oEvent);
    }
    else
    {
        options.clientX = options.pointerX;
        options.clientY = options.pointerY;
        var evt = document.createEventObject();
        oEvent = extend(evt, options);
        element.fireEvent('on' + eventName, oEvent);
    }
    return element;
}

function extend(destination, source) {
    for (var property in source)
      destination[property] = source[property];
    return destination;
}

var eventMatchers = {
    'HTMLEvents': /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,
    'MouseEvents': /^(?:click|dblclick|mouse(?:down|up|over|move|out))$/
}
var defaultOptions = {
    pointerX: 0,
    pointerY: 0,
    button: 0,
    ctrlKey: false,
    altKey: false,
    shiftKey: false,
    metaKey: false,
    bubbles: true,
    cancelable: true
}

You can use it like this:

simulate(document.getElementById("btn"), "click");

Note that as a third parameter you can pass in 'options'. The options you don't specify are taken from the defaultOptions (see bottom of the script). So if you for example want to specify mouse coordinates you can do something like:

simulate(document.getElementById("btn"), "click", { pointerX: 123, pointerY: 321 })

You can use a similar approach to override other default options.

Credits should go to kangax. Here's the original source (prototype.js specific).

Scala vs. Groovy vs. Clojure

I never had time to play with clojure. But for scala vs groovy, this is words from James Strachan - Groovy creator

"Though my tip though for the long term replacement of javac is Scala. I'm very impressed with it! I can honestly say if someone had shown me the Programming in Scala book by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy."

You can read the whole story here

invalid use of incomplete type

Not exactly what you were asking, but you can make action a template member function:

template<typename Subclass>
class A {
    public:
        //Why doesn't it like this?
        template<class V> void action(V var) {
                (static_cast<Subclass*>(this))->do_action();
        }
};

class B : public A<B> {
    public:
        typedef int mytype;

        B() {}

        void do_action(mytype var) {
                // Do stuff
        }
};

int main(int argc, char** argv) {
    B myInstance;
    return 0;
}

Convert varchar2 to Date ('MM/DD/YYYY') in PL/SQL

First you convert VARCHAR to DATE and then back to CHAR. I do this almost every day and never found any better way.

select TO_CHAR(TO_DATE(DOJ,'MM/DD/YYYY'), 'MM/DD/YYYY') from EmpTable

How to exclude a directory in find . command

The -path -prune approach also works with wildcards in the path. Here is a find statement that will find the directories for a git server serving multiple git repositiories leaving out the git internal directories:

find . -type d \
   -not \( -path */objects -prune \) \
   -not \( -path */branches -prune \) \
   -not \( -path */refs -prune \) \
   -not \( -path */logs -prune \) \
   -not \( -path */.git -prune \) \
   -not \( -path */info -prune \) \
   -not \( -path */hooks -prune \)  

How to plot a function curve in R

You mean like this?

> eq = function(x){x*x}
> plot(eq(1:1000), type='l')

Plot of eq over range 1:1000

(Or whatever range of values is relevant to your function)

Spring MVC: How to perform validation?

Find complete example of Spring Mvc Validation

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import com.technicalkeeda.bean.Login;

public class LoginValidator implements Validator {
    public boolean supports(Class aClass) {
        return Login.class.equals(aClass);
    }

    public void validate(Object obj, Errors errors) {
        Login login = (Login) obj;
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName",
                "username.required", "Required field");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userPassword",
                "userpassword.required", "Required field");
    }
}


public class LoginController extends SimpleFormController {
    private LoginService loginService;

    public LoginController() {
        setCommandClass(Login.class);
        setCommandName("login");
    }

    public void setLoginService(LoginService loginService) {
        this.loginService = loginService;
    }

    @Override
    protected ModelAndView onSubmit(Object command) throws Exception {
        Login login = (Login) command;
        loginService.add(login);
        return new ModelAndView("loginsucess", "login", login);
    }
}

Git Extensions: Win32 error 487: Couldn't reserve space for cygwin's heap, Win32 error 0

I have seen the same error message after upgrading to git1.8.5.2:

Simply make a search for all msys-1.0.dll on your C:\ drive, and make the one used by Git comes first.

For instance, in my case I simply changed the order of:

C:\prgs\Gow\Gow-0.7.0\bin\msys-1.0.dll
C:\prgs\git\PortableGit-1.8.5.2-preview20131230\bin\msys-1.0.dll

By making the Git path C:\prgs\git\PortableGit-1.8.5.2-preview20131230\bin\ come first in my %PATH%, the error message disappeared.

No need to reboot or to even change the DOS session.
Once the %PATH% is updated in that DOS session, the git commands just work.


Note that carmbrester and Sixto Saez both report below (in the comments) having to reboot in order to fix the issue.
Note: First, also removing any msys-1.0.dll, like one in %LOCALAPPDATA%

Django gives Bad Request (400) when DEBUG = False

I had the same problem and I fixed it by setting ALLOWED_HOSTS = ['*'] and to solve the problem with the static images you have to change the virtual paths in the environment configuration like this:

Virtual Path                 Directory

/static/                          /opt/python/current/app/yourpj/static/
/media/                        /opt/python/current/app/Nuevo/media/

I hope it helps you.

PD: sorry for my bad english.

Can I configure a subdomain to point to a specific port on my server

I... don't think so. You can redirect the subdomain (such as blah.something.com) to point to something.com:25566, but I don't think you can actually set up the subdomain to be on a different port like that. I could be wrong, but it'd probably be easier to use a simple .htaccess or something to check %{HTTP_HOST} and redirect according to the subdomain.

How to add custom html attributes in JSX

You can use the "is" attribute to disable the React attribute whitelist for an element.

See my anwser here: Stackoverflow

iOS change navigation bar title font and color

Anyone needs a Swift 3 version. redColor() has changed to just red.

self.navigationController?.navigationBar.titleTextAttributes =
        [NSForegroundColorAttributeName: UIColor.red,
         NSFontAttributeName: UIFont(name: "{your-font-name}", size: 21)!]

Is using 'var' to declare variables optional?

They mean different things. If you use var the variable is declared within the scope you are in (e.g. of the function). If you don't use var, the variable bubbles up through the layers of scope until it encounters a variable by the given name or the global object (window, if you are doing it in the browser), where it then attaches. It is then very similar to a global variable. However, it can still be deleted with delete (most likely by someone else's code who also failed to use var). If you use var in the global scope, the variable is truly global and cannot be deleted.

This is, in my opinion, one of the most dangerous issues with javascript, and should be deprecated, or at least raise warnings over warnings. The reason is, it's easy to forget var and have by accident a common variable name bound to the global object. This produces weird and difficult to debug behavior.

Unable to connect with remote debugger

Try adding this

package.json

devDependencies: {
//...    
    "@react-native-community/cli-debugger-ui": "4.7.0"
}

Terminate everything.

  • npm install
  • npx react-native start
  • npx react-native run-android

Reference: https://github.com/react-native-community/cli/issues/1081#issuecomment-614223917

Can't install APK from browser downloads

I had this problem. Couldn't install apk via the Downloads app. However opening the apk in a file manager app allowed me to install it fine. Using OI File Manager on stock Nexus 7 4.2.1

Why is PHP session_destroy() not working?

if you destroy the session on 127.0.0.1 it will not affect on localhost and vice versa

Are types like uint32, int32, uint64, int64 defined in any stdlib header?

The questioner actually asked about int16 (etc) rather than (ugly) int16_t (etc).

There are no standard headers - nor any in Linux's /usr/include/ folder that define them without the "_t".

How do I download the Android SDK without downloading Android Studio?

I downloaded Android Studio and installed it. The installer said:-

Android Studio => ( 500 MB )

Android SDK => ( 2.3 GB )

Android Studio installer is actually an "Android SDK Installer" along with a sometimes useful tool called "Android Studio".

Most importantly:- Android Studio Installer will not just install the SDK. It will also:-

  • Install the latest build-tools.
  • Install the latest platform-tools.
  • Install the latest AVD Manager which you cannot do without.

Things which you will have to do manually if you install the SDK from its zip file.

Just take it easy. Install the Android Studio.

****************************** Edit ******************************

So, being inspired by the responses in the comments I would like to update my answer.

The update is that only (and only) if 500MB of hard disk space does not matter much to you than you should go for Android Studio otherwise other answers would be better for you.

Android Studio worked for me as I had a 1TB hard disk which is 2000 times 500MB.

Also, note: that RAM sizse should not a restriction for you as you would not even be running Android Studio.

I came to this solution as I was myself stuck in this problem. I tried other answers but for some reason (maybe my in-competencies) they did not work for me. I decided to go for Android Studio and realized that it was merely 18% of the total installation and SDK was 82% of it. While I used to think otherwise. I am not deleting the answers inspite of negative rating as the answer worked for me. I might work for someone elese with a 1 TB hard disk (which is pretty common these days).

Catch checked change event of a checkbox

use the click event for best compatibility with MSIE

$(document).ready(function() {
    $("input[type=checkbox]").click(function() {
        alert("state changed");
    });
});

How do I check if a list is empty?

I had written:

if isinstance(a, (list, some, other, types, i, accept)) and not a:
    do_stuff

which was voted -1. I'm not sure if that's because readers objected to the strategy or thought the answer wasn't helpful as presented. I'll pretend it was the latter, since---whatever counts as "pythonic"---this is the correct strategy. Unless you've already ruled out, or are prepared to handle cases where a is, for example, False, you need a test more restrictive than just if not a:. You could use something like this:

if isinstance(a, numpy.ndarray) and not a.size:
    do_stuff
elif isinstance(a, collections.Sized) and not a:
    do_stuff

the first test is in response to @Mike's answer, above. The third line could also be replaced with:

elif isinstance(a, (list, tuple)) and not a:

if you only want to accept instances of particular types (and their subtypes), or with:

elif isinstance(a, (list, tuple)) and not len(a):

You can get away without the explicit type check, but only if the surrounding context already assures you that a is a value of the types you're prepared to handle, or if you're sure that types you're not prepared to handle are going to raise errors (e.g., a TypeError if you call len on a value for which it's undefined) that you're prepared to handle. In general, the "pythonic" conventions seem to go this last way. Squeeze it like a duck and let it raise a DuckError if it doesn't know how to quack. You still have to think about what type assumptions you're making, though, and whether the cases you're not prepared to handle properly really are going to error out in the right places. The Numpy arrays are a good example where just blindly relying on len or the boolean typecast may not do precisely what you're expecting.

Entity Framework select distinct name

DBContext.TestAddresses.Select(m => m.NAME).Distinct();

if you have multiple column do like this:

DBContext.TestAddresses.Select(m => new {m.NAME, m.ID}).Distinct();

In this example no duplicate CategoryId and no CategoryName i hope this will help you

Checking if any elements in one list are in another

Your original approach can work with a list comprehension:

def listCompare():
  list1 = [1, 2, 3, 4, 5]
  list2 = [5, 6, 7, 8, 9]
  if [item for item in list1 if item in list2]:
    print("Number was found")
  else:
    print("Number not in list")

How to prevent caching of my Javascript file?

Add a random query string to the src

You could either do this manually by incrementing the querystring each time you make a change:

<script src="test.js?version=1"></script>

Or if you are using a server side language, you could automatically generate this:

ASP.NET:

<script src="test.js?rndstr=<%= getRandomStr() %>"></script>

More info on cache-busting can be found here:

https://curtistimson.co.uk/post/front-end-dev/what-is-cache-busting/

Android- create JSON Array and JSON Object

Here's a simpler (but not so short) version which doesn't require try-catch:

Map<String, String> data = new HashMap<>();
data.put("user", "[email protected]");
data.put("pass", "123");

JSONObject jsonData = new JSONObject(data);

If you want to add a jsonObject into a field, you can do this way:

data.put("socialMedia", (new JSONObject()).put("facebookId", "1174989895893400"));
data.put("socialMedia", (new JSONObject()).put("googleId", "106585039098745627377"));

Unfortunately it needs a try-catch because of the put() method.

IF you want to avoid try-catch again (not very recommended, but it's ok if you can guarantee well formated json strings), you might do this way:

data.put("socialMedia", "{ 'facebookId': '1174989895893400' }");

You can do the same about JsonArrays and so on.

Cheers.

PHP AES encrypt / decrypt

These are compact methods to encrypt / decrypt strings with PHP using AES256 CBC:

function encryptString($plaintext, $password, $encoding = null) {
    $iv = openssl_random_pseudo_bytes(16);
    $ciphertext = openssl_encrypt($plaintext, "AES-256-CBC", hash('sha256', $password, true), OPENSSL_RAW_DATA, $iv);
    $hmac = hash_hmac('sha256', $ciphertext.$iv, hash('sha256', $password, true), true);
    return $encoding == "hex" ? bin2hex($iv.$hmac.$ciphertext) : ($encoding == "base64" ? base64_encode($iv.$hmac.$ciphertext) : $iv.$hmac.$ciphertext);
}

function decryptString($ciphertext, $password, $encoding = null) {
    $ciphertext = $encoding == "hex" ? hex2bin($ciphertext) : ($encoding == "base64" ? base64_decode($ciphertext) : $ciphertext);
    if (!hash_equals(hash_hmac('sha256', substr($ciphertext, 48).substr($ciphertext, 0, 16), hash('sha256', $password, true), true), substr($ciphertext, 16, 32))) return null;
    return openssl_decrypt(substr($ciphertext, 48), "AES-256-CBC", hash('sha256', $password, true), OPENSSL_RAW_DATA, substr($ciphertext, 0, 16));
}

Usage:

$enc = encryptString("mysecretText", "myPassword");
$dec = decryptString($enc, "myPassword");

Selecting multiple columns in a Pandas dataframe

I found this method to be very useful:

# iloc[row slicing, column slicing]
surveys_df.iloc [0:3, 1:4]

More details can be found here.

List directory tree structure in python?

I came here looking for the same thing and used dhobbs answer for me. As a way of thanking the community, I added some arguments to write to a file, as akshay asked, and made showing files optional so it is not so bit an output. Also made the indentation an optional argument so you can change it, as some like it to be 2 and others prefer 4.

Used different loops so the one not showing files doesn't check if it has to on each iteration.

Hope it helps someone else as dhobbs answer helped me. Thanks a lot.

def showFolderTree(path,show_files=False,indentation=2,file_output=False):
"""
Shows the content of a folder in a tree structure.
path -(string)- path of the root folder we want to show.
show_files -(boolean)-  Whether or not we want to see files listed.
                        Defaults to False.
indentation -(int)- Indentation we want to use, defaults to 2.   
file_output -(string)-  Path (including the name) of the file where we want
                        to save the tree.
"""


tree = []

if not show_files:
    for root, dirs, files in os.walk(path):
        level = root.replace(path, '').count(os.sep)
        indent = ' '*indentation*(level)
        tree.append('{}{}/'.format(indent,os.path.basename(root)))

if show_files:
    for root, dirs, files in os.walk(path):
        level = root.replace(path, '').count(os.sep)
        indent = ' '*indentation*(level)
        tree.append('{}{}/'.format(indent,os.path.basename(root)))    
        for f in files:
            subindent=' ' * indentation * (level+1)
            tree.append('{}{}'.format(subindent,f))

if file_output:
    output_file = open(file_output,'w')
    for line in tree:
        output_file.write(line)
        output_file.write('\n')
else:
    # Default behaviour: print on screen.
    for line in tree:
        print line

download a file from Spring boot rest service

I want to share a simple approach for downloading files with JavaScript (ES6), React and a Spring Boot backend:

  1. Spring boot Rest Controller

Resource from org.springframework.core.io.Resource

    @SneakyThrows
    @GetMapping("/files/{filename:.+}/{extraVariable}")
    @ResponseBody
    public ResponseEntity<Resource> serveFile(@PathVariable String filename, @PathVariable String extraVariable) {

        Resource file = storageService.loadAsResource(filename, extraVariable);
        return ResponseEntity.ok()
               .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getFilename() + "\"")
               .body(file);
    }
  1. React, API call using AXIOS

Set the responseType to arraybuffer to specify the type of data contained in the response.

export const DownloadFile = (filename, extraVariable) => {
let url = 'http://localhost:8080/files/' + filename + '/' + extraVariable;
return axios.get(url, { responseType: 'arraybuffer' }).then((response) => {
    return response;
})};

Final step > downloading
with the help of js-file-download you can trigger browser to save data to file as if it was downloaded.

DownloadFile('filename.extension', 'extraVariable').then(
(response) => {
    fileDownload(response.data, filename);
}
, (error) => {
    // ERROR 
});

How can I access global variable inside class in Python

It is very simple to make a variable global in a class:

a = 0

class b():
    global a
    a = 10

>>> a
10

Focusable EditText inside ListView

Another simple solution is to define your onClickListener, in the getView(..) method, of your ListAdapter.

public View getView(final int position, View convertView, ViewGroup parent){
    //initialise your view
    ...
    View row = context.getLayoutInflater().inflate(R.layout.list_item, null);
    ...

    //define your listener on inner items

    //define your global listener
    row.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
            doSomethingWithViewAndPosition(v,position);
        }
    });

    return row;

That way your row are clickable, and your inner view too :)

Fake "click" to activate an onclick method

I could be misinterpreting your question, but, yes, this is possible. The way that I would go about doing it is this:

var oElement = document.getElementById('elementId');   // get a reference to your element
oElement.onclick = clickHandler; // assign its click function a function reference

function clickHandler() {
    // this function will be called whenever the element is clicked
    // and can also be called from the context of other functions
}

Now, whenever this element is clicked, the code in clickHandler will execute. Similarly, you can execute the same code by calling the function from within the context of other functions (or even assign clickHandler to handle events triggered by other elements)>

Output array to CSV in Ruby

To a file:

require 'csv'
CSV.open("myfile.csv", "w") do |csv|
  csv << ["row", "of", "CSV", "data"]
  csv << ["another", "row"]
  # ...
end

To a string:

require 'csv'
csv_string = CSV.generate do |csv|
  csv << ["row", "of", "CSV", "data"]
  csv << ["another", "row"]
  # ...
end

Here's the current documentation on CSV: http://ruby-doc.org/stdlib/libdoc/csv/rdoc/index.html

Indent starting from the second line of a paragraph with CSS

If you style as list

  • you can "text-align: initial" and the subsequent lines will all indent. I realize this may not suit your needs, but I was checking to see if there was another solution before I change my markup..

    I guess putting the second line in would also work, but requires human thinking for the content to flow properly, and, of course, hard line breaks (which don't bother me, per se).

  • Local and global temporary tables in SQL Server

    • Table variables (DECLARE @t TABLE) are visible only to the connection that creates it, and are deleted when the batch or stored procedure ends.

    • Local temporary tables (CREATE TABLE #t) are visible only to the connection that creates it, and are deleted when the connection is closed.

    • Global temporary tables (CREATE TABLE ##t) are visible to everyone, and are deleted when all connections that have referenced them have closed.

    • Tempdb permanent tables (USE tempdb CREATE TABLE t) are visible to everyone, and are deleted when the server is restarted.

    Evaluate if list is empty JSTL

    empty is an operator:

    The empty operator is a prefix operation that can be used to determine whether a value is null or empty.

    <c:if test="${empty myObject.featuresList}">
    

    Instant run in Android Studio 2.0 (how to turn off)

    UPDATE

    In Android Studio Version 3.5 and Above

    Now Instant Run is removed, It has "Apply Changes". See official blog for more about the change.

    we removed Instant Run and re-architectured and implemented from the ground-up a more practical approach in Android Studio 3.5 called Apply Changes.Apply Changes uses platform-specific APIs from Android Oreo and higher to ensure reliable and consistent behavior; unlike Instant Run, Apply Changes does not modify your APK. To support the changes, we re-architected the entire deployment pipeline to improve deployment speed, and also tweaked the run and deployment toolbar buttons for a more streamlined experience.

    Now, As per stable available version 3.0 of Android studio,

    If you need to turn off Instant Run, go to

    File ? Settings ? Build, Execution, Deployment ? Instant Run and uncheck Enable Instant Run.

    enter image description here

    How to negate specific word in regex?

    Just thought of something else that could be done. It's very different from my first answer, as it doesn't use regular expressions, so I decided to make a second answer post.

    Use your language of choice's split() method equivalent on the string with the word to negate as the argument for what to split on. An example using Python:

    >>> text = 'barbarasdbarbar 1234egb ar bar32 sdfbaraadf'
    >>> text.split('bar')
    ['', '', 'asd', '', ' 1234egb ar ', '32 sdf', 'aadf']
    

    The nice thing about doing it this way, in Python at least (I don't remember if the functionality would be the same in, say, Visual Basic or Java), is that it lets you know indirectly when "bar" was repeated in the string due to the fact that the empty strings between "bar"s are included in the list of results (though the empty string at the beginning is due to there being a "bar" at the beginning of the string). If you don't want that, you can simply remove the empty strings from the list.

    How do I write a RGB color value in JavaScript?

    I am showing with an example of adding random color. You can write this way

    var r = Math.floor(Math.random() * 255);
    var g = Math.floor(Math.random() * 255);
    var b = Math.floor(Math.random() * 255);
    var col = "rgb(" + r + "," + g + "," + b + ")";
    parent.childNodes[1].style.color = col;
    

    The property is expected as a string

    What is the difference between 'E', 'T', and '?' for Java generics?

    A type variable, <T>, can be any non-primitive type you specify: any class type, any interface type, any array type, or even another type variable.

    The most commonly used type parameter names are:

    • E - Element (used extensively by the Java Collections Framework)
    • K - Key
    • N - Number
    • T - Type
    • V - Value

    In Java 7 it is permitted to instantiate like this:

    Foo<String, Integer> foo = new Foo<>(); // Java 7
    Foo<String, Integer> foo = new Foo<String, Integer>(); // Java 6
    

    ansible: lineinfile for several lines?

    To add multiple lines you can use lineinfile module with with_items also including variable vars here to make it simple :)

    ---
    - hosts: localhost  #change Host group as par inventory
      gather_facts: no
      become: yes
      vars:
        test_server: "10.168.1.1"
        test_server_name: "test-server"
        file_dest: "/etc/test/test_agentd.conf"
    
      - name: configuring test.conf
        lineinfile:
          dest: "{{ item.dest }}"
          regexp: "{{ item.regexp }}"
          line: "{{ item.line }}"
        with_items:
          - { dest: '"{{ file_dest }}"', regexp: 'Server=', line: 'Server="{{test_server}}"' }
          - { dest: '"{{ file_dest }}"', regexp: 'ServerActive=', line: 'ServerActive="{{test_server}}"' }
          - { dest: '"{{ file_dest }}"', regexp: 'Hostname=', line: 'Hostname="{{test_server_name}}"' }
    

    "CAUTION: provisional headers are shown" in Chrome debugger

    A common reason this happens is if you are tracking an event and you don't prevent the default action. For example, if you have a click event, then you will want to include:

    e.preventDefault();
    

    or

    return false;
    

    If you don't, you will see the provisional headers warning as well as a "canceled" status in the Network tab of your web console.

    Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

    ContextLoaderListener has its own context which is shared by all servlets and filters. By default it will search /WEB-INF/applicationContext.xml

    You can customize this by using

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/somewhere-else/root-context.xml</param-value>
    </context-param>
    

    on web.xml, or remove this listener if you don't need one.

    Should you use rgba(0, 0, 0, 0) or rgba(255, 255, 255, 0) for transparency in CSS?

    There are two ways of storing a color with alpha. The first is exactly as you see it, with each component as-is. The second is to use pre-multiplied alpha, where the color values are multiplied by the alpha after converting it to the range 0.0-1.0; this is done to make compositing easier. Ordinarily you shouldn't notice or care which way is implemented by any particular engine, but there are corner cases where you might, for example if you tried to increase the opacity of the color. If you use rgba(0, 0, 0, 0) you are less likely to to see a difference between the two approaches.

    Forward request headers from nginx proxy server

    The problem is that '_' underscores are not valid in header attribute. If removing the underscore is not an option you can add to the server block:

    underscores_in_headers on;
    

    This is basically a copy and paste from @kishorer747 comment on @Fleshgrinder answer, and solution is from: https://serverfault.com/questions/586970/nginx-is-not-forwarding-a-header-value-when-using-proxy-pass/586997#586997

    I added it here as in my case the application behind nginx was working perfectly fine, but as soon ngix was between my flask app and the client, my flask app would not see the headers any longer. It was kind of time consuming to debug.

    What are the differences between normal and slim package of jquery?

    At this time, the most authoritative answer appears to be in this issue, which states "it is a custom build of jQuery that excludes effects, ajax, and deprecated code." Details will be announced with jQuery 3.0.

    I suspect that the rationale for excluding these components of the jQuery library is in recognition of the increasingly common scenario of jQuery being used in conjunction with another JS framework like Angular or React. In these cases, the usage of jQuery is primarily for DOM traversal and manipulation, so leaving out those components that are either obsolete or are provided by the framework gains about a 20% reduction in file size.

    Create mysql table directly from CSV file using the CSV Storage engine?

    I adopted the script from shiplu.mokadd.im to fit my needs. Whom it interests:

    #!/bin/bash
    if [ "$#" -lt 2 ]; then
        if [ "$#" -lt 1 ]; then 
            echo "usage: $0 [path to csv file] <table name> > [sql filename]"
            exit 1
        fi
        TABLENAME=$1
    else
        TABLENAME=$2
    fi
    echo "CREATE TABLE $TABLENAME ( "
    FIRSTLINE=$(head -1 $1)
    # convert lowercase characters to uppercase
    FIRSTLINE=$(echo $FIRSTLINE | tr '[:lower:]' '[:upper:]')
    # remove spaces
    FIRSTLINE=$(echo $FIRSTLINE | sed -e 's/ /_/g')
    # add tab char to the beginning of line
    FIRSTLINE=$(echo "\t$FIRSTLINE")
    # add tabs and newline characters
    FIRSTLINE=$(echo $FIRSTLINE | sed -e 's/,/,\\n\\t/g')
    # add VARCHAR
    FIRSTLINE=$(echo $FIRSTLINE | sed -e 's/,/ VARCHAR(255),/g')
    # print out result
    echo -e $FIRSTLINE" VARCHAR(255));"
    

    CSS filter: make color image with transparency white

    To my knowledge, there is sadly no CSS filter to colorise an element (perhaps with the use of some SVG filter magic, but I'm somewhat unfamiliar with that) and even if that wasn't the case, filters are basically only supported by webkit browsers.

    With that said, you could still work around this and use a canvas to modify your image. Basically, you can draw an image element onto a canvas and then loop through the pixels, modifying the respective RGBA values to the colour you want.

    However, canvases do come with some restrictions. Most importantly, you have to make sure that the image src comes from the same domain as the page. Otherwise the browser won't allow you to read or modify the pixel data of the canvas.

    Here's a JSFiddle changing the colour of the JSFiddle logo.

    _x000D_
    _x000D_
    //Base64 source, but any local source will work_x000D_
    var src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAgCAYAAACGhPFEAAAABGdBTUEAALGPC/xhBQAABzhJREFUWAnNWAtwXFUZ/v9zs4GUJJu+k7tb5DFAGWO1aal1sJUiY3FQQaWidqgPLAMqYzd9CB073VodhCa7KziiFgWhzvAYQCiCD5yK4gOTDnZK2ymdZoruppu0afbu0pBs7p7f7yy96W662aw2QO/Mzj2P//Gd/5z/+89dprfzubnTN332Re+xiKawllxWucm+9O4eCi9xT8ctn45yKd3AXX1BPsu3XIiuY+K5kDmrUA7jORb5m2baLm7uscNrJr9eOF9Je8JAz9ySnFHlq9nEpG6CYx+RdJDQDtKymxT1iWZLFDUy0/kkfDUxzYVzV0hvHZLs946Gph+uBLCRmRDQdjTVwmw9DZCNMPi4KzqWbPX/sxwIu71vlrKq10HnZizwTSFZngj5f1NOx5s7bdB2LHWDEusBOD487LrX9qyd8qpnvJL3zGjqAh+pR4W4RVhu715Vv2U8PTWeQLn5YHvms4qsR4TpH/ImLfhfARvbPaGGrrjTtwjH5hFFfHcgkv5SOZ9mbvxIgwGaZl+8ULGcJ8zOsJa9R1r9B2d8v2eGb1KNieqBhLNz8ekyAoV3VAX985+FvSXEenF8lf9lA7DUUxa0HUl/RTG1EfOUQmUwwCtggDewiHmc1R+Ir/MfKJz/f9tTwn31Nf7qVxlHLR6qXwg7cHXqU/p4hPdUB6Lp55TiXwDYTsrpG12dbdY5t0WLrCSRSVjIItG0dqIAG2jHwlPTmvQdsL3Ajjg3nAq3zIgdS98ZiGV0MJZeWVJs2WNWIJK5hcLh0osuqVTxIAdi6X3w/0LFGoa+AtFMzo5kflix0gQLBiLOZmAYro84RcfSc3NKpFAcliM9eYDdjZ7QO/1mRc+CTapqFX+4lO9TQEPoUpz//anQ5FQphXdizB1QXXk/moOl/JUC7aLMDpQSHj02PdxbG9xybM60u47UjZ4bq290Zm451ky3HSi6kxTKJ9fXHQVvZJm1XTjutYsozw53T1L+2ufBGPMTe/c30M/mD3uChW+c+6tQttthuBnbqMBLKGbydI54/eFQ3b5CWa/dGMl8xFJ0D/rvg1Pjdxil+2XK5b6ZWD15lyfnvYOxTBYs9TrY5NbuUENRUo5EGtGyVUNtBwBfDjA/IDtTkiNRsdYD8O+NcVN2KUfXo3UnukvA6Z3I+mWeY++NpNoAwDvAv1Uiss7oiNBmYD+XraoO0NvnPVnvrbUsA4CcYusPgajzY2/cvN+KtOFl/6w/IWrvdTV/Ktla92KhkNcOxpwPCqm/IgLbEvteW1m4E2/d8iY9AZOXQ/7WxKq6nxq9YNT5OLF6DmAfTHT13EL3XjTk2csXk4bqX2OXWiQ73Jz49tS4N5d/oxoHLr14EzPfAf1IIlS/2oznIx1omLURhL5Qa1oxFuC8EeHb8U6I88bXCwGbuZ61jb2Jgz1XYUHb0b0vEHNWmHE9lNsjWrcmnMhNhYDNnCkmNJSFHFdzte82M1b04HgC6HrYbAPw1pFdNOc4GE334wz9qkihRAdK/0HBub/E1MkhJBiq6V8gq7Htm05OjN2C/z/jCP1xbAlCwcnsAsbdkGHF/trPIcoNrtbjFRNmoama6EgZ42SimRG5FjLHWakNwWjmirLyZpLpKH7TysghZ00OUHNTxFmK2yDNQSKlx7u0Q0GQeLtQdy4rY5zMzqVb/ccoJ/OQMEmoPWW3988to4NY8DxYf6WMDCW6ktuRvFqxmqewgguhdLCcwsic0DMA8lE7kvrYyFhBw446X2B/nRNo739/YnX9azKUXYCg9CtlvdAUyywuEB1p4gh9AzbPZc0mF8Z+sINgn0MIwiVgKcAG6rGlT86AMdqw2n8ppR63o+mveQXCFAxzX2BWD0P6pcT+g3uNlmEDV3JX4iOh1xICdWU2gGXOMXN5HfRhK4IoPxlfXQfmKf+Ajh1I+MEeHMcKzqvoxoZsHsoOXgP+fEkxbw1e2JhB0h2q9tc4OL/fAVdsdd3jnyhklmRo8qGBQXchIvMMKPW7Pt85/SM66CNmDw1mh75cHu6JWZFZxNLNSJTPIM5PuJquKEt3o6zmqyJZH4LTC7CIfTonO5Jr/B2jxIq6jW3OZVYVX4edDSD6e1BAXqwgl/I2miKp+ZayOkT0CjaJww21/2bhznio7uoiL2dQB8HdhoV++ri4AdUdtgfw789mRHspzulXzyCcI1BMVQXgL5LodnP7zFfE+N9/9yOUyedxTn/SFHWWj0ifAY1ANHUleOJRlPqdCUmbO85J1jjxUfkUkgVCsg1/uGw0n/fvFm67LT2NLTLfi98Cke8dpMGl3r9QxVRnPuPrWzaIUmsAtgas0okd6ETh7AYt5d7+BeCbhfKVcQ6CtwgJjjoiP3fdgVbcbY57/otBnxidfndvo6/67BtxUf4kztJsbMg0CJaU9QxN2FskhePQBWr7La6wvzRFarTtyoBgB4hm5M//aAMT2+/Vlfzp81/vywLMWSBN1QAAAABJRU5ErkJggg==";_x000D_
    var canvas = document.getElementById("theCanvas");_x000D_
    var ctx = canvas.getContext("2d");_x000D_
    var img = new Image;_x000D_
    _x000D_
    //wait for the image to load_x000D_
    img.onload = function() {_x000D_
        //Draw the original image so that you can fetch the colour data_x000D_
        ctx.drawImage(img,0,0);_x000D_
        var imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);_x000D_
        _x000D_
        /*_x000D_
        imgData.data is a one-dimensional array which contains _x000D_
        the respective RGBA values for every pixel _x000D_
        in the selected region of the context _x000D_
        (note i+=4 in the loop)_x000D_
        */_x000D_
        _x000D_
        for (var i = 0; i < imgData.data.length; i+=4) {_x000D_
       imgData.data[i] = 255; //Red, 0-255_x000D_
       imgData.data[i+1] = 255; //Green, 0-255_x000D_
       imgData.data[i+2] = 255; //Blue, 0-255_x000D_
       /* _x000D_
       imgData.data[i+3] contains the alpha value_x000D_
       which we are going to ignore and leave_x000D_
       alone with its original value_x000D_
       */_x000D_
        }_x000D_
        ctx.clearRect(0, 0, canvas.width, canvas.height); //clear the original image_x000D_
        ctx.putImageData(imgData, 0, 0); //paint the new colorised image_x000D_
    }_x000D_
    _x000D_
    //Load the image!_x000D_
    img.src = src;
    _x000D_
    body {_x000D_
        background: green;_x000D_
    }
    _x000D_
    <canvas id="theCanvas"></canvas>
    _x000D_
    _x000D_
    _x000D_

    How to create a temporary directory and get the path / file name in Python

    In Python 3, TemporaryDirectory in the tempfile module can be used.

    This is straight from the examples:

    import tempfile
    with tempfile.TemporaryDirectory() as tmpdirname:
         print('created temporary directory', tmpdirname)
    # directory and contents have been removed
    

    If you would like to keep the directory a bit longer, you could do something like this:

    import tempfile
    
    temp_dir = tempfile.TemporaryDirectory()
    print(temp_dir.name)
    # use temp_dir, and when done:
    temp_dir.cleanup()
    

    The documentation also says that "On completion of the context or destruction of the temporary directory object the newly created temporary directory and all its contents are removed from the filesystem." So at the end of the program, for example, Python will clean up the directory if it wasn't explicitly removed. Python's unittest may complain of ResourceWarning: Implicitly cleaning up <TemporaryDirectory... if you rely on this, though.

    How to load json into my angular.js ng-model?

    Here's a simple example of how to load JSON data into an Angular model.

    I have a JSON 'GET' web service which returns a list of Customer details, from an online copy of Microsoft's Northwind SQL Server database.

    http://www.iNorthwind.com/Service1.svc/getAllCustomers

    It returns some JSON data which looks like this:

    { 
        "GetAllCustomersResult" : 
            [
                {
                  "CompanyName": "Alfreds Futterkiste",
                  "CustomerID": "ALFKI"
                },
                {
                  "CompanyName": "Ana Trujillo Emparedados y helados",
                  "CustomerID": "ANATR"
                },
                {
                  "CompanyName": "Antonio Moreno Taquería",
                  "CustomerID": "ANTON"
                }
            ]
        }
    

    ..and I want to populate a drop down list with this data, to look like this...

    Angular screenshot

    I want the text of each item to come from the "CompanyName" field, and the ID to come from the "CustomerID" fields.

    How would I do it ?

    My Angular controller would look like this:

    function MikesAngularController($scope, $http) {
    
        $scope.listOfCustomers = null;
    
        $http.get('http://www.iNorthwind.com/Service1.svc/getAllCustomers')
             .success(function (data) {
                 $scope.listOfCustomers = data.GetAllCustomersResult;
             })
             .error(function (data, status, headers, config) {
                 //  Do some error handling here
             });
    }
    

    ... which fills a "listOfCustomers" variable with this set of JSON data.

    Then, in my HTML page, I'd use this:

    <div ng-controller='MikesAngularController'>
        <span>Please select a customer:</span>
        <select ng-model="selectedCustomer" ng-options="customer.CustomerID as customer.CompanyName for customer in listOfCustomers" style="width:350px;"></select>
    </div>
    

    And that's it. We can now see a list of our JSON data on a web page, ready to be used.

    The key to this is in the "ng-options" tag:

    customer.CustomerID as customer.CompanyName for customer in listOfCustomers
    

    It's a strange syntax to get your head around !

    When the user selects an item in this list, the "$scope.selectedCustomer" variable will be set to the ID (the CustomerID field) of that Customer record.

    The full script for this example can be found here:

    JSON data with Angular

    Mike

    How to instantiate a javascript class in another js file?

    It is saying the value is undefined because it is a constructor function, not a class with a constructor. In order to use it, you would need to use Customer() or customer().

    First, you need to load file1.js before file2.js, like slebetman said:

    <script defer src="file1.js" type="module"></script>
    <script defer src="file2.js" type="module"></script>
    

    Then, you could change your file1.js as follows:

    export default class Customer(){
        constructor(){
            this.name="Jhon";
            this.getName=function(){
                return this.name;
            };
        }
    }
    

    And the file2.js as follows:

    import { Customer } from "./file1";
    var customer=new Customer();
    

    Please correct me if I am wrong.

    Build tree array from flat array in javascript

    This is an old thread but I figured an update never hurts, with ES6 you can do:

    _x000D_
    _x000D_
    const data = [{
        id: 1,
        parent_id: 0
    }, {
        id: 2,
        parent_id: 1
    }, {
        id: 3,
        parent_id: 1
    }, {
        id: 4,
        parent_id: 2
    }, {
        id: 5,
        parent_id: 4
    }, {
        id: 8,
        parent_id: 7
    }, {
        id: 9,
        parent_id: 8
    }, {
        id: 10,
        parent_id: 9
    }];
    
    const arrayToTree = (items=[], id = null, link = 'parent_id') => items.filter(item => id==null ? !items.some(ele=>ele.id===item[link]) : item[link] === id ).map(item => ({ ...item, children: arrayToTree(items, item.id) }))
    const temp1=arrayToTree(data)
    console.log(temp1)
    
    const treeToArray = (items=[], key = 'children') => items.reduce((acc, curr) => [...acc, ...treeToArray(curr[key])].map(({ [`${key}`]: child, ...ele }) => ele), items);
    const temp2=treeToArray(temp1)
    
    console.log(temp2)
    _x000D_
    _x000D_
    _x000D_

    hope it helps someone

    How to initialize a JavaScript Date to a particular time zone

    For Ionic users, I had hell with this because .toISOString() has to be used with the html template.

    This will grab the current date, but of course can be added to previous answers for a selected date.

    I got it fixed using this:

    _x000D_
    _x000D_
    date = new Date();_x000D_
    public currentDate: any = new Date(this.date.getTime() - this.date.getTimezoneOffset()*60000).toISOString();
    _x000D_
    _x000D_
    _x000D_

    The *60000 is indicating the UTC -6 which is CST so whatever TimeZone is needed, the number and difference can be changed.

    A CSS selector to get last visible div

    Pure JS solution (eg. when you don't use jQuery or another framework to other things and don't want to download that just for this task):

    <div>A</div>
    <div>B</div>  
    <div>C</div>  
    <div style="display:none">D</div>
    <div style="display:none">E</div>    
    
    <script>
    var divs = document.getElementsByTagName('div');
    var last;
    
    if (divs) {
        for (var i = 0; i < divs.length; i++) {
            if (divs[i].style.display != 'none') {
                last = divs[i];           
            }
        }
    }
    
    if (last) {
        last.style.background = 'red';
    }
    </script>
    

    http://jsfiddle.net/uEeaA/90/

    Can you get the column names from a SqlDataReader?

    Use an extension method:

        public static List<string> ColumnList(this IDataReader dataReader)
        {
            var columns = new List<string>();
            for (int i = 0; i < dataReader.FieldCount; i++)
            {
                columns.Add(dataReader.GetName(i));
            }
            return columns;
        }
    

    Copy table from one database to another

    Assuming that they are in the same server, try this:

    SELECT *
    INTO SecondDB.TableName
    FROM FirstDatabase.TableName
    

    This will create a new table and just copy the data from FirstDatabase.TableName to SecondDB.TableName and won't create foreign keys or indexes.

    java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

    You can use GlassFish server and the error will be resolved. I tried with tomcat7 and tomcat8 but this error was coming continuously but resolved with GlassFish. I think it's a problem with server.

    These are the results with tomcat7: Results with tomcat7

    Here are the results with GlassFish: Results with GlassFish

    Is the NOLOCK (Sql Server hint) bad practice?

    None of the answers is wrong, however a little confusing maybe.

    • When querying single values/rows it's always bad practise to use NOLOCK -- you probably never want to display incorrect information or maybe even take any action on incorrect data.
    • When displaying rough statistical information, NOLOCK can be very useful. Take SO as an example: It would be nonsense to take locks to read the exact number of views of a question, or the exact number of questions for a tag. Nobody cares if you incorrectly state 3360 questions tagged with "sql-server" now, and because of a transaction rollback, 3359 questions one second later.

    How to decrypt an encrypted Apple iTunes iPhone backup?

    Sorry, but it might even be more complicated, involving pbkdf2, or even a variation of it. Listen to the WWDC 2010 session #209, which mainly talks about the security measures in iOS 4, but also mentions briefly the separate encryption of backups and how they're related.

    You can be pretty sure that without knowing the password, there's no way you can decrypt it, even by brute force.

    Let's just assume you want to try to enable people who KNOW the password to get to the data of their backups.

    I fear there's no way around looking at the actual code in iTunes in order to figure out which algos are employed.

    Back in the Newton days, I had to decrypt data from a program and was able to call its decryption function directly (knowing the password, of course) without the need to even undersand its algorithm. It's not that easy anymore, unfortunately.

    I'm sure there are skilled people around who could reverse engineer that iTunes code - you just have to get them interested.

    In theory, Apple's algos should be designed in a way that makes the data still safe (i.e. practically unbreakable by brute force methods) to any attacker knowing the exact encryption method. And in WWDC session 209 they went pretty deep into details about what they do to accomplish this. Maybe you can actually get answers directly from Apple's security team if you tell them your good intentions. After all, even they should know that security by obfuscation is not really efficient. Try their security mailing list. Even if they do not repond, maybe someone else silently on the list will respond with some help.

    Good luck!

    Identifier is undefined

    You may also be missing using namespace std;

    Failed to open/create the internal network Vagrant on Windows10

    If the accepted https://stackoverflow.com/a/33733454/8520387 doesn't work for you, then disable other enabled Ethernet Cards. After this try to run your vagrant script again and it will create a new Network Card for you. For me it was #3

    enter image description here

    Shortcut key for commenting out lines of Python code in Spyder

    On macOS:

    Cmd + 1
    

    On Windows, probably

    Ctrl + (/) near right shift key
    

    Inserting a string into a list without getting split into characters

    best put brackets around foo, and use +=

    list+=['foo']
    

    How to simulate a touch event in Android?

    Here is a monkeyrunner script that sends touch and drags to an application. I have been using this to test that my application can handle rapid repetitive swipe gestures.

    # This is a monkeyrunner jython script that opens a connection to an Android
    # device and continually sends a stream of swipe and touch gestures.
    #
    # See http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html
    #
    # usage: monkeyrunner swipe_monkey.py
    #
    
    # Imports the monkeyrunner modules used by this program
    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
    
    # Connects to the current device
    device = MonkeyRunner.waitForConnection()
    
    # A swipe left from (x1, y) to (x2, y) in 2 steps
    y = 400
    x1 = 100
    x2 = 300
    start = (x1, y)
    end = (x2, y)
    duration = 0.2
    steps = 2
    pause = 0.2
    
    for i in range(1, 250):
        # Every so often inject a touch to spice things up!
        if i % 9 == 0:
            device.touch(x2, y, 'DOWN_AND_UP')
            MonkeyRunner.sleep(pause)
        # Swipe right
        device.drag(start, end, duration, steps)
        MonkeyRunner.sleep(pause)
        # Swipe left
        device.drag(end, start, duration, steps)
        MonkeyRunner.sleep(pause)
    

    Pandas sum by groupby, but exclude certain columns

    If you are looking for a more generalized way to apply to many columns, what you can do is to build a list of column names and pass it as the index of the grouped dataframe. In your case, for example:

    columns = ['Y'+str(i) for year in range(1967, 2011)]
    
    df.groupby('Country')[columns].agg('sum')
    

    MVC 3: How to render a view without its layout page when loaded via ajax?

    All you need is to create two layouts:

    1. an empty layout

    2. main layout

    Then write the code below in _viewStart file:

    @{
       if (Request.IsAjaxRequest())
       {
          Layout = "~/Areas/Dashboard/Views/Shared/_emptyLayout.cshtml";
       }
       else
       {
          Layout = "~/Areas/Dashboard/Views/Shared/_Layout.cshtml";
       }
     }
    

    of course, maybe it is not the best solution

    How do I rename a MySQL schema?

    If you're on the Model Overview page you get a tab with the schema. If you rightclick on that tab you get an option to "edit schema". From there you can rename the schema by adding a new name, then click outside the field. This goes for MySQL Workbench 5.2.30 CE

    Edit: On the model overview it's under Physical Schemata

    Screenshot:

    enter image description here

    No input file specified

    Run ulimit -n 2048

    And restart php/php-fpm

    Better way to sort array in descending order

    For in-place sorting in descending order:

    int[] numbers = { 1, 2, 3 };
    Array.Sort(numbers, (a, b) => b.CompareTo(a));
    

    For out-of-place sorting (no changes to input array):

    int[] numbers = { 1, 2, 3 };
    var sortedNumbers = numbers.OrderByDescending(x => x).ToArray();
    

    How to download Xcode DMG or XIP file?

    You can find the DMGs or XIPs for Xcode and other development tools on https://developer.apple.com/download/more/ (requires Apple ID to login).

    You must login to have a valid session before downloading anything below.

    *(Newest on top. For each minor version (6.3, 5.1, etc.) only the latest revision is kept in the list.)

    *With Xcode 12.2, Apple introduces the term “Release Candidate” (RC) which replaces “GM seed” and indicates this version is near final.

    Xcode 12

    • 12.4 (requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Catalina 10.15.4 or later) (Latest as of 27-Jan-2021)

    • 12.3 (requires a Mac with Apple silicon running macOS Big Sur 11 or later, or an Intel-based Mac running macOS Catalina 10.15.4 or later)

    • 12.2

    • 12.1

    • 12.0.1 (Requires macOS 10.15.4 or later) (Latest as of 24-Sept-2020)

    Xcode 11

    Xcode 10 (unsupported for iTunes Connect)

    • 10.3 (Requires macOS 10.14.3 or later)
    • 10.2.1 (Requires macOS 10.14.3 or later)
    • 10.1 (Last version supporting macOS 10.13.6 High Sierra)
    • 10 (Subsequent versions were unsupported for iTunes Connect from March 2019)

    Xcode 9

    Xcode 8

    Xcode 7

    Xcode 6

    Even Older Versions (unsupported for iTunes Connect)

    How to center the content inside a linear layout?

    Here's some sample code. This worked for me.

    <LinearLayout
        android:gravity="center"
        >
        <TextView
            android:layout_gravity="center"
            />
        <Button
            android:layout_gravity="center"
            />
    </LinearLayout>
    

    So you're designing the Linear Layout to place all its contents (TextView and Button) in its center, and then the TextView and Button are placed relative to the center of the Linear Layout.

    Getting JSONObject from JSONArray

    start from

    JSONArray deletedtrs_array = sync_reponse.getJSONArray("deletedtrs");
    

    you can iterate through JSONArray and use values directly or create Objects of your own type
    which will handle data fields inside of each deletedtrs_array member

    Iterating

    for(int i = 0; i < deletedtrs_array.length(); i++){
        JSONObject obj = deletedtrs_array.getJSONObject(i);
        Log.d("Item no."+i, obj.toString());
    
        // create object of type DeletedTrsWrapper like this
        DeletedTrsWrapper dtw = new DeletedTrsWrapper(obj);
    
        // String company_id = obj.getString("companyid");
        // String username = obj.getString("username");
        // String date = obj.getString("date");
        // int report_id = obj.getInt("reportid");
    }
    

    Own object type

    class DeletedTrsWrapper {
    
        public String company_id;
        public String username;
        public String date;
        public int report_id;
    
        public DeletedTrsWrapper(JSONObject obj){
            company_id = obj.getString("companyid");
            username = obj.getString("username");
            date = obj.getString("date");
            report_id = obj.getInt("reportid");
        }
    }
    

    How do I call a Django function on button click?

    There are 2 possible solutions that I personally use

    1.without using form

     <button type="submit" value={{excel_path}} onclick="location.href='{% url 'downloadexcel' %}'" name='mybtn2'>Download Excel file</button>
    

    2.Using Form

    <form action="{% url 'downloadexcel' %}" method="post">
    {% csrf_token %}
    
    
     <button type="submit" name='mybtn2' value={{excel_path}}>Download results in Excel</button>
     </form>
    

    Where urls.py should have this

    path('excel/',views1.downloadexcel,name="downloadexcel"),
    

    How to fix 'fs: re-evaluating native module sources is not supported' - graceful-fs

    I had this problem and I was able to fix this by updating npm

    sudo npm update -g npm
    

    Before the update, the result of npm info graceful-fs | grep 'version:' was:

    version: '3.3.12'
    

    After the update the result is:

    version: '3.9.3'
    

    What is the difference between Cloud, Grid and Cluster?

    Cloud: the hardware running the application scales to meet the demand (potentially crossing multiple machines, networks, etc).

    Grid: the application scales to take as much hardware as possible (for example in the hope of finding extra-terrestrial intelligence).

    Cluster: this is an old term referring to one OS instance or one DB instance installed across multiple machines. It was done with special OS handling, proprietary drivers, low latency network cards with fat cables, and various hardware bedfellows.

    (We love you SGI, but notice that "Cloud" and "Grid" are available to the little guy and your NUMAlink never has been...)

    C++ Fatal Error LNK1120: 1 unresolved externals

    Well it seems that you are missing a reference to some library. I had the similar error solved it by adding a reference to the #pragma comment(lib, "windowscodecs.lib")

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

    I have tried xlrd, pandas, openpyxl and other such libraries and all of them seem to take exponential time as the file size increase as it reads the entire file. The other solutions mentioned above where they used 'on_demand' did not work for me. If you just want to get the sheet names initially, the following function works for xlsx files.

    def get_sheet_details(file_path):
        sheets = []
        file_name = os.path.splitext(os.path.split(file_path)[-1])[0]
        # Make a temporary directory with the file name
        directory_to_extract_to = os.path.join(settings.MEDIA_ROOT, file_name)
        os.mkdir(directory_to_extract_to)
    
        # Extract the xlsx file as it is just a zip file
        zip_ref = zipfile.ZipFile(file_path, 'r')
        zip_ref.extractall(directory_to_extract_to)
        zip_ref.close()
    
        # Open the workbook.xml which is very light and only has meta data, get sheets from it
        path_to_workbook = os.path.join(directory_to_extract_to, 'xl', 'workbook.xml')
        with open(path_to_workbook, 'r') as f:
            xml = f.read()
            dictionary = xmltodict.parse(xml)
            for sheet in dictionary['workbook']['sheets']['sheet']:
                sheet_details = {
                    'id': sheet['@sheetId'],
                    'name': sheet['@name']
                }
                sheets.append(sheet_details)
    
        # Delete the extracted files directory
        shutil.rmtree(directory_to_extract_to)
        return sheets
    

    Since all xlsx are basically zipped files, we extract the underlying xml data and read sheet names from the workbook directly which takes a fraction of a second as compared to the library functions.

    Benchmarking: (On a 6mb xlsx file with 4 sheets)
    Pandas, xlrd: 12 seconds
    openpyxl: 24 seconds
    Proposed method: 0.4 seconds

    Since my requirement was just reading the sheet names, the unnecessary overhead of reading the entire time was bugging me so I took this route instead.

    How do I add a project as a dependency of another project?

    Assuming the MyEjbProject is not another Maven Project you own or want to build with maven, you could use system dependencies to link to the existing jar file of the project like so

    <project>
       ...
       <dependencies>
          <dependency>
             <groupId>yourgroup</groupId>
             <artifactId>myejbproject</artifactId>
             <version>2.0</version>
             <scope>system</scope>
             <systemPath>path/to/myejbproject.jar</systemPath>
          </dependency>
       </dependencies>
       ...
    </project>
    

    That said it is usually the better (and preferred way) to install the package to the repository either by making it a maven project and building it or installing it the way you already seem to do.


    If they are, however, dependent on each other, you can always create a separate parent project (has to be a "pom" project) declaring the two other projects as its "modules". (The child projects would not have to declare the third project as their parent). As a consequence you'd get a new directory for the new parent project, where you'd also quite probably put the two independent projects like this:

    parent
    |- pom.xml
    |- MyEJBProject
    |   `- pom.xml
    `- MyWarProject
        `- pom.xml
    

    The parent project would get a "modules" section to name all the child modules. The aggregator would then use the dependencies in the child modules to actually find out the order in which the projects are to be built)

    <project>
       ...
       <artifactId>myparentproject</artifactId>
       <groupId>...</groupId>
       <version>...</version>
    
       <packaging>pom</packaging>
       ...
       <modules>
         <module>MyEJBModule</module>
         <module>MyWarModule</module>
       </modules>
       ...
    </project>
    

    That way the projects can relate to each other but (once they are installed in the local repository) still be used independently as artifacts in other projects


    Finally, if your projects are not in related directories, you might try to give them as relative modules:

    filesystem
     |- mywarproject
     |   `pom.xml
     |- myejbproject
     |   `pom.xml
     `- parent
         `pom.xml
    

    now you could just do this (worked in maven 2, just tried it):

    <!--parent-->
    <project>
      <modules>
        <module>../mywarproject</module>
        <module>../myejbproject</module>
      </modules>
    </project>
    

    SQL Server - stop or break execution of a SQL script

    Thx for the answer!

    raiserror() works fine but you shouldn't forget the return statement otherwise the script continues without error! (hense the raiserror isn't a "throwerror" ;-)) and of course doing a rollback if necessary!

    raiserror() is nice to tell the person who executes the script that something went wrong.

    Select multiple elements from a list

    mylist[c(5,7,9)] should do it.

    You want the sublists returned as sublists of the result list; you don't use [[]] (or rather, the function is [[) for that -- as Dason mentions in comments, [[ grabs the element.

    What are Maven goals and phases and what is their difference?

    There are following three built-in build lifecycles:

    • default
    • clean
    • site

    Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]

    Lifecycle clean -> [pre-clean, clean, post-clean]

    Lifecycle site -> [pre-site, site, post-site, site-deploy]

    The flow is sequential, for example, for default lifecycle, it starts with validate, then initialize and so on...

    You can check the lifecycle by enabling debug mode of mvn i.e., mvn -X <your_goal>

    How do I add a simple onClick event handler to a canvas element?

    I recommand the following article : Hit Region Detection For HTML5 Canvas And How To Listen To Click Events On Canvas Shapes which goes through various situations.

    However, it does not cover the addHitRegion API, which must be the best way (using math functions and/or comparisons is quite error prone). This approach is detailed on developer.mozilla

    How to test the `Mosquitto` server?

    If you are using Windows, open up a command prompt and type 'netstat -an'.

    If your server is running, you should be able to see the port 1883.

    cmd displaying mosquitto port

    If you cannot go to Task Manager > Services and start/restart the Mosquitto server from there. If you cannot find it here too, your installation of Mosquitto has not been successful.

    A more detailed tutorial for setting up Mosquitto with Windows / is linked here.

    How to "add existing frameworks" in Xcode 4?

    I would like to point out that if you can't find "Link Binaries With Libraries" in your build phases tab click the "Add build phase" button in the lower right corner.

    Can't draw Histogram, 'x' must be numeric

    Because of the thousand separator, the data will have been read as 'non-numeric'. So you need to convert it:

     we <- gsub(",", "", we)   # remove comma
     we <- as.numeric(we)      # turn into numbers
    

    and now you can do

     hist(we)
    

    and other numeric operations.

    XPath using starts-with function

    Try this

    //ITEM/*[starts-with(text(),'2552')]/following-sibling::*
    

    What is AndroidX?

    AndroidX is the open-source project that the Android team uses to develop, test, package, version and release libraries within Jetpack.

    AndroidX is a major improvement to the original Android Support Library. Like the Support Library, AndroidX ships separately from the Android OS and provides backward-compatibility across Android releases. AndroidX fully replaces the Support Library by providing feature parity and new libraries.

    AndroidX includes the following features:

    • All packages in AndroidX live in a consistent namespace starting with the string androidx. The Support Library packages have been mapped into the corresponding androidx.* packages. For a full mapping of all the old classes and build artifacts to the new ones, see the Package Refactoring page.

    • Unlike the Support Library, AndroidX packages are separately maintained and updated. The androidx packages use strict Semantic Versioning starting with version 1.0.0. You can update AndroidX libraries in your project independently.

    • All new Support Library development will occur in the AndroidX library. This includes maintenance of the original Support Library artifacts and introduction of new Jetpack components.

    Using AndroidX

    See Migrating to AndroidX to learn how to migrate an existing project.

    If you want to use AndroidX in a new project, you need to set the compile SDK to Android 9.0 (API level 28) or higher and set both of the following Android Gradle plugin flags to true in your gradle.properties file.

    • android.useAndroidX: When set to true, the Android plugin uses the appropriate AndroidX library instead of a Support Library. The flag is false by default if it is not specified.

    • android.enableJetifier: When set to true, the Android plugin automatically migrates existing third-party libraries to use AndroidX by rewriting their binaries. The flag is false by default if it is not specified.

    For Artifact mappings see this

    ExecuteNonQuery: Connection property has not been initialized.

    Actually this error occurs when server makes connection but can't build due to failure in identifying connection function identifier. This problem can be solved by typing connection function in code. For this I take a simple example. In this case function is con your may be different.

    SqlCommand cmd = new SqlCommand("insert into ptb(pword,rpword) values(@a,@b)",con);
    

    Create array of regex matches

    Java makes regex too complicated and it does not follow the perl-style. Take a look at MentaRegex to see how you can accomplish that in a single line of Java code:

    String[] matches = match("aa11bb22", "/(\\d+)/g" ); // => ["11", "22"]
    

    Cannot create JDBC driver of class ' ' for connect URL 'null' : I do not understand this exception

    Did you try to specify resource only in context.xml

    <Resource name="jdbc/PollDatasource" auth="Container" type="javax.sql.DataSource"
    driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
    url="jdbc:derby://localhost:1527/poll_database;create=true"
    username="suhail" password="suhail"
    maxActive="20" maxIdle="10" maxWait="-1" />
    

    and remove <resource-ref> section from web.xml?

    In one project I've seen configuration without <resource-ref> section in web.xml and it worked.

    It's an educated guess, but I think <resource-ref> declaration of JNDI resource named jdbc/PollDatasource in web.xml may override declaration of resource with same name in context.xml and the declaration in web.xml is missing both driverClassName and url hence the NPEs for that properties.

    How to check if a String is numeric in Java

    This a simple example for this check:

    public static boolean isNumericString(String input) {
        boolean result = false;
    
        if(input != null && input.length() > 0) {
            char[] charArray = input.toCharArray();
    
            for(char c : charArray) {
                if(c >= '0' && c <= '9') {
                    // it is a digit
                    result = true;
                } else {
                    result = false;
                    break;
                }
            }
        }
    
        return result;
    }
    

    How to check Grants Permissions at Run-Time?

    You can also query by following code snippet as backward compatible;

    int hasPermission = ContextCompat.checkSelfPermission(this,Manifest.permission.WRITE_CONTACTS);
    if (hasPermission == PackageManager.PERMISSION_GRANTED) {
        //Do smthng
    }
    

    Convert UTC datetime string to local datetime

    You can use calendar.timegm to convert your time to seconds since Unix epoch and time.localtime to convert back:

    import calendar
    import time
    
    time_tuple = time.strptime("2011-01-21 02:37:21", "%Y-%m-%d %H:%M:%S")
    t = calendar.timegm(time_tuple)
    
    print time.ctime(t)
    

    Gives Fri Jan 21 05:37:21 2011 (because I'm in UTC+03:00 timezone).

    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader

    This could be device related issue.
    I was getting this error in MI devices only, code was working with all other devices.

    This might help:

     defaultConfig{
          ...    
          externalNativeBuild {
                        cmake {
                            cppFlags "-frtti -fexceptions"
                        }
                    }
        }
    

    How do I do a case-insensitive string comparison?

    Assuming ASCII strings:

    string1 = 'Hello'
    string2 = 'hello'
    
    if string1.lower() == string2.lower():
        print("The strings are the same (case insensitive)")
    else:
        print("The strings are NOT the same (case insensitive)")
    

    Excel VBA Password via Hex Editor

    1. Open xls file with a hex editor.
    2. Search for DPB
    3. Replace DPB to DPx
    4. Save file.
    5. Open file in Excel.
    6. Click "Yes" if you get any message box.
    7. Set new password from VBA Project Properties.
    8. Close and open again file, then type your new password to unprotect.

    Check http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/

    asterisk : Unable to connect to remote asterisk (does /var/run/asterisk.ctl exist?)

    You have to make a change in the asterisk.conf file located at /etc/asterisk

    astrundir => /var/run/asterisk
    

    Reboot your system and check

    Hope this helps you

    How do I output lists as a table in Jupyter notebook?

    A general purpose set of functions to render any python data structure (dicts and lists nested together) as HTML.

    from IPython.display import HTML, display
    
    def _render_list_html(l):
        o = []
        for e in l:
            o.append('<li>%s</li>' % _render_as_html(e))
        return '<ol>%s</ol>' % ''.join(o)
    
    def _render_dict_html(d):
        o = []
        for k, v in d.items():
            o.append('<tr><td>%s</td><td>%s</td></tr>' % (str(k), _render_as_html(v)))
        return '<table>%s</table>' % ''.join(o)
    
    def _render_as_html(e):
        o = []
        if isinstance(e, list):
            o.append(_render_list_html(e))
        elif isinstance(e, dict):
            o.append(_render_dict_html(e))
        else:
            o.append(str(e))
        return '<html><body>%s</body></html>' % ''.join(o)
    
    def render_as_html(e):
        display(HTML(_render_as_html(e)))
    

    Leaflet - How to find existing markers, and delete markers?

    you have to put your "var marker" out of the function. Then later you can access it :

    var marker;
    function onMapClick(e) {
            marker = new L.Marker(e.latlng, {draggable:true});
            map.addLayer(marker);
            marker.bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
    };
    

    then later :

    map.removeLayer(marker)
    

    But you can only have the latest marker that way, because each time, the var marker is erased by the latest. So one way to go is to create a global array of marker, and you add your marker in the global array.

    How do I set bold and italic on UILabel of iPhone/iPad?

    Swift 3

    Bold:

    let bondFont = UIFont.boldSystemFont(ofSize:UIFont.labelFontSize)

    Italic:

    let italicFont = UIFont.italicSystemFont(ofSize:UIFont.labelFontSize)

    Make install, but not to default directories?

    Since don't know which version of automake you can use DESTDIR environment variable.
    See Makefile to be sure.

    For example:

     export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install
    

    Rewrite URL after redirecting 404 error htaccess

    In your .htaccess file , if you are using apache you can try with

    Rule for Error Page - 404

    ErrorDocument 404 http://www.domain.com/notFound.html

    How to get memory usage at runtime using C++?

    Based on Don W's solution, with fewer variables.

    void process_mem_usage(double& vm_usage, double& resident_set)
    {
        vm_usage     = 0.0;
        resident_set = 0.0;
    
        // the two fields we want
        unsigned long vsize;
        long rss;
        {
            std::string ignore;
            std::ifstream ifs("/proc/self/stat", std::ios_base::in);
            ifs >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore
                    >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore >> ignore
                    >> ignore >> ignore >> vsize >> rss;
        }
    
        long page_size_kb = sysconf(_SC_PAGE_SIZE) / 1024; // in case x86-64 is configured to use 2MB pages
        vm_usage = vsize / 1024.0;
        resident_set = rss * page_size_kb;
    }
    

    Error: Cannot access file bin/Debug/... because it is being used by another process

    Another kludge, ugh, but it's easy and works for me in VS 2013. Click on the project. In the properties panel should be an entry named Project File with a value

    (your project name).vbproj

    Change the project name - such as adding an -01 to the end. The original .zip file that was locked is still there, but no longer referenced ... so your work can continue. Next time the computer is rebooted, that lock disappears and you can delete the errant file.

    Iterating over all the keys of a map

    Is there a way to get a list of all the keys in a Go language map?

    ks := reflect.ValueOf(m).MapKeys()
    

    how do I iterate over all the keys?

    Use the accepted answer:

    for k, _ := range m { ... }
    

    Split / Explode a column of dictionaries into separate columns with pandas

    You can use join with pop + tolist. Performance is comparable to concat with drop + tolist, but some may find this syntax cleaner:

    res = df.join(pd.DataFrame(df.pop('b').tolist()))
    

    Benchmarking with other methods:

    df = pd.DataFrame({'a':[1,2,3], 'b':[{'c':1}, {'d':3}, {'c':5, 'd':6}]})
    
    def joris1(df):
        return pd.concat([df.drop('b', axis=1), df['b'].apply(pd.Series)], axis=1)
    
    def joris2(df):
        return pd.concat([df.drop('b', axis=1), pd.DataFrame(df['b'].tolist())], axis=1)
    
    def jpp(df):
        return df.join(pd.DataFrame(df.pop('b').tolist()))
    
    df = pd.concat([df]*1000, ignore_index=True)
    
    %timeit joris1(df.copy())  # 1.33 s per loop
    %timeit joris2(df.copy())  # 7.42 ms per loop
    %timeit jpp(df.copy())     # 7.68 ms per loop
    

    How to replace a hash key with another key

    hash[:new_key] = hash.delete :old_key
    

    Gradle sync failed: failed to find Build Tools revision 24.0.0 rc1

    I ran into a same problem. I was running portable version of android studio so downloaded a package from https://developer.android.com/studio/#downloads and installed it, and like that, done!

    How to wrap text in textview in Android

    In Android Studio 2.2.3 under the inputType property there is a property called textMultiLine. Selecting this option sorted out a similar problem for me. I hope that helps.

    Render HTML in React Native

    An iOS/Android pure javascript react-native component that renders your HTML into 100% native views. It's made to be extremely customizable and easy to use and aims at being able to render anything you throw at it.

    react-native-render-html

    use above library to improve your app performance level and easy to use.

    Install

    npm install react-native-render-html --save or yarn add react-native-render-html

    Basic usage

    import React, { Component } from 'react';
    import { ScrollView, Dimensions } from 'react-native';
    import HTML from 'react-native-render-html';
    
    const htmlContent = `
        <h1>This HTML snippet is now rendered with native components !</h1>
        <h2>Enjoy a webview-free and blazing fast application</h2>
        <img src="https://i.imgur.com/dHLmxfO.jpg?2" />
        <em style="textAlign: center;">Look at how happy this native cat is</em>
    `;
    
    export default class Demo extends Component {
        render () {
            return (
                <ScrollView style={{ flex: 1 }}>
                    <HTML html={htmlContent} imagesMaxWidth={Dimensions.get('window').width} />
                </ScrollView>
            );
        }
    }
    

    PROPS

    you may user it's different different types of props (see above link) for the designing and customizable also using below link refer.

    Customizable render html

    How to get rid of punctuation using NLTK tokenizer?

    You can do it in one line without nltk (python 3.x).

    import string
    string_text= string_text.translate(str.maketrans('','',string.punctuation))
    

    Trying to start a service on boot on Android

    This is what I did

    1. I made the Receiver class

    public class BootReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            //whatever you want to do on boot
           Intent serviceIntent = new Intent(context, YourService.class);
           context.startService(serviceIntent);
        }
    }
    

    2.in the manifest

    <manifest...>
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
        <application...>
            <receiver android:name=".BootReceiver" android:enabled="true" android:exported="false">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED" />
                </intent-filter>
            </receiver>
        ...
    

    3.and after ALL you NEED to "set" the receiver in your MainActivity, it may be inside the onCreate

    ...
     final ComponentName onBootReceiver = new ComponentName(getApplication().getPackageName(), BootReceiver.class.getName());
            if(getPackageManager().getComponentEnabledSetting(onBootReceiver) != PackageManager.COMPONENT_ENABLED_STATE_ENABLED)
            getPackageManager().setComponentEnabledSetting(onBootReceiver,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP);
    ...
    

    the final steap I have learned from ApiDemos

    Create a Maven project in Eclipse complains "Could not resolve archetype"

    You can resolve it by configuring settings.xml in Eclipse.

    Go to Window --> Preferences --> Maven --> User Settings --> select the actual path of settings.xml

    It says that TypeError: document.getElementById(...) is null

    Found similar problem within student's work, script element was put after closing body tag, so, obviously, JavaScript could not find any HTML element.

    But, there was one more serious error: there was a reference to an external javascript file with some code, which removed all contents of a certain HTML element before inserting new content. After commenting out this reference, everything worked properly.

    So, sometimes the error might be that some previously called Javascript changed content or even DOM, so calling for instance getElementById later doesn't make sense, since that element was removed.

    Android : Check whether the phone is dual SIM

    I have a Samsung Duos device with Android 4.4.4 and the method suggested by Seetha in the accepted answer (i.e. call getDeviceIdDs) does not work for me, as the method does not exist. I was able to recover all the information I needed by calling method "getDefault(int slotID)", as shown below:

    public static void samsungTwoSims(Context context) {
        TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
    
        try{
    
            Class<?> telephonyClass = Class.forName(telephony.getClass().getName());
    
            Class<?>[] parameter = new Class[1];
            parameter[0] = int.class;
            Method getFirstMethod = telephonyClass.getMethod("getDefault", parameter);
    
            Log.d(TAG, getFirstMethod.toString());
    
            Object[] obParameter = new Object[1];
            obParameter[0] = 0;
            TelephonyManager first = (TelephonyManager) getFirstMethod.invoke(null, obParameter);
    
            Log.d(TAG, "Device Id: " + first.getDeviceId() + ", device status: " + first.getSimState() + ", operator: " + first.getNetworkOperator() + "/" + first.getNetworkOperatorName());
    
            obParameter[0] = 1;
            TelephonyManager second = (TelephonyManager) getFirstMethod.invoke(null, obParameter);
    
            Log.d(TAG, "Device Id: " + second.getDeviceId() + ", device status: " + second.getSimState()+ ", operator: " + second.getNetworkOperator() + "/" + second.getNetworkOperatorName());
        } catch (Exception e) {
            e.printStackTrace();
        }   
    }
    

    Also, I rewrote the code that iteratively tests for methods to recover this information so that it uses an array of method names instead of a sequence of try/catch. For instance, to determine if we have two active SIMs we could do:

    private static String[] simStatusMethodNames = {"getSimStateGemini", "getSimState"};
    
    
    public static boolean hasTwoActiveSims(Context context) {
        boolean first = false, second = false;
    
        for (String methodName: simStatusMethodNames) {
            // try with sim 0 first
            try {
                first = getSIMStateBySlot(context, methodName, 0);
                // no exception thrown, means method exists
                second = getSIMStateBySlot(context, methodName, 1);
               return first && second;
            } catch (GeminiMethodNotFoundException e) {
                // method does not exist, nothing to do but test the next
            }
        }
        return false;
    }
    

    This way, if a new method name is suggested for some device, you can simply add it to the array and it should work.

    Removing duplicate rows in Notepad++

    None worked for me.

    A solution is:

    Replace

    ^(.*)\s+(\r?\n\1\s+)+$
    

    with

    \1
    

    How to use onResume()?

    Restarting the app will call OnCreate().

    Continuing the app when it is paused will call OnResume(). From the official docs at https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle here's a diagram of the activity lifecycle.

    the Android activity lifecycle, from https://developer.android.com/images/activity_lifecycle.png on https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

    Apache Tomcat Not Showing in Eclipse Server Runtime Environments

    In my case I needed to install "JST Server Adapters". I am running Eclipse 3.6 Helios RCP Edition.

    Here are the steps I followed:

    1. Help -> Install New Software
    2. Choose "Helios - http://download.eclipse.org/releases/helios" site or kepler - http://download.ecliplse.org/releases/kepler
    3. Expand "Web, XML, and Java EE Development"
    4. Check JST Server Adapters (version 3.2.2)

    After that I could define new Server Runtime Environments.

    EDIT: With Eclipse 3.7 Indigo Classic, Eclipse Kepler and Luna, the steps are the same (with appropriate update site) but you need both JST Server Adapters and JST Server Adapters Extentions to get the Server Runtime Environment options.

    How to make a shape with left-top round rounded corner and left-bottom rounded corner?

    While this question has been answered already (it's a bug that causes bottomLeftRadius and bottomRightRadius to be reversed), the bug has been fixed in android 3.1 (api level 12 - tested on the emulator).

    So to make sure your drawables look correct on all platforms, you should put "corrected" versions of the drawables (i.e. where bottom left/right radii are actually correct in the xml) in the res/drawable-v12 folder of your app. This way all devices using an android version >= 12 will use the correct drawable files, while devices using older versions of android will use the "workaround" drawables that are located in the res/drawables folder.

    How to flatten only some dimensions of a numpy array

    An alternative approach is to use numpy.resize() as in:

    In [37]: shp = (50,100,25)
    In [38]: arr = np.random.random_sample(shp)
    In [45]: resized_arr = np.resize(arr, (np.prod(shp[:2]), shp[-1]))
    In [46]: resized_arr.shape
    Out[46]: (5000, 25)
    
    # sanity check with other solutions
    In [47]: resized = np.reshape(arr, (-1, shp[-1]))
    In [48]: np.allclose(resized_arr, resized)
    Out[48]: True
    

    Can I access a form in the controller?

    You can attach the form to some object which is defined in a parent controller. Then you can reach your form even from a child scope.

    Parent controller

    $scope.forms = {};
    

    Some template in a child scope

    <form name="forms.form1">
    </form>
    

    Problem is that the form doesn't have to be defined in the moment when to code in the controller is executed. So you have to do something like this

    $scope.$watch('forms.form1', function(form) {
      if(form) {
        // your code...
      }
    });
    

    Setting JDK in Eclipse

    JDK 1.8 have some more enrich feature which doesn't support to many eclipse .

    If you didn't find java compliance level as 1.8 in java compiler ,then go ahead and install the below eclipse 32bit or 64 bit depending on your system supports.

    1. Install jdk 1.8 and then set the JAVA_HOME and CLASSPATH in environment variable.
    2. Download eclipse-jee-neon-3-win32 and unzip : supports to java 1.8
    3. Or download Oracle Enterprise Pack for Eclipse (12.2.1.5) and unzip :Supports java 1.8 with 64 bit OS
    4. Right click your project > properties
    5. Select “Java Compiler” on left and set java compliance level to 1.8 [select from the dropdown 1.8]
    6. Try running one java program supports to java 8 like lambda expression as below and if no compilation error ,means your eclipse supports to java 1.8, something like this:

      interface testI{
          void show();
      }
      
      /*class A implements testI{
          public void show(){
              System.out.println("Hello");
          }
      }*/
      
      public class LambdaDemo1 {
          public static void main(String[] args) {
              testI test ;
              /*test= new A();
              test.show();*/
              test = () ->System.out.println("Hello,how are you?"); //lambda 
              test.show();
          }        
      }
      

    What is this spring.jpa.open-in-view=true property in Spring Boot?

    The OSIV Anti-Pattern

    Instead of letting the business layer decide how it’s best to fetch all the associations that are needed by the View layer, OSIV (Open Session in View) forces the Persistence Context to stay open so that the View layer can trigger the Proxy initialization, as illustrated by the following diagram.

    enter image description here

    • The OpenSessionInViewFilter calls the openSession method of the underlying SessionFactory and obtains a new Session.
    • The Session is bound to the TransactionSynchronizationManager.
    • The OpenSessionInViewFilter calls the doFilter of the javax.servlet.FilterChain object reference and the request is further processed
    • The DispatcherServlet is called, and it routes the HTTP request to the underlying PostController.
    • The PostController calls the PostService to get a list of Post entities.
    • The PostService opens a new transaction, and the HibernateTransactionManager reuses the same Session that was opened by the OpenSessionInViewFilter.
    • The PostDAO fetches the list of Post entities without initializing any lazy association.
    • The PostService commits the underlying transaction, but the Session is not closed because it was opened externally.
    • The DispatcherServlet starts rendering the UI, which, in turn, navigates the lazy associations and triggers their initialization.
    • The OpenSessionInViewFilter can close the Session, and the underlying database connection is released as well.

    At first glance, this might not look like a terrible thing to do, but, once you view it from a database perspective, a series of flaws start to become more obvious.

    The service layer opens and closes a database transaction, but afterward, there is no explicit transaction going on. For this reason, every additional statement issued from the UI rendering phase is executed in auto-commit mode. Auto-commit puts pressure on the database server because each transaction issues a commit at end, which can trigger a transaction log flush to disk. One optimization would be to mark the Connection as read-only which would allow the database server to avoid writing to the transaction log.

    There is no separation of concerns anymore because statements are generated both by the service layer and by the UI rendering process. Writing integration tests that assert the number of statements being generated requires going through all layers (web, service, DAO) while having the application deployed on a web container. Even when using an in-memory database (e.g. HSQLDB) and a lightweight webserver (e.g. Jetty), these integration tests are going to be slower to execute than if layers were separated and the back-end integration tests used the database, while the front-end integration tests were mocking the service layer altogether.

    The UI layer is limited to navigating associations which can, in turn, trigger N+1 query problems. Although Hibernate offers @BatchSize for fetching associations in batches, and FetchMode.SUBSELECT to cope with this scenario, the annotations are affecting the default fetch plan, so they get applied to every business use case. For this reason, a data access layer query is much more suitable because it can be tailored to the current use case data fetch requirements.

    Last but not least, the database connection is held throughout the UI rendering phase which increases connection lease time and limits the overall transaction throughput due to congestion on the database connection pool. The more the connection is held, the more other concurrent requests are going to wait to get a connection from the pool.

    Spring Boot and OSIV

    Unfortunately, OSIV (Open Session in View) is enabled by default in Spring Boot, and OSIV is really a bad idea from a performance and scalability perspective.

    So, make sure that in the application.properties configuration file, you have the following entry:

    spring.jpa.open-in-view=false
    

    This will disable OSIV so that you can handle the LazyInitializationException the right way.

    Starting with version 2.0, Spring Boot issues a warning when OSIV is enabled by default, so you can discover this problem long before it affects a production system.

    How to Update Date and Time of Raspberry Pi With out Internet

    Remember that Raspberry Pi does not have real time clock. So even you are connected to internet have to set the time every time you power on or restart.

    This is how it works:

    1. Type sudo raspi-config in the Raspberry Pi command line
    2. Internationalization options
    3. Change Time Zone
    4. Select geographical area
    5. Select city or region
    6. Reboot your pi

    Next thing you can set time using this command

    sudo date -s "Mon Aug  12 20:14:11 UTC 2014"
    

    More about data and time

    man date
    

    When Pi is connected to computer should have to manually set data and time

    What is the best way to seed a database in Rails?

    Rails has a built in way to seed data as explained here.

    Another way would be to use a gem for more advanced or easy seeding such as: seedbank.

    The main advantage of this gem and the reason I use it is that it has advanced capabilities such as data loading dependencies and per environment seed data.

    Adding an up to date answer as this answer was first on google.

    How to find and replace all occurrences of a string recursively in a directory tree?

    I know this is a really old question, but...

    1. @vehomzzz's answer uses find and xargs when the questions says explicitly grep and sed only.

    2. @EmployedRussian and @BrooksMoses tried to say it was a dup of awk and sed, but it's not - again, the question explicitly says grep and sed only.

    So here is my solution, assuming you are using Bash as your shell:

    OLDIFS=$IFS
    IFS=$'\n'
    for f in `grep -rl a.example.com .` # Use -irl instead of -rl for case insensitive search
    do
        sed -i 's/a\.example\.com/b.example.com/g' $f # Use /gi instead of /g for case insensitive search
    done
    IFS=$OLDIFS
    

    If you are using a different shell, such as Unix SHell, let me know and I will try to find a syntax adjustment.

    P.S.: Here's a one-liner:

    OLDIFS=$IFS;IFS=$'\n';for f in `grep -rl a.example.com .`;do sed -i 's/a\.example\.com/b.example.com/g' $f;done;IFS=$OLDIFS
    

    Sources:

    Adding a UISegmentedControl to UITableView

       self.tableView.tableHeaderView = segmentedControl; 

    If you want it to obey your width and height properly though enclose your segmentedControl in a UIView first as the tableView likes to mangle your view a bit to fit the width.

    enter image description here enter image description here

    Determine if 2 lists have the same elements, regardless of order?

    This seems to work, though possibly cumbersome for large lists.

    >>> A = [0, 1]
    >>> B = [1, 0]
    >>> C = [0, 2]
    >>> not sum([not i in A for i in B])
    True
    >>> not sum([not i in A for i in C])
    False
    >>> 
    

    However, if each list must contain all the elements of other then the above code is problematic.

    >>> A = [0, 1, 2]
    >>> not sum([not i in A for i in B])
    True
    

    The problem arises when len(A) != len(B) and, in this example, len(A) > len(B). To avoid this, you can add one more statement.

    >>> not sum([not i in A for i in B]) if len(A) == len(B) else False
    False
    

    One more thing, I benchmarked my solution with timeit.repeat, under the same conditions used by Aaron Hall in his post. As suspected, the results are disappointing. My method is the last one. set(x) == set(y) it is.

    >>> def foocomprehend(): return not sum([not i in data for i in data2])
    >>> min(timeit.repeat('fooset()', 'from __main__ import fooset, foocount, foocomprehend'))
    25.2893661496
    >>> min(timeit.repeat('foosort()', 'from __main__ import fooset, foocount, foocomprehend'))
    94.3974742993
    >>> min(timeit.repeat('foocomprehend()', 'from __main__ import fooset, foocount, foocomprehend'))
    187.224562545
    

    How to raise a ValueError?

    Here's a revised version of your code which still works plus it illustrates how to raise a ValueError the way you want. By-the-way, I think find_last(), find_last_index(), or something simlar would be a more descriptive name for this function. Adding to the possible confusion is the fact that Python already has a container object method named __contains__() that does something a little different, membership-testing-wise.

    def contains(char_string, char):
        largest_index = -1
        for i, ch in enumerate(char_string):
            if ch == char:
                largest_index = i
        if largest_index > -1:  # any found?
            return largest_index  # return index of last one
        else:
            raise ValueError('could not find {!r} in {!r}'.format(char, char_string))
    
    print(contains('mississippi', 's'))  # -> 6
    print(contains('bababa', 'k'))  # ->
    
    Traceback (most recent call last):
      File "how-to-raise-a-valueerror.py", line 15, in <module>
        print(contains('bababa', 'k'))
      File "how-to-raise-a-valueerror.py", line 12, in contains
        raise ValueError('could not find {} in {}'.format(char, char_string))
    ValueError: could not find 'k' in 'bababa'
    

    Update — A substantially simpler way

    Wow! Here's a much more concise version—essentially a one-liner—that is also likely faster because it reverses (via [::-1]) the string before doing a forward search through it for the first matching character and it does so using the fast built-in string index() method. With respect to your actual question, a nice little bonus convenience that comes with using index() is that it already raises a ValueError when the character substring isn't found, so nothing additional is required to make that happen.

    Here it is along with a quick unit test:

    def contains(char_string, char):
        #  Ending - 1 adjusts returned index to account for searching in reverse.
        return len(char_string) - char_string[::-1].index(char) - 1
    
    print(contains('mississippi', 's'))  # -> 6
    print(contains('bababa', 'k'))  # ->
    
    Traceback (most recent call last):
      File "better-way-to-raise-a-valueerror.py", line 9, in <module>
        print(contains('bababa', 'k'))
      File "better-way-to-raise-a-valueerror", line 6, in contains
        return len(char_string) - char_string[::-1].index(char) - 1
    ValueError: substring not found
    

    How to grep recursively, but only in files with certain extensions?

    Just use the --include parameter, like this:

    grep -inr --include \*.h --include \*.cpp CP_Image ~/path[12345] | mailx -s GREP [email protected]
    

    that should do what you want.

    To take the explanation from HoldOffHunger's answer below:

    • grep: command

    • -r: recursively

    • -i: ignore-case

    • -n: each output line is preceded by its relative line number in the file

    • --include \*.cpp: all *.cpp: C++ files (escape with \ just in case you have a directory with asterisks in the filenames)

    • ./: Start at current directory.

    Create a simple Login page using eclipse and mysql

    use this code it is working

    // index.jsp or login.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    
    <form action="login" method="post">
    Username : <input type="text" name="username"><br>
    Password : <input type="password" name="pass"><br>
    <input type="submit"><br>
    </form>
    
    </body>
    </html>
    

    // authentication servlet class

        import java.io.IOException;
        import java.io.PrintWriter;
        import java.sql.Connection;
        import java.sql.DriverManager;
        import java.sql.SQLException;
        import java.sql.Statement;
    
        import javax.servlet.ServletException;
        import javax.servlet.http.HttpServlet;
        import javax.servlet.http.HttpServletRequest;
        import javax.servlet.http.HttpServletResponse;
    
        public class auth extends HttpServlet {
            private static final long serialVersionUID = 1L;
    
            public auth() {
                super();
            }
            protected void doGet(HttpServletRequest request,
                    HttpServletResponse response) throws ServletException, IOException {
    
            }
    
            protected void doPost(HttpServletRequest request,
                    HttpServletResponse response) throws ServletException, IOException {
    
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
    
                String username = request.getParameter("username");
                String pass = request.getParameter("pass");
    
                String sql = "select * from reg where username='" + username + "'";
                Connection conn = null;
    
                try {
                    conn = DriverManager.getConnection("jdbc:mysql://localhost/Exam",
                            "root", "");
                    Statement s = conn.createStatement();
    
                    java.sql.ResultSet rs = s.executeQuery(sql);
                    String un = null;
                    String pw = null;
                    String name = null;
    
                /* Need to put some condition in case the above query does not return any row, else code will throw Null Pointer exception */   
    
                PrintWriter prwr1 = response.getWriter();               
                if(!rs.isBeforeFirst()){
                    prwr1.write("<h1> No Such User in Database<h1>");
                } else {
    
    /* Conditions to be executed after at least one row is returned by query execution */ 
                    while (rs.next()) {
                        un = rs.getString("username");
                        pw = rs.getString("password");
                        name = rs.getString("name");
                    }
    
                    PrintWriter pww = response.getWriter();
    
                    if (un.equalsIgnoreCase(username) && pw.equals(pass)) {
                                    // use this or create request dispatcher 
                        response.setContentType("text/html");
                        pww.write("<h1>Welcome, " + name + "</h1>");
                    } else {
                        pww.write("wrong username or password\n");
                    }
                  }
    
                } catch (SQLException e) {
                    e.printStackTrace();
                }
    
            }
    
        }
    

    Javascript Date: next month

    ah, the beauty of ternaries:

    const now = new Date();
    const expiry = now.getMonth() == 11 ? new Date(now.getFullYear()+1, 0 , 1) : new Date(now.getFullYear(), now.getMonth() + 1, 1);
    

    just a simpler version of the solution provided by @paxdiablo and @Tom

    sql query with multiple where statements

    What is meta_key? Strip out all of the meta_value conditionals, reduce, and you end up with this:

    SELECT
    *
    FROM
    meta_data
    WHERE
    (
            (meta_key = 'lat')
    )
    AND
    (
            (meta_key = 'long')
    )
    GROUP BY
    item_id
    

    Since meta_key can never simultaneously equal two different values, no results will be returned.


    Based on comments throughout this question and answers so far, it sounds like you're looking for something more along the lines of this:

    SELECT
    *
    FROM
    meta_data
    WHERE
    (
        (meta_key = 'lat')
        AND
        (
            (meta_value >= '60.23457047672217')
            OR
            (meta_value <= '60.23457047672217')
        )
    )
    OR
    (
        (meta_key = 'long')
        AND
        (
            (meta_value >= '24.879140853881836')
            OR
            (meta_value <= '24.879140853881836')
        )
    )
    GROUP BY
    item_id
    

    Note the OR between the top-level conditionals. This is because you want records which are lat or long, since no single record will ever be lat and long.

    I'm still not sure what you're trying to accomplish by the inner conditionals. Any non-null value will match those numbers. So maybe you can elaborate on what you're trying to do there. I'm also not sure about the purpose of the GROUP BY clause, but that might be outside the context of this question entirely.

    Server configuration by allow_url_fopen=0 in

    If you do not have the ability to modify your php.ini file, use cURL: PHP Curl And Cookies

    Here is an example function I created:

    function get_web_page( $url, $cookiesIn = '' ){
            $options = array(
                CURLOPT_RETURNTRANSFER => true,     // return web page
                CURLOPT_HEADER         => true,     //return headers in addition to content
                CURLOPT_FOLLOWLOCATION => true,     // follow redirects
                CURLOPT_ENCODING       => "",       // handle all encodings
                CURLOPT_AUTOREFERER    => true,     // set referer on redirect
                CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
                CURLOPT_TIMEOUT        => 120,      // timeout on response
                CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
                CURLINFO_HEADER_OUT    => true,
                CURLOPT_SSL_VERIFYPEER => true,     // Validate SSL Cert
                CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
                CURLOPT_COOKIE         => $cookiesIn
            );
    
            $ch      = curl_init( $url );
            curl_setopt_array( $ch, $options );
            $rough_content = curl_exec( $ch );
            $err     = curl_errno( $ch );
            $errmsg  = curl_error( $ch );
            $header  = curl_getinfo( $ch );
            curl_close( $ch );
    
            $header_content = substr($rough_content, 0, $header['header_size']);
            $body_content = trim(str_replace($header_content, '', $rough_content));
            $pattern = "#Set-Cookie:\\s+(?<cookie>[^=]+=[^;]+)#m"; 
            preg_match_all($pattern, $header_content, $matches); 
            $cookiesOut = implode("; ", $matches['cookie']);
    
            $header['errno']   = $err;
            $header['errmsg']  = $errmsg;
            $header['headers']  = $header_content;
            $header['content'] = $body_content;
            $header['cookies'] = $cookiesOut;
        return $header;
    }
    

    NOTE: In revisiting this function I noticed that I had disabled SSL checks in this code. That is generally a BAD thing even though in my particular case the site I was using it on was local and was safe. As a result I've modified this code to have SSL checks on by default. If for some reason you need to change that, you can simply update the value for CURLOPT_SSL_VERIFYPEER, but I wanted the code to be secure by default if someone uses this.

    How do I zip two arrays in JavaScript?

    Use the map method:

    _x000D_
    _x000D_
    var a = [1, 2, 3]_x000D_
    var b = ['a', 'b', 'c']_x000D_
    _x000D_
    var c = a.map(function(e, i) {_x000D_
      return [e, b[i]];_x000D_
    });_x000D_
    _x000D_
    console.log(c)
    _x000D_
    _x000D_
    _x000D_

    DEMO

    Delayed function calls

    Aside from agreeing with the design observations of the previous commenters, none of the solutions were clean enough for me. .Net 4 provides Dispatcher and Task classes which make delaying execution on the current thread pretty simple:

    static class AsyncUtils
    {
        static public void DelayCall(int msec, Action fn)
        {
            // Grab the dispatcher from the current executing thread
            Dispatcher d = Dispatcher.CurrentDispatcher;
    
            // Tasks execute in a thread pool thread
            new Task (() => {
                System.Threading.Thread.Sleep (msec);   // delay
    
                // use the dispatcher to asynchronously invoke the action 
                // back on the original thread
                d.BeginInvoke (fn);                     
            }).Start ();
        }
    }
    

    For context, I'm using this to debounce an ICommand tied to a left mouse button up on a UI element. Users are double clicking which was causing all kinds of havoc. (I know I could also use Click/DoubleClick handlers, but I wanted a solution that works with ICommands across the board).

    public void Execute(object parameter)
    {
        if (!IsDebouncing) {
            IsDebouncing = true;
            AsyncUtils.DelayCall (DebouncePeriodMsec, () => {
                IsDebouncing = false;
            });
    
            _execute ();
        }
    }
    

    Looping through all rows in a table column, Excel-VBA

    If you know the header name, you can find the column based on that:

    Option Explicit
    
    Public Sub changeData()
        Application.ScreenUpdating = False ' faster for modifying values on sheet
    
        Dim header As String
        Dim numRows As Long
        Dim col As Long
        Dim c As Excel.Range
    
        header = "this one" ' header name to find
    
        Set c = ActiveSheet.Range("1:1").Find(header, LookIn:=xlValues)
        If Not c Is Nothing Then
            col = c.Column
        Else
            ' can't work with it
            Exit Sub
        End If
    
        numRows = 50 ' (whatever this is in your code)
    
        With ActiveSheet
            .Range(.Cells(2, col), .Cells(numRows, col)).Value = "PHEV"
        End With
    
        Application.ScreenUpdating = True ' reset
    End Sub
    

    select into in mysql

    In MySQL, It should be like this

    INSERT INTO this_table_archive (col1, col2, ..., coln)
    SELECT col1, col2, ..., coln
    FROM this_table
    WHERE entry_date < '2011-01-01 00:00:00';
    

    MySQL Documentation

    How to convert a structure to a byte array in C#?

    This example here is only applicable to pure blittable types, e.g., types that can be memcpy'd directly in C.

    Example - well known 64-bit struct

    [StructLayout(LayoutKind.Sequential)]  
    public struct Voxel
    {
        public ushort m_id;
        public byte m_red, m_green, m_blue, m_alpha, m_matid, m_custom;
    }
    

    Defined exactly like this, the struct will be automatically packed as 64-bit.

    Now we can create volume of voxels:

    Voxel[,,] voxels = new Voxel[16,16,16];
    

    And save them all to a byte array:

    int size = voxels.Length * 8; // Well known size: 64 bits
    byte[] saved = new byte[size];
    GCHandle h = GCHandle.Alloc(voxels, GCHandleType.Pinned);
    Marshal.Copy(h.AddrOfPinnedObject(), saved, 0, size);
    h.Free();
    // now feel free to save 'saved' to a File / memory stream.
    

    However, since the OP wants to know how to convert the struct itself, our Voxel struct can have following method ToBytes:

    byte[] bytes = new byte[8]; // Well known size: 64 bits
    GCHandle h = GCHandle.Alloc(this, GCHandleType.Pinned);
    Marshal.Copy(hh.AddrOfPinnedObject(), bytes, 0, 8);
    h.Free();
    

    How to get current time in milliseconds in PHP?

    echo date('Y-m-d H:i:s.') . gettimeofday()['usec'];

    output:

    2016-11-19 15:12:34.346351

    href around input type submit

    Why would you want to put a submit button inside an anchor? You are either trying to submit a form or go to a different page. Which one is it?

    Either submit the form:

    <input type="submit" class="button_active" value="1" />
    

    Or go to another page:

    <input type="button" class="button_active" onclick="location.href='1.html';" />
    

    Remove all html tags from php string

    $string = <p>Awesome</p><b> Website</b><i> by Narayan</i>. Thanks for visiting enter code here;
    $tags = array("p", "i");
    
    echo preg_replace('#<(' . implode( '|', $tags) . ')(?:[^>]+)?>.*?</\1>#s', '', $string);
    

    Try this

    scp from Linux to Windows

    Try this, it really works.

    $ scp username@from_host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop
    

    And for copying all files

    $ scp -r username@from_host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop
    

    A general tree implementation?

    node = { 'parent':0, 'left':0, 'right':0 }
    import copy
    root = copy.deepcopy(node)
    root['parent'] = -1
    left = copy
    

    just to show another thought on implementation if you stick to the "OOP"

    class Node:
        def __init__(self,data):
            self.data = data
            self.child = {}
        def append(self, title, child):
            self.child[title] = child
    
    CEO = Node( ('ceo', 1000) )
    CTO = ('cto',100)
    CFO = ('cfo', 10)
    CEO.append('left child', CTO)
    CEO.append('right child', CFO)
    
    print CEO.data
    print ' ', CEO.child['left child']
    print ' ', CEO.child['right child']
    

    Passing data to a bootstrap modal

    Bootstrap 4.0 gives an option to modify modal data using jquery: https://getbootstrap.com/docs/4.0/components/modal/#varying-modal-content

    Here is the script tag on the docs :

    $('#exampleModal').on('show.bs.modal', function (event) {
      var button = $(event.relatedTarget) // Button that triggered the modal
      var recipient = button.data('whatever') // Extract info from data-* attributes
      // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
      // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
      var modal = $(this)
      modal.find('.modal-title').text('New message to ' + recipient)
      modal.find('.modal-body input').val(recipient)
    })
    

    It works for the most part. Only call to modal was not working. Here is a modification on the script that works for me:

    $(document).on('show.bs.modal', '#exampleModal',function(event){
    ... // same as in above script
    })
    

    iloc giving 'IndexError: single positional indexer is out-of-bounds'

    This happens when you index a row/column with a number that is larger than the dimensions of your dataframe. For instance, getting the eleventh column when you have only three.

    import pandas as pd
    
    df = pd.DataFrame({'Name': ['Mark', 'Laura', 'Adam', 'Roger', 'Anna'],
                       'City': ['Lisbon', 'Montreal', 'Lisbon', 'Berlin', 'Glasgow'],
                       'Car': ['Tesla', 'Audi', 'Porsche', 'Ford', 'Honda']})
    

    You have 5 rows and three columns:

        Name      City      Car
    0   Mark    Lisbon    Tesla
    1  Laura  Montreal     Audi
    2   Adam    Lisbon  Porsche
    3  Roger    Berlin     Ford
    4   Anna   Glasgow    Honda
    

    Let's try to index the eleventh column (it doesn't exist):

    df.iloc[:, 10] # there is obviously no 11th column
    

    IndexError: single positional indexer is out-of-bounds

    If you are a beginner with Python, remember that df.iloc[:, 10] would refer to the eleventh column.

    Keystore change passwords

    KeyStore Explorer is an open source GUI replacement for the Java command-line utilities keytool and jarsigner. KeyStore Explorer presents their functionality, and more, via an intuitive graphical user interface.

    1. Open an existing KeyStore
    2. Tools -> Set KeyStore password

    How to get the max of two values in MySQL?

    Use GREATEST()

    E.g.:

    SELECT GREATEST(2,1);
    

    Note: Whenever if any single value contains null at that time this function always returns null (Thanks to user @sanghavi7)

    JQuery Calculate Day Difference in 2 date textboxes

    This should do the trick

    var start = $('#start_date').val();
    var end = $('#end_date').val();
    
    // end - start returns difference in milliseconds 
    var diff = new Date(end - start);
    
    // get days
    var days = diff/1000/60/60/24;
    

    Example

    var start = new Date("2010-04-01"),
        end   = new Date(),
        diff  = new Date(end - start),
        days  = diff/1000/60/60/24;
    
    days; //=> 8.525845775462964
    

    What are carriage return, linefeed, and form feed?

    Carriage return means to return to the beginning of the current line without advancing downward. The name comes from a printer's carriage, as monitors were rare when the name was coined. This is commonly escaped as \r, abbreviated CR, and has ASCII value 13 or 0x0D.

    Linefeed means to advance downward to the next line; however, it has been repurposed and renamed. Used as "newline", it terminates lines (commonly confused with separating lines). This is commonly escaped as \n, abbreviated LF or NL, and has ASCII value 10 or 0x0A. CRLF (but not CRNL) is used for the pair \r\n.

    Form feed means advance downward to the next "page". It was commonly used as page separators, but now is also used as section separators. (It's uncommonly used in source code to divide logically independent functions or groups of functions.) Text editors can use this character when you "insert a page break". This is commonly escaped as \f, abbreviated FF, and has ASCII value 12 or 0x0C.


    As control characters, they may be interpreted in various ways.

    The most common difference (and probably the only one worth worrying about) is lines end with CRLF on Windows, NL on Unix-likes, and CR on older Macs (the situation has changed with OS X to be like Unix). Note the shift in meaning from LF to NL, for the exact same character, gives the differences between Windows and Unix. (Windows is, of course, newer than Unix, so it didn't adopt this semantic shift. I don't know the history of Macs using CR.) Many text editors can read files in any of these three formats and convert between them, but not all utilities can.

    Form feed is a bit more interesting (even though less commonly used directly), and with the usual definition of page separator, it can only come between lines (e.g. after the newline sequence of NL, CRLF, or CR) or at the start or end of the file.

    How to solve : SQL Error: ORA-00604: error occurred at recursive SQL level 1

    I was able to solve "ORA-00604: error" by Droping with purge.

    DROP TABLE tablename PURGE