Programs & Examples On #Stripping

Removing spaces from a variable input using PowerShell 4.0

If the string is

$STR = 'HELLO WORLD'

and you want to remove the empty space between 'HELLO' and 'WORLD'

$STR.replace(' ','')

replace takes the string and replaces white space with empty string (of length 0), in other words the white space is just deleted.

Node.js - Maximum call stack size exceeded

Regarding increasing the max stack size, on 32 bit and 64 bit machines V8's memory allocation defaults are, respectively, 700 MB and 1400 MB. In newer versions of V8, memory limits on 64 bit systems are no longer set by V8, theoretically indicating no limit. However, the OS (Operating System) on which Node is running can always limit the amount of memory V8 can take, so the true limit of any given process cannot be generally stated.

Though V8 makes available the --max_old_space_size option, which allows control over the amount of memory available to a process, accepting a value in MB. Should you need to increase memory allocation, simply pass this option the desired value when spawning a Node process.

It is often an excellent strategy to reduce the available memory allocation for a given Node instance, especially when running many instances. As with stack limits, consider whether massive memory needs are better delegated to a dedicated storage layer, such as an in-memory database or similar.

Processing $http response in service

Related to this I went through a similar problem, but not with get or post made by Angular but with an extension made by a 3rd party (in my case Chrome Extension).
The problem that I faced is that the Chrome Extension won't return then() so I was unable to do it the way in the solution above but the result is still Asynchronous.
So my solution is to create a service and to proceed to a callback

app.service('cookieInfoService', function() {
    this.getInfo = function(callback) {
        var model = {};
        chrome.cookies.get({url:serverUrl, name:'userId'}, function (response) {
            model.response= response;
            callback(model);
        });
    };
});

Then in my controller

app.controller("MyCtrl", function ($scope, cookieInfoService) {
    cookieInfoService.getInfo(function (info) {
        console.log(info);
    });
});

Hope this can help others getting the same issue.

PHP: if !empty & empty

Here's a compact way to do something different in all four cases:

if(empty($youtube)) {
    if(empty($link)) {
        # both empty
    } else {
        # only $youtube not empty
    }
} else {
    if(empty($link)) {
        # only $link empty
    } else {
        # both not empty
    }
}

If you want to use an expression instead, you can use ?: instead:

echo empty($youtube) ? ( empty($link) ? 'both empty' : 'only $youtube not empty' )
                     : ( empty($link) ? 'only $link empty' : 'both not empty' );

How can I link a photo in a Facebook album to a URL

Unfortunately, no. This feature is not available for facebook albums.

IndexError: tuple index out of range ----- Python

A tuple consists of a number of values separated by commas. like

>>> t = 12345, 54321, 'hello!'
>>> t[0]
12345

tuple are index based (and also immutable) in Python.

Here in this case x = rows[1][1] + " " + rows[1][2] have only two index 0, 1 available but you are trying to access the 3rd index.

Installing a dependency with Bower from URL and specify version

Just an update.

Now if it's a github repository then using just a github shorthand is enough if you do not mind the version of course.

GitHub shorthand

$ bower install desandro/masonry

Cut off text in string after/before separator in powershell

You can use a Split :

$text = "test.txt ; 131 136 80 89 119 17 60 123 210 121 188 42 136 200 131 198"
$separator = ";" # you can put many separator like this "; : ,"

$parts = $text.split($separator)

echo $parts[0] # return test.txt
echo $parts[1] # return the part after the separator

Powershell: A positional parameter cannot be found that accepts argument "xxx"

In my case I had tried to make code more readable by putting:

"LONGTEXTSTRING " +
"LONGTEXTSTRING" +
"LONGTEXTSTRING"

Once I changed it to

LONGTEXTSTRING LONGTEXTSTRING LONGTEXTSTRING 

Then it worked

Android add placeholder text to EditText

If you want to insert text inside your EditText view that stays there after the field is selected (unlike how hint behaves), do this:

In Java:

// Cast Your EditText as a TextView
((TextView) findViewById(R.id.email)).setText("your Text")

In Kotlin:

// Cast your EditText into a TextView
// Like this
(findViewById(R.id.email) as TextView).text = "Your Text"
// Or simply like this
findViewById<TextView>(R.id.email).text = "Your Text"

How to get Text BOLD in Alert or Confirm box?

The alert() dialog is not rendered in HTML, and thus the HTML you have embedded is meaningless.

You'd need to use a custom modal to achieve that.

Escaping single quotes in JavaScript string for JavaScript evaluation

The thing is that .replace() does not modify the string itself, so you should write something like:

strInputString = strInputString.replace(...

It also seems like you're not doing character escaping correctly. The following worked for me:

strInputString = strInputString.replace(/'/g, "\\'");

How to execute an .SQL script file using c#

I tried this solution with Microsoft.SqlServer.Management but it didn't work well with .NET 4.0 so I wrote another solution using .NET libs framework only.

string script = File.ReadAllText(@"E:\someSqlScript.sql");

// split script on GO command
IEnumerable<string> commandStrings = Regex.Split(script, @"^\s*GO\s*$", RegexOptions.Multiline | RegexOptions.IgnoreCase);

Connection.Open();
foreach (string commandString in commandStrings)
{
    if (!string.IsNullOrWhiteSpace(commandString.Trim()))
    {
        using(var command = new SqlCommand(commandString, Connection))
        {
            command.ExecuteNonQuery();
        }
    }
}     
Connection.Close();

What is the best way to do a substring in a batch file?

Well, for just getting the filename of your batch the easiest way would be to just use %~n0.

@echo %~n0

will output the name (without the extension) of the currently running batch file (unless executed in a subroutine called by call). The complete list of such “special” substitutions for path names can be found with help for, at the very end of the help:

In addition, substitution of FOR variable references has been enhanced. You can now use the following optional syntax:

%~I         - expands %I removing any surrounding quotes (")
%~fI        - expands %I to a fully qualified path name
%~dI        - expands %I to a drive letter only
%~pI        - expands %I to a path only
%~nI        - expands %I to a file name only
%~xI        - expands %I to a file extension only
%~sI        - expanded path contains short names only
%~aI        - expands %I to file attributes of file
%~tI        - expands %I to date/time of file
%~zI        - expands %I to size of file
%~$PATH:I   - searches the directories listed in the PATH
               environment variable and expands %I to the
               fully qualified name of the first one found.
               If the environment variable name is not
               defined or the file is not found by the
               search, then this modifier expands to the
               empty string

The modifiers can be combined to get compound results:

%~dpI       - expands %I to a drive letter and path only
%~nxI       - expands %I to a file name and extension only
%~fsI       - expands %I to a full path name with short names only

To precisely answer your question, however: Substrings are done using the :~start,length notation:

%var:~10,5%

will extract 5 characters from position 10 in the environment variable %var%.

NOTE: The index of the strings is zero based, so the first character is at position 0, the second at 1, etc.

To get substrings of argument variables such as %0, %1, etc. you have to assign them to a normal environment variable using set first:

:: Does not work:
@echo %1:~10,5

:: Assign argument to local variable first:
set var=%1
@echo %var:~10,5%

The syntax is even more powerful:

  • %var:~-7% extracts the last 7 characters from %var%
  • %var:~0,-4% would extract all characters except the last four which would also rid you of the file extension (assuming three characters after the period [.]).

See help set for details on that syntax.

How do I include a newline character in a string in Delphi?

Here's an even shorter approach:

my_string := 'Hello,'#13#10' world!';

Deployment error:Starting of Tomcat failed, the server port 8080 is already in use

I had the same problem when trying to deploy, tomcat failed to restart as Tomcat instance was running. Close the IDE and check TASk Manager - kill any javaw process running, that solved the problem for me.

ORA-00060: deadlock detected while waiting for resource

I was recently struggling with a similar problem. It turned out that the database was missing indexes on foreign keys. That caused Oracle to lock many more records than required which quickly led to a deadlock during high concurrency.

Here is an excellent article with lots of good detail, suggestions, and details about how to fix a deadlock: http://www.oratechinfo.co.uk/deadlocks.html#unindex_fk

Eloquent get only one column as an array

That can be done in short as:

Model::pluck('column')

where model is the Model such as User model & column as column name like id

if you do

User::pluck('id') // [1,2,3, ...]

& of course you can have any other clauses like where clause before pluck

disable editing default value of text input

I don't think all the other answerers understood the question correctly. The question requires disabling editing part of the text. One solution I can think of is simulating a textbox with a fixed prefix which is not part of the textarea or input.

An example of this approach is:

<div style="border:1px solid gray; color:#999999; font-family:arial; font-size:10pt; width:200px; white-space:nowrap;">Default Notes<br/>
<textarea style="border:0px solid black;" cols="39" rows="5"></textarea></div>

The other approach, which I end up using is using JS and JQuery to simulate "Disable" feature. Example with pseudo-code (cannot be specific cause of legal issue):

  // disable existing notes by preventing keystroke
  document.getElementById("txtNotes").addEventListener('keydown', function (e) {
    if (cursorLocation < defaultNoteLength ) {
            e.preventDefault();
  });

    // disable existing notes by preventing right click
    document.addEventListener('contextmenu', function (e) {
        if (cursorLocation < defaultNoteLength )
            e.preventDefault();
    });

Thanks, Carsten, for mentioning that this question is old, but I found that the solution might help other people in the future.

Query to check index on a table

If you're using MySQL you can run SHOW KEYS FROM table or SHOW INDEXES FROM table

How do I delete a Git branch locally and remotely?

I added the following aliases to my .gitconfig file. This allows me to delete branches with or without specifying the branch name. Branch name is defaulted to the current branch if no argument is passed in.

[alias]
    branch-name = rev-parse --abbrev-ref HEAD     

    rm-remote-branch = !"f() { branch=${1-$(git branch-name)}; git push origin :$branch; }; f"
    rm-local-branch = !"f() { branch=${1-$(git branch-name)}; git checkout master; git branch -d $branch; }; f"
    rm-branch-fully = !"f() { branch=${1-$(git branch-name)}; git rm-local-branch $branch; git rm-remote-branch $branch; }; f"

How to insert a SQLite record with a datetime set to 'now' in Android application?

Based on @e-satis answer I created a private method on my "DBTools" class so adding current date is now really easy:

...
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
...
        private String getNow(){
            // set the format to sql date time
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = new Date();
            return dateFormat.format(date);
        }
...

Use it now like this: values.put("lastUpdate", getNow());

linux script to kill java process

Use jps to list running java processes. The command returns the process id along with the main class. You can use kill command to kill the process with the returned id or use following one liner script.

kill $(jps | grep <MainClass> | awk '{print $1}')

MainClass is a class in your running java program which contains the main method.

How to find the nearest parent of a Git branch?

This working fine for me.

git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -n1 | sed 's/.*\[\(.*\)\].*/\1/' | sed 's/[\^~].*//'

Courtesy answers from: @droidbot and @Jistanidiot

(.text+0x20): undefined reference to `main' and undefined reference to function

This error means that, while linking, compiler is not able to find the definition of main() function anywhere.

In your makefile, the main rule will expand to something like this.

main: producer.o consumer.o AddRemove.o
   gcc -pthread -Wall -o producer.o consumer.o AddRemove.o

As per the gcc manual page, the use of -o switch is as below

-o file     Place output in file file. This applies regardless to whatever sort of output is being produced, whether it be an executable file, an object file, an assembler file or preprocessed C code. If -o is not specified, the default is to put an executable file in a.out.

It means, gcc will put the output in the filename provided immediate next to -o switch. So, here instead of linking all the .o files together and creating the binary [main, in your case], its creating the binary as producer.o, linking the other .o files. Please correct that.

Difference between java HH:mm and hh:mm on SimpleDateFormat

Actually the last one is not weird. Code is setting the timezone for working instead of working2.

SimpleDateFormat working2 = new SimpleDateFormat("hh:mm:ss"); working.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));

kk goes from 1 to 24, HH from 0 to 23 and hh from 1 to 12 (AM/PM).

Fixing this error gives:

24:00:00
00:00:00
01:00:00

Why use ICollection and not IEnumerable or List<T> on many-many/one-many relationships?

Lets try thinking outside of the box with/by logic and understand clearly these three interfaces in your question:

When the class of some instance implements the System.Collection.IEnumerable interface then, in simple words, we can say that this instance is both enumerable and iterable, which means that this instance allows somehow in a single loop to go/get/pass/traverse/iterate over/through all the items and elements that this instance contains.

This means that this is also possible to enumerate all the items and elements that this instance contains.

Every class that implements the System.Collection.IEnumerable interface also implements the GetEnumerator method that takes no arguments and returns an System.Collections.IEnumerator instance.

Instances of System.Collections.IEnumerator interface behaves very similar to C++ iterators.

When the class of some instance implements the System.Collection.ICollection interface then, in simple words, we can say that this instance is some collection of things.

The generic version of this interface, i.e. System.Collection.Generic.ICollection, is more informative because this generic interface explicitly states what is the type of the things in the collection.

This is all reasonable, rational, logical and makes sense that System.Collections.ICollection interface inherits from System.Collections.IEnumerable interface, because theoretically every collection is also both enumerable and iterable and this is theoretically possible to go over all the items and elements in every collection.

System.Collections.ICollection interface represents a finite dynamic collection that are changeable, which means that exist items can be removed from the collection and new items can be added to the same collection.

This explains why System.Collections.ICollection interface has the "Add" and "Remove" methods.

Because that instances of System.Collections.ICollection interface are finite collections then the word "finite" implies that every collection of this interface always has a finite number of items and elements in it.

The property Count of System.Collections.ICollection interface supposes to return this number.

System.Collections.IEnumerable interface does not have these methods and properties that System.Collections.ICollection interface has, because it does not make any sense that System.Collections.IEnumerable will have these methods and properties that System.Collections.ICollection interface has.

The logic also says that every instance that is both enumerable and iterable is not necessarily a collection and not necessarily changeable.

When I say changeable, I mean that don't immediately think that you can add or remove something from something that is both enumerable and iterable.

If I just created some finite sequence of prime numbers, for example, this finite sequence of prime numbers is indeed an instance of System.Collections.IEnumerable interface, because now I can go over all the prime numbers in this finite sequence in a single loop and do whatever I want to do with each of them, like printing each of them to the console window or screen, but this finite sequence of prime numbers is not an instance of System.Collections.ICollection interface, because this is not making sense to add composite numbers to this finite sequence of prime numbers.

Also you want in the next iteration to get the next closest larger prime number to the current prime number in the current iteration, if so you also don't want to remove exist prime numbers from this finite sequence of prime numbers.

Also you probably want to use, code and write "yield return" in the GetEnumerator method of the System.Collections.IEnumerable interface to produce the prime numbers and not allocating anything on the memory heap and then task the Garbage Collector (GC) to both deallocate and free this memory from the heap, because this is obviously both waste of operating system memory and decreases performance.

Dynamic memory allocation and deallocation on the heap should be done when invoking the methods and properties of System.Collections.ICollection interface, but not when invoking the methods and properties of System.Collections.IEnumerable interface (although System.Collections.IEnumerable interface has only 1 method and 0 properties).

According to what others said in this Stack Overflow webpage, System.Collections.IList interface simply represents an orderable collection and this explains why the methods of System.Collections.IList interface work with indexes in contrast to these of System.Collections.ICollection interface.

In short System.Collections.ICollection interface does not imply that an instance of it is orderable, but System.Collections.IList interface does imply that.

Theoretically ordered set is special case of unordered set.

This also makes sense and explains why System.Collections.IList interface inherits System.Collections.ICollection interface.

How can I change from SQL Server Windows mode to mixed mode (SQL Server 2008)?

You can do it with SQL Management Studio -

Server Properties - Security - [Server Authentication section] you check Sql Server and Windows authentication mode

Here is the msdn source - http://msdn.microsoft.com/en-us/library/ms188670.aspx

Why is access to the path denied?

First just check the path if the colon(:) character is missing or not after the drive letter. If colon is not missing then you can check if access/write permission is granted for that path. I had the same issue and i was only missing the colon, permission and everything else was fine.

C:\folderpath

will work fine but,

C\folderpath .........(missing colon)

will give you access denial error.

Replace "\\" with "\" in a string in C#

in case someone got stuck with this and none of the answers above worked, below is what worked for me. Hope it helps.

var oldString = "\\r|\\n";

// None of these worked for me
// var newString = oldString(@"\\", @"\");
// var newString = oldString.Replace("\\\\", "\\");
// var newString = oldString.Replace("\\u5b89", "\u5b89");
// var newString = Regex.Replace(oldString , @"\\", @"\");

// This is what worked
var newString = Regex.Unescape(oldString);
// newString is now "\r|\n"

Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified

This error occurred when you are putting JPA dependencies in your spring-boot configuration file like in maven or gradle. The solution is: Spring-Boot Documentation

You have to specify the DB connection string and driver details in application.properties file. This will solve the issue. This might help to someone.

How to use PHP with Visual Studio

Try Visual Studio Code. Very good support for PHP and other languages directly or via extensions. It can not replace power of Visual Studio but it is powerful addition to Visual Studio. And you can run it on all OS (Windows, Linux, Mac...).

https://code.visualstudio.com/

How do I create/edit a Manifest file?

As ibram stated, add the manifest thru solution explorer:

enter image description here

This creates a default manifest. Now, edit the manifest.

  • Update the assemblyIdentity name as your application.
  • Ask users to trust your application

enter image description here

  • Add supported OS

enter image description here

Which characters make a URL invalid?

Most of the existing answers here are impractical because they totally ignore the real-world usage of addresses like:

First, a digression into terminology. What are these addresses? Are they valid URLs?

Historically, the answer was "no". According to RFC 3986, from 2005, such addresses are not URIs (and therefore not URLs, since URLs are a type of URIs). Per the terminology of 2005 IETF standards, we should properly call them IRIs (Internationalized Resource Identifiers), as defined in RFC 3987, which are technically not URIs but can be converted to URIs simply by percent-encoding all non-ASCII characters in the IRI.

Per modern spec, the answer is "yes". The WHATWG Living Standard simply classifies everything that would previously be called "URIs" or "IRIs" as "URLs". This aligns the specced terminology with how normal people who haven't read the spec use the word "URL", which was one of the spec's goals.

What characters are allowed under the WHATWG Living Standard?

Per this newer meaning of "URL", what characters are allowed? In many parts of the URL, such as the query string and path, we're allowed to use arbitrary "URL units", which are

URL code points and percent-encoded bytes.

What are "URL code points"?

The URL code points are ASCII alphanumeric, U+0021 (!), U+0024 ($), U+0026 (&), U+0027 ('), U+0028 LEFT PARENTHESIS, U+0029 RIGHT PARENTHESIS, U+002A (*), U+002B (+), U+002C (,), U+002D (-), U+002E (.), U+002F (/), U+003A (:), U+003B (;), U+003D (=), U+003F (?), U+0040 (@), U+005F (_), U+007E (~), and code points in the range U+00A0 to U+10FFFD, inclusive, excluding surrogates and noncharacters.

(Note that the list of "URL code points" doesn't include %, but that %s are allowed in "URL code units" if they're part of a percent-encoding sequence.)

The only place I can spot where the spec permits the use of any character that's not in this set is in the host, where IPv6 addresses are enclosed in [ and ] characters. Everywhere else in the URL, either URL units are allowed or some even more restrictive set of characters.

What characters were allowed under the old RFCs?

For the sake of history, and since it's not explored fully elsewhere in the answers here, let's examine was allowed under the older pair of specs.

First of all, we have two types of RFC 3986 reserved characters:

  • :/?#[]@, which are part of the generic syntax for a URI defined in RFC 3986
  • !$&'()*+,;=, which aren't part of the RFC's generic syntax, but are reserved for use as syntactic components of particular URI schemes. For instance, semicolons and commas are used as part of the syntax of data URIs, and & and = are used as part of the ubiquitous ?foo=bar&qux=baz format in query strings (which isn't specified by RFC 3986).

Any of the reserved characters above can be legally used in a URI without encoding, either to serve their syntactic purpose or just as literal characters in data in some places where such use could not be misinterpreted as the character serving its syntactic purpose. (For example, although / has syntactic meaning in a URL, you can use it unencoded in a query string, because it doesn't have meaning in a query string.)

RFC 3986 also specifies some unreserved characters, which can always be used simply to represent data without any encoding:

  • abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~

Finally, the % character itself is allowed for percent-encodings.

That leaves only the following ASCII characters that are forbidden from appearing in a URL:

  • The control characters (chars 0-1F and 7F), including new line, tab, and carriage return.
  • "<>\^`{|}

Every other character from ASCII can legally feature in a URL.

Then RFC 3987 extends that set of unreserved characters with the following unicode character ranges:

  %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF
/ %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD
/ %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD
/ %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD
/ %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD
/ %xD0000-DFFFD / %xE1000-EFFFD

These block choices from the old spec seem bizarre and arbitrary given the latest Unicode block definitions; this is probably because the blocks have been added to in the decade since RFC 3987 was written.


Finally, it's perhaps worth noting that simply knowing which characters can legally appear in a URL isn't sufficient to recognise whether some given string is a legal URL or not, since some characters are only legal in particular parts of the URL. For example, the reserved characters [ and ] are legal as part of an IPv6 literal host in a URL like http://[1080::8:800:200C:417A]/foo but aren't legal in any other context, so the OP's example of http://example.com/file[/].html is illegal.

How do I restart my C# WinForm Application?

public static void appReloader()
    {
        //Start a new instance of the current program
        Process.Start(Application.ExecutablePath);

        //close the current application process
        Process.GetCurrentProcess().Kill();
    }

Application.ExecutablePath returns your aplication .exe file path Please follow the order of calls. You might want to place it in a try-catch clause.

cURL equivalent in Node.js?

I had a problem sending POST data to cloud DB from IOT RaspberryPi, but after hours I managed to get it straight.

I used command prompt to do so.

sudo curl --URL http://<username>.cloudant.com/<database_name> --user <api_key>:<pass_key> -X POST -H "Content-Type:application/json" --data '{"id":"123","type":"987"}'

Command prompt will show the problems - wrong username/pass; bad request etc.

--URL database/server location (I used simple free Cloudant DB) --user is the authentication part username:pass I entered through API pass -X defines what command to call (PUT,GET,POST,DELETE) -H content type - Cloudant is about document database, where JSON is used --data content itself sorted as JSON

Python truncate a long string

You can't actually "truncate" a Python string like you can do a dynamically allocated C string. Strings in Python are immutable. What you can do is slice a string as described in other answers, yielding a new string containing only the characters defined by the slice offsets and step. In some (non-practical) cases this can be a little annoying, such as when you choose Python as your interview language and the interviewer asks you to remove duplicate characters from a string in-place. Doh.

Solving sslv3 alert handshake failure when trying to use a client certificate

Not a definite answer but too much to fit in comments:

I hypothesize they gave you a cert that either has a wrong issuer (although their server could use a more specific alert code for that) or a wrong subject. We know the cert matches your privatekey -- because both curl and openssl client paired them without complaining about a mismatch; but we don't actually know it matches their desired CA(s) -- because your curl uses openssl and openssl SSL client does NOT enforce that a configured client cert matches certreq.CAs.

Do openssl x509 <clientcert.pem -noout -subject -issuer and the same on the cert from the test P12 that works. Do openssl s_client (or check the one you did) and look under Acceptable client certificate CA names; the name there or one of them should match (exactly!) the issuer(s) of your certs. If not, that's most likely your problem and you need to check with them you submitted your CSR to the correct place and in the correct way. Perhaps they have different regimes in different regions, or business lines, or test vs prod, or active vs pending, etc.

If the issuer of your cert does match desiredCAs, compare its subject to the working (test-P12) one: are they in similar format? are there any components in the working one not present in yours? If they allow it, try generating and submitting a new CSR with a subject name exactly the same as the test-P12 one, or as close as you can get, and see if that produces a cert that works better. (You don't have to generate a new key to do this, but if you choose to, keep track of which certs match which keys so you don't get them mixed up.) If that doesn't help look at the certificate extensions with openssl x509 <cert -noout -text for any difference(s) that might reasonably be related to subject authorization, like KeyUsage, ExtendedKeyUsage, maybe Policy, maybe Constraints, maybe even something nonstandard.

If all else fails, ask the server operator(s) what their logs say about the problem, or if you have access look at the logs yourself.

JavaScript/JQuery: $(window).resize how to fire AFTER the resize is completed?

Simple jQuery plugin for delayed window resize event.

SYNTAX:

Add new function to resize event

jQuery(window).resizeDelayed( func, delay, id ); // delay and id are optional

Remove the function(by declaring its ID) added earlier

jQuery(window).resizeDelayed( false, id );

Remove all functions

jQuery(window).resizeDelayed( false );

USAGE:

// ADD SOME FUNCTIONS TO RESIZE EVENT
jQuery(window).resizeDelayed( function(){ console.log( 'first event - should run after 0.4 seconds'); }, 400,  'id-first-event' );
jQuery(window).resizeDelayed( function(){ console.log('second event - should run after 1.5 seconds'); }, 1500, 'id-second-event' );
jQuery(window).resizeDelayed( function(){ console.log( 'third event - should run after 3.0 seconds'); }, 3000, 'id-third-event' );

// LETS DELETE THE SECOND ONE
jQuery(window).resizeDelayed( false, 'id-second-event' );

// LETS ADD ONE WITH AUTOGENERATED ID(THIS COULDNT BE DELETED LATER) AND DEFAULT TIMEOUT (500ms)
jQuery(window).resizeDelayed( function(){ console.log('newest event - should run after 0.5 second'); } );

// LETS CALL RESIZE EVENT MANUALLY MULTIPLE TIMES (OR YOU CAN RESIZE YOUR BROWSER WINDOW) TO SEE WHAT WILL HAPPEN
jQuery(window).resize().resize().resize().resize().resize().resize().resize();

USAGE OUTPUT:

first event - should run after 0.4 seconds
newest event - should run after 0.5 second
third event - should run after 3.0 seconds

PLUGIN:

jQuery.fn.resizeDelayed = (function(){

    // >>> THIS PART RUNS ONLY ONCE - RIGHT NOW

    var rd_funcs = [], rd_counter = 1, foreachResizeFunction = function( func ){ for( var index in rd_funcs ) { func(index); } };

    // REGISTER JQUERY RESIZE EVENT HANDLER
    jQuery(window).resize(function() {

        // SET/RESET TIMEOUT ON EACH REGISTERED FUNCTION
        foreachResizeFunction(function(index){

            // IF THIS FUNCTION IS MANUALLY DISABLED ( by calling jQuery(window).resizeDelayed(false, 'id') ),
            // THEN JUST CONTINUE TO NEXT ONE
            if( rd_funcs[index] === false )
                return; // CONTINUE;

            // IF setTimeout IS ALREADY SET, THAT MEANS THAT WE SHOULD RESET IT BECAUSE ITS CALLED BEFORE DURATION TIME EXPIRES
            if( rd_funcs[index].timeout !== false )
                clearTimeout( rd_funcs[index].timeout );

            // SET NEW TIMEOUT BY RESPECTING DURATION TIME
            rd_funcs[index].timeout = setTimeout( rd_funcs[index].func, rd_funcs[index].delay );

        });

    });

    // <<< THIS PART RUNS ONLY ONCE - RIGHT NOW

    // RETURN THE FUNCTION WHICH JQUERY SHOULD USE WHEN jQuery(window).resizeDelayed(...) IS CALLED
    return function( func_or_false, delay_or_id, id ){

        // FIRST PARAM SHOULD BE SET!
        if( typeof func_or_false == "undefined" ){

            console.log( 'jQuery(window).resizeDelayed(...) REQUIRES AT LEAST 1 PARAMETER!' );
            return this; // RETURN JQUERY OBJECT

        }

        // SHOULD WE DELETE THE EXISTING FUNCTION(S) INSTEAD OF CREATING A NEW ONE?
        if( func_or_false == false ){

            // DELETE ALL REGISTERED FUNCTIONS?
            if( typeof delay_or_id == "undefined" ){

                // CLEAR ALL setTimeout's FIRST
                foreachResizeFunction(function(index){

                    if( typeof rd_funcs[index] != "undefined" && rd_funcs[index].timeout !== false )
                        clearTimeout( rd_funcs[index].timeout );

                });

                rd_funcs = [];

                return this; // RETURN JQUERY OBJECT

            }
            // DELETE ONLY THE FUNCTION WITH SPECIFIC ID?
            else if( typeof rd_funcs[delay_or_id] != "undefined" ){

                // CLEAR setTimeout FIRST
                if( rd_funcs[delay_or_id].timeout !== false )
                    clearTimeout( rd_funcs[delay_or_id].timeout );

                rd_funcs[delay_or_id] = false;

                return this; // RETURN JQUERY OBJECT

            }

        }

        // NOW, FIRST PARAM MUST BE THE FUNCTION
        if( typeof func_or_false != "function" )
            return this; // RETURN JQUERY OBJECT

        // SET THE DEFAULT DELAY TIME IF ITS NOT ALREADY SET
        if( typeof delay_or_id == "undefined" || isNaN(delay_or_id) )
            delay_or_id = 500;

        // SET THE DEFAULT ID IF ITS NOT ALREADY SET
        if( typeof id == "undefined" )
            id = rd_counter;

        // ADD NEW FUNCTION TO RESIZE EVENT
        rd_funcs[id] = {
            func : func_or_false,
            delay: delay_or_id,
            timeout : false
        };

        rd_counter++;

        return this; // RETURN JQUERY OBJECT

    }

})();

Which is the best library for XML parsing in java

You don't need an external library for parsing XML in Java. Java has come with built-in implementations for SAX and DOM for ages.

How do you specify table padding in CSS? ( table, not cell padding )

The easiest/best supported method is to use <table cellspacing="10">

The css way: border-spacing (not supported by IE I don't think)

_x000D_
_x000D_
    <!-- works in firefox, opera, safari, chrome -->_x000D_
    <style type="text/css">_x000D_
    _x000D_
    table.foobar {_x000D_
     border: solid black 1px;_x000D_
     border-spacing: 10px;_x000D_
    }_x000D_
    table.foobar td {_x000D_
     border: solid black 1px;_x000D_
    }_x000D_
    _x000D_
    _x000D_
    </style>_x000D_
    _x000D_
    <table class="foobar" cellpadding="0" cellspacing="0">_x000D_
    <tr><td>foo</td><td>bar</td></tr>_x000D_
    </table>
_x000D_
_x000D_
_x000D_

Edit: if you just want to pad the cell content, and not space them you can simply use

<table cellpadding="10">

OR

td {
    padding: 10px;
}

Checking for the correct number of arguments

cat script.sh

    var1=$1
    var2=$2
    if [ "$#" -eq 2 ]
    then
            if [ -d $var1 ]
            then
            echo directory ${var1} exist
            else
            echo Directory ${var1} Does not exists
            fi
            if [ -d $var2 ]
            then
            echo directory ${var2} exist
            else
            echo Directory ${var2} Does not exists
            fi
    else
    echo "Arguments are not equals to 2"
    exit 1
    fi

execute it like below -

./script.sh directory1 directory2

Output will be like -

directory1 exit
directory2 Does not exists

How to use Git and Dropbox together?

Another approach:

All the answers so far, including @Dan answer which is the most popular, address the idea of using Dropbox to centralize a shared repository instead of using a service focused on git like github, bitbucket, etc.

But, as the original question does not specify what using "Git and Dropbox together effectively" really means, let's work on another approach: "Using Dropbox to sync only the worktree."

The how-to has these steps:

  1. inside the project directory, one creates an empty .git directory (e.g. mkdir -p myproject/.git)

  2. un-sync the .git directory in Dropbox. If using the Dropbox App: go to Preferences, Sync, and "choose folders to sync", where the .git directory needs to get unmarked. This will remove the .git directory.

  3. run git init in the project directory

It also works if the .git already exists, then only do the step 2. Dropbox will keep a copy of the git files in the website though.

Step 2 will cause Dropbox not to sync the git system structure, which is the desired outcome for this approach.

Why one would use this approach?

  • The not-yet-pushed changes will have a Dropbox backup, and they would be synced across devices.

  • In case Dropbox screws something up when syncing between devices, git status and git diff will be handy to sort things out.

  • It saves space in the Dropbox account (the whole history will not be stored there)

  • It avoids the concerns raised by @dubek and @Ates in the comments on @Dan's answer, and the concerns by @clu in another answer.

The existence of a remote somewhere else (github, etc.) will work fine with this approach.

Working on different branches brings some issues, that need to be taken care of:

  • One potential problem is having Dropbox (unnecessarily?) syncing potentially many files when one checks out different branches.

  • If two or more Dropbox synced devices have different branches checked out, non committed changes to both devices can be lost,

One way around these issues is to use git worktree to keep branch checkouts in separate directories.

SQL query for extracting year from a date

Edit: due to post-tag 'oracle', the first two queries become irrelevant, leaving 3rd query for oracle.

For MySQL:

SELECT YEAR(ASOFDATE) FROM PASOFDATE

Editted: In anycase if your date is a String, let's convert it into a proper date format. And select the year out of it.

SELECT YEAR(STR_TO_DATE(ASOFDATE, '%d-%b-%Y')) FROM PSASOFDATE

Since you are trying Toad, can you check the following code:

For Oracle:

SELECT EXTRACT (TO_DATE(YEAR, 'MM/DD/YY') FROM ASOFDATE) FROM PSASOFDATE;

Reference:

HTML input time in 24 format

_x000D_
_x000D_
<!DOCTYPE html>_x000D_
<html>_x000D_
    <body>_x000D_
        Time: <input type="time" id="myTime" value="16:32:55">_x000D_
_x000D_
 <p>Click the button to get the time of the time field.</p>_x000D_
_x000D_
 <button onclick="myFunction()">Try it</button>_x000D_
_x000D_
 <p id="demo"></p>_x000D_
_x000D_
 <script>_x000D_
     function myFunction() {_x000D_
         var x = document.getElementById("myTime").value;_x000D_
         document.getElementById("demo").innerHTML = x;_x000D_
     }_x000D_
 </script>_x000D_
    </body>_x000D_
</html>
_x000D_
_x000D_
_x000D_

I found that by setting value field (not just what is given below) time input will be internally converted into the 24hr format.

How to obtain a Thread id in Python?

Similarly to @brucexin I needed to get OS-level thread identifier (which != thread.get_ident()) and use something like below not to depend on particular numbers and being amd64-only:

---- 8< ---- (xos.pyx)
"""module xos complements standard module os""" 

cdef extern from "<sys/syscall.h>":                                                             
    long syscall(long number, ...)                                                              
    const int SYS_gettid                                                                        

# gettid returns current OS thread identifier.                                                  
def gettid():                                                                                   
    return syscall(SYS_gettid)                                                                  

and

---- 8< ---- (test.py)
import pyximport; pyximport.install()
import xos

...

print 'my tid: %d' % xos.gettid()

this depends on Cython though.

Select all contents of textbox when it receives focus (Vanilla JS or jQuery)

HTML :

Enter Your Text : <input type="text" id="text-filed" value="test">

Using JS :

var textFiled = document.getElementById("text-filed");
textFiled.addEventListener("focus", function() { this.select(); });

Using JQuery :

$("#text-filed").focus(function() { $(this).select(); } );

Using React JS :

In the respective component -

<input
  type="text"
  value="test"
  onFocus={e => e.target.select()}
/>

What is the difference between declarations, providers, and import in NgModule?

imports are used to import supporting modules like FormsModule, RouterModule, CommonModule, or any other custom-made feature module.

declarations are used to declare components, directives, pipes that belong to the current module. Everyone inside declarations knows each other. For example, if we have a component, say UsernameComponent, which displays a list of the usernames and we also have a pipe, say toupperPipe, which transforms a string to an uppercase letter string. Now If we want to show usernames in uppercase letters in our UsernameComponent then we can use the toupperPipe which we had created before but the question is how UsernameComponent knows that the toupperPipe exists and how it can access and use that. Here come the declarations, we can declare UsernameComponent and toupperPipe.

Providers are used for injecting the services required by components, directives, pipes in the module.

Get Time from Getdate()

You will be able to get the time using below query:

select left((convert(time(0), GETDATE ())),5)

How to disable the resize grabber of <textarea>?

<textarea style="resize:none" name="name" cols="num" rows="num"></textarea>

Just an example

Why can't I use the 'await' operator within the body of a lock statement?

This referes to http://blogs.msdn.com/b/pfxteam/archive/2012/02/12/10266988.aspx , http://winrtstoragehelper.codeplex.com/ , Windows 8 app store and .net 4.5

Here is my angle on this:

The async/await language feature makes many things fairly easy but it also introduces a scenario that was rarely encounter before it was so easy to use async calls: reentrance.

This is especially true for event handlers, because for many events you don't have any clue about whats happening after you return from the event handler. One thing that might actually happen is, that the async method you are awaiting in the first event handler, gets called from another event handler still on the same thread.

Here is a real scenario I came across in a windows 8 App store app: My app has two frames: coming into and leaving from a frame I want to load/safe some data to file/storage. OnNavigatedTo/From events are used for the saving and loading. The saving and loading is done by some async utility function (like http://winrtstoragehelper.codeplex.com/). When navigating from frame 1 to frame 2 or in the other direction, the async load and safe operations are called and awaited. The event handlers become async returning void => they cant be awaited.

However, the first file open operation (lets says: inside a save function) of the utility is async too and so the first await returns control to the framework, which sometime later calls the other utility (load) via the second event handler. The load now tries to open the same file and if the file is open by now for the save operation, fails with an ACCESSDENIED exception.

A minimum solution for me is to secure the file access via a using and an AsyncLock.

private static readonly AsyncLock m_lock = new AsyncLock();
...

using (await m_lock.LockAsync())
{
    file = await folder.GetFileAsync(fileName);
    IRandomAccessStream readStream = await file.OpenAsync(FileAccessMode.Read);
    using (Stream inStream = Task.Run(() => readStream.AsStreamForRead()).Result)
    {
        return (T)serializer.Deserialize(inStream);
    }
}

Please note that his lock basically locks down all file operation for the utility with just one lock, which is unnecessarily strong but works fine for my scenario.

Here is my test project: a windows 8 app store app with some test calls for the original version from http://winrtstoragehelper.codeplex.com/ and my modified version that uses the AsyncLock from Stephen Toub http://blogs.msdn.com/b/pfxteam/archive/2012/02/12/10266988.aspx.

May I also suggest this link: http://www.hanselman.com/blog/ComparingTwoTechniquesInNETAsynchronousCoordinationPrimitives.aspx

Plot two histograms on single chart with matplotlib

As a completion to Gustavo Bezerra's answer:

If you want each histogram to be normalized (normed for mpl<=2.1 and density for mpl>=3.1) you cannot just use normed/density=True, you need to set the weights for each value instead:

import numpy as np
import matplotlib.pyplot as plt

x = np.random.normal(1, 2, 5000)
y = np.random.normal(-1, 3, 2000)
x_w = np.empty(x.shape)
x_w.fill(1/x.shape[0])
y_w = np.empty(y.shape)
y_w.fill(1/y.shape[0])
bins = np.linspace(-10, 10, 30)

plt.hist([x, y], bins, weights=[x_w, y_w], label=['x', 'y'])
plt.legend(loc='upper right')
plt.show()

enter image description here

As a comparison, the exact same x and y vectors with default weights and density=True:

enter image description here

How to run Linux commands in Java?

Runtime run = Runtime.getRuntime();  
//The best possible I found is to construct a command which you want to execute  
//as a string and use that in exec. If the batch file takes command line arguments  
//the command can be constructed a array of strings and pass the array as input to  
//the exec method. The command can also be passed externally as input to the method.  

Process p = null;  
String cmd = "ls";  
try {  
    p = run.exec(cmd);  

    p.getErrorStream();  
    p.waitFor();

}  
catch (IOException e) {  
    e.printStackTrace();  
    System.out.println("ERROR.RUNNING.CMD");  

}finally{
    p.destroy();
}  

How can I fix the 'Missing Cross-Origin Resource Sharing (CORS) Response Header' webfont issue?

We had this exact problem with fontawesome-webfont.woff2 throwing a 406 error on a shared host (Cpanel). I was working on the elusive "cookie-less domain" for a Wordpress Multisite project and my "www.domain.tld" pages would have the following error (3 times) in Chrome:

Font from origin 'http://static.domain.tld' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.domain.tld' is therefore not allowed access.

and in Firefox, a little more detail:

downloadable font: download failed (font-family: "FontAwesome" style:normal weight:normal stretch:normal src index:1): bad URI or cross-site access not allowed source: http://static.domain.tld/wp-content/themes/some-theme-here/fonts/fontawesome-webfont.woff2?v=4.7.0
font-awesome.min.css:4:14 Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://static.domain.tld/wp-content/themes/some-theme-here/fonts/fontawesome-webfont.woff?v=4.7.0. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

I got to QWANT-ing around (QWANT.com = fantastic) and found this SO post:

Access-Control-Allow-Origin wildcard subdomains, ports and protocols

An hour in chat with different Shared Host support staff (one didn't even know about F12 in a browser...) then waiting for a response to the ticket that got cut after no joy while playing with mod_security. I tried to cobble the code for the .htaccess file together from the post in the meantime, and got this to work to remedy the 406 errors, flawlessly:

    <IfModule mod_headers.c>
    <IfModule mod_rewrite.c>
        SetEnvIf Origin "http(s)?://(.+\.)?domain\.tld(:\d{1,5})?$" CORS=$0
        Header set Access-Control-Allow-Origin "%{CORS}e" env=CORS
        Header merge  Vary "Origin"
    </IfModule>
    </IfModule>

I added that to the top of my .htaccess at the site root and now I have a new Uncle named Bob. (***of course change the domain.tld parts to whatever your domain that you are working with is...)

My FAVORITE part of this post though is the ability to RegEx OR (|) multiple sites into this CORS "hack" by doing:

To allow Multiple sites:

SetEnvIf Origin "http(s)?://(.+\.)?(othersite\.com|mywebsite\.com)(:\d{1,5})?$" CORS=$0

This fix honestly kind of blew my mind because I've ran into this issue before, working with Dev's at Fortune 500 companies that are MILES above my knowledgebase of Apache and couldn't solve problems like this without getting IT to tweak on Apache settings.

This is kind of the magic bullet to fix all those CDN issues with cookie-less (or near cookie-less if you use CloudFlare...) domains to reduce the amount of unnecessary web traffic from cookies that get sent with every image request only to be ditched like a bad blind date by the server.

Super Secure, Super Elegant. Love it: You don't have to open up your servers bandwidth to resource thieves / hot-link-er types.

Props to a collective effort from these 3 brilliant minds for solving what was once thought to unsolvable with .htaccess, whom I pieced this code together from:

@Noyo https://stackoverflow.com/users/357774/noyo

@DaveRandom https://stackoverflow.com/users/889949/daverandom

@pratap-koritala https://stackoverflow.com/users/4401569/pratap-koritala

how to save DOMPDF generated content to file?

<?php
$content='<table width="100%" border="1">';
$content.='<tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>';
for ($index = 0; $index < 10; $index++) { 
$content.='<tr><td>nadim</td><td>[email protected]</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr>';
}
$content.='</table>';
//$html = file_get_contents('pdf.php');
if(isset($_POST['pdf'])){
    require_once('./dompdf/dompdf_config.inc.php');
    $dompdf = new DOMPDF;                        
    $dompdf->load_html($content);
    $dompdf->render();
    $dompdf->stream("hello.pdf");
}
?>
<html>
    <body>
        <form action="#" method="post">        
            <button name="pdf" type="submit">export</button>
        <table width="100%" border="1">
           <tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>         
            <?php for ($index = 0; $index < 10; $index++) { ?>
            <tr><td>nadim</td><td>[email protected]</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr>
            <?php } ?>            
        </table>        
        </form>        
    </body>
</html>

Where in an Eclipse workspace is the list of projects stored?

Windows:

<workspace>\.metadata\.plugins\org.eclipse.core.resources\.projects\

Linux / osx:

<workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects/

Your project can exist outside the workspace, but all Eclipse-specific metadata are stored in that org.eclipse.core.resources\.projects directory

Removing u in list

The u means the strings are unicode. Translate all the strings to ascii to get rid of it:

a.encode('ascii', 'ignore')

How can I change the app display name build with Flutter?

There are several possibilities:

1- The use of a package:

I suggest you to use flutter_launcher_name because of the command-line tool which simplifies the task of updating your Flutter app's launcher name.

Usage:

Add your Flutter Launcher name configuration to your pubspec.yaml file:

dev_dependencies:
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"

After setting up the configuration, all that is left to do is run the package.

flutter pub get
flutter pub run flutter_launcher_name:main

If you use this package, you don't need modify file AndroidManifest.xml or Info.plist.

2- Edit AndroidManifest.xml for Android and info.plist for iOS

For Android, edit only android:label value in the application tag in file AndroidManifest.xml located in the folder: android/app/src/main

Code:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="Your Application Name"  //here
        android:icon="@mipmap/ic_launcher">
        <activity>
        <!--  -->
        </activity>
    </application>
</manifest>

Screenshot:

Enter image description here

For iOS, edit only the value inside the String tag in file Info.plist located in the folder ios/Runner .

Code:

<plist version="1.0">
<dict>
    <key>CFBundleName</key>
    <string>Your Application Name </string>  //here
</dict>
</plist>

Screenshot:

Enter image description here

Do a flutter clean and restart your application if you have a problem.

Filtering a spark dataframe based on date

In PySpark(python) one of the option is to have the column in unix_timestamp format.We can convert string to unix_timestamp and specify the format as shown below. Note we need to import unix_timestamp and lit function

from pyspark.sql.functions import unix_timestamp, lit

df.withColumn("tx_date", to_date(unix_timestamp(df_cast["date"], "MM/dd/yyyy").cast("timestamp")))

Now we can apply the filters

df_cast.filter(df_cast["tx_date"] >= lit('2017-01-01')) \
       .filter(df_cast["tx_date"] <= lit('2017-01-31')).show()

Why can't decimal numbers be represented exactly in binary?

The root (mathematical) reason is that when you are dealing with integers, they are countably infinite.

Which means, even though there are an infinite amount of them, we could "count out" all of the items in the sequence, without skipping any. That means if we want to get the item in the 610000000000000th position in the list, we can figure it out via a formula.

However, real numbers are uncountably infinite. You can't say "give me the real number at position 610000000000000" and get back an answer. The reason is because, even between 0 and 1, there are an infinite number of values, when you are considering floating-point values. The same holds true for any two floating point numbers.

More info:

http://en.wikipedia.org/wiki/Countable_set

http://en.wikipedia.org/wiki/Uncountable_set

Update: My apologies, I appear to have misinterpreted the question. My response is about why we cannot represent every real value, I hadn't realized that floating point was automatically classified as rational.

How do I set adaptive multiline UILabel text?

It should work. Try this

var label:UILabel = UILabel(frame: CGRectMake(10
    ,100, 300, 40));
label.textAlignment = NSTextAlignment.Center;
label.numberOfLines = 0;
label.font = UIFont.systemFontOfSize(16.0);
label.text = "First label\nsecond line";
self.view.addSubview(label);

Jupyter/IPython Notebooks: Shortcut for "run all"?

As of 5.5 you can run Kernel > Restart and Run All

Alternative to deprecated getCellType

    FileInputStream fis = new FileInputStream(new File("C:/Test.xlsx"));

    //create workbook instance
    XSSFWorkbook wb = new XSSFWorkbook(fis);

    //create a sheet object to retrieve the sheet
    XSSFSheet sheet = wb.getSheetAt(0);

    //to evaluate cell type
    FormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();

    for(Row row : sheet)
    {
        for(Cell cell : row)
        {
            switch(formulaEvaluator.evaluateInCell(cell).getCellTypeEnum())
            {
            case NUMERIC:
                System.out.print(cell.getNumericCellValue() + "\t");
                break;
            case STRING:
                System.out.print(cell.getStringCellValue() + "\t");
                break;
            default:
                break;

            }
        }
        System.out.println();
    }

This code will work fine. Use getCellTypeEnum() and to compare use just NUMERIC or STRING.

SELECT * FROM multiple tables. MySQL

In order to get rid of duplicates, you can group by drinks.id. But that way you'll get only one photo for each drinks.id (which photo you'll get depends on database internal implementation).

Though it is not documented, in case of MySQL, you'll get the photo with lowest id (in my experience I've never seen other behavior).

SELECT name, price, photo 
FROM drinks, drinks_photos 
WHERE drinks.id = drinks_id
GROUP BY drinks.id

How to remove the character at a given index from a string in C?

I tried with strncpy() and snprintf().

int ridx = 1;  
strncpy(word2,word,ridx);   
snprintf(word2+ridx,10-ridx,"%s",&word[ridx+1]);

Pythonic way to print list items

OP's question is: does something like following exists, if not then why

print(p) for p in myList # doesn't work, OP's intuition

answer is, it does exist which is:

[p for p in myList] #works perfectly

Basically, use [] for list comprehension and get rid of print to avoiding printing None. To see why print prints None see this

Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 4 (Year)

We use the bulk insert as well. The file we upload is sent from an external party. After a while of troubleshooting, I realized that their file had columns with commas in it. Just another thing to look for...

How to close jQuery Dialog within the dialog?

You need

$('selector').dialog('close');

How can I select all children of an element except the last child?

.nav-menu li:not(:last-child){
    // write some style here
}

this code should apply the style to all

  • except the last child

  • In plain English, what does "git reset" do?

    Please be aware, this is a simplified explanation intended as a first step in seeking to understand this complex functionality.

    May be helpful for visual learners who want to visualise what their project state looks like after each of these commands:


    For those who use Terminal with colour turned on (git config --global color.ui auto):

    git reset --soft A and you will see B and C's stuff in green (staged and ready to commit)

    git reset --mixed A (or git reset A) and you will see B and C's stuff in red (unstaged and ready to be staged (green) and then committed)

    git reset --hard A and you will no longer see B and C's changes anywhere (will be as if they never existed)


    Or for those who use a GUI program like 'Tower' or 'SourceTree'

    git reset --soft A and you will see B and C's stuff in the 'staged files' area ready to commit

    git reset --mixed A (or git reset A) and you will see B and C's stuff in the 'unstaged files' area ready to be moved to staged and then committed

    git reset --hard A and you will no longer see B and C's changes anywhere (will be as if they never existed)

    What is the Swift equivalent of respondsToSelector?

    I guess you want to make a default implementation for delegate. You can do this:

    let defaultHandler = {}
    (delegate?.method ?? defaultHandler)()
    

    Prevent wrapping of span or div

    Try this:

    _x000D_
    _x000D_
    .slideContainer {_x000D_
        overflow-x: scroll;_x000D_
        white-space: nowrap;_x000D_
    }_x000D_
    .slide {_x000D_
        display: inline-block;_x000D_
        width: 600px;_x000D_
        white-space: normal;_x000D_
    }
    _x000D_
    <div class="slideContainer">_x000D_
        <span class="slide">Some content</span>_x000D_
        <span class="slide">More content. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span>_x000D_
        <span class="slide">Even more content!</span>_x000D_
    </div>
    _x000D_
    _x000D_
    _x000D_

    Note that you can omit .slideContainer { overflow-x: scroll; } (which browsers may or may not support when you read this), and you'll get a scrollbar on the window instead of on this container.

    The key here is display: inline-block. This has decent cross-browser support nowadays, but as usual, it's worth testing in all target browsers to be sure.

    Django. Override save for model

    You may supply extra argument for confirming a new image is posted.
    Something like:

    def save(self, new_image=False, *args, **kwargs):
        if new_image:
            small=rescale_image(self.image,width=100,height=100)
            self.image_small=SimpleUploadedFile(name,small_pic)
        super(Model, self).save(*args, **kwargs)
    

    or pass request variable

    def save(self, request=False, *args, **kwargs):
        if request and request.FILES.get('image',False):
            small=rescale_image(self.image,width=100,height=100)
            self.image_small=SimpleUploadedFile(name,small_pic)
        super(Model, self).save(*args, **kwargs)
    

    I think these wont break your save when called simply.

    You may put this in your admin.py so that this work with admin site too (for second of above solutions):

    class ModelAdmin(admin.ModelAdmin):
    
        ....
        def save_model(self, request, obj, form, change): 
            instance = form.save(commit=False)
            instance.save(request=request)
            return instance
    

    Jquery- Get the value of first td in table

    $(this).parent().siblings(":first").text()
    

    parent gives you the <td> around the link,

    siblings gives all the <td> tags in that <tr>,

    :first gives the first matched element in the set.

    text() gives the contents of the tag.

    Error: No default engine was specified and no extension was provided

    Please replace

    app.set('view engin', 'html'); 
    

    with

    app.set('view engine', 'ejs');
    

    Shell script to delete directories older than n days

    OR

    rm -rf `find /path/to/base/dir/* -type d -mtime +10`
    

    Updated, faster version of it:

    find /path/to/base/dir/* -mtime +10 -print0 | xargs -0 rm -f
    

    What is the JUnit XML format specification that Hudson supports?

    I couldn't find any good information on this, so I did some trial and error. The following attributes and fields (and only these) are recognized by Jenkins (v1.585).

    <?xml version="1.0" encoding="UTF-8"?>
    <testsuite>
    
      <!-- if your classname does not include a dot, the package defaults to "(root)" -->
      <testcase name="my testcase" classname="my package.my classname" time="29">
    
        <!-- If the test didn't pass, specify ONE of the following 3 cases -->
    
        <!-- option 1 --> <skipped />
        <!-- option 2 --> <failure message="my failure message">my stack trace</failure>
        <!-- option 3 --> <error message="my error message">my crash report</error>
    
        <system-out>my STDOUT dump</system-out>
    
        <system-err>my STDERR dump</system-err>
    
      </testcase>
    
    </testsuite>
    

    (I started with this sample XML document and worked backwards from there.)

    Modifying local variable from inside lambda

    Yes, you can modify local variables from inside lambdas (in the way shown by the other answers), but you should not do it. Lambdas have been made for functional style of programming and this means: No side effects. What you want to do is considered bad style. It is also dangerous in case of parallel streams.

    You should either find a solution without side effects or use a traditional for loop.

    Passing vector by reference

    void do_something(int el, std::vector<int> **arr)
    

    should be

    void do_something(int el, std::vector<int>& arr)
    {
        arr.push_back(el);
    }
    

    Pass by reference has been simplified to use the & in C++.

    is inaccessible due to its protection level

    In your base class Clubs the following are declared protected

    • club;
    • distance;
    • cleanclub;
    • scores;
    • par;
    • hole;

    which means these can only be accessed by the class itself or any class which derives from Clubs.

    In your main code, you try to access these outside of the class itself. eg:

    Console.WriteLine("How far to the hole?");
    myClub.distance = Console.ReadLine();
    

    You have (somewhat correctly) provided public accessors to these variables. eg:

    public string mydistance
    {
        get
        {
            return distance;
        }
        set
        {
            distance = value;
        }
    }        
    

    which means your main code could be changed to

    Console.WriteLine("How far to the hole?");
    myClub.mydistance = Console.ReadLine();
    

    How to get a .csv file into R?

    Please check this out if it helps you

    df<-read.csv("F:/test.csv",header=FALSE,nrows=1) df V1 V2 V3 V4 V5 1 ID GRADES GPA Teacher State a<-c(df) a[1] $V1 [1] ID Levels: ID

    a[2] $V2 [1] GRADES Levels: GRADES

    a[3] $V3 [1] GPA Levels: GPA

    a[4] $V4 [1] Teacher Levels: Teacher

    a[5] $V5 [1] State Levels: State

    Oracle - how to remove white spaces?

    Use the following to insure there is no whitespace in your output:

    select first_name || ',' || last_name from table x;
    

    Output

    John,Smith

    Jane,Doe

    Ruby on Rails: Where to define global constants?

    According your condition, you can also define some environmental variables, and fetch it via ENV['some-var'] in ruby code, this solution may not fit for you, but I hope it may help others.

    Example: you can create different files .development_env, .production_env, .test_env and load it according your application environments, check this gen dotenv-rails which automate this for your.

    outline on only one border

    I know this is old. But yeah. I prefer much shorter solution, than Giona answer

    [contenteditable] {
        border-bottom: 1px solid transparent;
        &:focus {outline: none; border-bottom: 1px dashed #000;}
    }
    

    Java: Unresolved compilation problem

    Your compiled classes may need to be recompiled from the source with the new jars.

    Try running "mvn clean" and then rebuild

    functional way to iterate over range (ES6/7)

    ES7 Proposal

    Warning: Unfortunately I believe most popular platforms have dropped support for comprehensions. See below for the well-supported ES6 method

    You can always use something like:

    [for (i of Array(7).keys()) i*i];
    

    Running this code on Firefox:

    [ 0, 1, 4, 9, 16, 25, 36 ]

    This works on Firefox (it was a proposed ES7 feature), but it has been dropped from the spec. IIRC, Babel 5 with "experimental" enabled supports this.

    This is your best bet as array-comprehension are used for just this purpose. You can even write a range function to go along with this:

    var range = (u, l = 0) => [ for( i of Array(u - l).keys() ) i + l ]
    

    Then you can do:

    [for (i of range(5)) i*i] // 0, 1, 4, 9, 16, 25
    [for (i of range(5,3)) i*i] // 9, 16, 25
    

    ES6

    A nice way to do this any of:

    [...Array(7).keys()].map(i => i * i);
    Array(7).fill().map((_,i) => i*i);
    [...Array(7)].map((_,i) => i*i);
    

    This will output:

    [ 0, 1, 4, 9, 16, 25, 36 ]

    T-SQL split string

    You can Use this function:

            CREATE FUNCTION SplitString
            (    
               @Input NVARCHAR(MAX),
               @Character CHAR(1)
              )
                RETURNS @Output TABLE (
                Item NVARCHAR(1000)
              )
            AS
            BEGIN
    
          DECLARE @StartIndex INT, @EndIndex INT
          SET @StartIndex = 1
          IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
          BEGIN
                SET @Input = @Input + @Character
          END
    
          WHILE CHARINDEX(@Character, @Input) > 0
          BEGIN
                SET @EndIndex = CHARINDEX(@Character, @Input)
    
                INSERT INTO @Output(Item)
                SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
    
                SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
          END
    
          RETURN
    END
    GO
    

    Convert unix time stamp to date in java

    You can use SimlpeDateFormat to format your date like this:

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

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

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

    How to use environment variables in docker compose

    The DOCKER solution:

    It looks like docker-compose 1.5+ has enabled variables substitution: https://github.com/docker/compose/releases

    The latest Docker Compose allows you to access environment variables from your compose file. So you can source your environment variables, then run Compose like so:

    set -a
    source .my-env
    docker-compose up -d
    

    Then you can reference the variables in docker-compose.yml using ${VARIABLE}, like so:

    db:
      image: "postgres:${POSTGRES_VERSION}"
    

    And here is more info from the docs, taken here: https://docs.docker.com/compose/compose-file/#variable-substitution

    When you run docker-compose up with this configuration, Compose looks for the POSTGRES_VERSION environment variable in the shell and substitutes its value in. For this example, Compose resolves the image to postgres:9.3 before running the configuration.

    If an environment variable is not set, Compose substitutes with an empty string. In the example above, if POSTGRES_VERSION is not set, the value for the image option is postgres:.

    Both $VARIABLE and ${VARIABLE} syntax are supported. Extended shell-style features, such as ${VARIABLE-default} and ${VARIABLE/foo/bar}, are not supported.

    If you need to put a literal dollar sign in a configuration value, use a double dollar sign ($$).

    And I believe this feature was added in this pull request: https://github.com/docker/compose/pull/1765

    The BASH solution:

    I notice folks have issues with Docker's environment variables support. Instead of dealing with environment variables in Docker, let's go back to basics, like bash! Here is a more flexible method using a bash script and a .env file.

    An example .env file:

    EXAMPLE_URL=http://example.com
    # Note that the variable below is commented out and will not be used:
    # EXAMPLE_URL=http://example2.com 
    SECRET_KEY=ABDFWEDFSADFWWEFSFSDFM
    
    # You can even define the compose file in an env variable like so:
    COMPOSE_CONFIG=my-compose-file.yml
    # You can define other compose files, and just comment them out
    # when not needed:
    # COMPOSE_CONFIG=another-compose-file.yml
    

    then run this bash script in the same directory, which should deploy everything properly:

    #!/bin/bash
    
    docker rm -f `docker ps -aq -f name=myproject_*`
    set -a
    source .env
    cat ${COMPOSE_CONFIG} | envsubst | docker-compose -f - -p "myproject" up -d
    

    Just reference your env variables in your compose file with the usual bash syntax (ie ${SECRET_KEY} to insert the SECRET_KEY from the .env file).

    Note the COMPOSE_CONFIG is defined in my .env file and used in my bash script, but you can easily just replace {$COMPOSE_CONFIG} with the my-compose-file.yml in the bash script.

    Also note that I labeled this deployment by naming all of my containers with the "myproject" prefix. You can use any name you want, but it helps identify your containers so you can easily reference them later. Assuming that your containers are stateless, as they should be, this script will quickly remove and redeploy your containers according to your .env file params and your compose YAML file.

    Update Since this answer seems pretty popular, I wrote a blog post that describes my Docker deployment workflow in more depth: http://lukeswart.net/2016/03/lets-deploy-part-1/ This might be helpful when you add more complexity to a deployment configuration, like nginx configs, LetsEncrypt certs, and linked containers.

    Remove Object from Array using JavaScript

    Simplest solution would be to create a map that stores the indexes for each object by name, like this:

    //adding to array
    var newPerson = {name:"Kristian", lines:"2,5,10"}
    someMap[ newPerson.name ] = someArray.length;
    someArray.push( newPerson );
    
    //deleting from the array
    var index = someMap[ 'Kristian' ];
    someArray.splice( index, 1 );
    

    How do you get the currently selected <option> in a <select> via JavaScript?

    This will do it for you:

    var yourSelect = document.getElementById( "your-select-id" );
    alert( yourSelect.options[ yourSelect.selectedIndex ].value )
    

    Auto-loading lib files in Rails 4

    Use config.to_prepare to load you monkey patches/extensions for every request in development mode.

    config.to_prepare do |action_dispatcher|
     # More importantly, will run upon every request in development, but only once (during boot-up) in production and test.
     Rails.logger.info "\n--- Loading extensions for #{self.class} "
     Dir.glob("#{Rails.root}/lib/extensions/**/*.rb").sort.each do |entry|
       Rails.logger.info "Loading extension(s): #{entry}"
       require_dependency "#{entry}"
     end
     Rails.logger.info "--- Loaded extensions for #{self.class}\n"
    

    end

    What's the difference between the 'ref' and 'out' keywords?

    ref and out work just like passing by references and passing by pointers as in C++.

    For ref, the argument must declared and initialized.

    For out, the argument must declared but may or may not be initialized

            double nbr = 6; // if not initialized we get error
            double dd = doit.square(ref nbr);
    
            double Half_nbr ; // fine as passed by out, but inside the calling  method you initialize it
            doit.math_routines(nbr, out Half_nbr);
    

    how to get value of selected item in autocomplete

    I wanted something pretty close to this - the moment a user picks an item, even by just hitting the arrow keys to one (focus), I want that data item attached to the tag in question. When they type again without picking another item, I want that data cleared.

    (function() {
        var lastText = '';
    
        $('#MyTextBox'), {
            source: MyData
        })
        .on('autocompleteselect autocompletefocus', function(ev, ui) {
            lastText = ui.item.label;
            jqTag.data('autocomplete-item', ui.item);
        })
        .keyup(function(ev) {
            if (lastText != jqTag.val()) {
                // Clear when they stop typing
                jqTag.data('autocomplete-item', null);
    
                // Pass the event on as autocompleteclear so callers can listen for select/clear
                var clearEv = $.extend({}, ev, { type: 'autocompleteclear' });
                return jqTag.trigger(clearEv);
        });
    })();
    

    With this in place, 'autocompleteselect' and 'autocompletefocus' still fire right when you expect, but the full data item that was selected is always available right on the tag as a result. 'autocompleteclear' now fires when that selection is cleared, generally by typing something else.

    Eclipse fonts and background color

    Switch to Theme... is also an option

    enter image description here

    Reactjs convert html string to jsx

    There are now safer methods to accomplish this. The docs have been updated with these methods.

    Other Methods

    1. Easiest - Use Unicode, save the file as UTF-8 and set the charset to UTF-8.

      <div>{'First · Second'}</div>

    2. Safer - Use the Unicode number for the entity inside a Javascript string.

      <div>{'First \u00b7 Second'}</div>

      or

      <div>{'First ' + String.fromCharCode(183) + ' Second'}</div>

    3. Or a mixed array with strings and JSX elements.

      <div>{['First ', <span>&middot;</span>, ' Second']}</div>

    4. Last Resort - Insert raw HTML using dangerouslySetInnerHTML.

      <div dangerouslySetInnerHTML={{__html: 'First &middot; Second'}} />

    Error in Swift class: Property not initialized at super.init call

    You are just initing in the wrong order.

         class Shape2 {
            var numberOfSides = 0
            var name: String
            init(name:String) {
                self.name = name
            }
            func simpleDescription() -> String {
                return "A shape with \(numberOfSides) sides."
            }
        }
    
        class Square2: Shape2 {
            var sideLength: Double
    
            init(sideLength:Double, name:String) {
    
                self.sideLength = sideLength
                super.init(name:name) // It should be behind "self.sideLength = sideLength"
                numberOfSides = 4
            }
            func area () -> Double {
                return sideLength * sideLength
            }
        }
    

    Change HTML email body font type and size in VBA

    Set texts with different sizes and styles, and size and style for texts from cells ( with Range)

    Sub EmailManuellAbsenden()
    
    Dim ghApp As Object
    Dim ghOldBody As String
    Dim ghNewBody As String
    
    Set ghApp = CreateObject("Outlook.Application")
    With ghApp.CreateItem(0)
    .To = Range("B2")
    .CC = Range("B3")
    .Subject = Range("B4")
    .GetInspector.Display
     ghOldBody = .htmlBody
    
     ghNewBody = "<font style=""font-family: Calibri; font-size: 11pt;""/font>" & _
     "<font style=""font-family: Arial; font-size: 14pt;"">Arial Text 14</font>" & _
     Range("B5") & "<br>" & _
     Range("B6") & "<br>" & _
     "<font style=""font-family: Chiller; font-size: 21pt;"">Ciller 21</font>" &
     Range("B5")
     .htmlBody = ghNewBody & ghOldBody
    
     End With
    
    End Sub
    'Fill B2 to B6 with some letters for testing
    '"<font style=""font-family: Calibri; font-size: 15pt;""/font>" = works for all Range Objekts
    

    How to retrieve data from a SQL Server database in C#?

    create a class called DbManager:

    Class DbManager
    {
     SqlConnection connection;
     SqlCommand command;
    
           public DbManager()
          {
            connection = new SqlConnection();
            connection.ConnectionString = @"Data Source=.     \SQLEXPRESS;AttachDbFilename=|DataDirectory|DatabaseName.mdf;Integrated Security=True;User Instance=True";
            command = new SqlCommand();
            command.Connection = connection;
            command.CommandType = CommandType.Text;
         } // constructor
    
     public bool GetUsersData(ref string lastname, ref string firstname, ref string age)
         {
            bool returnvalue = false;
            try
            {
                command.CommandText = "select * from TableName where firstname=@firstname and lastname=@lastname";
                command.Parameters.Add("firstname",SqlDbType.VarChar).Value = firstname;
     command.Parameters.Add("lastname",SqlDbType.VarChar).Value = lastname; 
                connection.Open();
                SqlDataReader reader= command.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
    
                        lastname = reader.GetString(1);
                        firstname = reader.GetString(2);
    
                        age = reader.GetString(3);
    
    
                    }
                }
                returnvalue = true;
            }
            catch
            { }
            finally
            {
                connection.Close();
            }
            return returnvalue;
    
        }
    

    then double click the retrieve button(e.g btnretrieve) on your form and insert the following code:

     private void btnretrieve_Click(object sender, EventArgs e)
        {
            try
            {
                string lastname = null;
                string firstname = null;
                string age = null;
    
                DbManager db = new DbManager();
    
                bool status = db.GetUsersData(ref surname, ref firstname, ref age);
                    if (status)
                    {
                    txtlastname.Text = surname;
                    txtfirstname.Text = firstname;
                    txtAge.Text = age;       
                   }
              }
           catch
              {
    
              }
       }
    

    Caesar Cipher Function in Python

    plainText = raw_input("What is your plaintext? ")
    shift = int(raw_input("What is your shift? "))
    
    def caesar(plainText, shift): 
        for ch in plainText:
            if ch.isalpha():
                stayInAlphabet = ord(ch) + shift 
                if stayInAlphabet > ord('z'):
                    stayInAlphabet -= 26
                finalLetter = chr(stayInAlphabet)
            #####HERE YOU RESET CIPHERTEXT IN EACH ITERATION#####
            cipherText = ""
            cipherText += finalLetter
    
        print "Your ciphertext is: ", cipherText
    
        return cipherText
    
    caesar(plainText, shift)
    

    As an else to if ch.isalpha() you can put finalLetter=ch.

    You should remove the line: cipherText = ""

    Cheers.

    Can't run Curl command inside my Docker Container

    If you are using an Alpine based image, you have to

    RUN
    ... \
    apk add --no-cache curl \
    curl ...
    ...
    

    How to delete an element from a Slice in Golang

    Minor point (code golf), but in the case where order does not matter you don't need to swap the values. Just overwrite the array position being removed with a duplicate of the last position and then return a truncated array.

    func remove(s []int, i int) []int {
        s[i] = s[len(s)-1]
        return s[:len(s)-1]
    }
    

    Same result.

    Jupyter Notebook not saving: '_xsrf' argument missing from post

    The solution I came across seems too simple but it worked. Go to the /tree aka Jupyter home page and refresh the browser. Worked.

    Remove the first character of a string

    Depending on the structure of the string, you can use lstrip:

    str = str.lstrip(':')
    

    But this would remove all colons at the beginning, i.e. if you have ::foo, the result would be foo. But this function is helpful if you also have strings that do not start with a colon and you don't want to remove the first character then.

    How to convert a date String to a Date or Calendar object?

    The DateFormat class has a parse method.

    See DateFormat for more information.

    Broadcast Receiver within a Service

    The better pattern is to create a standalone BroadcastReceiver. This insures that your app can respond to the broadcast, whether or not the Service is running. In fact, using this pattern may remove the need for a constant-running Service altogether.

    Register the BroadcastReceiver in your Manifest, and create a separate class/file for it.

    Eg:

    <receiver android:name=".FooReceiver" >
        <intent-filter >
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>
    

    When the receiver runs, you simply pass an Intent (Bundle) to the Service, and respond to it in onStartCommand().

    Eg:

    public class FooReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            // do your work quickly!
            // then call context.startService();
        }   
    }
    

    Python List & for-each access (Find/Replace in built-in list)

    Python is not Java, nor C/C++ -- you need to stop thinking that way to really utilize the power of Python.

    Python does not have pass-by-value, nor pass-by-reference, but instead uses pass-by-name (or pass-by-object) -- in other words, nearly everything is bound to a name that you can then use (the two obvious exceptions being tuple- and list-indexing).

    When you do spam = "green", you have bound the name spam to the string object "green"; if you then do eggs = spam you have not copied anything, you have not made reference pointers; you have simply bound another name, eggs, to the same object ("green" in this case). If you then bind spam to something else (spam = 3.14159) eggs will still be bound to "green".

    When a for-loop executes, it takes the name you give it, and binds it in turn to each object in the iterable while running the loop; when you call a function, it takes the names in the function header and binds them to the arguments passed; reassigning a name is actually rebinding a name (it can take a while to absorb this -- it did for me, anyway).

    With for-loops utilizing lists, there are two basic ways to assign back to the list:

    for i, item in enumerate(some_list):
        some_list[i] = process(item)
    

    or

    new_list = []
    for item in some_list:
        new_list.append(process(item))
    some_list[:] = new_list
    

    Notice the [:] on that last some_list -- it is causing a mutation of some_list's elements (setting the entire thing to new_list's elements) instead of rebinding the name some_list to new_list. Is this important? It depends! If you have other names besides some_list bound to the same list object, and you want them to see the updates, then you need to use the slicing method; if you don't, or if you do not want them to see the updates, then rebind -- some_list = new_list.

    c++ "Incomplete type not allowed" error accessing class reference information (Circular dependency with forward declaration)

    Here is what I had and what caused my "incomplete type error":

    #include "X.h" // another already declared class
    class Big {...} // full declaration of class A
    
    class Small : Big {
        Small() {}
        Small(X); // line 6
    }
    //.... all other stuff
    

    What I did in the file "Big.cpp", where I declared the A2's constructor with X as a parameter is..

    Big.cpp

    Small::Big(X my_x) { // line 9 <--- LOOK at this !
    }
    

    I wrote "Small::Big" instead of "Small::Small", what a dumb mistake.. I received the error "incomplete type is now allowed" for the class X all the time (in lines 6 and 9), which made a total confusion..

    Anyways, that is where a mistake can happen, and the main reason is that I was tired when I wrote it and I needed 2 hours of exploring and rewriting the code to reveal it.

    How to sum up elements of a C++ vector?

    #include<boost/range/numeric.hpp>
    int sum = boost::accumulate(vector, 0);
    

    Struct Constructor in C++?

    Yes, but if you have your structure in a union then you cannot. It is the same as a class.

    struct Example
    {
       unsigned int mTest;
       Example()
       {
       }
    };
    

    Unions will not allow constructors in the structs. You can make a constructor on the union though. This question relates to non-trivial constructors in unions.

    How to Use -confirm in PowerShell

    Read-Host is one example of a cmdlet that -Confirm does not have an effect on.-Confirm is one of PowerShell's Common Parameters specifically a Risk-Mitigation Parameter which is used when a cmdlet is about to make a change to the system that is outside of the Windows PowerShell environment. Many but not all cmdlets support the -Confirm risk mitigation parameter.

    As an alternative the following would be an example of using the Read-Host cmdlet and a regular expression test to get confirmation from a user:

    $reply = Read-Host -Prompt "Continue?[y/n]"
    if ( $reply -match "[yY]" ) { 
        # Highway to the danger zone 
    }
    

    The Remove-Variable cmdlet is one example that illustrates the usage of the -confirm switch.

    Remove-Variable 'reply' -Confirm
    

    Additional References: CommonParameters, Write-Host, Read-Host, Comparison Operators, Regular Expressions, Remove-Variable

    C# Debug - cannot start debugging because the debug target is missing

    Please try with the steps below:

    1. Right click on the Visual Studio Project - Properties - Debug - (Start Action section) - select "Start project" radio button.
    2. Right click on the Visual Studio Project - Properties - Debug - (Enable Debuggers section) - mark "Enable the Visual Studio hosting process"
    3. Save changes Ctrl + Shift + S) and run the project again.

    P.S. I experienced the same problem when I was playing with the options to redirect the console input / output to text file and have selected the option Properties - Debug - (Start Action section) - Start external program. When I moved the Solution to another location on my computer the problem occurred because it was searching for an absolute path to the executable file. Restoring the Visual Studio Project default settings (see above) fixed the problem. For your reference I am using Visual Studio 2013 Professional.

    printf with std::string?

    use myString.c_str() if you want a c-like string (const char*) to use with printf

    thanks

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

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

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

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

    char arr[5] = {'a','b','c','d','e',0}; 
    char *ptr = arr; //same as char *ptr = &arr[0]
    
    printf("\nvalue:%c", ptr[0]);
    

    How to repeat a char using printf?

    i think doing some like this.

    void printchar(char c, int n){
         int i;
         for(i=0;i<n;i++)
             print("%c",c);
    }
    
    printchar("*",10);
    

    Error: allowDefinition='MachineToApplication' beyond application level

    If you face this problem while publishing your website or application on some server, the simple solution I used is to convert folder which contains files to web application.

    Use Excel VBA to click on a button in Internet Explorer, when the button has no "name" associated

    With the kind help from Tim Williams, I finally figured out the last détails that were missing. Here's the final code below.

    Private Sub Open_multiple_sub_pages_from_main_page()
    
    
    Dim i As Long
    Dim IE As Object
    Dim Doc As Object
    Dim objElement As Object
    Dim objCollection As Object
    Dim buttonCollection As Object
    Dim valeur_heure As Object
    
    
    ' Create InternetExplorer Object
    Set IE = CreateObject("InternetExplorer.Application")
    ' You can uncoment Next line To see form results
    IE.Visible = True
    
    ' Send the form data To URL As POST binary request
    IE.navigate "http://webpage.com/"
    
    ' Wait while IE loading...
    While IE.Busy
            DoEvents
    Wend
    
    
    Set objCollection = IE.Document.getElementsByTagName("input")
    
    i = 0
    While i < objCollection.Length
        If objCollection(i).Name = "txtUserName" Then
            ' Set text for search
            objCollection(i).Value = "1234"
        End If
        If objCollection(i).Name = "txtPwd" Then
            ' Set text for search
            objCollection(i).Value = "password"
        End If
    
        If objCollection(i).Type = "submit" And objCollection(i).Name = "btnSubmit" Then ' submit button if found and set
            Set objElement = objCollection(i)
        End If
        i = i + 1
    Wend
    objElement.Click    ' click button to load page
    
    ' Wait while IE re-loading...
    While IE.Busy
            DoEvents
    Wend
    
    ' Show IE
    IE.Visible = True
    Set Doc = IE.Document
    
    Dim links, link
    
    Dim j As Integer                                                                    'variable to count items
    j = 0
    Set links = IE.Document.getElementById("dgTime").getElementsByTagName("a")
    n = links.Length
    While j <= n                                    'loop to go thru all "a" item so it loads next page
        links(j).Click
        While IE.Busy
            DoEvents
        Wend
        '-------------Do stuff here:  copy field value and paste in excel sheet.  Will post another question for this------------------------
        IE.Document.getElementById("DetailToolbar1_lnkBtnSave").Click              'save
        Do While IE.Busy
            Application.Wait DateAdd("s", 1, Now)                                   'wait
        Loop
        IE.Document.getElementById("DetailToolbar1_lnkBtnCancel").Click            'close
        Do While IE.Busy
            Application.Wait DateAdd("s", 1, Now)                                   'wait
        Loop
        Set links = IE.Document.getElementById("dgTime").getElementsByTagName("a")
        j = j + 2
    Wend    
    End Sub
    

    Safe String to BigDecimal conversion

    String value = "1,000,000,000.999999999999999";
    BigDecimal money = new BigDecimal(value.replaceAll(",", ""));
    System.out.println(money);
    

    Full code to prove that no NumberFormatException is thrown:

    import java.math.BigDecimal;
    
    public class Tester {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String value = "1,000,000,000.999999999999999";
            BigDecimal money = new BigDecimal(value.replaceAll(",", ""));
            System.out.println(money);
        }
    }
    

    Output

    1000000000.999999999999999

    Extract hostname name from string

    Code:

    var regex = /\w+.(com|co\.kr|be)/ig;
    var urls = ['http://www.youtube.com/watch?v=ClkQA2Lb_iE',
                'http://youtu.be/ClkQA2Lb_iE',
                'http://www.example.com/12xy45',
                'http://example.com/random'];
    
    
    $.each(urls, function(index, url) {
        var convertedUrl = url.match(regex);
        console.log(convertedUrl);
    });
    

    Result:

    youtube.com
    youtu.be
    example.com
    example.com
    

    PHP split alternative?

    explode is an alternative. However, if you meant to split through a regular expression, the alternative is preg_split instead.

    Add default value of datetime field in SQL Server to a timestamp

    The syntax for this when creating a new table is:

    CREATE TABLE MyTable
    (
        MYTableID INT IDENTITY(1,1),
    
        CreateDate DATETIME NOT NULL CONSTRAINT DF_MyTable_CreateDate_GETDATE DEFAULT GETDATE()
    )
    

    Where can I set path to make.exe on Windows?

    Or you can just run power-shell command to append extra folder to the existing path:

    $env:Path += ";C:\temp\terraform" 
    

    How to use LINQ Distinct() with multiple fields

    public List<ItemCustom2> GetBrandListByCat(int id)
        {
    
            var OBJ = (from a in db.Items
                       join b in db.Brands on a.BrandId equals b.Id into abc1
                       where (a.ItemCategoryId == id)
                       from b in abc1.DefaultIfEmpty()
                       select new
                       {
                           ItemCategoryId = a.ItemCategoryId,
                           Brand_Name = b.Name,
                           Brand_Id = b.Id,
                           Brand_Pic = b.Pic,
    
                       }).Distinct();
    
    
            List<ItemCustom2> ob = new List<ItemCustom2>();
            foreach (var item in OBJ)
            {
                ItemCustom2 abc = new ItemCustom2();
                abc.CategoryId = item.ItemCategoryId;
                abc.BrandId = item.Brand_Id;
                abc.BrandName = item.Brand_Name;
                abc.BrandPic = item.Brand_Pic;
                ob.Add(abc);
            }
            return ob;
    
        }
    

    Chosen Jquery Plugin - getting selected values

    If anyone wants to get only the selected value on click to an option, he can do the follow:

    $('.chosen-select').on('change', function(evt, params) {
        var selectedValue = params.selected;
        console.log(selectedValue);
    });
    

    How to set image to fit width of the page using jsPDF?

    i faced same problem but i solve using this code

    html2canvas(body,{
                    onrendered:function(canvas){
                        var pdf=new jsPDF("p", "mm", "a4");
                        var width = pdf.internal.pageSize.getWidth();    
                        var height = pdf.internal.pageSize.getHeight();
                        pdf.addImage(canvas, 'JPEG', 0, 0,width,height);
                        pdf.save('test11.pdf');
                    }
                }) 
    

    GET URL parameter in PHP

    Use this:

    $parameter = $_SERVER['QUERY_STRING'];
    echo $parameter;
    

    Or just use:

    $parameter = $_GET['link'];
    echo $parameter ;
    

    Error handling in getJSON calls

    I was faced with this same issue, but rather than creating callbacks for a failed request, I simply returned an error with the json data object.

    If possible, this seems like the easiest solution. Here's a sample of the Python code I used. (Using Flask, Flask's jsonify f and SQLAlchemy)

    try:
        snip = Snip.query.filter_by(user_id=current_user.get_id(), id=snip_id).first()
        db.session.delete(snip)
        db.session.commit()
        return jsonify(success=True)
    except Exception, e:
        logging.debug(e)
        return jsonify(error="Sorry, we couldn't delete that clip.")
    

    Then you can check on Javascript like this;

    $.getJSON('/ajax/deleteSnip/' + data_id,
        function(data){
        console.log(data);
        if (data.success === true) {
           console.log("successfully deleted snip");
           $('.snippet[data-id="' + data_id + '"]').slideUp();
        }
        else {
           //only shows if the data object was returned
        }
    });
    

    Javascript how to split newline

    Try initializing the ks variable inside your submit function.

      (function($){
         $(document).ready(function(){
            $('#data').submit(function(e){
               var ks = $('#keywords').val().split("\n");
               e.preventDefault();
               alert(ks[0]);
               $.each(ks, function(k){
                  alert(k);
               });
            });
         });
      })(jQuery);
    

    Assign null to a SqlParameter

    Try this:

    SqlParameter[] parameters = new SqlParameter[1];    
    SqlParameter planIndexParameter = new SqlParameter("@AgeIndex", SqlDbType.Int);
    
    planIndexParameter.IsNullable = true; // Add this line
    
    planIndexParameter.Value = (AgeItem.AgeIndex== null) ? DBNull.Value : AgeItem.AgeIndex== ;
    parameters[0] = planIndexParameter;
    

    Set folder for classpath

    Use the command as

    java -classpath ".;C:\MyLibs\a\*;D:\MyLibs\b\*" <your-class-name>
    

    The above command will set the mentioned paths to classpath only once for executing the class named TestClass.

    If you want to execute more then one classes, then you can follow this

    set classpath=".;C:\MyLibs\a\*;D:\MyLibs\b\*"
    

    After this you can execute as many classes as you want just by simply typing

    java <your-class-name>
    

    The above command will work till you close the command prompt. But after closing the command prompt, if you will reopen the command prompt and try to execute some classes, then you have to again set the classpath with the help of any of the above two mentioned methods.(First method for executing one class and second one for executing more classes)

    If you want to set the classpth only once so that it could work for everytime, then do as follows

    1. Right click on "My Computer" icon
    2. Go to the "properties"
    3. Go to the "Advanced System Settings" or "Advance Settings"
    4. Go to the "Environment Variable"
    5. Create a new variable at the user variable by giving the information as below
        a.  Variable Name-     classpath
        b.  Variable Value-    .;C:\program files\jdk 1.6.0\bin;C:\MyLibs\a\';C:\MyLibs\b\*
    6.Apply this and you are done.
    

    Remember this will work every time. You don't need to explicitly set the classpath again and again.

    NOTE: If you want to add some other libs after some day, then don't forget to add a semi-colon at the end of the "variable-value" of the "Environment Variable" and then type the path of your new libs after the semi-colon. Because semi-colon separates the paths of different directories.

    Hope this will help you.

    How can I run multiple npm scripts in parallel?

    My solution is similar to Piittis', though I had some problems using Windows. So I had to validate for win32.

    const { spawn } = require("child_process");
    
    function logData(data) {
        console.info(`stdout: ${data}`);
    }
    
    function runProcess(target) {
        let command = "npm";
        if (process.platform === "win32") {
            command = "npm.cmd"; // I shit you not
        }
        const myProcess = spawn(command, ["run", target]); // npm run server
    
        myProcess.stdout.on("data", logData);
        myProcess.stderr.on("data", logData);
    }
    
    (() => {
        runProcess("server"); // package json script
        runProcess("client");
    })();
    

    Normalizing images in OpenCV

    If you want to change the range to [0, 1], make sure the output data type is float.

    image = cv2.imread("lenacolor512.tiff", cv2.IMREAD_COLOR)  # uint8 image
    norm_image = cv2.normalize(image, None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F)
    

    How to test an Oracle Stored Procedure with RefCursor return type?

    I think this link will be enough for you. I found it when I was searching for the way to execute oracle procedures.

    The link to the page

    Short Description:

    --cursor variable declaration 
    variable Out_Ref_Cursor refcursor;
    --execute procedure 
    execute get_employees_name(IN_Variable,:Out_Ref_Cursor);
    --display result referenced by ref cursor.
    print Out_Ref_Cursor;
    

    CSS3 Box Shadow on Top, Left, and Right Only

    I know this is very old, but none of these answers helped me, so I'm adding my answer. This, like @yichengliu's answer, uses the Pseudo ::after element.

    #div {
        position: relative;
    }
    
    
    
    #div::after {
        content: '';
        position: absolute;
        right: 0;
        width: 1px;
        height: 100%;
        z-index: -1;
    
        -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,1);
        -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,1);
        box-shadow: 0px 0px 5px 0px rgba(0,0,0,1);
    }
    
    /*or*/
    
    .filter.right::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        width: 1px;
        height: 100%;
        background: white;
        z-index: -1;
    
        -webkit-filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
        filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1));
    }
    

    Fiddle

    If you decide to change the X of the drop shadow (first pixel measurement of the drop-shadow or box-shadow), changing the width will help so it doesn't look like there is a white gap between the div and the shadow.

    If you decide to change the Y of the drop shadow (second pixel measurement of the drop-shadow or box-shadow), changing the height will help for the same reason as above.

    How to make a vertical line in HTML

    There isn't any tag to create a vertical line in HTML.

    1. Method: You load a line image. Then you set its style like "height: 100px ; width: 2px"

    2. Method: You can use <td> tags <td style="border-left: 1px solid red; padding: 5px;"> X </td>

    How to add some non-standard font to a website?

    Or you could try sIFR. I know it uses Flash, but only if available. If Flash isn't available, it displays the original text in its original (CSS) font.

    How to do case insensitive search in Vim

    As @huyz mention sometimes desired behavior is using case-insensitive searches but case-sensitive substitutions. My solution for that:

    nnoremap / /\c
    nnoremap ? ?\c
    

    With that always when you hit / or ? it will add \c for case-insensitive search.

    How to get data from Magento System Configuration

    $configValue = Mage::getStoreConfig('sectionName/groupName/fieldName');
    

    sectionName, groupName and fieldName are present in etc/system.xml file of your module.

    The above code will automatically fetch config value of currently viewed store.

    If you want to fetch config value of any other store than the currently viewed store then you can specify store ID as the second parameter to the getStoreConfig function as below:

    $store = Mage::app()->getStore(); // store info
    $configValue = Mage::getStoreConfig('sectionName/groupName/fieldName', $store);
    

    Concatenating string and integer in python

    Modern string formatting:

    "{} and {}".format("string", 1)
    

    Convert a PHP object to an associative array

    First of all, if you need an array from an object you probably should constitute the data as an array first. Think about it.

    Don't use a foreach statement or JSON transformations. If you're planning this, again you're working with a data structure, not with an object.

    If you really need it use an object-oriented approach to have a clean and maintainable code. For example:

    Object as array

    class PersonArray implements \ArrayAccess, \IteratorAggregate
    {
        public function __construct(Person $person) {
            $this->person = $person;
        }
        // ...
     }
    

    If you need all properties, use a transfer object:

    class PersonTransferObject
    {
        private $person;
    
        public function __construct(Person $person) {
            $this->person = $person;
        }
    
        public function toArray() {
            return [
                // 'name' => $this->person->getName();
            ];
        }
    
     }
    

    Calling async method on button click

    This is what's killing you:

    task.Wait();
    

    That's blocking the UI thread until the task has completed - but the task is an async method which is going to try to get back to the UI thread after it "pauses" and awaits an async result. It can't do that, because you're blocking the UI thread...

    There's nothing in your code which really looks like it needs to be on the UI thread anyway, but assuming you really do want it there, you should use:

    private async void Button_Click(object sender, RoutedEventArgs 
    {
        Task<List<MyObject>> task = GetResponse<MyObject>("my url");
        var items = await task;
        // Presumably use items here
    }
    

    Or just:

    private async void Button_Click(object sender, RoutedEventArgs 
    {
        var items = await GetResponse<MyObject>("my url");
        // Presumably use items here
    }
    

    Now instead of blocking until the task has completed, the Button_Click method will return after scheduling a continuation to fire when the task has completed. (That's how async/await works, basically.)

    Note that I would also rename GetResponse to GetResponseAsync for clarity.

    How to insert values into the database table using VBA in MS access

    since you mentioned you are quite new to access, i had to invite you to first remove the errors in the code (the incomplete for loop and the SQL statement). Otherwise, you surely need the for loop to insert dates in a certain range.

    Now, please use the code below to insert the date values into your table. I have tested the code and it works. You can try it too. After that, add your for loop to suit your scenario

    Dim StrSQL As String
    Dim InDate As Date
    Dim DatDiff As Integer
    
    InDate = Me.FromDateTxt
    
    StrSQL = "INSERT INTO Test (Start_Date) VALUES ('" & InDate & "' );"
    
    DoCmd.SetWarnings False
    DoCmd.RunSQL StrSQL
    DoCmd.SetWarnings True
    

    How to read a text file into a string variable and strip newlines?

    Try the following:

    with open('data.txt', 'r') as myfile:
        data = myfile.read()
    
        sentences = data.split('\\n')
        for sentence in sentences:
            print(sentence)
    

    Caution: It does not remove the \n. It is just for viewing the text as if there were no \n

    CORS error :Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response

    For anyone getting this using ServiceStack backend; add "Authorization" to allowed headers in the Cors plugin:

    Plugins.Add(new CorsFeature(allowedHeaders: "Content-Type,Authorization"));

    Good beginners tutorial to socket.io?

    To start with Socket.IO I suggest you read first the example on the main page:

    http://socket.io/

    On the server side, read the "How to use" on the GitHub source page:

    https://github.com/Automattic/socket.io

    And on the client side:

    https://github.com/Automattic/socket.io-client

    Finally you need to read this great tutorial:

    http://howtonode.org/websockets-socketio

    Hint: At the end of this blog post, you will have some links pointing on source code that could be some help.

    What is difference between png8 and png24

    There is only one PNG format, but it supports 5 color types.

    PNG-8 refers to palette variant, which supports only 256 colors, but is usually smaller in size. PNG-8 can be a GIF substitute.

    PNG-24 refers to true color variant, which supports more colors, but might be bigger. PNG-24 can be used instead of JPEG, if lossless image format is needed.

    Any modern web browser will support both variants.

    Error 'LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt' after installing Visual Studio 2012 Release Preview

    If disabling incremental linking doesn't work for you, and turning off "Embed Manifest" doesn't work either, then search your path for multiple versions of CVTRES.exe.

    By debugging with the /VERBOSE linker option I found the linker was writing that error message when it tried to invoke cvtres and it failed.

    It turned out that I had two versions of this utility in my path. One at C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cvtres.exe and one at C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe. After VS2012 install, the VS2010 version of cvtres.exe will no longer work. If that's the first one in your path, and the linker decides it needs to convert a .res file to COFF object format, the link will fail with LNK1123.

    (Really annoying that the error message has nothing to do with the actual problem, but that's not unusual for a Microsoft product.)

    Just delete/rename the older version of the utility, or re-arrange your PATH variable, so that the version that works comes first.

    Be aware that for x64 tooling builds you may also have to check C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 where there is another cvtres.exe.

    Declaring variables inside or outside of a loop

    Variables should be declared as close to where they are used as possible.

    It makes RAII (Resource Acquisition Is Initialization) easier.

    It keeps the scope of the variable tight. This lets the optimizer work better.

    How do I simulate placeholder functionality on input date field?

    As i mentioned here

    initially set the field type to text.

    on focus change it to type date

    JavaScript "cannot read property "bar" of undefined

    Just check for it before you pass to your function. So you would pass:

    thing.foo ? thing.foo.bar : undefined
    

    How to fix Invalid AES key length?

    You can verify the key length limit:

    int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");
    System.out.println("MaxAllowedKeyLength=[" + maxKeyLen + "].");
    

    Saving awk output to variable

    I think the $() syntax is easier to read...

    variable=$(ps -ef | grep "port 10 -" | grep -v "grep port 10 -"| awk '{printf "%s", $12}')
    

    But the real issue is probably that $12 should not be qouted with ""

    Edited since the question was changed, This returns valid data, but it is not clear what the expected output of ps -ef is and what is expected in variable.

    Maven Could not resolve dependencies, artifacts could not be resolved

    I have had a similar problem and I fixed it by adding the below repos in my pom.xml:

    <repository>
        <id>org.springframework.maven.release</id>
        <name>Spring Maven Release Repository</name>
        <url>http://repo.springsource.org/libs-release-local</url>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>false</enabled></snapshots>
    </repository>
    <!-- For testing against latest Spring snapshots -->
    <repository>
        <id>org.springframework.maven.snapshot</id>
        <name>Spring Maven Snapshot Repository</name>
        <url>http://repo.springsource.org/libs-snapshot-local</url>
        <releases><enabled>false</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </repository>
    <!-- For developing against latest Spring milestones -->
    <repository>
        <id>org.springframework.maven.milestone</id>
        <name>Spring Maven Milestone Repository</name>
        <url>http://repo.springsource.org/libs-milestone-local</url>
        <snapshots><enabled>false</enabled></snapshots>
    </repository>
    

    How to write one new line in Bitbucket markdown?

    It's possible, as addressed in Issue #7396:

    When you do want to insert a <br /> break tag using Markdown, you end a line with two or more spaces, then type return or Enter.

    How to create own dynamic type or dynamic object in C#?

    I recently had a need to take this one step further, which was to make the property additions in the dynamic object, dynamic themselves, based on user defined entries. The examples here, and from Microsoft's ExpandoObject documentation, do not specifically address adding properties dynamically, but, can be surmised from how you enumerate and delete properties. Anyhow, I thought this might be helpful to someone. Here is an extremely simplified version of how to add truly dynamic properties to an ExpandoObject (ignoring keyword and other handling):

            // my pretend dataset
            List<string> fields = new List<string>();
            // my 'columns'
            fields.Add("this_thing");
            fields.Add("that_thing");
            fields.Add("the_other");
    
            dynamic exo = new System.Dynamic.ExpandoObject();
    
            foreach (string field in fields)
            {
                ((IDictionary<String, Object>)exo).Add(field, field + "_data");
            }
    
            // output - from Json.Net NuGet package
            textBox1.Text = Newtonsoft.Json.JsonConvert.SerializeObject(exo);
    

    How do I convert between ISO-8859-1 and UTF-8 in Java?

    In general, you can't do this. UTF-8 is capable of encoding any Unicode code point. ISO-8859-1 can handle only a tiny fraction of them. So, transcoding from ISO-8859-1 to UTF-8 is no problem. Going backwards from UTF-8 to ISO-8859-1 will cause "replacement characters" (�) to appear in your text when unsupported characters are found.

    To transcode text:

    byte[] latin1 = ...
    byte[] utf8 = new String(latin1, "ISO-8859-1").getBytes("UTF-8");
    

    or

    byte[] utf8 = ...
    byte[] latin1 = new String(utf8, "UTF-8").getBytes("ISO-8859-1");
    

    You can exercise more control by using the lower-level Charset APIs. For example, you can raise an exception when an un-encodable character is found, or use a different character for replacement text.

    C# send a simple SSH command

    SshClient cSSH = new SshClient("192.168.10.144", 22, "root", "pacaritambo");
    cSSH.Connect();
    SshCommand x = cSSH.RunCommand("exec \"/var/lib/asterisk/bin/retrieve_conf\"");
    cSSH.Disconnect();
    cSSH.Dispose();
    

    //using SSH.Net

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

    If you want to use Unix shell commands on Windows, you can use Windows Powershell, which includes both Windows and Unix commands as aliases. You can find more info on it in the documentation.

    PowerShell supports aliases to refer to commands by alternate names. Aliasing allows users with experience in other shells to use common command names that they already know for similar operations in PowerShell.

    The PowerShell equivalents may not produce identical results. However, the results are close enough that users can do work without knowing the PowerShell command name.

    Accessing members of items in a JSONArray with Java

    Java 8 is in the market after almost 2 decades, following is the way to iterate org.json.JSONArray with java8 Stream API.

    import org.json.JSONArray;
    import org.json.JSONObject;
    
    @Test
    public void access_org_JsonArray() {
        //Given: array
        JSONArray jsonArray = new JSONArray(Arrays.asList(new JSONObject(
                        new HashMap() {{
                            put("a", 100);
                            put("b", 200);
                        }}
                ),
                new JSONObject(
                        new HashMap() {{
                            put("a", 300);
                            put("b", 400);
                        }}
                )));
    
        //Then: convert to List<JSONObject>
        List<JSONObject> jsonItems = IntStream.range(0, jsonArray.length())
                .mapToObj(index -> (JSONObject) jsonArray.get(index))
                .collect(Collectors.toList());
    
        // you can access the array elements now
        jsonItems.forEach(arrayElement -> System.out.println(arrayElement.get("a")));
        // prints 100, 300
    }
    

    If the iteration is only one time, (no need to .collect)

        IntStream.range(0, jsonArray.length())
                .mapToObj(index -> (JSONObject) jsonArray.get(index))
                .forEach(item -> {
                   System.out.println(item);
                });
    

    Disable submit button ONLY after submit

    This is the edited script, hope it helps,

       <script type="text/javascript">
            $(function(){
                $("#yourFormId").on('submit', function(){
                    return false;
                    $(".submitBtn").attr("disabled",true); //disable the submit here
                    //send the form data via ajax which will not relaod the page and disable the submit button
                    $.ajax({
                       url      : //your url to submit the form,
                       data     : { $("#yourFormId").serializeArray() }, //your data to send here 
                       type     : 'POST',
                       success  : function(resp){
                            alert(resp);    //or whatever 
                       },
                       error    : function(resp){
    
                       }
                    });
                })
            });
        </script>
    

    Check if a record exists in the database

    try this

     public static bool CheckUserData(string phone, string config)
        {
            string sql = @"SELECT * FROM AspNetUsers WHERE PhoneNumber = @PhoneNumber";
            using (SqlConnection conn = new SqlConnection(config)
                )
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddWithValue("@PhoneNumber", phone);
                    SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    if (reader.HasRows)
                    {
                        return true;  // data exist
                    }
                    else
                    {
                        return false; //data not exist
                    }
                }
            }
        }
    

    How to define custom sort function in javascript?

    function msort(arr){
        for(var i =0;i<arr.length;i++){
            for(var j= i+1;j<arr.length;j++){
                if(arr[i]>arr[j]){
                    var swap = arr[i];
                    arr[i] = arr[j];
                    arr[j] = swap;
                }
            }
        }
    return arr;
    }
    

    Passing null arguments to C# methods

    I think the nearest C# equivalent to int* would be ref int?. Because ref int? allows the called method to pass a value back to the calling method.

    int*

    • Can be null.
    • Can be non-null and point to an integer value.
    • If not null, value can be changed, and the change propagates to the caller.
    • Setting to null is not passed back to the caller.

    ref int?

    • Can be null.
    • Can have an integer value.
    • Value can be always be changed, and the change propagates to the caller.
    • Value can be set to null, and this change will also propagate to the caller.

    Java Generate Random Number Between Two Given Values

    You could use e.g. r.nextInt(101)

    For a more generic "in between two numbers" use:

    Random r = new Random();
    int low = 10;
    int high = 100;
    int result = r.nextInt(high-low) + low;
    

    This gives you a random number in between 10 (inclusive) and 100 (exclusive)

    How do I combine the first character of a cell with another cell in Excel?

    Not sure why no one is using semicolons. This is how it works for me:

    =CONCATENATE(LEFT(A1;1); B1)
    

    Solutions with comma produce an error in Excel.

    Why does calling sumr on a stream with 50 tuples not complete

    sumr is implemented in terms of foldRight:

     final def sumr(implicit A: Monoid[A]): A = F.foldRight(self, A.zero)(A.append) 

    foldRight is not always tail recursive, so you can overflow the stack if the collection is too long. See Why foldRight and reduceRight are NOT tail recursive? for some more discussion of when this is or isn't true.

    SQL how to make null values come last when sorting ascending

    select MyDate
    from MyTable
    order by case when MyDate is null then 1 else 0 end, MyDate
    

    Throw away local commits in Git

    If Your branch is ahead of 'origin/XXX' by 5 commits.

    You can issue:

    git reset --hard HEAD~5
    

    And it should remove the last 5 commits.

    What is the difference between __init__ and __call__?

    >>> class A:
    ...     def __init__(self):
    ...         print "From init ... "
    ... 
    >>> a = A()
    From init ... 
    >>> a()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: A instance has no __call__ method
    >>> 
    >>> class B:
    ...     def __init__(self):
    ...         print "From init ... "
    ...     def __call__(self):
    ...         print "From call ... "
    ... 
    >>> b = B()
    From init ... 
    >>> b()
    From call ... 
    >>> 
    

    SQL query to group by day

    If you're using SQL Server, you could add three calculated fields to your table:

    Sales (saleID INT, amount INT, created DATETIME)
    
    ALTER TABLE dbo.Sales
      ADD SaleYear AS YEAR(Created) PERSISTED
    ALTER TABLE dbo.Sales
      ADD SaleMonth AS MONTH(Created) PERSISTED
    ALTER TABLE dbo.Sales
      ADD SaleDay AS DAY(Created) PERSISTED
    

    and now you could easily group by, order by etc. by day, month or year of the sale:

    SELECT SaleDay, SUM(Amount)
    FROM dbo.Sales
    GROUP BY SaleDay
    

    Those calculated fields will always be kept up to date (when your "Created" date changes), they're part of your table, they can be used just like regular fields, and can even be indexed (if they're "PERSISTED") - great feature that's totally underused, IMHO.

    Marc

    Oracle insert if not exists statement

    Another approach would be to leverage the INSERT ALL syntax from oracle,

    INSERT ALL 
        INTO table1(email, campaign_id) VALUES (email, campaign_id)
    WITH source_data AS
     (SELECT '[email protected]' email,100 campaign_id
      FROM   dual
      UNION ALL
      SELECT '[email protected]' email,200 campaign_id
      FROM   dual)      
    SELECT email
          ,campaign_id
    FROM   source_data src
    WHERE  NOT EXISTS (SELECT 1
            FROM   table1 dest
            WHERE  src.email = dest.email
            AND    src.campaign_id = dest.campaign_id);
    

    INSERT ALL also allow us to perform a conditional insert into multiple tables based on a sub query as source.

    There are some really clean and nice examples are there to refer.

    1. oracletutorial.com
    2. oracle-base.com/

    What is the "Upgrade-Insecure-Requests" HTTP header?

    Short answer: it's closely related to the Content-Security-Policy: upgrade-insecure-requests response header, indicating that the browser supports it (and in fact prefers it).

    It took me 30mins of Googling, but I finally found it buried in the W3 spec.

    The confusion comes because the header in the spec was HTTPS: 1, and this is how Chromium implemented it, but after this broke lots of websites that were poorly coded (particularly WordPress and WooCommerce) the Chromium team apologized:

    "I apologize for the breakage; I apparently underestimated the impact based on the feedback during dev and beta."
    — Mike West, in Chrome Issue 501842

    Their fix was to rename it to Upgrade-Insecure-Requests: 1, and the spec has since been updated to match.

    Anyway, here is the explanation from the W3 spec (as it appeared at the time)...

    The HTTPS HTTP request header field sends a signal to the server expressing the client’s preference for an encrypted and authenticated response, and that it can successfully handle the upgrade-insecure-requests directive in order to make that preference as seamless as possible to provide.

    ...

    When a server encounters this preference in an HTTP request’s headers, it SHOULD redirect the user to a potentially secure representation of the resource being requested.

    When a server encounters this preference in an HTTPS request’s headers, it SHOULD include a Strict-Transport-Security header in the response if the request’s host is HSTS-safe or conditionally HSTS-safe [RFC6797].

    ASP.NET Core form POST results in a HTTP 415 Unsupported Media Type response

    the problem can because of MVC MW.you must set formatterType in MVC options:

    services.AddMvc(options =>
                {
                    options.UseCustomStringModelBinder();
                    options.AllowEmptyInputInBodyModelBinding = true;
                    foreach (var formatter in options.InputFormatters)
                    {
                        if (formatter.GetType() == typeof(SystemTextJsonInputFormatter))
                            ((SystemTextJsonInputFormatter)formatter).SupportedMediaTypes.Add(
                                Microsoft.Net.Http.Headers.MediaTypeHeaderValue.Parse("text/plain"));
                    }
                }).AddJsonOptions(options =>
                {
                    options.JsonSerializerOptions.PropertyNameCaseInsensitive = true;
                });
    

    How to convert integer into date object python?

    This question is already answered, but for the benefit of others looking at this question I'd like to add the following suggestion: Instead of doing the slicing yourself as suggested above you might also use strptime() which is (IMHO) easier to read and perhaps the preferred way to do this conversion.

    import datetime
    s = "20120213"
    s_datetime = datetime.datetime.strptime(s, '%Y%m%d')
    

    How to apply CSS to iframe?

    var $head = $("#eFormIFrame").contents().find("head");
    
    $head.append($("<link/>", {
        rel: "stylesheet",
        href: url,
        type: "text/css"
    }));
    

    Is there a way to include commas in CSV columns without breaking the formatting?

    You can use Template literals (Template strings)

    e.g -

    `"${item}"`
    

    Android Studio doesn't see device

    When I faced this problem I was on Android Studio 3.1 version. I tried a lot of approach above, nothing worked for me ( Don't know why :/ ). Finally I tried something different by my own. My approach was:

    Before going to bellow steps make sure

    *Your "Google USB Driver" package is installed ("Tools" -> "SDK Manager" -> Check "Google USB Driver" -> "Apply" -> "Ok").
    
    *If you are trying to access with emulator then check "Intel x86 Emulator Accelarator(HAXM installer)" is instaled. ("Tools" -> "SDK Manager" -> Check "Intel x86 Emulator Accelarator(HAXM installer)"" -> "Apply" -> "Ok")
    
    1. Goto Tools.
    2. Then goto SDK Manager.
    3. Open SDK tools.
    4. Uncheck "Android SDK Platform-Tools" (On my case it was checked).
    5. press apply then ok.
    6. Again goto Tools.
    7. Then goto SDK Manager.
    8. Open SDK tools.
    9. check "Android SDK Platform-Tools"
    10. Restart Android Studio :)

    Hope this will help somebody like me.

    Pointers, smart pointers or shared pointers?

    To avoid memory leaks you may use smart pointers whenever you can. There are basically 2 different types of smart pointers in C++

    • Reference counted (e.g. boost::shared_ptr / std::tr1:shared_ptr)
    • non reference counted (e.g. boost::scoped_ptr / std::auto_ptr)

    The main difference is that reference counted smart pointers can be copied (and used in std:: containers) while scoped_ptr cannot. Non reference counted pointers have almost no overhead or no overhead at all. Reference counting always introduces some kind of overhead.

    (I suggest to avoid auto_ptr, it has some serious flaws if used incorrectly)

    Install shows error in console: INSTALL FAILED CONFLICTING PROVIDER

    If you have different flavors and you want to avoid collisions in the authority name you can add an applicationIdSuffix to build types and use the resulting applicationId in your manifest, like this:

    <...
     android:authorities="${applicationId}.contentprovider"/>
    

    Change File Extension Using C#

    try this.

    filename = Path.ChangeExtension(".blah") 
    

    in you Case:

    myfile= c:/my documents/my images/cars/a.jpg;
    string extension = Path.GetExtension(myffile);
    filename = Path.ChangeExtension(myfile,".blah") 
    

    You should look this post too:

    http://msdn.microsoft.com/en-us/library/system.io.path.changeextension.aspx

    How to replace list item in best way

    Use Lambda to find the index in the List and use this index to replace the list item.

    List<string> listOfStrings = new List<string> {"abc", "123", "ghi"};
    listOfStrings[listOfStrings.FindIndex(ind=>ind.Equals("123"))] =  "def";
    

    How to check if an object is defined?

    If a class type is not defined, you'll get a compiler error if you try to use the class, so in that sense you should have to check.

    If you have an instance, and you want to ensure it's not null, simply check for null:

    if (value != null)
    {
        // it's not null. 
    }
    

    Set the selected index of a Dropdown using jQuery

    To select the 2nd option

    $('#your-select-box-id :nth-child(2)').prop('selected', true);
    

    Here we add the `trigger('change') to make the event fire.

    $('#your-select-box-id :nth-child(2)').prop('selected', true).trigger('change');
    

    jQuery move to anchor location on page load

    Description

    You can do this using jQuery's .scrollTop() and .offset() method

    Check out my sample and this jsFiddle Demonstration

    Sample

    $(function() {
        $(document).scrollTop( $("#header").offset().top );  
    });
    

    More Information

    Force Intellij IDEA to reread all maven dependencies

    I had a problem where IntelliJ was unable to compile classes, claiming that dependencies between projects were missing. Reimporting the project as suggested in the answers of this question didn't solve the problem. The solution for me, was:

    1. remove all projects (project tab / right click on the root folder / maven / remove projects);
    2. close the editor;
    3. compile all projects with maven on the command line;
    4. open the editor on the same project;
    5. add the projects to maven again (maven tab / add maven projects (green +) / choose the root pom);

    WARNING: on some projects, you might have to increment max memory for maven import (maven settings on maven tab / Importing / VM options for importer).

    How to add a "open git-bash here..." context menu to the windows explorer?

    Step 1. On your desktop right click "New"->"Text Document" with name OpenGitBash.reg

    Step 2. Right click the file and choose "Edit"

    Step 3. Copy-paste the code below, save and close the file

    Step 4. Execute the file by double clicking it

    Note: You need administrator permission to write to the registry.

    Windows Registry Editor Version 5.00
    ; Open files
    ; Default Git-Bash Location C:\Program Files\Git\git-bash.exe
    
    [HKEY_CLASSES_ROOT\*\shell\Open Git Bash]
    @="Open Git Bash"
    "Icon"="C:\\Program Files\\Git\\git-bash.exe"
    
    [HKEY_CLASSES_ROOT\*\shell\Open Git Bash\command]
    @="\"C:\\Program Files\\Git\\git-bash.exe\" \"--cd=%1\""
    
    ; This will make it appear when you right click ON a folder
    ; The "Icon" line can be removed if you don't want the icon to appear
    
    [HKEY_CLASSES_ROOT\Directory\shell\bash]
    @="Open Git Bash"
    "Icon"="C:\\Program Files\\Git\\git-bash.exe"
    
    
    [HKEY_CLASSES_ROOT\Directory\shell\bash\command]
    @="\"C:\\Program Files\\Git\\git-bash.exe\" \"--cd=%1\""
    
    ; This will make it appear when you right click INSIDE a folder
    ; The "Icon" line can be removed if you don't want the icon to appear
    
    [HKEY_CLASSES_ROOT\Directory\Background\shell\bash]
    @="Open Git Bash"
    "Icon"="C:\\Program Files\\Git\\git-bash.exe"
    
    [HKEY_CLASSES_ROOT\Directory\Background\shell\bash\command]
    @="\"C:\\Program Files\\Git\\git-bash.exe\" \"--cd=%v.\""
    

    And here is your result :

    enter image description here

    How can I "disable" zoom on a mobile web page?

    There are a number of approaches here- and though the position is that typically users should not be restricted when it comes to zooming for accessibility purposes, there may be incidences where is it required:

    Render the page at the width of the device, dont scale:

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    

    Prevent scaling- and prevent the user from being able to zoom:

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    

    Removing all zooming, all scaling

    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    

    java.lang.ClassCastException

    To avoid x !instance of Long prob Add

    <property name="openjpa.Compatibility" value="StrictIdentityValues=false"/>
    

    in your persistence.xml

    How to extract numbers from string in c?

    Make a state machine that operates on one basic principle: is the current character a number.

    • When transitioning from non-digit to digit, you initialize your current_number := number.
    • when transitioning from digit to digit, you "shift" the new digit in:
      current_number := current_number * 10 + number;
    • when transitioning from digit to non-digit, you output the current_number
    • when from non-digit to non-digit, you do nothing.

    Optimizations are possible.

    How add items(Text & Value) to ComboBox & read them in SelectedIndexChanged (SelectedValue = null)

    Dictionary<int,string> comboSource = new Dictionary<int,string>();
    comboSource.Add(1, "Sunday");
    comboSource.Add(2, "Monday");
    

    Aftr adding values to Dictionary, use this as combobox datasource:

    comboBox1.DataSource = new BindingSource(comboSource, null);
    comboBox1.DisplayMember = "Value";
    comboBox1.ValueMember = "Key";
    

    CSS3 selector to find the 2nd div of the same class

    UPDATE: This answer was originally written in 2008 when nth-of-type support was unreliable at best. Today I'd say you could safely use something like .bar:nth-of-type(2), unless you have to support IE8 and older.


    Original answer from 2008 follows (Note that I would not recommend this anymore!):

    If you can use Prototype JS you can use this code to set some style values, or add another classname:

    // set style:
    $$('div.theclassname')[1].setStyle({ backgroundColor: '#900', fontSize: '1.2em' });
    // OR add class name:
    $$('div.theclassname')[1].addClassName('secondclass'); // pun intentded...
    

    (I didn't test this code, and it doesn't check if there actually is a second div present, but something like this should work.)

    But if you're generating the html serverside you might just as well add an extra class on the second item...

    Use of Application.DoEvents()

    I saw jheriko's comment above and was initially agreeing that I couldn't find a way to avoid using DoEvents if you end up spinning your main UI thread waiting for a long running asynchronous piece of code on another thread to complete. But from Matthias's answer a simple Refresh of a small panel on my UI can replace the DoEvents (and avoid a nasty side effect).

    More detail on my case ...

    I was doing the following (as suggested here) to ensure that a progress bar type splash screen (How to display a "loading" overlay...) updated during a long running SQL command:

    IAsyncResult asyncResult = sqlCmd.BeginExecuteNonQuery();
    while (!asyncResult.IsCompleted)  //UI thread needs to Wait for Async SQL command to return
    {
          System.Threading.Thread.Sleep(10); 
          Application.DoEvents();  //to make the UI responsive
    }
    

    The bad: For me calling DoEvents meant that mouse clicks were sometimes firing on forms behind my splash screen, even if I made it TopMost.

    The good/answer: Replace the DoEvents line with a simple Refresh call to a small panel in the centre of my splash screen, FormSplash.Panel1.Refresh(). The UI updates nicely and the DoEvents weirdness others have warned of was gone.

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

    I would like Web applications to not override my default shortcut keys, honestly. Ctrl+S already does something in browsers. Having that change abruptly depending on the site I'm viewing is disruptive and frustrating, not to mention often buggy. I've had sites hijack Ctrl+Tab because it looked the same as Ctrl+I, both ruining my work on the site and preventing me from switching tabs as usual.

    If you want shortcut keys, use the accesskey attribute. Please don't break existing browser functionality.

    How can I convert a std::string to int?

     int stringToInt(std::string value) {    
     if(value.length() == 0 ) return 0; //tu zmiana..
    
     if (value.find(  std::string("NULL") ) != std::string::npos) {
         return 0;
      }
     
      if (value.find(  std::string("null") ) != std::string::npos) {
         return 0;
      }
     
     
    int i;
    std::stringstream stream1;
    stream1.clear();
    stream1.str(value);
    stream1 >> i;
    return i;
    

    };

    Case insensitive 'in'

    I think you have to write some extra code. For example:

    if 'MICHAEL89' in map(lambda name: name.upper(), USERNAMES):
       ...
    

    In this case we are forming a new list with all entries in USERNAMES converted to upper case and then comparing against this new list.

    Update

    As @viraptor says, it is even better to use a generator instead of map. See @Nathon's answer.

    Generate a dummy-variable

    What I normally do to work with this kind of dummy variables is:

    (1) how do I generate a dummy variable for observation #10, i.e. for year 1957 (value = 1 at 1957 and zero otherwise)

    data$factor_year_1 <- factor ( with ( data, ifelse ( ( year == 1957 ), 1 , 0 ) ) )
    

    (2) how do I generate a dummy-variable which is zero before 1957 and takes the value 1 from 1957 and onwards to 2009?

    data$factor_year_2 <- factor ( with ( data, ifelse ( ( year < 1957 ), 0 , 1 ) ) )
    

    Then, I can introduce this factor as a dummy variable in my models. For example, to see whether there is a long-term trend in a varible y :

    summary ( lm ( y ~ t,  data = data ) )
    

    Hope this helps!

    InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately

    The docs give a fair indicator of what's required., however requests allow us to skip a few steps:

    You only need to install the security package extras (thanks @admdrew for pointing it out)

    $ pip install requests[security]
    

    or, install them directly:

    $ pip install pyopenssl ndg-httpsclient pyasn1
    

    Requests will then automatically inject pyopenssl into urllib3


    If you're on ubuntu, you may run into trouble installing pyopenssl, you'll need these dependencies:

    $ apt-get install libffi-dev libssl-dev
    

    Force git stash to overwrite added files

    Use git checkout instead of git stash apply:

    $ git checkout stash -- .
    $ git commit
    

    This will restore all the files in the current directory to their stashed version.


    If there are changes to other files in the working directory that should be kept, here is a less heavy-handed alternative:

    $ git merge --squash --strategy-option=theirs stash
    

    If there are changes in the index, or the merge will touch files with local changes, git will refuse to merge. Individual files can be checked out from the stash using

    $ git checkout stash -- <paths...>
    

    or interactively with

    $ git checkout -p stash