Programs & Examples On #Carriage return

Carriage return is one of the control characters in ASCII code, Unicode, EBCDIC, and many other codes. It commands a printer, or other output system such as the display of a system console, to move the position of the cursor to the first position on the same line.

Removing carriage return and new-line from the end of a string in c#

This will trim off any combination of carriage returns and newlines from the end of s:

s = s.TrimEnd(new char[] { '\r', '\n' });

Edit: Or as JP kindly points out, you can spell that more succinctly as:

s = s.TrimEnd('\r', '\n');

How can I remove "\r\n" from a string in C#? Can I use a regular expression?

Assuming you want to replace the newlines with something so that something like this:

the quick brown fox\r\n
jumped over the lazy dog\r\n

doesn't end up like this:

the quick brown foxjumped over the lazy dog

I'd do something like this:

string[] SplitIntoChunks(string text, int size)
{
    string[] chunk = new string[(text.Length / size) + 1];
    int chunkIdx = 0;
    for (int offset = 0; offset < text.Length; offset += size)
    {
        chunk[chunkIdx++] = text.Substring(offset, size);
    }
    return chunk;
}    

string[] GetComments()
{
    var cmtTb = GridView1.Rows[rowIndex].FindControl("txtComments") as TextBox; 
    if (cmtTb == null)
    {
        return new string[] {};
    }

    // I assume you don't want to run the text of the two lines together?
    var text = cmtTb.Text.Replace(Environment.Newline, " ");
    return SplitIntoChunks(text, 50);    
}

I apologize if the syntax isn't perfect; I'm not on a machine with C# available right now.

Carriage Return\Line feed in Java

bw.newLine(); cannot ensure compatibility with all systems.

If you are sure it is going to be opened in windows, you can format it to windows newline.

If you are already using native unix commands, try unix2dos and convert teh already generated file to windows format and then send the mail.

If you are not using unix commands and prefer to do it in java, use ``bw.write("\r\n")` and if it does not complicate your program, have a method that finds out the operating system and writes the appropriate newline.

Inserting line breaks into PDF

MultiCell($w, $h, 'text<br />', $border=0, $align='L', $fill=1, $ln=0,
    $x='', $y='', $reseth=true, $reseth=0, $ishtml=true, $autopadding=true,
    $maxh=0);

You can configure the MultiCell to read html on a basic level.

Text Editor which shows \r\n?

I'd bet that Programmer's Notepad would give you something like that...

Create Carriage Return in PHP String?

I find the adding <br> does what is wanted.

SQL query for a carriage return in a string and ultimately removing carriage return

You can also use regular expressions:

SELECT * FROM Parameters WHERE Name REGEXP '\n';

How can I insert new line/carriage returns into an element.textContent?

The following code works well (On FireFox, IE and Chrome) :

var display_out = "This is line 1" + "<br>" + "This is line 2";

document.getElementById("demo").innerHTML = display_out;

Find and replace - Add carriage return OR Newline

If you want to avoid the hassle of escaping the special characters in your search and replacement string when using regular expressions, do the following steps:

  1. Search for your original string, and replace it with "UniqueString42", with regular expressions off.
  2. Search for "UniqueString42" and replace it with "UniqueString42\nUniqueString1337", with regular expressions on
  3. Search for "UniqueString42" and replace it with the first line of your replacement (often your original string), with regular expressions off.
  4. Search for "UniqueString42" and replace it with the second line of your replacement, with regular expressions off.

Note that even if you want to manually pich matches for the first search and replace, you can safely use "replace all" for the three last steps.

Example

For example, if you want to replace this:

public IFoo SomeField { get { return this.SomeField; } }

with that:

public IFoo Foo { get { return this.MyFoo; } }
public IBar Bar { get { return this.MyBar; } }

You would do the following substitutions:

  1. public IFoo SomeField { get { return this.SomeField; } } ? XOXOXOXO (regex off).
  2. XOXOXOXO ? XOXOXOXO\nHUHUHUHU (regex on).
  3. XOXOXOXO ? public IFoo Foo { get { return this.MyFoo; } } (regex off).
  4. HUHUHUHU ? public IFoo Bar { get { return this.MyBar; } } (regex off).

What are the differences between char literals '\n' and '\r' in Java?

\n is a line feed (LF) character, character code 10. \r is a carriage return (CR) character, character code 13. What they do differs from system to system. On Windows, for instance, lines in text files are terminated using CR followed immediately by LF (e.g., CRLF). On Unix systems and their derivatives, only LF is used. (Macs prior to Mac OS X used CR, but Mac OS X is a *nix derivative and so uses LF.)

In the old days, LF literally did just a line feed on printers (moving down one line without moving where you are horizonally on the page), and CR similarly moved back to the beginning of the line without moving the paper up, hence some systems (like Windows) sending CR (return to the left-hand side) and LF (and feed the paper up).

Because of all this confusion, some output targets will accept multiple line break sequences, so you could see the same effect from either character depending on what you're outputting to.

In C#, what's the difference between \n and \r\n?

\n is the line break used by Unix(-like) systems, \r\n is used by windows. This has nothing to do with C#.

Remove carriage return in Unix

sed -i s/\r// <filename> or somesuch; see man sed or the wealth of information available on the web regarding use of sed.

One thing to point out is the precise meaning of "carriage return" in the above; if you truly mean the single control character "carriage return", then the pattern above is correct. If you meant, more generally, CRLF (carriage return and a line feed, which is how line feeds are implemented under Windows), then you probably want to replace \r\n instead. Bare line feeds (newline) in Linux/Unix are \n.

What's the Use of '\r' escape sequence?

To answer the part of your question,

what is the use of \r?

Many Internet protocols, such as FTP, HTTP and SMTP, are specified in terms of lines delimited by carriage return and newline. So, for example, when sending an email, you might have code such as:

fprintf(socket, "RCPT TO: %s\r\n", recipients);

Or, when a FTP server replies with a permission-denied error:

fprintf(client, "550 Permission denied\r\n");

See line breaks and carriage returns in editor

You can view break lines using gedit editor.

First, if you don't have installed:

sudo apt-get install gedit

Now, install gedit plugins:

sudo apt-get install gedit-plugins

and select Draw Spaces plugin, enter on Preferences, and chose Draw new lines

enter image description here

enter image description here

Using VSCode you can install Line endings extension.

Sublime Text 3 has a plugin called RawLineEdit that will display line endings and allow the insertion of arbitrary line-ending type

shift + ctrl + p and start type the name of the plugin, and toggle to show line ending.

What is the difference between a "line feed" and a "carriage return"?

A line feed means moving one line forward. The code is \n.
A carriage return means moving the cursor to the beginning of the line. The code is \r.

Windows editors often still use the combination of both as \r\n in text files. Unix uses mostly only the \n.

The separation comes from typewriter times, when you turned the wheel to move the paper to change the line and moved the carriage to restart typing on the beginning of a line. This was two steps.

Difference between \n and \r?

Just to add to the confusion, I've been working on a simple text editor using a TextArea element in an HTML page in a browser. In anticipation of compatibility woes with respect to CR/LF, I wrote the code to check the platform, and use whichever newline convention was applicable to the platform.

However, I discovered something interesting when checking the actual characters contained in the TextArea, via a small JavaScript function that generates the hex data corresponding to the characters.

For the test, I typed in the following text:

Hello, World[enter]

Goodbye, Cruel World[enter]

When I examined the text data, the byte sequence I obtained was this:

48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 0a 47 6f 6f 64 62 79 65 2c 20 43 72 75 65 6c 20 57 6f 72 6c 64 0a

Now, most people looking at this, and seeing 0a but no 0d bytes, would think that this output was obtained on a Unix/Linux platform. But, here's the rub: this sequence I obtained in Google Chrome on Windows 7 64-bit.

So, if you're using a TextArea element and examining the text, CHECK the output as I've done above, to make sure what actual character bytes are returned from your TextArea. I've yet to see if this differs on other platforms or other browsers, but it's worth bearing in mind if you're performing text processing via JavaScript, and you need to make that text processing platform independent.

The conventions covered in above posts apply to console output, but HTML elements, it appears, adhere to the UNIX/Linux convention. Unless someone discovers otherwise on a different platform/browser.

What are carriage return, linefeed, and form feed?

On old paper-printer terminals, advancing to the next line involved two actions: moving the print head back to the beginning of the horizontal scan range (carriage return) and advancing the roll of paper being printed on (line feed).

Since we no longer use paper-printer terminals, those actions aren't really relevant anymore, but the characters used to signal them have stuck around in various incarnations.

Carriage return and Line feed... Are both required in C#?

I know this is a little old, but for anyone stumbling across this page should know there is a difference between \n and \r\n.

The \r\n gives a CRLF end of line and the \n gives an LF end of line character. There is very little difference to the eye in general.

Create a .txt from the string and then try and open in notepad (normal not notepad++) and you will notice the difference

SHA,PCT,PRACTICE,BNF CODE,BNF NAME,ITEMS,NIC,ACT COST,QUANTITY,PERIOD
Q44,01C,N81002,0101021B0AAALAL,Sod Algin/Pot Bicarb_Susp S/F,3,20.48,19.05,2000,201901
Q44,01C,N81002,0101021B0AAAPAP,Sod Alginate/Pot Bicarb_Tab Chble 500mg,1,3.07,2.86,60,201901

The above is using 'CRLF' and the below is what 'LF only' would look like (There is a character that cant be seen where the LF shows).

SHA,PCT,PRACTICE,BNF CODE,BNF NAME,ITEMS,NIC,ACT COST,QUANTITY,PERIODQ44,01C,N81002,0101021B0AAALAL,Sod Algin/Pot Bicarb_Susp S/F,3,20.48,19.05,2000,201901Q44,01C,N81002,0101021B0AAAPAP,Sod Alginate/Pot Bicarb_Tab Chble 500mg,1,3.07,2.86,60,201901

If the Line Ends need to be corrected and the file is small enough in size, you can change the line endings in NotePad++ (or paste into word then back into Notepad - although this will make CRLF only).

This may cause some functions that read these files to potenitially no longer function (The example lines given are from GP Prescribing data - England. The file has changed from a CRLF Line end to an LF line end). This stopped an SSIS job from running and failed as couldn't read the LF line endings.

Source of Line Ending Information: https://en.wikipedia.org/wiki/Newline#Representations_in_different_character_encoding_specifications

Hope this helps someone in future :) CRLF = Windows based, LF or CF are from Unix based systems (Linux, MacOS etc.)

In Perl, how to remove ^M from a file?

This is what solved my problem. ^M is a carriage return, and it can be easily avoided in a Perl script.

while(<INPUTFILE>)
{
     chomp;
     chop($_) if ($_ =~ m/\r$/);
}

CodeIgniter Select Query

$query= $this->m_general->get('users' , array('id'=> $id ));
echo $query[''];

is ok ;)

Can scrapy be used to scrape dynamic content from websites that are using AJAX?

how can scrapy be used to scrape this dynamic data so that I can use it?

I wonder why no one has posted the solution using Scrapy only.

Check out the blog post from Scrapy team SCRAPING INFINITE SCROLLING PAGES . The example scraps http://spidyquotes.herokuapp.com/scroll website which uses infinite scrolling.

The idea is to use Developer Tools of your browser and notice the AJAX requests, then based on that information create the requests for Scrapy.

import json
import scrapy


class SpidyQuotesSpider(scrapy.Spider):
    name = 'spidyquotes'
    quotes_base_url = 'http://spidyquotes.herokuapp.com/api/quotes?page=%s'
    start_urls = [quotes_base_url % 1]
    download_delay = 1.5

    def parse(self, response):
        data = json.loads(response.body)
        for item in data.get('quotes', []):
            yield {
                'text': item.get('text'),
                'author': item.get('author', {}).get('name'),
                'tags': item.get('tags'),
            }
        if data['has_next']:
            next_page = data['page'] + 1
            yield scrapy.Request(self.quotes_base_url % next_page)

How to remove default mouse-over effect on WPF buttons?

Just to add a very simple solution, that was good enough for me, and I think addresses the OP's issue. I used the solution in this answer except with a regular Background value instead of an image.

<Style x:Key="SomeButtonStyle" TargetType="Button">
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Grid Background="{TemplateBinding Background}">
                    <ContentPresenter />
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

No re-templating beyond forcing the Background to always be the Transparent background from the templated button - mouseover no longer affects the background once this is done. Obviously replace Transparent with any preferred value.

How does one set up the Visual Studio Code compiler/debugger to GCC?

Ctrl+P and Type "ext install cpptools" it will install everything you need to debug c and c++.

Debugging in VS code is very complete, but if you just need to compile and run: https://code.visualstudio.com/docs/languages/cpp

Look in the debugging section and it will explain everything

switch case statement error: case expressions must be constant expression

I would like to mention that, I came across the same situation when I tried adding a library into my project. All of a sudden all switch statements started to show errors!

Now I tried to remove the library which I added, even then it did not work. how ever "when I cleaned the project" all the errors just went off !

What is the difference between a Docker image and a container?

A container is just an executable binary that is to be run by the host OS under a set of restrictions that are preset using an application (e.g., Docker) that knows how to tell the OS which restrictions to apply.

The typical restrictions are process-isolation related, security related (like using SELinux protection) and system-resource related (memory, disk, CPU, and networking).

Until recently, only kernels in Unix-based systems supported the ability to run executables under strict restrictions. That's why most container talk today involves mostly Linux or other Unix distributions.

Docker is one of those applications that knows how to tell the OS (Linux mostly) what restrictions to run an executable under. The executable is contained in the Docker image, which is just a tarfile. That executable is usually a stripped-down version of a Linux distribution's User space (Ubuntu, CentOS, Debian, etc.) preconfigured to run one or more applications within.

Though most people use a Linux base as the executable, it can be any other binary application as long as the host OS's kernel can run it (see creating a simple base image using scratch). Whether the binary in the Docker image is an OS User space or simply an application, to the OS host it is just another process, a contained process ruled by preset OS boundaries.

Other applications that, like Docker, can tell the host OS which boundaries to apply to a process while it is running, include LXC, libvirt, and systemd. Docker used to use these applications to indirectly interact with the Linux OS, but now Docker interacts directly with Linux using its own library called "libcontainer".

So containers are just processes running in a restricted mode, similar to what chroot used to do.

IMO, what sets Docker apart from any other container technology is its repository (Docker Hub) and their management tools which makes working with containers extremely easy.

See Docker (software).

Return first N key:value pairs from dict

Python's dicts are not ordered, so it's meaningless to ask for the "first N" keys.

The collections.OrderedDict class is available if that's what you need. You could efficiently get its first four elements as

import itertools
import collections

d = collections.OrderedDict((('foo', 'bar'), (1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')))
x = itertools.islice(d.items(), 0, 4)

for key, value in x:
    print key, value

itertools.islice allows you to lazily take a slice of elements from any iterator. If you want the result to be reusable you'd need to convert it to a list or something, like so:

x = list(itertools.islice(d.items(), 0, 4))

Inserting HTML elements with JavaScript

If you want to insert HTML code inside existing page's tag use Jnerator. This tool was created specially for this goal.

Instead of writing next code

    var htmlCode = '<ul class=\'menu-countries\'><li
        class=\'item\'><img src=\'au.png\'></img><span>Australia </span></li><li
        class=\'item\'><img src=\'br.png\'> </img><span>Brazil</span></li><li
        class=\'item\'> <img src=\'ca.png\'></img><span>Canada</span></li></ul>';
    var element = document.getElementById('myTag');
    element.innerHTML = htmlCode;

You can write more understandable structure

    var jtag = $j.ul({
        class: 'menu-countries',
        child: [
            $j.li({ class: 'item', child: [
                $j.img({ src: 'au.png' }),
                $j.span({ child: 'Australia' })
            ]}),
            $j.li({ class: 'item', child: [
                $j.img({ src: 'br.png' }),
                $j.span({ child: 'Brazil' })
            ]}),
            $j.li({ class: 'item', child: [
                $j.img({ src: 'ca.png' }),
                $j.span({ child: 'Canada' })
            ]})
        ]
    });
    var htmlCode = jtag.html();
    var element = document.getElementById('myTag');
    element.innerHTML = htmlCode;

How to Call Controller Actions using JQuery in ASP.NET MVC

You can easily call any controller's action using jQuery AJAX method like this:

Note in this example my controller name is Student

Controller Action

 public ActionResult Test()
 {
     return View();
 }

In Any View of this above controller you can call the Test() action like this:

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js"></script>
<script>
    $(document).ready(function () {
        $.ajax({
            url: "@Url.Action("Test", "Student")",
            success: function (result, status, xhr) {
                alert("Result: " + status + " " + xhr.status + " " + xhr.statusText)
            },
            error: function (xhr, status, error) {
                alert("Result: " + status + " " + error + " " + xhr.status + " " + xhr.statusText)
            }
        });
    });
</script>

How do I pass options to the Selenium Chrome driver using Python?

This is how I did it.

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--disable-extensions')

chrome = webdriver.Chrome(chrome_options=chrome_options)

Create a button programmatically and set a background image

Swift 5 version of accepted answer:

let image = UIImage(named: "image_name")
let button = UIButton(type: UIButton.ButtonType.custom)
button.frame = CGRect(x: 100, y: 100, width: 200, height: 100)
button.setImage(image, for: .normal)
button.addTarget(self, action: #selector(function), for: .touchUpInside)

//button.backgroundColor = .lightGray
self.view.addSubview(button)

where of course

@objc func function() {...}

The image is aligned to center by default. You can change this by setting button's imageEdgeInsets, like this:

// In this case image is 40 wide and aligned to the left
button.imageEdgeInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: button.frame.width - 45)

Java Round up Any Number

Math.ceil() is the correct function to call. I'm guessing a is an int, which would make a / 100 perform integer arithmetic. Try Math.ceil(a / 100.0) instead.

int a = 142;
System.out.println(a / 100);
System.out.println(Math.ceil(a / 100));
System.out.println(a / 100.0);
System.out.println(Math.ceil(a / 100.0));
System.out.println((int) Math.ceil(a / 100.0));

Outputs:

1
1.0
1.42
2.0
2

See http://ideone.com/yhT0l

SQL Server convert string to datetime

UPDATE MyTable SET MyDate = CONVERT(datetime, '2009/07/16 08:28:01', 120)

For a full discussion of CAST and CONVERT, including the different date formatting options, see the MSDN Library Link below:

https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql

How to determine MIME type of file in android?

File file = new File(path, name);

    MimeTypeMap mime = MimeTypeMap.getSingleton();
    int index = file.getName().lastIndexOf('.')+1;
    String ext = file.getName().substring(index).toLowerCase();
    String type = mime.getMimeTypeFromExtension(ext);

    intent.setDataAndType(Uri.fromFile(file), type);
    try
    {
      context.startActivity(intent);
    }
    catch(ActivityNotFoundException ex)
    {
        ex.printStackTrace();

    }

How do I order my SQLITE database in descending order, for an android app?

This a terrible thing! It costs my a few hours! this is my table rows :

private String USER_ID = "user_id";
private String REMEMBER_UN = "remember_un";
private String REMEMBER_PWD = "remember_pwd";
private String HEAD_URL = "head_url";
private String USER_NAME = "user_name";
private String USER_PPU = "user_ppu";
private String CURRENT_TIME = "current_time";

Cursor c = db.rawQuery("SELECT * FROM " + TABLE +" ORDER BY " + CURRENT_TIME + " DESC",null);

Every time when I update the table , I will update the CURRENT_TIME for sort. But I found that it is not work.The result is not sorted what I want. Finally, I found that, the column "current_time" is the default row of sqlite.

The solution is, rename the column "cur_time" instead of "current_time".

How to read a value from the Windows registry

The pair RegOpenKey and RegQueryKeyEx will do the trick.

If you use MFC CRegKey class is even more easier solution.

Remote branch is not showing up in "git branch -r"

I had the same issue. It seems the easiest solution is to just remove the remote, readd it, and fetch.

nodejs - first argument must be a string or Buffer - when using response.write with http.request

Although the question is solved, sharing knowledge for clarification of the correct meaning of the error.

The error says that the parameter needed to the concerned breaking function is not in the required format i.e. string or Buffer

The solution is to change the parameter to string

breakingFunction(JSON.stringify(offendingParameter), ... other params...);

or buffer

breakingFunction(BSON.serialize(offendingParameter), ... other params...);

How to get date representing the first day of a month?

SELECT DATEADD(day,1-DATEpart(day, GETDATE()),GETDATE())

Adding default parameter value with type hint in Python

If you're using typing (introduced in Python 3.5) you can use typing.Optional, where Optional[X] is equivalent to Union[X, None]. It is used to signal that the explicit value of None is allowed . From typing.Optional:

def foo(arg: Optional[int] = None) -> None:
    ...

What is LDAP used for?

To take the definitions the other mentioned earlier a bit further, how about this perspective...

LDAP is Lightweight Directory Access Protocol. DAP, is an X.500 notion, and in X.500 is VERY heavy weight! (It sort of requires a full 7 layer ISO network stack, which basically only IBM's SNA protocol ever realistically implemented).

There are many other approaches to DAP. Novell has one called NDAP (NCP Novell Core Protocols are the transport, and NDAP is how it reads the directory).

LDAP is just a very lightweight DAP, as the name suggests.

Getting msbuild.exe without installing Visual Studio

The latest (as of Jan 2019) stand-alone MSBuild installers can be found here: https://www.visualstudio.com/downloads/

Scroll down to "Tools for Visual Studio 2019" and choose "Build Tools for Visual Studio 2019" (despite the name, it's for users who don't want the full IDE)

See this question for additional information.

Cookies vs. sessions

TL;DR

Criteria / factors Sessions Cookies
Epoch (start of existence) Created BEFORE an HTTP response Created AFTER an HTTP response
Availability during the first HTTP request YES NO
Availability during the succeeding HTTP requests YES YES
Ultimate control for the data and expiration Server administrator End-user
Default expiration Expires earlier than cookies Lasts longer than sessions
Server costs Memory Memory
Network costs None Unnecessary extra bytes
Browser costs None Memory
Security Difficult to hijack Easy to hijack
Deprecation None Now discouraged in favor of the JavaScript "Web Storage"

Details

Advantages and disadvantages are subjective. They can result in a dichotomy (an advantage for some, but considered disadvantage for others). Instead, I laid out above the factors that can help you decide which one to pick.

Existence during the first HTTP request-and-response

Let's just say you are a server-side person who wants to process both the session and cookie. The first HTTP handshake will go like so:

  1. Browser prepares the HTTP request -- SESSIONS: not available; COOKIES: not available
  2. Browser sends the HTTP request
  3. Server receives the HTTP request
  4. Server processes the HTTP request -- SESSIONS: existed; COOKIES: cast
  5. Server sends the HTTP response
  6. Browser receives the HTTP response
  7. Browser processes the HTTP response -- SESSIONS: not available; COOKIES: existed

In step 1, the browser have no idea of the contents of both sessions and cookies. In step 4, the server can have the opportunity to set the values of the session and cookies.

Availability during the succeeding HTTP requests-and-responses

  1. Browser prepares the HTTP request -- SESSIONS: not available; COOKIES: available
  2. Browser sends the HTTP request
  3. Server receives the HTTP request
  4. Server processes the HTTP request -- SESSIONS: available; COOKIES: available
  5. Server sends the HTTP response
  6. Browser receives the HTTP response
  7. Browser processes the HTTP response -- SESSIONS: not available; COOKIES: available

Payload

Let's say in a single web page you are loading 20 resources hosted by example.com, those 20 resources will carry extra bytes of information about the cookies. Even if it's just a resource request for CSS or a JPG image, it would still carry cookies in their headers on the way to the server. Should an HTTP request to a JPG resource carry a bunch of unnecessary cookies?

Deprecation

There is no replacement for sessions. For cookies, there are many other options in storing data in the browser rather than the old school cookies.

Storing of user data

Session is safer for storing user data because it can not be modified by the end-user and can only be set on the server-side. Cookies on the other hand can be hijacked because they are just stored on the browser.

How to crop an image in OpenCV using Python

Robust crop with opencv copy border function:

def imcrop(img, bbox):
   x1, y1, x2, y2 = bbox
   if x1 < 0 or y1 < 0 or x2 > img.shape[1] or y2 > img.shape[0]:
        img, x1, x2, y1, y2 = pad_img_to_fit_bbox(img, x1, x2, y1, y2)
   return img[y1:y2, x1:x2, :]

def pad_img_to_fit_bbox(img, x1, x2, y1, y2):
    img = cv2.copyMakeBorder(img, - min(0, y1), max(y2 - img.shape[0], 0),
                            -min(0, x1), max(x2 - img.shape[1], 0),cv2.BORDER_REPLICATE)
   y2 += -min(0, y1)
   y1 += -min(0, y1)
   x2 += -min(0, x1)
   x1 += -min(0, x1)
   return img, x1, x2, y1, y2

How do you install GLUT and OpenGL in Visual Studio 2012?

  1. Create a empty win32 console application c++
  2. Download a package called NupenGL Core from Nuget package manager (PM->"Install-Package nupengl.core") except glm everything is configured
  3. create Source.cpp and start working Happy Coding

Python os.path.join on Windows

Windows has a concept of current directory for each drive. Because of that, "c:sourcedir" means "sourcedir" inside the current C: directory, and you'll need to specify an absolute directory.

Any of these should work and give the same result, but I don't have a Windows VM fired up at the moment to double check:

"c:/sourcedir"
os.path.join("/", "c:", "sourcedir")
os.path.join("c:/", "sourcedir")

CSS height 100% percent not working

Set the containing element/div to a height. Otherwise your asking the browser to set the height to 100% of an unknown value and it can't.

More info here: http://webdesign.about.com/od/csstutorials/f/set-css-height-100-percent.htm

How do I dynamically change the content in an iframe using jquery?

If you just want to change where the iframe points to and not the actual content inside the iframe, you would just need to change the src attribute.

 $("#myiframe").attr("src", "newwebpage.html");

How to create radio buttons and checkbox in swift (iOS)?

For Radio Buttons and CheckBoxes there is nothing that comes built in.

You can implement Checkboxes easily yourself. You can set an uncheckedImage for your button for UIControlStateNormal and a checkedImage for your UIControlStateSelected. Now on tap, the button will change its image and alternate between checked and unchecked image.

To use radio buttons, you have to keep an Array for all the buttons that you want to behave as radio buttons. Whenever a button is pressed, you need to uncheck all other buttons in the array.

For radio buttons you can use SSRadioButtonsController You can create a controller object and add buttons array to it like

var radioButtonController = SSRadioButtonsController()
radioButtonController.setButtonsArray([button1!,button2!,button3!])

The main principle is something like this here.

Is there any way to wait for AJAX response and halt execution?

The simple answer is to turn off async. But that's the wrong thing to do. The correct answer is to re-think how you write the rest of your code.

Instead of writing this:

function functABC(){
    $.ajax({
        url: 'myPage.php',
        data: {id: id},
        success: function(data) {
            return data;
        }
    });
}

function foo () {
    var response = functABC();
    some_result = bar(response);
    // and other stuff and
    return some_result;
}

You should write it like this:

function functABC(callback){
    $.ajax({
        url: 'myPage.php',
        data: {id: id},
        success: callback
    });
}

function foo (callback) {
    functABC(function(data){
        var response = data;
        some_result = bar(response);
        // and other stuff and
        callback(some_result);
    })
}

That is, instead of returning result, pass in code of what needs to be done as callbacks. As I've shown, callbacks can be nested to as many levels as you have function calls.


A quick explanation of why I say it's wrong to turn off async:

Turning off async will freeze the browser while waiting for the ajax call. The user cannot click on anything, cannot scroll and in the worst case, if the user is low on memory, sometimes when the user drags the window off the screen and drags it in again he will see empty spaces because the browser is frozen and cannot redraw. For single threaded browsers like IE7 it's even worse: all websites freeze! Users who experience this may think you site is buggy. If you really don't want to do it asynchronously then just do your processing in the back end and refresh the whole page. It would at least feel not buggy.

How to embed fonts in HTML?

Check out Typekit, a commercial option (they have a free package available too).

It uses different techniques depending on which browser is being used (@font-face vs. EOT format), and they take care of all the font licensing issues for you also. It supports everything down to IE6.

Here's some more info about how Typekit works:

Java 8 Stream and operation on arrays

You can turn an array into a stream by using Arrays.stream():

int[] ns = new int[] {1,2,3,4,5};
Arrays.stream(ns);

Once you've got your stream, you can use any of the methods described in the documentation, like sum() or whatever. You can map or filter like in Python by calling the relevant stream methods with a Lambda function:

Arrays.stream(ns).map(n -> n * 2);
Arrays.stream(ns).filter(n -> n % 4 == 0);

Once you're done modifying your stream, you then call toArray() to convert it back into an array to use elsewhere:

int[] ns = new int[] {1,2,3,4,5};
int[] ms = Arrays.stream(ns).map(n -> n * 2).filter(n -> n % 4 == 0).toArray();

Is it possible to access an SQLite database from JavaScript?

Up to date answer

My fork of sql.js has now be merged into the original version, on kriken's repo.

The good documentation is also available on the original repo.

Original answer (outdated)

You should use the newer version of sql.js. It is a port of sqlite 3.8, has a good documentation and is actively maintained (by me). It supports prepared statements, and BLOB data type.

How to configure PHP to send e-mail?

To fix this, you must review your PHP.INI, and the mail services setup you have in your server.

But my best advice for you is to forget about the mail() function. It depends on PHP.INI settings, it's configuration is different depending on the platform (Linux or Windows), and it can't handle SMTP authentication, which is a big trouble in current days. Too much headache.

Use "PHP Mailer" instead (https://github.com/PHPMailer/PHPMailer), it's a PHP class available for free, and it can handle almost any SMTP server, internal or external, with or without authentication, it works exactly the same way on Linux and Windows, and it won't depend on PHP.INI settings. It comes with many examples, it's very powerful and easy to use.

Using jQuery's ajax method to retrieve images as a blob

A big thank you to @Musa and here is a neat function that converts the data to a base64 string. This may come handy to you when handling a binary file (pdf, png, jpeg, docx, ...) file in a WebView that gets the binary file but you need to transfer the file's data safely into your app.

// runs a get/post on url with post variables, where:
// url ... your url
// post ... {'key1':'value1', 'key2':'value2', ...}
//          set to null if you need a GET instead of POST req
// done ... function(t) called when request returns
function getFile(url, post, done)
{
   var postEnc, method;
   if (post == null)
   {
      postEnc = '';
      method = 'GET';
   }
   else
   {
      method = 'POST';
      postEnc = new FormData();
      for(var i in post)
         postEnc.append(i, post[i]);
   }
   var xhr = new XMLHttpRequest();
   xhr.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200)
      {
         var res = this.response;
         var reader = new window.FileReader();
         reader.readAsDataURL(res); 
         reader.onloadend = function() { done(reader.result.split('base64,')[1]); }
      }
   }
   xhr.open(method, url);
   xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
   xhr.send('fname=Henry&lname=Ford');
   xhr.responseType = 'blob';
   xhr.send(postEnc);
}

Comprehensive methods of viewing memory usage on Solaris

Top can be compiled from sources or downloaded from sunfreeware.com. As previously posted, vmstat is available (I believe it's in the core install?).

How to show two figures using matplotlib?

You should call plt.show() only at the end after creating all the plots.

How to convert rdd object to dataframe in spark

One needs to create a schema, and attach it to the Rdd.

Assuming val spark is a product of a SparkSession.builder...

    import org.apache.spark._
    import org.apache.spark.sql._       
    import org.apache.spark.sql.types._

    /* Lets gin up some sample data:
     * As RDD's and dataframes can have columns of differing types, lets make our
     * sample data a three wide, two tall, rectangle of mixed types.
     * A column of Strings, a column of Longs, and a column of Doubules 
     */
    val arrayOfArrayOfAnys = Array.ofDim[Any](2,3)
    arrayOfArrayOfAnys(0)(0)="aString"
    arrayOfArrayOfAnys(0)(1)=0L
    arrayOfArrayOfAnys(0)(2)=3.14159
    arrayOfArrayOfAnys(1)(0)="bString"
    arrayOfArrayOfAnys(1)(1)=9876543210L
    arrayOfArrayOfAnys(1)(2)=2.71828

    /* The way to convert an anything which looks rectangular, 
     * (Array[Array[String]] or Array[Array[Any]] or Array[Row], ... ) into an RDD is to 
     * throw it into sparkContext.parallelize.
     * http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.SparkContext shows
     * the parallelize definition as 
     *     def parallelize[T](seq: Seq[T], numSlices: Int = defaultParallelism)
     * so in our case our ArrayOfArrayOfAnys is treated as a sequence of ArraysOfAnys.
     * Will leave the numSlices as the defaultParallelism, as I have no particular cause to change it. 
     */
    val rddOfArrayOfArrayOfAnys=spark.sparkContext.parallelize(arrayOfArrayOfAnys)

    /* We'll be using the sqlContext.createDataFrame to add a schema our RDD.
     * The RDD which goes into createDataFrame is an RDD[Row] which is not what we happen to have.
     * To convert anything one tall and several wide into a Row, one can use Row.fromSeq(thatThing.toSeq)
     * As we have an RDD[somethingWeDontWant], we can map each of the RDD rows into the desired Row type. 
     */     
    val rddOfRows=rddOfArrayOfArrayOfAnys.map(f=>
        Row.fromSeq(f.toSeq)
    )

    /* Now to construct our schema. This needs to be a StructType of 1 StructField per column in our dataframe.
     * https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.types.StructField shows the definition as
     *   case class StructField(name: String, dataType: DataType, nullable: Boolean = true, metadata: Metadata = Metadata.empty)
     * Will leave the two default values in place for each of the columns:
     *        nullability as true, 
     *        metadata as an empty Map[String,Any]
     *   
     */

    val schema = StructType(
        StructField("colOfStrings", StringType) ::
        StructField("colOfLongs"  , LongType  ) ::
        StructField("colOfDoubles", DoubleType) ::
        Nil
    )

    val df=spark.sqlContext.createDataFrame(rddOfRows,schema)
    /*
     *      +------------+----------+------------+
     *      |colOfStrings|colOfLongs|colOfDoubles|
     *      +------------+----------+------------+
     *      |     aString|         0|     3.14159|
     *      |     bString|9876543210|     2.71828|
     *      +------------+----------+------------+
    */ 
    df.show 

Same steps, but with fewer val declarations:

    val arrayOfArrayOfAnys=Array(
        Array("aString",0L         ,3.14159),
        Array("bString",9876543210L,2.71828)
    )

    val rddOfRows=spark.sparkContext.parallelize(arrayOfArrayOfAnys).map(f=>Row.fromSeq(f.toSeq))

    /* If one knows the datatypes, for instance from JDBC queries as to RDBC column metadata:
     * Consider constructing the schema from an Array[StructField].  This would allow looping over 
     * the columns, with a match statement applying the appropriate sql datatypes as the second
     *  StructField arguments.   
     */
    val sf=new Array[StructField](3)
    sf(0)=StructField("colOfStrings",StringType)
    sf(1)=StructField("colOfLongs"  ,LongType  )
    sf(2)=StructField("colOfDoubles",DoubleType)        
    val df=spark.sqlContext.createDataFrame(rddOfRows,StructType(sf.toList))
    df.show

CSS align one item right with flexbox

To align some elements (headerElement) in the center and the last element to the right (headerEnd).

.headerElement {
    margin-right: 5%;
    margin-left: 5%;
}
.headerEnd{
    margin-left: auto;
}

Format Date output in JSF

Use <f:convertDateTime>. You can nest this in any input and output component. Pattern rules are same as java.text.SimpleDateFormat.

<h:outputText value="#{someBean.dateField}" >
    <f:convertDateTime pattern="dd.MM.yyyy HH:mm" />
</h:outputText>

vertical-align image in div

you don't need define positioning when you need vertical align center for inline and block elements you can take mentioned below idea:-

inline-elements :- <img style="vertical-align:middle" ...>
                   <span style="display:inline-block; vertical-align:middle"> foo<br>bar </span>  

block-elements :- <td style="vertical-align:middle"> ... </td>
                  <div style="display:table-cell; vertical-align:middle"> ... </div>

see the demo:- http://jsfiddle.net/Ewfkk/2/

How do I extract Month and Year in a MySQL date and compare them?

If you are comparing between dates, extract the full date for comparison. If you are comparing the years and months only, use

SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'
 FROM Table Where Condition = 'Condition';

Get length of array?

Compilating answers here and there, here's a complete set of arr tools to get the work done:

Function getArraySize(arr As Variant)
' returns array size for a n dimention array
' usage result(k) = size of the k-th dimension

Dim ndims As Long
Dim arrsize() As Variant
ndims = getDimensions(arr)
ReDim arrsize(ndims - 1)
For i = 1 To ndims
    arrsize(i - 1) = getDimSize(arr, i)
Next i
getArraySize = arrsize
End Function

Function getDimSize(arr As Variant, dimension As Integer)
' returns size for the given dimension number
    getDimSize = UBound(arr, dimension) - LBound(arr, dimension) + 1
End Function

Function getDimensions(arr As Variant) As Long
' returns number of dimension in an array (ex. sheet range = 2 dimensions)
    On Error GoTo Err
    Dim i As Long
    Dim tmp As Long
    i = 0
    Do While True
        i = i + 1
        tmp = UBound(arr, i)
    Loop
Err:
    getDimensions = i - 1
End Function

How do you tell if a checkbox is selected in Selenium for Java?

For the event where there are multiple check-boxes from which you'd like to select/deselect only a few, the following work with the Chrome Driver (somehow failed for IE Driver):

NOTE: My check-boxes didn't have an ID associated with them, which would be the best way to identify them according to the Documentation. Note the ! sign at the beginning of the statement.

if(!driver.findElement(By.xpath("//input[@type='checkbox' and @name='<name>']")).isSelected()) 
{
  driver.findElement(By.xpath("//input[@type='checkbox' and @name= '<name>']")).click();
}

Git copy file preserving history

This process preserve history, but is little workarround:

# make branchs to new files
$: git mv arquivos && git commit

# in original branch, remove original files
$: git rm arquivos && git commit

# do merge and fix conflicts
$: git merge branch-copia-arquivos

# back to original branch and revert commit removing files
$: git revert commit

Android customized button; changing text color

Create a stateful color for your button, just like you did for background, for example:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Focused and not pressed -->
    <item android:state_focused="true" 
          android:state_pressed="false" 
          android:color="#ffffff" />

    <!-- Focused and pressed -->
    <item android:state_focused="true" 
          android:state_pressed="true" 
          android:color="#000000" />

    <!-- Unfocused and pressed -->
    <item android:state_focused="false" 
          android:state_pressed="true" 
          android:color="#000000" />

    <!-- Default color -->
    <item android:color="#ffffff" />

</selector>

Place the xml in a file at res/drawable folder i.e. res/drawable/button_text_color.xml. Then just set the drawable as text color:

android:textColor="@drawable/button_text_color"

How to search file text for a pattern and replace it with a given value

Actually, Ruby does have an in-place editing feature. Like Perl, you can say

ruby -pi.bak -e "gsub(/oldtext/, 'newtext')" *.txt

This will apply the code in double-quotes to all files in the current directory whose names end with ".txt". Backup copies of edited files will be created with a ".bak" extension ("foobar.txt.bak" I think).

NOTE: this does not appear to work for multiline searches. For those, you have to do it the other less pretty way, with a wrapper script around the regex.

How do I get the title of the current active window using c#?

Use the Windows API. Call GetForegroundWindow().

GetForegroundWindow() will give you a handle (named hWnd) to the active window.

Documentation: GetForegroundWindow function | Microsoft Docs

java.net.SocketException: Connection reset

Connection reset simply means that a TCP RST was received. This happens when your peer receives data that it can't process, and there can be various reasons for that.

The simplest is when you close the socket, and then write more data on the output stream. By closing the socket, you told your peer that you are done talking, and it can forget about your connection. When you send more data on that stream anyway, the peer rejects it with an RST to let you know it isn't listening.

In other cases, an intervening firewall or even the remote host itself might "forget" about your TCP connection. This could happen if you don't send any data for a long time (2 hours is a common time-out), or because the peer was rebooted and lost its information about active connections. Sending data on one of these defunct connections will cause a RST too.


Update in response to additional information:

Take a close look at your handling of the SocketTimeoutException. This exception is raised if the configured timeout is exceeded while blocked on a socket operation. The state of the socket itself is not changed when this exception is thrown, but if your exception handler closes the socket, and then tries to write to it, you'll be in a connection reset condition. setSoTimeout() is meant to give you a clean way to break out of a read() operation that might otherwise block forever, without doing dirty things like closing the socket from another thread.

php - push array into array - key issue

Don't use array_values on your $row

$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
   {
       array_push($res_arr_values, $row);
   }

Also, the preferred way to add a value to an array is writing $array[] = $value;, not using array_push

$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
   {
       $res_arr_values[] = $row;
   }

And a further optimization is not to call mysql_fetch_array($result, MYSQL_ASSOC) but to use mysql_fetch_assoc($result) directly.

$res_arr_values = array();
while ($row = mysql_fetch_assoc($result))
   {
       $res_arr_values[] = $row;
   }

python multithreading wait till all threads finished

From the threading module documentation

There is a “main thread” object; this corresponds to the initial thread of control in the Python program. It is not a daemon thread.

There is the possibility that “dummy thread objects” are created. These are thread objects corresponding to “alien threads”, which are threads of control started outside the threading module, such as directly from C code. Dummy thread objects have limited functionality; they are always considered alive and daemonic, and cannot be join()ed. They are never deleted, since it is impossible to detect the termination of alien threads.

So, to catch those two cases when you are not interested in keeping a list of the threads you create:

import threading as thrd


def alter_data(data, index):
    data[index] *= 2


data = [0, 2, 6, 20]

for i, value in enumerate(data):
    thrd.Thread(target=alter_data, args=[data, i]).start()

for thread in thrd.enumerate():
    if thread.daemon:
        continue
    try:
        thread.join()
    except RuntimeError as err:
        if 'cannot join current thread' in err.args[0]:
            # catchs main thread
            continue
        else:
            raise

Whereupon:

>>> print(data)
[0, 4, 12, 40]

C# Inserting Data from a form into an access Database

My Code to insert data is not working. It showing no error but data is not showing in my database.

public partial class Form1 : Form { OleDbConnection connection = new OleDbConnection(check.Properties.Settings.Default.KitchenConnectionString); public Form1() { InitializeComponent(); }

    private void Form1_Load(object sender, EventArgs e)
    {
        
    }

    private void btn_add_Click(object sender, EventArgs e)
    {
        OleDbDataAdapter items = new OleDbDataAdapter();
        connection.Open();
        OleDbCommand command = new OleDbCommand("insert into Sets(SetId, SetName,  SetPassword) values('"+txt_id.Text+ "','" + txt_setname.Text + "','" + txt_password.Text + "');", connection);
        command.CommandType = CommandType.Text;
        command.ExecuteReader();
        connection.Close();
        MessageBox.Show("Insertd!");
    }
}

Using crontab to execute script every minute and another every 24 hours

This is the format of /etc/crontab:

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

I recommend copy & pasting that into the top of your crontab file so that you always have the reference handy. RedHat systems are setup that way by default.

To run something every minute:

* * * * * username /var/www/html/a.php

To run something at midnight of every day:

0 0 * * * username /var/www/html/reset.php

You can either include /usr/bin/php in the command to run, or you can make the php scripts directly executable:

chmod +x file.php

Start your php file with a shebang so that your shell knows which interpreter to use:

#!/usr/bin/php
<?php
// your code here

Git - Pushing code to two remotes

In recent versions of Git you can add multiple pushurls for a given remote. Use the following to add two pushurls to your origin:

git remote set-url --add --push origin git://original/repo.git
git remote set-url --add --push origin git://another/repo.git

So when you push to origin, it will push to both repositories.

UPDATE 1: Git 1.8.0.1 and 1.8.1 (and possibly other versions) seem to have a bug that causes --add to replace the original URL the first time you use it, so you need to re-add the original URL using the same command. Doing git remote -v should reveal the current URLs for each remote.

UPDATE 2: Junio C. Hamano, the Git maintainer, explained it's how it was designed. Doing git remote set-url --add --push <remote_name> <url> adds a pushurl for a given remote, which overrides the default URL for pushes. However, you may add multiple pushurls for a given remote, which then allows you to push to multiple remotes using a single git push. You can verify this behavior below:

$ git clone git://original/repo.git
$ git remote -v
origin  git://original/repo.git (fetch)
origin  git://original/repo.git (push)
$ git config -l | grep '^remote\.'
remote.origin.url=git://original/repo.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

Now, if you want to push to two or more repositories using a single command, you may create a new remote named all (as suggested by @Adam Nelson in comments), or keep using the origin, though the latter name is less descriptive for this purpose. If you still want to use origin, skip the following step, and use origin instead of all in all other steps.

So let's add a new remote called all that we'll reference later when pushing to multiple repositories:

$ git remote add all git://original/repo.git
$ git remote -v
all git://original/repo.git (fetch)               <-- ADDED
all git://original/repo.git (push)                <-- ADDED
origin  git://original/repo.git (fetch)
origin  git://original/repo.git (push)
$ git config -l | grep '^remote\.all'
remote.all.url=git://original/repo.git            <-- ADDED
remote.all.fetch=+refs/heads/*:refs/remotes/all/* <-- ADDED

Then let's add a pushurl to the all remote, pointing to another repository:

$ git remote set-url --add --push all git://another/repo.git
$ git remote -v
all git://original/repo.git (fetch)
all git://another/repo.git (push)                 <-- CHANGED
origin  git://original/repo.git (fetch)
origin  git://original/repo.git (push)
$ git config -l | grep '^remote\.all'
remote.all.url=git://original/repo.git
remote.all.fetch=+refs/heads/*:refs/remotes/all/*
remote.all.pushurl=git://another/repo.git         <-- ADDED

Here git remote -v shows the new pushurl for push, so if you do git push all master, it will push the master branch to git://another/repo.git only. This shows how pushurl overrides the default url (remote.all.url).

Now let's add another pushurl pointing to the original repository:

$ git remote set-url --add --push all git://original/repo.git
$ git remote -v
all git://original/repo.git (fetch)
all git://another/repo.git (push)
all git://original/repo.git (push)                <-- ADDED
origin  git://original/repo.git (fetch)
origin  git://original/repo.git (push)
$ git config -l | grep '^remote\.all'
remote.all.url=git://original/repo.git
remote.all.fetch=+refs/heads/*:refs/remotes/all/*
remote.all.pushurl=git://another/repo.git
remote.all.pushurl=git://original/repo.git        <-- ADDED

You see both pushurls we added are kept. Now a single git push all master will push the master branch to both git://another/repo.git and git://original/repo.git.

Regular Expression to match only alphabetic characters

[a-zA-Z] should do that just fine.

You can reference the cheat sheet.

Could not load file or assembly 'EntityFramework' after downgrading EF 5.0.0.0 --> 4.3.1.0

In your references click on the EntitiyFramework . Go to properties and set the specific version to False. It worked for me.

How to reload a page after the OK click on the Alert Page

use confirm box instead....

    var r = confirm("Successful Message!");
    if (r == true){
      window.location.reload();
    }

Cannot use Server.MapPath

Your project needs to reference assembly System.Web.dll. Server is an object of type HttpServerUtility. Example:

HttpContext.Current.Server.MapPath(path);

Bash ignoring error for a particular command

Instead of "returning true", you can also use the "noop" or null utility (as referred in the POSIX specs) : and just "do nothing". You'll save a few letters. :)

#!/usr/bin/env bash
set -e
man nonexistentghing || :
echo "It's ok.."

How can I set a cookie in react?

You can use default javascript cookies set method. this working perfect.

createCookieInHour: (cookieName, cookieValue, hourToExpire) => {
    let date = new Date();
    date.setTime(date.getTime()+(hourToExpire*60*60*1000));
    document.cookie = cookieName + " = " + cookieValue + "; expires = " +date.toGMTString();
},

call java scripts funtion in react method as below,

createCookieInHour('cookieName', 'cookieValue', 5);

and you can use below way to view cookies.

let cookie = document.cookie.split(';');
console.log('cookie : ', cookie);

please refer below document for more information - URL

List method to delete last element in list as well as all elements

To delete the last element from the list just do this.

a = [1,2,3,4,5]
a = a[:-1]
#Output [1,2,3,4] 

Convert `List<string>` to comma-separated string

The following will result in a comma separated list. Be sure to include a using statement for System.Linq

List<string> ls = new List<string>();
ls.Add("one");
ls.Add("two");
string type = ls.Aggregate((x,y) => x + "," + y);

will yield one,two

if you need a space after the comma, simply change the last line to string type = ls.Aggregate((x,y) => x + ", " + y);

"An access token is required to request this resource" while accessing an album / photo with Facebook php sdk

There are 3 things you need.

  1. You need to oAuth with the owner of those photos. (with the 'user_photos' extended permission)

  2. You need the access token (which you get returned in the URL box after the oAuth is done.)

  3. When those are complete you can then access the photos like so https://graph.facebook.com/me?access_token=ACCESS_TOKEN

You can find all of the information in more detail here: http://developers.facebook.com/docs/authentication

What is the difference between HTTP_HOST and SERVER_NAME in PHP?

It took me a while to understand what people meant by 'SERVER_NAME is more reliable'. I use a shared server and does not have access to virtual host directives. So, I use mod_rewrite in .htaccess to map different HTTP_HOSTs to different directories. In that case, it is HTTP_HOST that is meaningful.

The situation is similar if one uses name-based virtual hosts: the ServerName directive within a virtual host simply says which hostname will be mapped to this virtual host. The bottom line is that, in both cases, the hostname provided by the client during the request (HTTP_HOST), must be matched with a name within the server, which is itself mapped to a directory. Whether the mapping is done with virtual host directives or with htaccess mod_rewrite rules is secondary here. In these cases, HTTP_HOST will be the same as SERVER_NAME. I am glad that Apache is configured that way.

However, the situation is different with IP-based virtual hosts. In this case and only in this case, SERVER_NAME and HTTP_HOST can be different, because now the client selects the server by the IP, not by the name. Indeed, there might be special configurations where this is important.

So, starting from now, I will use SERVER_NAME, just in case my code is ported in these special configurations.

Regex to remove letters, symbols except numbers

Simple:

var removedText = self.val().replace(/[^0-9]+/, '');

^ - means NOT

I have 2 dates in PHP, how can I run a foreach loop to go through all of those days?

Requires PHP5.3:

$begin = new DateTime('2010-05-01');
$end = new DateTime('2010-05-10');

$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);

foreach ($period as $dt) {
    echo $dt->format("l Y-m-d H:i:s\n");
}

This will output all days in the defined period between $start and $end. If you want to include the 10th, set $end to 11th. You can adjust format to your liking. See the PHP Manual for DatePeriod.

Server configuration by allow_url_fopen=0 in

Edit your php.ini, find allow_url_fopen and set it to allow_url_fopen = 1

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

I came across this very annoying problem and found many answers that did not work. The best solution I came across was to completely uninstall mysql and re-install it. On re-install you set a root password and this fixed the problem.


sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.5 mysql-client-core-5.5
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean

I found this code elsewhere so I take no credit for it. But it works. To install mysql after uninstalling it I think digital ocean has a good tutorial on it. Checkout my gist for this.
https://gist.github.com/JamesDaniel/c02ef210c17c1dec82fc973cac484096

Apache is "Unable to initialize module" because of module's and PHP's API don't match after changing the PHP configuration

When you update the version of PHP (especially when going from version X.Y to version X.Z), you must update the PHP extensions as well.


This is because PHP extensions are developped in C, and are "close" to the internals of PHP -- which means that, if the APIs of those internals change, the extension must be re-compiled, to use the new versions.

And, between PHP 5.2 and PHP 5.3, for what I remember, there have been some modifications in the internal data-structures used by the PHP engine -- which means extensions must be re-compiled, in order to match that new version of those data-structures.


How to update your PHP extensions will depend on which system you are using.

If you are on windows, you can find the .dll for some extensions here : http://downloads.php.net/pierre/
For more informations about the different versions, you can take a look at what's said on the left-sidebar of windows.php.net.

If you are on Linux, you must either :

  • Check what your distribution provides
  • Or use the pecl command, to re-download the sources of the extensions in question, and re-compile them.

Has Facebook sharer.php changed to no longer accept detailed parameters?

I review your url in use:

https://www.facebook.com/sharer/sharer.php?s=100&p[title]=EXAMPLE&p[summary]=EXAMPLE&p[url]=EXAMPLE&p[images][0]=EXAMPLE

and see this differences:

  1. The sharer URL not is same.
  2. The strings are in different order. ( Do not know if this affects ).

I use this URL string:

http://www.facebook.com/sharer.php?s=100&p[url]=http://www.example.com/&p[images][0]=/images/image.jpg&p[title]=Title&p[summary]=Summary

In the "title" and "summary" section, I use the php function urlencode(); like this:

<?php echo urlencode($detail->title); ?>

And working fine for me.

How to change MenuItem icon in ActionBar programmatically

to use in onMenuItemClick(MenuItem item) just do invalidateOptionsMenu(); item.setIcon(ContextCompat.getDrawable(this, R.drawable.ic_baseline_play_circle_outline_24px));

ICommand MVVM implementation

@Carlo I really like your implementation of this, but I wanted to share my version and how to use it in my ViewModel

First implement ICommand

public class Command : ICommand
{
    public delegate void ICommandOnExecute();
    public delegate bool ICommandOnCanExecute();

    private ICommandOnExecute _execute;
    private ICommandOnCanExecute _canExecute;

    public Command(ICommandOnExecute onExecuteMethod, ICommandOnCanExecute onCanExecuteMethod = null)
    {
        _execute = onExecuteMethod;
        _canExecute = onCanExecuteMethod;
    }

    #region ICommand Members

    public event EventHandler CanExecuteChanged
    {
        add { CommandManager.RequerySuggested += value; }
        remove { CommandManager.RequerySuggested -= value; }
    }

    public bool CanExecute(object parameter)
    {
        return _canExecute?.Invoke() ?? true;
    }

    public void Execute(object parameter)
    {
        _execute?.Invoke();
    }

    #endregion
}

Notice I have removed the parameter from ICommandOnExecute and ICommandOnCanExecute and added a null to the constructor

Then to use in the ViewModel

public Command CommandToRun_WithCheck
{
    get
    {
        return new Command(() =>
        {
            // Code to run
        }, () =>
        {
            // Code to check to see if we can run 
            // Return true or false
        });
    }
}

public Command CommandToRun_NoCheck
{
    get
    {
        return new Command(() =>
        {
            // Code to run
        });
    }
}

I just find this way cleaner as I don't need to assign variables and then instantiate, it all done in one go.

How to use this boolean in an if statement?

Since stop is boolean you can change that part to:

//...
if(stop) // Or to: if (stop == true)
{
   sb.append("y");
   getWhoozitYs();
}
return sb.toString();
//...

How do I give text or an image a transparent background using CSS?

CSS 3 has an easy solution of your problem. Use:

background-color:rgba(0, 255, 0, 0.5);

Here, rgba stands for red, green, blue, and alpha value. The green value is obtained because of 255 and half transparency is obtained by a 0.5 alpha value.

How to get the text node of an element?

This is my solution in ES6 to create a string contraining the concatenated text of all childnodes (recursive). Note that is also visit the shdowroot of childnodes.

function text_from(node) {
    const extract = (node) => [...node.childNodes].reduce(
        (acc, childnode) => [
            ...acc,
            childnode.nodeType === Node.TEXT_NODE ? childnode.textContent.trim() : '',
            ...extract(childnode),
            ...(childnode.shadowRoot ? extract(childnode.shadowRoot) : [])],
        []);

    return extract(node).filter(text => text.length).join('\n');
}

This solution was inspired by the solution of https://stackoverflow.com/a/41051238./1300775.

How to darken a background using CSS?

Just add this code to your image css

_x000D_
_x000D_
 body{
 background:
        /* top, transparent black, faked with gradient */ 
        linear-gradient(
          rgba(0, 0, 0, 0.7), 
          rgba(0, 0, 0, 0.7)
        ),
        /* bottom, image */
        url(https://images.unsplash.com/photo-1614030424754-24d0eebd46b2);
    }
_x000D_
_x000D_
_x000D_

Reference: linear-gradient() - CSS | MDN

UPDATE: Not all browsers support RGBa, so you should have a 'fallback color'. This color will be most likely be solid (fully opaque) ex:background:rgb(96, 96, 96). Refer to this blog for RGBa browser support.

ActionLink htmlAttributes

@Html.ActionLink("display name", "action", "Contorller"
    new { id = 1 },Html Attribute=new {Attribute1="value"})

How to compare two Dates without the time portion?

Simply Check DAY_OF_YEAR in combination with YEAR property

boolean isSameDay = 
firstCal.get(Calendar.YEAR) == secondCal.get(Calendar.YEAR) &&
firstCal.get(Calendar.DAY_OF_YEAR) == secondCal.get(Calendar.DAY_OF_YEAR)

EDIT:

Now we can use the power of Kotlin extension functions

fun Calendar.isSameDay(second: Calendar): Boolean {

    return this[Calendar.YEAR] == second[Calendar.YEAR] && this[Calendar.DAY_OF_YEAR] == second[Calendar.DAY_OF_YEAR]
}

fun Calendar.compareDatesOnly(other: Calendar): Int {

    return when {
        isSameDay(other) -> 0
        before(other) -> -1
        else -> 1
    }
}

Update MongoDB field using value of another field

Starting Mongo 4.2, db.collection.update() can accept an aggregation pipeline, finally allowing the update/creation of a field based on another field:

// { firstName: "Hello", lastName: "World" }
db.collection.update(
  {},
  [{ $set: { name: { $concat: [ "$firstName", " ", "$lastName" ] } } }],
  { multi: true }
)
// { "firstName" : "Hello", "lastName" : "World", "name" : "Hello World" }
  • The first part {} is the match query, filtering which documents to update (in our case all documents).

  • The second part [{ $set: { name: { ... } }] is the update aggregation pipeline (note the squared brackets signifying the use of an aggregation pipeline). $set is a new aggregation operator and an alias of $addFields.

  • Don't forget { multi: true }, otherwise only the first matching document will be updated.

"The system cannot find the file C:\ProgramData\Oracle\Java\javapath\java.exe"

This problem exists when you upgrade from one version to another.because jdk is not automatically upgraded.

For the same you can change the environmental varibles. In system variables look for the PATH and add the jdk bin location in the front of the string(not at the back). Once you have done that check in CMD if "java" and "javac" works. if it works, again go to system variables. add "CLASSPATH" A the variable and set value " . c:\Program Files\Java\jdk1.8.0_91\lib;"

Connecting PostgreSQL 9.2.1 with Hibernate

If the project is maven placed it in src/main/resources, in the package phase it will copy it in ../WEB-INF/classes/hibernate.cfg.xml

How to select only the first rows for each unique value of a column?

to get every unique value from your customer table, use

SELECT DISTINCT CName FROM customertable;

more in-depth of w3schools: https://www.w3schools.com/sql/sql_distinct.asp

How to commit my current changes to a different branch in Git

  1. git checkout my_other_branch
  2. git add my_file my_other_file
  3. git commit -m

And provide your commit message.

PersistenceContext EntityManager injection NullPointerException

If you have any NamedQueries in your entity classes, then check the stack trace for compilation errors. A malformed query which cannot be compiled can cause failure to load the persistence context.

How to retrieve Jenkins build parameters using the Groovy API?

The following snippet worked for me to get a parameter value in a parameterized project:
String myParameter = this.getProperty('binding').getVariable('MY_PARAMETER')

The goal was to dynamically lock a resource based on the selected project parameter.

In "[?] This build requires lockable resources" I have the following "[?] Groovy Expression":

if (resourceName == 'resource_lock_name') {
    Binding binding = this.getProperty('binding')
    String profile = binding.getVariable('BUILD_PROFILE')

    return profile == '-Poradb' // acquire lock if "oradb" profile is selected
}

return false

In "[?] This project is parameterized" section I have a "Choice Parameter" named e.g. BUILD_PROFILE Example of Choices are:

-Poradb
-Ph2db
-DskipTests -T4

The lock on "resource_lock_name" will be acquired only if "-Poradb" is selected when building project with parameters

[-] Use Groovy Sandbox shall be unchecked for this syntax to work

ASP.NET strange compilation error

Updating Nuget packages fixed proglem for me.

How to print pthread_t

This will print out a hexadecimal representation of a pthread_t, no matter what that actually is:

void fprintPt(FILE *f, pthread_t pt) {
  unsigned char *ptc = (unsigned char*)(void*)(&pt);
  fprintf(f, "0x");
  for (size_t i=0; i<sizeof(pt); i++) {
    fprintf(f, "%02x", (unsigned)(ptc[i]));
  }
}

To just print a small id for a each pthread_t something like this could be used (this time using iostreams):

void printPt(std::ostream &strm, pthread_t pt) {
  static int nextindex = 0;
  static std::map<pthread_t, int> ids;
  if (ids.find(pt) == ids.end()) {
    ids[pt] = nextindex++;
  }
  strm << ids[pt];
}

Depending on the platform and the actual representation of pthread_t it might here be necessary to define an operator< for pthread_t, because std::map needs an ordering on the elements:

bool operator<(const pthread_t &left, const pthread_t &right) {
  ...
}

Receiving "fatal: Not a git repository" when attempting to remote add a Git repo

Below error seems like Gits didn't find .git file in current directory so throwing error message.

Therefore change to directory to repository directory where you have checkout the code from git and then run this command.

  • $ git checkout

How to COUNT rows within EntityFramework without loading contents?

I think you want something like

var count = context.MyTable.Count(t => t.MyContainer.ID == '1');

(edited to reflect comments)

Convert NaN to 0 in javascript

How about a regex?

function getNum(str) {
  return /[-+]?[0-9]*\.?[0-9]+/.test(str)?parseFloat(str):0;
}

The code below will ignore NaN to allow a calculation of properly entered numbers

_x000D_
_x000D_
function getNum(str) {_x000D_
  return /[-+]?[0-9]*\.?[0-9]+/.test(str)?parseFloat(str):0;_x000D_
}_x000D_
var inputsArray = document.getElementsByTagName('input');_x000D_
_x000D_
function computeTotal() {_x000D_
  var tot = 0;_x000D_
  tot += getNum(inputsArray[0].value);_x000D_
  tot += getNum(inputsArray[1].value);_x000D_
  tot += getNum(inputsArray[2].value);_x000D_
  inputsArray[3].value = tot;_x000D_
}
_x000D_
<input type="text"></input>_x000D_
<input type="text"></input>_x000D_
<input type="text"></input>_x000D_
<input type="text" disabled></input>_x000D_
<button type="button" onclick="computeTotal()">Calculate</button>
_x000D_
_x000D_
_x000D_

How to create a button programmatically?

enter image description here

 func viewDidLoad(){
                    saveActionButton = UIButton(frame: CGRect(x: self.view.frame.size.width - 60, y: 0, width: 50, height: 50))
                    self.saveActionButton.backgroundColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 0.7)
                    saveActionButton.addTarget(self, action: #selector(doneAction), for: .touchUpInside)
                    self.saveActionButton.setTitle("Done", for: .normal)
                    self.saveActionButton.layer.cornerRadius = self.saveActionButton.frame.size.width / 2
                    self.saveActionButton.layer.borderColor = UIColor.darkGray.cgColor
                    self.saveActionButton.layer.borderWidth = 1
                    self.saveActionButton.center.y = self.view.frame.size.height - 80
                    self.view.addSubview(saveActionButton)
        }

          func doneAction(){
          print("Write your own logic")
         }

Assigning a variable NaN in python without numpy

Yes -- use math.nan.

>>> from math import nan
>>> print(nan)
nan
>>> print(nan + 2)
nan
>>> nan == nan
False
>>> import math
>>> math.isnan(nan)
True

Before Python 3.5, one could use float("nan") (case insensitive).

Note that checking to see if two things that are NaN are equal to one another will always return false. This is in part because two things that are "not a number" cannot (strictly speaking) be said to be equal to one another -- see What is the rationale for all comparisons returning false for IEEE754 NaN values? for more details and information.

Instead, use math.isnan(...) if you need to determine if a value is NaN or not.

Furthermore, the exact semantics of the == operation on NaN value may cause subtle issues when trying to store NaN inside container types such as list or dict (or when using custom container types). See Checking for NaN presence in a container for more details.


You can also construct NaN numbers using Python's decimal module:

>>> from decimal import Decimal
>>> b = Decimal('nan')
>>> print(b)
NaN
>>> print(repr(b))
Decimal('NaN')
>>>
>>> Decimal(float('nan'))
Decimal('NaN')
>>> 
>>> import math
>>> math.isnan(b)
True

math.isnan(...) will also work with Decimal objects.


However, you cannot construct NaN numbers in Python's fractions module:

>>> from fractions import Fraction
>>> Fraction('nan')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python35\lib\fractions.py", line 146, in __new__
    numerator)
ValueError: Invalid literal for Fraction: 'nan'
>>>
>>> Fraction(float('nan'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python35\lib\fractions.py", line 130, in __new__
    value = Fraction.from_float(numerator)
  File "C:\Python35\lib\fractions.py", line 214, in from_float
    raise ValueError("Cannot convert %r to %s." % (f, cls.__name__))
ValueError: Cannot convert nan to Fraction.

Incidentally, you can also do float('Inf'), Decimal('Inf'), or math.inf (3.5+) to assign infinite numbers. (And also see math.isinf(...))

However doing Fraction('Inf') or Fraction(float('inf')) isn't permitted and will throw an exception, just like NaN.

If you want a quick and easy way to check if a number is neither NaN nor infinite, you can use math.isfinite(...) as of Python 3.2+.


If you want to do similar checks with complex numbers, the cmath module contains a similar set of functions and constants as the math module:

Java image resize, maintain aspect ratio

I have found the selected answer to have problems with upscaling, and so I have made (yet) another version (which I have tested):

public static Point scaleFit(Point src, Point bounds) {
  int newWidth = src.x;
  int newHeight = src.y;
  double boundsAspectRatio = bounds.y / (double) bounds.x;
  double srcAspectRatio = src.y / (double) src.x;

  // first check if we need to scale width
  if (boundsAspectRatio < srcAspectRatio) {
    // scale width to fit
    newWidth = bounds.x;
    //scale height to maintain aspect ratio
    newHeight = (newWidth * src.y) / src.x;
  } else {
    //scale height to fit instead
    newHeight = bounds.y;
    //scale width to maintain aspect ratio
    newWidth = (newHeight * src.x) / src.y;
  }

  return new Point(newWidth, newHeight);
}

Written in Android terminology :-)

as for the tests:

@Test public void scaleFit() throws Exception {
  final Point displaySize = new Point(1080, 1920);
  assertEquals(displaySize, Util.scaleFit(displaySize, displaySize));
  assertEquals(displaySize, Util.scaleFit(new Point(displaySize.x / 2, displaySize.y / 2), displaySize));
  assertEquals(displaySize, Util.scaleFit(new Point(displaySize.x * 2, displaySize.y * 2), displaySize));
  assertEquals(new Point(displaySize.x, displaySize.y * 2), Util.scaleFit(new Point(displaySize.x / 2, displaySize.y), displaySize));
  assertEquals(new Point(displaySize.x * 2, displaySize.y), Util.scaleFit(new Point(displaySize.x, displaySize.y / 2), displaySize));
  assertEquals(new Point(displaySize.x, displaySize.y * 3 / 2), Util.scaleFit(new Point(displaySize.x / 3, displaySize.y / 2), displaySize));
}

JavaFX 2.1 TableView refresh items

Same problem here, i tried some solutions and the best for me is following:

In initialize-method of controller, create an empty observableList and set it to the table:

obsBericht = FXCollections.observableList(new ArrayList<Bericht>(0));
tblBericht.setItems(obsBericht);

In your update-method, just use the observableList, clear it and add the refreshed data:

obsBericht.clear();
obsBericht.addAll(FXCollections.observableList(DatabaseHelper.getBerichte()));
// tblBericht.setItems(obsBericht);

It's not necessary to set the items of the table again

How to calculate sum of a formula field in crystal Reports?

You can try like this:

Sum({Tablename.Columnname})

It will work without creating a summarize field in formulae.

Appending values to dictionary in Python

You should use append to add to the list. But also here are few code tips:

I would use dict.setdefault or defaultdict to avoid having to specify the empty list in the dictionary definition.

If you use prev to to filter out duplicated values you can simplfy the code using groupby from itertools Your code with the amendments looks as follows:

import itertools
def make_drug_dictionary(data):
    drug_dictionary = {}
    for key, row in itertools.groupby(data, lambda x: x[11]):
        drug_dictionary.setdefault(key,[]).append(row[?])
    return drug_dictionary

If you don't know how groupby works just check this example:

>>> list(key for key, val in itertools.groupby('aaabbccddeefaa'))
['a', 'b', 'c', 'd', 'e', 'f', 'a']

How to draw in JPanel? (Swing/graphics Java)

Note the extra comments.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

class JavaPaintUI extends JFrame {

    private int tool = 1;
    int currentX, currentY, oldX, oldY;

    public JavaPaintUI() {
        initComponents();
    }

    private void initComponents() {
        // we want a custom Panel2, not a generic JPanel!
        jPanel2 = new Panel2();

        jPanel2.setBackground(new java.awt.Color(255, 255, 255));
        jPanel2.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
        jPanel2.addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent evt) {
                jPanel2MousePressed(evt);
            }
            public void mouseReleased(MouseEvent evt) {
                jPanel2MouseReleased(evt);
            }
        });
        jPanel2.addMouseMotionListener(new MouseMotionAdapter() {
            public void mouseDragged(MouseEvent evt) {
                jPanel2MouseDragged(evt);
            }
        });

        // add the component to the frame to see it!
        this.setContentPane(jPanel2);
        // be nice to testers..
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
    }// </editor-fold>

    private void jPanel2MouseDragged(MouseEvent evt) {
        if (tool == 1) {
            currentX = evt.getX();
            currentY = evt.getY();
            oldX = currentX;
            oldY = currentY;
            System.out.println(currentX + " " + currentY);
            System.out.println("PEN!!!!");
        }
    }

    private void jPanel2MousePressed(MouseEvent evt) {
        oldX = evt.getX();
        oldY = evt.getY();
        System.out.println(oldX + " " + oldY);
    }


    //mouse released//
    private void jPanel2MouseReleased(MouseEvent evt) {
        if (tool == 2) {
            currentX = evt.getX();
            currentY = evt.getY();
            System.out.println("line!!!! from" + oldX + "to" + currentX);
        }
    }

    //set ui visible//
    public static void main(String args[]) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new JavaPaintUI().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private JPanel jPanel2;
    // End of variables declaration

    // This class name is very confusing, since it is also used as the
    // name of an attribute!
    //class jPanel2 extends JPanel {
    class Panel2 extends JPanel {

        Panel2() {
            // set a preferred size for the custom panel.
            setPreferredSize(new Dimension(420,420));
        }

        @Override
        public void paintComponent(Graphics g) {
            super.paintComponent(g);

            g.drawString("BLAH", 20, 20);
            g.drawRect(200, 200, 200, 200);
        }
    }
}

Screen Shot

enter image description here

Other examples - more tailored to multiple lines & multiple line segments

HFOE put a good link as the first comment on this thread. Camickr also has a description of active painting vs. drawing to a BufferedImage in the Custom Painting Approaches article.

See also this approach using painting in a BufferedImage.

Adding extra zeros in front of a number using jQuery?

str could be a number or a string.

formatting("hi",3);
function formatting(str,len)
{
   return ("000000"+str).slice(-len);
}

Add more zeros if needs large digits

How do I add a border to an image in HTML?

Here is some HTML and CSS code that would solve your issue:

CSS

.ImageBorder
{
    border-width: 1px;
    border-color: Black;
}

HTML

<img src="MyImage.gif" class="ImageBorder" />

SQL Server check case-sensitivity?

Collation can be set at various levels:

  1. Server
  2. Database
  3. Column

So you could have a Case Sensitive Column in a Case Insensitive database. I have not yet come across a situation where a business case could be made for case sensitivity of a single column of data, but I suppose there could be.

Check Server Collation

SELECT SERVERPROPERTY('COLLATION')

Check Database Collation

SELECT DATABASEPROPERTYEX('AdventureWorks', 'Collation') SQLCollation;

Check Column Collation

select table_name, column_name, collation_name
from INFORMATION_SCHEMA.COLUMNS
where table_name = @table_name

How do I detect when someone shakes an iPhone?

I finally made it work using code examples from this Undo/Redo Manager Tutorial.
This is exactly what you need to do:

  • Set the applicationSupportsShakeToEdit property in the App's Delegate:
  • 
        - (void)applicationDidFinishLaunching:(UIApplication *)application {
    
            application.applicationSupportsShakeToEdit = YES;
    
            [window addSubview:viewController.view];
            [window makeKeyAndVisible];
    }
    

  • Add/Override canBecomeFirstResponder, viewDidAppear: and viewWillDisappear: methods in your View Controller:
  • 
    -(BOOL)canBecomeFirstResponder {
        return YES;
    }
    
    -(void)viewDidAppear:(BOOL)animated {
        [super viewDidAppear:animated];
        [self becomeFirstResponder];
    }
    
    - (void)viewWillDisappear:(BOOL)animated {
        [self resignFirstResponder];
        [super viewWillDisappear:animated];
    }
    

  • Add the motionEnded method to your View Controller:
  • 
    - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
    {
        if (motion == UIEventSubtypeMotionShake)
        {
            // your code
        }
    }
    

    hash keys / values as array

    The second answer (at the time of writing) gives :

    var values = keys.map(function(v) { return myHash[v]; });
    

    But I prefer using jQuery's own $.map :

    var values = $.map(myHash, function(v) { return v; });
    

    Since jQuery takes care of cross-browser compatibility. Plus it's shorter :)

    At any rate, I always try to be as functional as possible. One-liners are nicers than loops.

    Date / Timestamp to record when a record was added to the table?

    You can create a non-nullable DATETIME column on your table, and create a DEFAULT constraint on it to auto populate when a row is added.

    e.g.

    CREATE TABLE Example
    (
    SomeField INTEGER,
    DateCreated DATETIME NOT NULL DEFAULT(GETDATE())
    )
    

    Regex to test if string begins with http:// or https://

    This will work for URL encoded strings too.

    ^(https?)(:\/\/|(\%3A%2F%2F))
    

    html select only one checkbox in a group

    There are already a few answers to this based on pure JS but none of them are quite as concise as I would like them to be.

    Here is my solution based on using name tags (as with radio buttons) and a few lines of javascript.

    _x000D_
    _x000D_
    function onlyOne(checkbox) {_x000D_
        var checkboxes = document.getElementsByName('check')_x000D_
        checkboxes.forEach((item) => {_x000D_
            if (item !== checkbox) item.checked = false_x000D_
        })_x000D_
    }
    _x000D_
    <input type="checkbox" name="check" onclick="onlyOne(this)">_x000D_
    <input type="checkbox" name="check" onclick="onlyOne(this)">_x000D_
    <input type="checkbox" name="check" onclick="onlyOne(this)">_x000D_
    <input type="checkbox" name="check" onclick="onlyOne(this)">
    _x000D_
    _x000D_
    _x000D_

    exclude @Component from @ComponentScan

    In case of excluding test component or test configuration, Spring Boot 1.4 introduced new testing annotations @TestComponent and @TestConfiguration.

    Iterating a JavaScript object's properties using jQuery

    You can use each for objects too and not just for arrays:

    var obj = {
        foo: "bar",
        baz: "quux"
    };
    jQuery.each(obj, function(name, value) {
        alert(name + ": " + value);
    });
    

    When do you use map vs flatMap in RxJava?

    Here is a simple thumb-rule that I use help me decide as when to use flatMap() over map() in Rx's Observable.

    Once you come to a decision that you're going to employ a map transformation, you'd write your transformation code to return some Object right?

    If what you're returning as end result of your transformation is:

    • a non-observable object then you'd use just map(). And map() wraps that object in an Observable and emits it.

    • an Observable object, then you'd use flatMap(). And flatMap() unwraps the Observable, picks the returned object, wraps it with its own Observable and emits it.

    Say for example we've a method titleCase(String inputParam) that returns Titled Cased String object of the input param. The return type of this method can be String or Observable<String>.

    • If the return type of titleCase(..) were to be mere String, then you'd use map(s -> titleCase(s))

    • If the return type of titleCase(..) were to be Observable<String>, then you'd use flatMap(s -> titleCase(s))

    Hope that clarifies.

    html <input type="text" /> onchange event not working

    onchange only occurs when the change to the input element is committed by the user, most of the time this is when the element loses focus.

    if you want your function to fire everytime the element value changes you should use the oninput event - this is better than the key up/down events as the value can be changed with the user's mouse ie pasted in, or auto-fill etc

    Read more about the change event here

    Read more about the input event here

    SQL Server : SUM() of multiple rows including where clauses

    sounds like you want something like:

    select PropertyID, SUM(Amount)
    from MyTable
    Where EndDate is null
    Group by PropertyID
    

    Verilog generate/genvar in an always block

    for verilog just do

    parameter ROWBITS = 4;
    reg [ROWBITS-1:0] temp;
    always @(posedge sysclk) begin
      temp <= {ROWBITS{1'b0}}; // fill with 0
    end
    

    Spring-Boot: How do I set JDBC pool properties like maximum number of connections?

    Based on your application type/size/load/no. of users ..etc - u can keep following as your production properties

    spring.datasource.tomcat.initial-size=50
    spring.datasource.tomcat.max-wait=20000
    spring.datasource.tomcat.max-active=300
    spring.datasource.tomcat.max-idle=150
    spring.datasource.tomcat.min-idle=8
    spring.datasource.tomcat.default-auto-commit=true
    

    After MySQL install via Brew, I get the error - The server quit without updating PID file

    This error may be actually being show because mysql is already started. Try to see the current status by:

    mysql.server status
    

    Where is android studio building my .apk file?

    You can find it in the

    project -> app (or your main app module) -> build -> outputs -> apk
    

    Semaphore vs. Monitors - what's the difference?

    A semaphore is a signaling mechanism used to coordinate between threads. Example: One thread is downloading files from the internet and another thread is analyzing the files. This is a classic producer/consumer scenario. The producer calls signal() on the semaphore when a file is downloaded. The consumer calls wait() on the same semaphore in order to be blocked until the signal indicates a file is ready. If the semaphore is already signaled when the consumer calls wait, the call does not block. Multiple threads can wait on a semaphore, but each signal will only unblock a single thread.

    A counting semaphore keeps track of the number of signals. E.g. if the producer signals three times in a row, wait() can be called three times without blocking. A binary semaphore does not count but just have the "waiting" and "signalled" states.

    A mutex (mutual exclusion lock) is a lock which is owned by a single thread. Only the thread which have acquired the lock can realease it again. Other threads which try to acquire the lock will be blocked until the current owner thread releases it. A mutex lock does not in itself lock anything - it is really just a flag. But code can check for ownership of a mutex lock to ensure that only one thread at a time can access some object or resource.

    A monitor is a higher-level construct which uses an underlying mutex lock to ensure thread-safe access to some object. Unfortunately the word "monitor" is used in a few different meanings depending on context and platform and context, but in Java for example, a monitor is a mutex lock which is implicitly associated with an object, and which can be invoked with the synchronized keyword. The synchronized keyword can be applied to a class, method or block and ensures only one thread can execute the code at a time.

    How to make Bitmap compress without change the bitmap size?

    Are you sure it is smaller?

    Bitmap original = BitmapFactory.decodeStream(getAssets().open("1024x768.jpg"));
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    original.compress(Bitmap.CompressFormat.PNG, 100, out);
    Bitmap decoded = BitmapFactory.decodeStream(new ByteArrayInputStream(out.toByteArray()));
    
    Log.e("Original   dimensions", original.getWidth()+" "+original.getHeight());
    Log.e("Compressed dimensions", decoded.getWidth()+" "+decoded.getHeight());
    

    Gives

    12-07 17:43:36.333: E/Original   dimensions(278): 1024 768
    12-07 17:43:36.333: E/Compressed dimensions(278): 1024 768
    

    Maybe you get your bitmap from a resource, in which case the bitmap dimension will depend on the phone screen density

    Bitmap bitmap=((BitmapDrawable)getResources().getDrawable(R.drawable.img_1024x768)).getBitmap();
    Log.e("Dimensions", bitmap.getWidth()+" "+bitmap.getHeight());
    
    12-07 17:43:38.733: E/Dimensions(278): 768 576
    

    Filtering Pandas Dataframe using OR statement

    From the docs:

    Another common operation is the use of boolean vectors to filter the data. The operators are: | for or, & for and, and ~ for not. These must be grouped by using parentheses.

    http://pandas.pydata.org/pandas-docs/version/0.15.2/indexing.html#boolean-indexing

    Try:

    alldata_balance = alldata[(alldata[IBRD] !=0) | (alldata[IMF] !=0)]
    

    Custom Cell Row Height setting in storyboard is not responding

    For dynamic cells, rowHeight set on the UITableView always overrides the individual cells' rowHeight.

    This behavior is, IMO, a bug. Anytime you have to manage your UI in two places it is prone to error. For example, if you change your cell size in the storyboard, you have to remember to change them in the heightForRowAtIndexPath: as well. Until Apple fixes the bug, the current best workaround is to override heightForRowAtIndexPath:, but use the actual prototype cells from the storyboard to determine the height rather than using magic numbers. Here's an example:

    - (CGFloat)tableView:(UITableView *)tableView 
               heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        /* In this example, there is a different cell for
           the top, middle and bottom rows of the tableView.
           Each type of cell has a different height.
           self.model contains the data for the tableview 
        */
        static NSString *CellIdentifier;
        if (indexPath.row == 0) 
            CellIdentifier = @"CellTop";
        else if (indexPath.row + 1 == [self.model count] )
            CellIdentifier = @"CellBottom";
        else
            CellIdentifier = @"CellMiddle";
    
        UITableViewCell *cell = 
                  [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
        return cell.bounds.size.height;
    }
    

    This will ensure any changes to your prototype cell heights will automatically be picked up at runtime and you only need to manage your UI in one place: the storyboard.

    How do you post data with a link

    I assume that each house is stored in its own table and has an 'id' field, e.g house id. So when you loop through the houses and display them, you could do something like this:

    <a href="house.php?id=<?php echo $house_id;?>">
      <?php echo $house_name;?>
    </a>
    

    Then in house.php, you would get the house id using $_GET['id'], validate it using is_numeric() and then display its info.

    Calculate text width with JavaScript

    Rewritten my answer from scratch (thanks for that minus). Now function accepts a text and css rules to be applied (and doesn't use jQuery anymore). So it will respect paddings too. Resulting values are being rounded (you can see Math.round there, remove if you want more that precise values)

    _x000D_
    _x000D_
    function getSpan(){
        const span = document.createElement('span')
        span.style.position = 'fixed';
        span.style.visibility = 'hidden';
        document.body.appendChild(span);
        return span;
    }
    
    function textWidth(str, css) {
        const span = getSpan();
        Object.assign(span.style, css || {});
        span.innerText = str;
        const w = Math.round(span.getBoundingClientRect().width);
        
        span.remove();
        
        return w;
    }
    
    
    const testStyles = [
      {fontSize: '10px'},
      {fontSize: '12px'},
      {fontSize: '60px'},
      {fontSize: '120px'},
      {fontSize: '120px', padding: '10px'},
      {fontSize: '120px', fontFamily: 'arial'},
      {fontSize: '120px', fontFamily: 'tahoma'},
      {fontSize: '120px', fontFamily: 'tahoma', padding: '5px'},
    ];
    
    const ul = document.getElementById('output');
    testStyles.forEach(style => {
      const li = document.createElement('li');
      li.innerText = `${JSON.stringify(style)} > ${textWidth('abc', style)}`;
      ul.appendChild(li);
    });
    _x000D_
    <ul id="output"></ul>
    _x000D_
    _x000D_
    _x000D_

    jQuery AJAX single file upload

    A. Grab file data from the file field

    The first thing to do is bind a function to the change event on your file field and a function for grabbing the file data:

    // Variable to store your files
    var files;
    
    // Add events
    $('input[type=file]').on('change', prepareUpload);
    
    // Grab the files and set them to our variable
    function prepareUpload(event)
    {
      files = event.target.files;
    }
    

    This saves the file data to a file variable for later use.

    B. Handle the file upload on submit

    When the form is submitted you need to handle the file upload in its own AJAX request. Add the following binding and function:

    $('form').on('submit', uploadFiles);
    
    // Catch the form submit and upload the files
    function uploadFiles(event)
    {
      event.stopPropagation(); // Stop stuff happening
        event.preventDefault(); // Totally stop stuff happening
    
    // START A LOADING SPINNER HERE
    
    // Create a formdata object and add the files
    var data = new FormData();
    $.each(files, function(key, value)
    {
        data.append(key, value);
    });
    
    $.ajax({
        url: 'submit.php?files',
        type: 'POST',
        data: data,
        cache: false,
        dataType: 'json',
        processData: false, // Don't process the files
        contentType: false, // Set content type to false as jQuery will tell the server its a query string request
        success: function(data, textStatus, jqXHR)
        {
            if(typeof data.error === 'undefined')
            {
                // Success so call function to process the form
                submitForm(event, data);
            }
            else
            {
                // Handle errors here
                console.log('ERRORS: ' + data.error);
            }
        },
        error: function(jqXHR, textStatus, errorThrown)
        {
            // Handle errors here
            console.log('ERRORS: ' + textStatus);
            // STOP LOADING SPINNER
        }
    });
    }
    

    What this function does is create a new formData object and appends each file to it. It then passes that data as a request to the server. 2 attributes need to be set to false:

    • processData - Because jQuery will convert the files arrays into strings and the server can't pick it up.
    • contentType - Set this to false because jQuery defaults to application/x-www-form-urlencoded and doesn't send the files. Also setting it to multipart/form-data doesn't seem to work either.

    C. Upload the files

    Quick and dirty php script to upload the files and pass back some info:

    <?php // You need to add server side validation and better error handling here
    
    $data = array();
    
    if(isset($_GET['files']))
    {  
    $error = false;
    $files = array();
    
    $uploaddir = './uploads/';
    foreach($_FILES as $file)
    {
        if(move_uploaded_file($file['tmp_name'], $uploaddir .basename($file['name'])))
        {
            $files[] = $uploaddir .$file['name'];
        }
        else
        {
            $error = true;
        }
    }
    $data = ($error) ? array('error' => 'There was an error uploading your files') : array('files' => $files);
    }
    else
    {
        $data = array('success' => 'Form was submitted', 'formData' => $_POST);
    }
    
    echo json_encode($data);
    
    ?>
    

    IMP: Don't use this, write your own.

    D. Handle the form submit

    The success method of the upload function passes the data sent back from the server to the submit function. You can then pass that to the server as part of your post:

    function submitForm(event, data)
    {
      // Create a jQuery object from the form
    $form = $(event.target);
    
    // Serialize the form data
    var formData = $form.serialize();
    
    // You should sterilise the file names
    $.each(data.files, function(key, value)
    {
        formData = formData + '&filenames[]=' + value;
    });
    
    $.ajax({
        url: 'submit.php',
        type: 'POST',
        data: formData,
        cache: false,
        dataType: 'json',
        success: function(data, textStatus, jqXHR)
        {
            if(typeof data.error === 'undefined')
            {
                // Success so call function to process the form
                console.log('SUCCESS: ' + data.success);
            }
            else
            {
                // Handle errors here
                console.log('ERRORS: ' + data.error);
            }
        },
        error: function(jqXHR, textStatus, errorThrown)
        {
            // Handle errors here
            console.log('ERRORS: ' + textStatus);
        },
        complete: function()
        {
            // STOP LOADING SPINNER
        }
    });
    }
    

    Final note

    This script is an example only, you'll need to handle both server and client side validation and some way to notify users that the file upload is happening. I made a project for it on Github if you want to see it working.

    Referenced From

    How to execute UNION without sorting? (SQL)

    I assume your tables are table1 and table2 respectively, and your solution is;

    (select * from table1 MINUS select * from table2)
    UNION ALL
    (select * from table2 MINUS select * from table1)
    

    javascript date to string

    Maybe it is easier to convert the Date into the actual integer 20110506105524 and then convert this into a string:

    function printDate() {
        var temp = new Date();
        var dateInt =
            ((((temp.getFullYear() * 100 + 
                temp.getMonth() + 1) * 100 + 
               temp.getDate()) * 100 +
              temp.getHours()) * 100 + 
             temp.getMinutes()) * 100 + 
            temp.getSeconds();
    
        debug ( '' + dateInt );  // convert to String
    }
    

    When temp.getFullYear() < 1000 the result will be one (or more) digits shorter.

    Caution: this wont work with millisecond precision (i.e. 17 digits) since Number.MAX_SAFE_INTEGER is 9007199254740991 which is only 16 digits.

    How do I download a tarball from GitHub using cURL?

    The modernized way of doing this is:

    curl -sL https://github.com/user-or-org/repo/archive/sha1-or-ref.tar.gz | tar xz
    

    Replace user-or-org, repo, and sha1-or-ref accordingly.

    If you want a zip file instead of a tarball, specify .zip instead of .tar.gz suffix.

    You can also retrieve the archive of a private repo, by specifying -u token:x-oauth-basic option to curl. Replace token with a personal access token.

    How to change sender name (not email address) when using the linux mail command for autosending mail?

    You just need to add a From: header. By default there is none.

    echo "Test" | mail -a "From: Someone <[email protected]>" [email protected]
    

    You can add any custom headers using -a:

    echo "Test" | mail -a "From: Someone <[email protected]>" \
                       -a "Subject: This is a test" \
                       -a "X-Custom-Header: yes" [email protected]
    

    How to Display Multiple Google Maps per page with API V3

    Here is how I have been able to generate multiple maps on the same page using Google Map API V3. Kindly note that this is an off the cuff code that addresses the issue above.

    The HTML bit

    <div id="map_canvas" style="width:700px; height:500px; margin-left:80px;"></div>
    <div id="map_canvas2" style="width:700px; height:500px; margin-left:80px;"></div>
    

    Javascript for map initialization

    <script type="text/javascript">
    var map, map2;
    
    function initialize(condition) {
        // create the maps
        var myOptions = {
            zoom: 14,
            center: new google.maps.LatLng(0.0, 0.0),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    
        map2 = new google.maps.Map(document.getElementById("map_canvas2"), myOptions);
    }
    </script> 
    

    Call a "local" function within module.exports from another function in module.exports?

    Starting with Node.js version 13 you can take advantage of ES6 Modules.

    export function foo() {
        return 'foo';
    }
    
    export function bar() {
        return foo();
    }
    

    Following the Class approach:

    class MyClass {
    
        foo() {
            return 'foo';
        }
    
        bar() {
            return this.foo();
        }
    }
    
    module.exports = new MyClass();
    

    This will instantiate the class only once, due to Node's module caching:
    https://nodejs.org/api/modules.html#modules_caching

    iPhone keyboard, Done button and resignFirstResponder

    I used this method to change choosing Text Field

    - (BOOL)textFieldShouldReturn:(UITextField *)textField {
    
    if ([textField isEqual:self.emailRegisterTextField]) {
    
        [self.usernameRegisterTextField becomeFirstResponder];
    
    } else if ([textField isEqual:self.usernameRegisterTextField]) {
    
        [self.passwordRegisterTextField becomeFirstResponder];
    
    } else {
    
        [textField resignFirstResponder];
    
        // To click button for registration when you clicking button "Done" on the keyboard
        [self createMyAccount:self.registrationButton];
    }
    
    return YES;
    

    }

    How to remove the arrows from input[type="number"] in Opera

    Those arrows are part of the Shadow DOM, which are basically DOM elements on your page which are hidden from you. If you're new to the idea, a good introductory read can be found here.

    For the most part, the Shadow DOM saves us time and is good. But there are instances, like this question, where you want to modify it.

    You can modify these in Webkit now with the right selectors, but this is still in the early stages of development. The Shadow DOM itself has no unified selectors yet, so the webkit selectors are proprietary (and it isn't just a matter of appending -webkit, like in other cases).

    Because of this, it seems likely that Opera just hasn't gotten around to adding this yet. Finding resources about Opera Shadow DOM modifications is tough, though. A few unreliable internet sources I've found all say or suggest that Opera doesn't currently support Shadow DOM manipulation.

    I spent a bit of time looking through the Opera website to see if there'd be any mention of it, along with trying to find them in Dragonfly...neither search had any luck. Because of the silence on this issue, and the developing nature of the Shadow DOM + Shadow DOM manipulation, it seems to be a safe conclusion that you just can't do it in Opera, at least for now.

    How do I add a user when I'm using Alpine as a base image?

    The commands are adduser and addgroup.

    Here's a template for Docker you can use in busybox environments (alpine) as well as Debian-based environments (Ubuntu, etc.):

    ENV USER=docker
    ENV UID=12345
    ENV GID=23456
    
    RUN adduser \
        --disabled-password \
        --gecos "" \
        --home "$(pwd)" \
        --ingroup "$USER" \
        --no-create-home \
        --uid "$UID" \
        "$USER"
    

    Note the following:

    • --disabled-password prevents prompt for a password
    • --gecos "" circumvents the prompt for "Full Name" etc. on Debian-based systems
    • --home "$(pwd)" sets the user's home to the WORKDIR. You may not want this.
    • --no-create-home prevents cruft getting copied into the directory from /etc/skel

    The usage description for these applications is missing the long flags present in the code for adduser and addgroup.

    The following long-form flags should work both in alpine as well as debian-derivatives:

    adduser

    BusyBox v1.28.4 (2018-05-30 10:45:57 UTC) multi-call binary.
    
    Usage: adduser [OPTIONS] USER [GROUP]
    
    Create new user, or add USER to GROUP
    
            --home DIR           Home directory
            --gecos GECOS        GECOS field
            --shell SHELL        Login shell
            --ingroup GRP        Group (by name)
            --system             Create a system user
            --disabled-password  Don't assign a password
            --no-create-home     Don't create home directory
            --uid UID            User id
    

    One thing to note is that if --ingroup isn't set then the GID is assigned to match the UID. If the GID corresponding to the provided UID already exists adduser will fail.

    addgroup

    BusyBox v1.28.4 (2018-05-30 10:45:57 UTC) multi-call binary.
    
    Usage: addgroup [-g GID] [-S] [USER] GROUP
    
    Add a group or add a user to a group
    
            --gid GID  Group id
            --system   Create a system group
    

    I discovered all of this while trying to write my own alternative to the fixuid project for running containers as the hosts UID/GID.

    My entrypoint helper script can be found on GitHub.

    The intent is to prepend that script as the first argument to ENTRYPOINT which should cause Docker to infer UID and GID from a relevant bind mount.

    An environment variable "TEMPLATE" may be required to determine where the permissions should be inferred from.

    (At the time of writing I don't have documentation for my script. It's still on the todo list!!)

    How do I fix "Expected to return a value at the end of arrow function" warning?

    The easiest way only if you don't need return something it'ts just return null

    Is there a MySQL option/feature to track history of changes to records?

    MariaDB supports System Versioning since 10.3 which is the standard SQL feature that does exactly what you want: it stores history of table records and provides access to it via SELECT queries. MariaDB is an open-development fork of MySQL. You can find more on its System Versioning via this link:

    https://mariadb.com/kb/en/library/system-versioned-tables/

    Triggering change detection manually in Angular

    In Angular 2+, try the @Input decorator

    It allows for some nice property binding between parent and child components.

    First create a global variable in the parent to hold the object/property that will be passed to the child.

    Next create a global variable in the child to hold the object/property passed from the parent.

    Then in the parent html, where the child template is used, add square brackets notation with the name of the child variable, then set it equal to the name of the parent variable. Example:

    <child-component-template [childVariable] = parentVariable>
    </child-component-template>
    

    Finally, where the child property is defined in the child component, add the Input decorator:

    @Input()
    public childVariable: any
    

    When your parent variable is updated, it should pass the updates to the child component, which will update its html.

    Also, to trigger a function in the child component, take a look at ngOnChanges.

    How to SHUTDOWN Tomcat in Ubuntu?

    None of the suggested solutions worked for me.

    I had run tomcat restart before completing the deployment which messed up my web app.

    EC2 ran tomcat automatically and tomcat was stuck trying to connect to a database connection which was not configured properly.

    I just needed to remove my customized context in server.xml, restart tomcat and add the context back in.

    How do I change the color of radio buttons?

    you can use the checkbox hack as explained in css tricks

    http://css-tricks.com/the-checkbox-hack/

    working example of radio button:

    http://codepen.io/Angelata/pen/Eypnq

    input[type=radio]:checked ~ .check {}
    input[type=radio]:checked ~ .check .inside{}
    

    Works in IE9+, Firefox 3.5+, Safari 1.3+, Opera 6+, Chrome anything.

    support FragmentPagerAdapter holds reference to old fragments

    Since people don't tend to read comments, here is an answer that mostly duplicates what I wrote here:

    the root cause of the issue is the fact that android system does not call getItem to obtain fragments that are actually displayed, but instantiateItem. This method first tries to lookup and reuse a fragment instance for a given tab in FragmentManager. Only if this lookup fails (which happens only the first time when FragmentManager is newly created) then getItem is called. It is for obvious reasons not to recreate fragments (that may be heavy) for example each time a user rotates his device.
    To solve this, instead of creating fragments with Fragment.instantiate in your activity, you should do it with pagerAdapter.instantiateItem and all these calls should be surrounded by startUpdate/finishUpdate method calls that start/commit fragment transaction respectively. getItem should be the place where fragments are really created using their respective constructors.

    List<Fragment> fragments = new Vector<Fragment>();
    
    @Override protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.myLayout);
            ViewPager viewPager = (ViewPager) findViewById(R.id.myViewPager);
            MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
            viewPager.setAdapter(adapter);
            ((TabLayout) findViewById(R.id.tabs)).setupWithViewPager(viewPager);
    
            adapter.startUpdate(viewPager);
            fragments.add(adapter.instantiateItem(viewPager, 0));
            fragments.add(adapter.instantiateItem(viewPager, 1));
            // and so on if you have more tabs...
            adapter.finishUpdate(viewPager);
    }
    
    class MyPagerAdapter extends FragmentPagerAdapter {
    
            public MyPagerAdapter(FragmentManager manager) {super(manager);}
    
            @Override public int getCount() {return 2;}
    
            @Override public Fragment getItem(int position) {
                if (position == 0) return new Fragment0();
                if (position == 1) return new Fragment1();
                return null;  // or throw some exception
            }
    
            @Override public CharSequence getPageTitle(int position) {
                if (position == 0) return getString(R.string.tab0);
                if (position == 1) return getString(R.string.tab1);
                return null;  // or throw some exception
            }
    }
    

    How to get numeric value from a prompt box?

    var xInt = parseInt(x)
    

    This will return either the integer value, or NaN.

    Read more about parseInt here.

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

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

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

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

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

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

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

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

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

    Can I create links with 'target="_blank"' in Markdown?

    I'm using Grav CMS and this works perfectly:

    Body/Content:
    Some text[1]

    Body/Reference:
    [1]: http://somelink.com/?target=_blank

    Just make sure that the target attribute is passed first, if there are additional attributes in the link, copy/paste them to the end of the reference URL.

    Also work as direct link:
    [Go to this page](http://somelink.com/?target=_blank)

    Update values from one column in same table to another in SQL Server

    You put select query before update queries, so you just see initial data. Put select * from stuff; to the end of list.

    Gradle, Android and the ANDROID_HOME SDK location

    On OSX, IntelliJ won't pick up the environment variables you set in your .bash_profile or .bash_rc etc...

    Try this, substituting the value of your own sdk location:

    launchctl setenv ANDROID_HOME /usr/local/opt/android-sdk

    Then restart IntelliJ and Bob's your uncle.

    Here is a reference to the problem, stated more generally: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/

    Clear dropdownlist with JQuery

    How about storing the new options in a variable, and then using .html(variable) to replace the data in the container?

    how to parse JSONArray in android

    getJSONArray(attrname) will get you an array from the object of that given attribute name in your case what is happening is that for

    {"abridged_cast":["name": blah...]}
    ^ its trying to search for a value "characters"
    

    but you need to get into the array and then do a search for "characters"

    try this

    String json="{'abridged_cast':[{'name':'JeffBridges','id':'162655890','characters':['JackPrescott']},{'name':'CharlesGrodin','id':'162662571','characters':['FredWilson']},{'name':'JessicaLange','id':'162653068','characters':['Dwan']},{'name':'JohnRandolph','id':'162691889','characters':['Capt.Ross']},{'name':'ReneAuberjonois','id':'162718328','characters':['Bagley']}]}";
    
        JSONObject jsonResponse;
        try {
            ArrayList<String> temp = new ArrayList<String>();
            jsonResponse = new JSONObject(json);
            JSONArray movies = jsonResponse.getJSONArray("abridged_cast");
            for(int i=0;i<movies.length();i++){
                JSONObject movie = movies.getJSONObject(i);
                JSONArray characters = movie.getJSONArray("characters");
                for(int j=0;j<characters.length();j++){
                    temp.add(characters.getString(j));
                }
            }
            Toast.makeText(this, "Json: "+temp, Toast.LENGTH_LONG).show();
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    

    checked it :)

    What is MVC and what are the advantages of it?

    I think another benefit of using the MVC pattern is that it opens up the doors to other approaches to the design, such as MVP/Presenter first and the many other MV* patterns.

    Without this fundamental segregation of the design "components" the adoption of these techniques would be much more difficult.

    I think it helps to make your code even more interface-based.. Not only within the individual project, but you can almost start to develop common "views" which mean you can template lot more of the "grunt" code used in your applications. For example, a very abstract "data view" which simply takes a bunch of data and throws it to a common grid layout.

    Edit:

    If I remember correctly, this is a pretty good podcast on MV* patterns (listened to it a while ago!)

    Use YAML with variables

    This is an old post, but I had a similar need and this is the solution I came up with. It is a bit of a hack, but it works and could be refined.

    require 'erb'
    require 'yaml'
    
    doc = <<-EOF
      theme:
      name: default
      css_path: compiled/themes/<%= data['theme']['name'] %>
      layout_path: themes/<%= data['theme']['name'] %>
      image_path: <%= data['theme']['css_path'] %>/images
      recursive_path: <%= data['theme']['image_path'] %>/plus/one/more
    EOF
    
    data = YAML::load("---" + doc)
    
    template = ERB.new(data.to_yaml);
    str = template.result(binding)
    while /<%=.*%>/.match(str) != nil
      str = ERB.new(str).result(binding)
    end
    
    puts str
    

    A big downside is that it builds into the yaml document a variable name (in this case, "data") that may or may not exist. Perhaps a better solution would be to use $ and then substitute it with the variable name in Ruby prior to ERB. Also, just tested using hashes2ostruct which allows data.theme.name type notation which is much easier on the eyes. All that is required is to wrap the YAML::load with this

    data = hashes2ostruct(YAML::load("---" + doc))
    

    Then your YAML document can look like this

    doc = <<-EOF
      theme:
      name: default
      css_path: compiled/themes/<%= data.theme.name %>
      layout_path: themes/<%= data.theme.name %>
      image_path: <%= data.theme.css_path %>/images
      recursive_path: <%= data.theme.image_path %>/plus/one/more
    EOF
    

    Changing position of the Dialog on screen android

    I used this code to show the dialog at the bottom of the screen:

    Dialog dlg = <code to create custom dialog>;
    
    Window window = dlg.getWindow();
    WindowManager.LayoutParams wlp = window.getAttributes();
    
    wlp.gravity = Gravity.BOTTOM;
    wlp.flags &= ~WindowManager.LayoutParams.FLAG_DIM_BEHIND;
    window.setAttributes(wlp);
    

    This code also prevents android from dimming the background of the dialog, if you need it. You should be able to change the gravity parameter to move the dialog about


    private void showPictureialog() {
        final Dialog dialog = new Dialog(this,
                android.R.style.Theme_Translucent_NoTitleBar);
    
        // Setting dialogview
        Window window = dialog.getWindow();
        window.setGravity(Gravity.CENTER);
    
        window.setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
        dialog.setTitle(null);
        dialog.setContentView(R.layout.selectpic_dialog);
        dialog.setCancelable(true);
    
        dialog.show();
    }
    

    you can customize you dialog based on gravity and layout parameters change gravity and layout parameter on the basis of your requirenment

    How to check Oracle database for long running queries

    You can check the long-running queries details like % completed and remaining time using the below query:

     SELECT SID, SERIAL#, OPNAME, CONTEXT, SOFAR, 
     TOTALWORK,ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE" 
     FROM V$SESSION_LONGOPS 
     WHERE OPNAME NOT LIKE '%aggregate%' 
           AND TOTALWORK != 0 
           AND SOFAR <> TOTALWORK;
    

    For the complete list of troubleshooting steps, you can check here:Troubleshooting long running sessions

    PHP substring extraction. Get the string before the first '/' or the whole string

    One-line version of the accepted answer:

    $out=explode("/", $mystring, 2)[0];
    

    Should work in php 5.4+

    Replace or delete certain characters from filenames of all files in a folder

    The PowerShell answers are good, but the Rename-Item command doesn't work in the same target directory unless ALL of your files have the unwanted character in them (fails if it finds duplicates).

    If you're like me and had a mix of good names and bad names, try this script instead (will replace spaces with an underscore):

    Get-ChildItem -recurse -name | ForEach-Object { Move-Item $_ $_.replace(" ", "_") }
    

    tar: add all files and directories in current directory INCLUDING .svn and so on

    10 years later, you have an alternative to tar, illustrated with Git 2.30 (Q1 2021), which uses "git archive"(man) to produce the release tarball instead of tar.
    (You don't need Git 2.30 to apply that alternative)

    See commit 4813277 (11 Oct 2020), and commit 93e7031 (10 Oct 2020) by René Scharfe (rscharfe).
    (Merged by Junio C Hamano -- gitster -- in commit 63e5273, 27 Oct 2020)

    Makefile: use git init/add/commit/archive for dist-doc

    Signed-off-by: René Scharfe

    Reduce the dependency on external tools by generating the distribution archives for HTML documentation and manpages using git(man) commands instead of tar. This gives the archive entries the same meta data as those in the dist archive for binaries.

    So instead of:

    tar cf ../archive.tar .
    

    You can do using Git only:

    git -C workspace init
    git -C workspace add .
    git -C workspace commit -m workspace
    git -C workspace archive --format=tar --prefix=./ HEAD^{tree} > workspace.tar
    rm -Rf workspace/.git
    

    That was initially proposed because, as explained here, some exotic platform might have an old tar distribution with lacking options.

    Error: EPERM: operation not permitted, unlink 'D:\Sources\**\node_modules\fsevents\node_modules\abbrev\package.json'

    I simply completely shutdown , NOT hibernated, my machine and restarted it. Ran the CMD as admin and used npm install command. It worked.

    How to change color in circular progress bar?

    check this answer out:

    for me, these two lines had to be there for it to work and change the color:

    android:indeterminateTint="@color/yourColor"
    android:indeterminateTintMode="src_in"
    

    PS: but its only available from android 21

    How to get the browser to navigate to URL in JavaScript

    Try these:

    1. window.location.href = 'http://www.google.com';
    2. window.location.assign("http://www.w3schools.com");
    3. window.location = 'http://www.google.com';

    For more see this link: other ways to reload the page with JavaScript

    PHP regular expression - filter number only

    use built in php function is_numeric to check if the value is numeric.

    Is there a Java API that can create rich Word documents?

    I think Apache POI can do the job. A possible problem depending on the usage your aiming to may be caused by the fact that HWPF is still in early development.

    HWPF is the set of APIs for reading and writing Microsoft Word 97(-XP) documents using (only) Java.

    Spark SQL: apply aggregate functions to a list of columns

    Current answers are perfectly correct on how to create the aggregations, but none actually address the column alias/renaming that is also requested in the question.

    Typically, this is how I handle this case:

    val dimensionFields = List("col1")
    val metrics = List("col2", "col3", "col4")
    val columnOfInterests = dimensions ++ metrics
    
    val df = spark.read.table("some_table"). 
        .select(columnOfInterests.map(c => col(c)):_*)
        .groupBy(dimensions.map(d => col(d)): _*)
        .agg(metrics.map( m => m -> "sum").toMap)
        .toDF(columnOfInterests:_*)    // that's the interesting part
    

    The last line essentially renames every columns of the aggregated dataframe to the original fields, essentially changing sum(col2) and sum(col3) to simply col2 and col3.

    Delete files older than 10 days using shell script in Unix

    If you can afford working via the file data, you can do

    find -mmin +14400 -delete
    

    C++ template constructor

    try doing something like

    template<class T, int i> class A{
    
        A(){
              A(this)
        }
    
        A( A<int, 1>* a){
              //do something
        }
        A( A<float, 1>* a){
             //do something
        }
    .
    .
    .
    };
    

    How to create byte array from HttpPostedFile

    before stream.copyto, you must reset stream.position to 0; then it works fine.

    How to split a string after specific character in SQL Server and update this value to specific column

    Try this:

    UPDATE YourTable
    SET Col2 = RIGHT(Col1,LEN(Col1)-CHARINDEX('/',Col1))
    

    How to focus on a form input text field on page load using jQuery?

    The Simple and easiest way to achieve this

    $('#button').on('click', function () {
        $('.form-group input[type="text"]').attr('autofocus', 'true');
    });
    

    How should strace be used?

    strace lists all system calls done by the process it's applied to. If you don't know what system calls mean, you won't be able to get much mileage from it.

    Nevertheless, if your problem involves files or paths or environment values, running strace on the problematic program and redirecting the output to a file and then grepping that file for your path/file/env string may help you see what your program is actually attempting to do, as distinct from what you expected it to.

    Creating a border like this using :before And :after Pseudo-Elements In CSS?

    #footer:after
    {
       content: "";
        width: 40px;
        height: 3px;
        background-color: #529600;
        left: 0;
        position: relative;
        display: block;
        top: 10px;
    }
    

    Disabling Chrome cache for website development

    If you're using ServiceWorkers (e.g.: for Progressive web apps), you'll likely need to check "Update on reload" under Application > Service Workers in dev tools too.

    enter image description here

    Linq where clause compare only date value without time value

    && x.DateTimeValueColumn <= DateTime.Now

    This is supported so long as your schema is correct

    && x.DateTimeValueColumn.Value.Date <=DateTime.Now
    

    Apache HttpClient Interim Error: NoHttpResponseException

    Although accepted answer is right, but IMHO is just a workaround.

    To be clear: it's a perfectly normal situation that a persistent connection may become stale. But unfortunately it's very bad when the HTTP client library cannot handle it properly.

    Since this faulty behavior in Apache HttpClient was not fixed for many years, I definitely would prefer to switch to a library that can easily recover from a stale connection problem, e.g. OkHttp.

    Why?

    1. OkHttp pools http connections by default.
    2. It gracefully recovers from situations when http connection becomes stale and request cannot be retried due to being not idempotent (e.g. POST). I cannot say it about Apache HttpClient (mentioned NoHttpResponseException).
    3. Supports HTTP/2.0 from early drafts and beta versions.

    When I switched to OkHttp, my problems with NoHttpResponseException disappeared forever.

    Regex pattern for checking if a string starts with a certain substring?

    I really recommend using the String.StartsWith method over the Regex.IsMatch if you only plan to check the beginning of a string.

    • Firstly, the regular expression in C# is a language in a language with does not help understanding and code maintenance. Regular expression is a kind of DSL.
    • Secondly, many developers does not understand regular expressions: it is something which is not understandable for many humans.
    • Thirdly, the StartsWith method brings you features to enable culture dependant comparison which regular expressions are not aware of.

    In your case you should use regular expressions only if you plan implementing more complex string comparison in the future.

    In C, how should I read a text file and print all strings

    You can use fgets and limit the size of the read string.

    char *fgets(char *str, int num, FILE *stream);
    

    You can change the while in your code to:

    while (fgets(str, 100, file)) /* printf("%s", str) */;
    

    JQuery Event for user pressing enter in a textbox?

    You can wire up your own custom event

    $('textarea').bind("enterKey",function(e){
       //do stuff here
    });
    $('textarea').keyup(function(e){
        if(e.keyCode == 13)
        {
            $(this).trigger("enterKey");
        }
    });
    

    http://jsfiddle.net/x7HVQ/

    Find if a String is present in an array

    If you can organize the values in the array in sorted order, then you can use Arrays.binarySearch(). Otherwise you'll have to write a loop and to a linear search. If you plan to have a large (more than a few dozen) strings in the array, consider using a Set instead.

    What does a "Cannot find symbol" or "Cannot resolve symbol" error mean?

    If you're getting this error in the build somewhere else, while your IDE says everything is perfectly fine, then check that you are using the same Java versions in both places.

    For example, Java 7 and Java 8 have different APIs, so calling a non-existent API in an older Java version would cause this error.

    CSS rotation cross browser with jquery.animate()

    CSS-Transforms are not possible to animate with jQuery, yet. You can do something like this:

    function AnimateRotate(angle) {
        // caching the object for performance reasons
        var $elem = $('#MyDiv2');
    
        // we use a pseudo object for the animation
        // (starts from `0` to `angle`), you can name it as you want
        $({deg: 0}).animate({deg: angle}, {
            duration: 2000,
            step: function(now) {
                // in the step-callback (that is fired each step of the animation),
                // you can use the `now` paramter which contains the current
                // animation-position (`0` up to `angle`)
                $elem.css({
                    transform: 'rotate(' + now + 'deg)'
                });
            }
        });
    }
    

    You can read more about the step-callback here: http://api.jquery.com/animate/#step

    http://jsfiddle.net/UB2XR/23/

    And, btw: you don't need to prefix css3 transforms with jQuery 1.7+

    Update

    You can wrap this in a jQuery-plugin to make your life a bit easier:

    $.fn.animateRotate = function(angle, duration, easing, complete) {
      return this.each(function() {
        var $elem = $(this);
    
        $({deg: 0}).animate({deg: angle}, {
          duration: duration,
          easing: easing,
          step: function(now) {
            $elem.css({
               transform: 'rotate(' + now + 'deg)'
             });
          },
          complete: complete || $.noop
        });
      });
    };
    
    $('#MyDiv2').animateRotate(90);
    

    http://jsbin.com/ofagog/2/edit

    Update2

    I optimized it a bit to make the order of easing, duration and complete insignificant.

    $.fn.animateRotate = function(angle, duration, easing, complete) {
      var args = $.speed(duration, easing, complete);
      var step = args.step;
      return this.each(function(i, e) {
        args.complete = $.proxy(args.complete, e);
        args.step = function(now) {
          $.style(e, 'transform', 'rotate(' + now + 'deg)');
          if (step) return step.apply(e, arguments);
        };
    
        $({deg: 0}).animate({deg: angle}, args);
      });
    };
    

    Update 2.1

    Thanks to matteo who noted an issue with the this-context in the complete-callback. If fixed it by binding the callback with jQuery.proxy on each node.

    I've added the edition to the code before from Update 2.

    Update 2.2

    This is a possible modification if you want to do something like toggle the rotation back and forth. I simply added a start parameter to the function and replaced this line:

    $({deg: start}).animate({deg: angle}, args);
    

    If anyone knows how to make this more generic for all use cases, whether or not they want to set a start degree, please make the appropriate edit.


    The Usage...is quite simple!

    Mainly you've two ways to reach the desired result. But at the first, let's take a look on the arguments:

    jQuery.fn.animateRotate(angle, duration, easing, complete)

    Except of "angle" are all of them optional and fallback to the default jQuery.fn.animate-properties:

    duration: 400
    easing: "swing"
    complete: function () {}
    

    1st

    This way is the short one, but looks a bit unclear the more arguments we pass in.

    $(node).animateRotate(90);
    $(node).animateRotate(90, function () {});
    $(node).animateRotate(90, 1337, 'linear', function () {});
    

    2nd

    I prefer to use objects if there are more than three arguments, so this syntax is my favorit:

    $(node).animateRotate(90, {
      duration: 1337,
      easing: 'linear',
      complete: function () {},
      step: function () {}
    });
    

    Parse v. TryParse

    If the string can not be converted to an integer, then

    • int.Parse() will throw an exception
    • int.TryParse() will return false (but not throw an exception)

    How to refer to Excel objects in Access VBA?

    First you need to set a reference (Menu: Tools->References) to the Microsoft Excel Object Library then you can access all Excel Objects.

    After you added the Reference you have full access to all Excel Objects. You need to add Excel in front of everything for example:

    Dim xlApp as Excel.Application
    

    Let's say you added an Excel Workbook Object in your Form and named it xLObject.

    Here is how you Access a Sheet of this Object and change a Range

    Dim sheet As Excel.Worksheet
    Set sheet = xlObject.Object.Sheets(1)
    sheet.Range("A1") = "Hello World"
    

    (I copied the above from my answer to this question)

    Another way to use Excel in Access is to start Excel through a Access Module (the way shahkalpesh described it in his answer)

    Go To Definition: "Cannot navigate to the symbol under the caret."

    I'm using VS 2017 15.7.5 and this stopped working for certain test files. I noticed that they were all the new ones I had recently added and that in Solution Explorer there was no arrow available to expand and see the properties / methods.

    I excluded and then re-included them into my project and the go to definition command worked again.

    Why is there no Char.Empty like String.Empty?

    If you don't need the entire string, you can take advantage of the delayed execution:

    public static class StringExtensions
    {
        public static IEnumerable<char> RemoveChar(this IEnumerable<char> originalString, char removingChar)
        {
            return originalString.Where(@char => @char != removingChar);
        }
    }
    

    You can even combine multiple characters...

    string veryLongText = "abcdefghijk...";
    
    IEnumerable<char> firstFiveCharsWithoutCsAndDs = veryLongText
                .RemoveChar('c')
                .RemoveChar('d')
                .Take(5);
    

    ... and only the first 7 characters will be evaluated :)

    EDIT: or, even better:

    public static class StringExtensions
    {
        public static IEnumerable<char> RemoveChars(this IEnumerable<char> originalString,
            params char[] removingChars)
        {
            return originalString.Except(removingChars);
        }
    }
    

    and its usage:

            var veryLongText = "abcdefghijk...";
            IEnumerable<char> firstFiveCharsWithoutCsAndDs = veryLongText
                .RemoveChars('c', 'd')
                .Take(5)
                .ToArray(); //to prevent multiple execution of "RemoveChars"
    

    Converting Pandas dataframe into Spark dataframe error

    I have tried this with your data and it is working :

    %pyspark
    import pandas as pd
    from pyspark.sql import SQLContext
    print sc
    df = pd.read_csv("test.csv")
    print type(df)
    print df
    sqlCtx = SQLContext(sc)
    sqlCtx.createDataFrame(df).show()
    

    Access Controller method from another controller in Laravel 5

    You shouldn’t. It’s an anti-pattern. If you have a method in one controller that you need to access in another controller, then that’s a sign you need to re-factor.

    Consider re-factoring the method out in to a service class, that you can then instantiate in multiple controllers. So if you need to offer print reports for multiple models, you could do something like this:

    class ExampleController extends Controller
    {
        public function printReport()
        {
            $report = new PrintReport($itemToReportOn);
            return $report->render();
        }
    }
    

    fail to change placeholder color with Bootstrap 3

    Bootstrap has 3 lines of CSS, within your bootstrap.css generated file that control the placeholder text color:

    .form-control::-moz-placeholder {
      color: #999999;
      opacity: 1;
    }
    .form-control:-ms-input-placeholder {
      color: #999999;
    }
    .form-control::-webkit-input-placeholder {
      color: #999999;
    }
    

    Now if you add this to your own CSS file it won't override bootstrap's because it is less specific. So assmuning your form inside a then add that to your CSS:

    form .form-control::-moz-placeholder {
      color: #fff;
      opacity: 1;
    }
    form .form-control:-ms-input-placeholder {
      color: #fff;
    }
    form .form-control::-webkit-input-placeholder {
      color: #fff;
    }
    

    Voila that will override bootstrap's CSS.

    How to get height of <div> in px dimension

    There is a built-in method to get the bounding rectangle: Element.getBoundingClientRect.

    The result is the smallest rectangle which contains the entire element, with the read-only left, top, right, bottom, x, y, width, and height properties.

    See the example below:

    _x000D_
    _x000D_
    let innerBox = document.getElementById("myDiv").getBoundingClientRect().height;_x000D_
    document.getElementById("data_box").innerHTML = "height: " + innerBox;
    _x000D_
    body {_x000D_
      margin: 0;_x000D_
    }_x000D_
    _x000D_
    .relative {_x000D_
      width: 220px;_x000D_
      height: 180px;_x000D_
      position: relative;_x000D_
      background-color: purple;_x000D_
    }_x000D_
    _x000D_
    .absolute {_x000D_
      position: absolute;_x000D_
      top: 30px;_x000D_
      left: 20px;_x000D_
      background-color: orange;_x000D_
      padding: 30px;_x000D_
      overflow: hidden;_x000D_
    }_x000D_
    _x000D_
    #myDiv {_x000D_
      margin: 20px;_x000D_
      padding: 10px;_x000D_
      color: red;_x000D_
      font-weight: bold;_x000D_
      background-color: yellow;_x000D_
    }_x000D_
    _x000D_
    #data_box {_x000D_
      font: 30px arial, sans-serif;_x000D_
    }
    _x000D_
    Get height of <mark>myDiv</mark> in px dimension:_x000D_
    <div id="data_box"></div>_x000D_
    <div class="relative">_x000D_
      <div class="absolute">_x000D_
        <div id="myDiv">myDiv</div>_x000D_
      </div>_x000D_
    </div>
    _x000D_
    _x000D_
    _x000D_

    Add vertical scroll bar to panel

    Add to your panel's style code something like this:

    <asp:Panel ID="myPanel" runat="Server" CssClass="myPanelCSS" style="overflow-y:auto; overflow-x:hidden"></asp:Panel>
    

    How do you split and unsplit a window/view in Eclipse IDE?

    This is possible with the menu items Window>Editor>Toggle Split Editor.

    Current shortcut for splitting is:

    Azerty keyboard:

    • Ctrl + _ for split horizontally, and
    • Ctrl + { for split vertically.

    Qwerty US keyboard:

    • Ctrl + Shift + - (accessing _) for split horizontally, and
    • Ctrl + Shift + [ (accessing {) for split vertically.

    MacOS - Qwerty US keyboard:

    • + Shift + - (accessing _) for split horizontally, and
    • + Shift + [ (accessing {) for split vertically.

    On any other keyboard if a required key is unavailable (like { on a german Qwertz keyboard), the following generic approach may work:

    • Alt + ASCII code + Ctrl then release Alt

    Example: ASCII for '{' = 123, so press 'Alt', '1', '2', '3', 'Ctrl' and release 'Alt', effectively typing '{' while 'Ctrl' is pressed, to split vertically.

    Example of vertical split:

    https://bugs.eclipse.org/bugs/attachment.cgi?id=238285

    PS:

    • The menu items Window>Editor>Toggle Split Editor were added with Eclipse Luna 4.4 M4, as mentioned by Lars Vogel in "Split editor implemented in Eclipse M4 Luna"
    • The split editor is one of the oldest and most upvoted Eclipse bug! Bug 8009
    • The split editor functionality has been developed in Bug 378298, and will be available as of Eclipse Luna M4. The Note & Newsworthy of Eclipse Luna M4 will contain the announcement.

    Javascript Regexp dynamic generation from variables?

    You have to use RegExp:

    str.match(new RegExp(pattern1+'|'+pattern2, 'gi'));
    

    When I'm concatenating strings, all slashes are gone.

    If you have a backslash in your pattern to escape a special regex character, (like \(), you have to use two backslashes in the string (because \ is the escape character in a string): new RegExp('\\(') would be the same as /\(/.

    So your patterns have to become:

    var pattern1 = ':\\(|:=\\(|:-\\(';
    var pattern2 = ':\\(|:=\\(|:-\\(|:\\(|:=\\(|:-\\(';
    

    Creating all possible k combinations of n items in C++

    I have written a class in C# to handle common functions for working with the binomial coefficient, which is the type of problem that your problem falls under. It performs the following tasks:

    1. Outputs all the K-indexes in a nice format for any N choose K to a file. The K-indexes can be substituted with more descriptive strings or letters. This method makes solving this type of problem quite trivial.

    2. Converts the K-indexes to the proper index of an entry in the sorted binomial coefficient table. This technique is much faster than older published techniques that rely on iteration. It does this by using a mathematical property inherent in Pascal's Triangle. My paper talks about this. I believe I am the first to discover and publish this technique.

    3. Converts the index in a sorted binomial coefficient table to the corresponding K-indexes. I believe it is also faster than the other solutions.

    4. Uses Mark Dominus method to calculate the binomial coefficient, which is much less likely to overflow and works with larger numbers.

    5. The class is written in .NET C# and provides a way to manage the objects related to the problem (if any) by using a generic list. The constructor of this class takes a bool value called InitTable that when true will create a generic list to hold the objects to be managed. If this value is false, then it will not create the table. The table does not need to be created in order to perform the 4 above methods. Accessor methods are provided to access the table.

    6. There is an associated test class which shows how to use the class and its methods. It has been extensively tested with 2 cases and there are no known bugs.

    To read about this class and download the code, see Tablizing The Binomial Coeffieicent.

    It should be pretty straight forward to port the class over to C++.

    The solution to your problem involves generating the K-indexes for each N choose K case. For example:

    int NumPeople = 10;
    int N = TotalColumns;
    // Loop thru all the possible groups of combinations.
    for (int K = N - 1; K < N; K++)
    {
       // Create the bin coeff object required to get all
       // the combos for this N choose K combination.
       BinCoeff<int> BC = new BinCoeff<int>(N, K, false);
       int NumCombos = BinCoeff<int>.GetBinCoeff(N, K);
       int[] KIndexes = new int[K];
       BC.OutputKIndexes(FileName, DispChars, "", " ", 60, false);
       // Loop thru all the combinations for this N choose K case.
       for (int Combo = 0; Combo < NumCombos; Combo++)
       {
          // Get the k-indexes for this combination, which in this case
          // are the indexes to each person in the problem set.
          BC.GetKIndexes(Loop, KIndexes);
          // Do whatever processing that needs to be done with the indicies in KIndexes.
          ...
       }
    }
    

    The OutputKIndexes method can also be used to output the K-indexes to a file, but it will use a different file for each N choose K case.

    Creating folders inside a GitHub repository without using Git

    Another thing you can do is just drag a folder from your computer into the GitHub repository page. This folder does have to have at least 1 item in it, though.

    How to form tuple column from two columns in Pandas

    In [10]: df
    Out[10]:
              A         B       lat      long
    0  1.428987  0.614405  0.484370 -0.628298
    1 -0.485747  0.275096  0.497116  1.047605
    2  0.822527  0.340689  2.120676 -2.436831
    3  0.384719 -0.042070  1.426703 -0.634355
    4 -0.937442  2.520756 -1.662615 -1.377490
    5 -0.154816  0.617671 -0.090484 -0.191906
    6 -0.705177 -1.086138 -0.629708  1.332853
    7  0.637496 -0.643773 -0.492668 -0.777344
    8  1.109497 -0.610165  0.260325  2.533383
    9 -1.224584  0.117668  1.304369 -0.152561
    
    In [11]: df['lat_long'] = df[['lat', 'long']].apply(tuple, axis=1)
    
    In [12]: df
    Out[12]:
              A         B       lat      long                             lat_long
    0  1.428987  0.614405  0.484370 -0.628298      (0.484370195967, -0.6282975278)
    1 -0.485747  0.275096  0.497116  1.047605      (0.497115615839, 1.04760475074)
    2  0.822527  0.340689  2.120676 -2.436831      (2.12067574274, -2.43683074367)
    3  0.384719 -0.042070  1.426703 -0.634355      (1.42670326172, -0.63435462504)
    4 -0.937442  2.520756 -1.662615 -1.377490     (-1.66261469102, -1.37749004179)
    5 -0.154816  0.617671 -0.090484 -0.191906  (-0.0904840623396, -0.191905582481)
    6 -0.705177 -1.086138 -0.629708  1.332853     (-0.629707821728, 1.33285348929)
    7  0.637496 -0.643773 -0.492668 -0.777344   (-0.492667604075, -0.777344111021)
    8  1.109497 -0.610165  0.260325  2.533383        (0.26032456699, 2.5333825651)
    9 -1.224584  0.117668  1.304369 -0.152561     (1.30436900612, -0.152560909725)
    

    ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

    i just restart my mysql server and the problem solved in windows net stop MySQL then net start MySQl ubuntu linux sudo service start mysql

    Android + Pair devices via bluetooth programmatically

    if you have the BluetoothDevice object you can create bond(pair) from api 19 onwards with bluetoothDevice.createBond() method.

    Edit

    for callback, if the request was accepted or denied you will have to create a BroadcastReceiver with BluetoothDevice.ACTION_BOND_STATE_CHANGED action

    Initializing a dictionary in python with a key value and no corresponding values

    Comprehension could be also convenient in this case:

    # from a list
    keys = ["k1", "k2"]
    d = {k:None for k in keys}
    
    # or from another dict
    d1 = {"k1" : 1, "k2" : 2}
    d2 = {k:None for k in d1.keys()}
    
    d2
    # {'k1': None, 'k2': None}
    

    Adding Google Translate to a web site

    {{-- Google Language Translator  START --}}
    <style>
    .google-translate {
        display: inline-block;
        vertical-align: top;
        padding-top: 15px;
    }
    
    .goog-logo-link {
        display: none !important;
    }
    
    .goog-te-gadget {
        color: transparent !important;
    }
    
    #google_translate_element {
        display: none;
    }
    
    .goog-te-banner-frame.skiptranslate {
        display: none !important;
    }
    
    body {
        top: 0px !important;
    }
    
    </style>
    
    <script src="{{asset('js/translate-google.js')}}"></script>
    
    
    
    <script type="text/javascript">
    function googleTranslateElementInit2(){
        new google.translate.TranslateElement({
                        pageLanguage:'en',
                        includedLanguages: 'en,es',
            // https://ctrlq.org/code/19899-google-translate-languages
            // includedLanguages: 'en,it,la,fr',
            // layout:     google.translate.TranslateElement.InlineLayout.SIMPLE,
            autoDisplay:true
        },'google_translate_element2');
        var a = document.querySelector("#google_translate_element select");
        // console.log(a);
    
        if(a){
            a.selectedIndex=1;
            a.dispatchEvent(new Event('change'));
        }
    }
    </script>
    
    <ul class="navbar-nav my-lg-0 m-r-10">
    <li>
        <div class="google-translate">
            <div id="google_translate_element2"></div>
        </div>
    </li>
    

    {{-- Google Language Translator ENDS --}}

    // translate-google.js
    (function () {
    var gtConstEvalStartTime = new Date();
    
    function d(b) {
        var a = document.getElementsByTagName("head")[0];
        a || (a = document.body.parentNode.appendChild(document.createElement("head")));
        a.appendChild(b)
    }
    
    function _loadJs(b) {
        // console.log(b);
        var a = document.createElement("script");
        a.type = "text/javascript";
        a.charset = "UTF-8";
        a.src = b;
        d(a)
    }
    
    function _loadCss(b) {
        var a = document.createElement("link");
        a.type = "text/css";
        a.rel = "stylesheet";
        a.charset = "UTF-8";
        a.href = b;
        d(a)
    }
    
    function _isNS(b) {
        b = b.split(".");
        for (var a = window, c = 0; c < b.length; ++c)
            if (!(a = a[b[c]])) return !1;
        return !0
    }
    
    function _setupNS(b) {
        b = b.split(".");
        for (var a = window, c = 0; c < b.length; ++c) a.hasOwnProperty ? a.hasOwnProperty(b[c]) ? a = a[b[c]] : a = a[b[c]] = {} : a = a[b[c]] || (a[b[c]] = {});
        return a
    }
    window.addEventListener && "undefined" == typeof document.readyState && window.addEventListener("DOMContentLoaded", function () {
        document.readyState = "complete"
    }, !1);
    if (_isNS('google.translate.Element')) {
        return
    }(function () {
        var c = _setupNS('google.translate._const');
        c._cest = gtConstEvalStartTime;
        gtConstEvalStartTime = undefined;
        c._cl = 'en';
        c._cuc = 'googleTranslateElementInit2';
        c._cac = '';
        c._cam = '';
        c._ctkk = eval('((function(){var a\x3d3002255536;var b\x3d-2533142796;return 425386+\x27.\x27+(a+b)})())');
        var h = 'translate.googleapis.com';
        var s = (true ? 'https' : window.location.protocol == 'https:' ? 'https' : 'http') + '://';
        var b = s + h;
        c._pah = h;
        c._pas = s;
        c._pbi = b + '/translate_static/img/te_bk.gif';
        c._pci = b + '/translate_static/img/te_ctrl3.gif';
        c._pli = b + '/translate_static/img/loading.gif';
        c._plla = h + '/translate_a/l';
        c._pmi = b + '/translate_static/img/mini_google.png';
        c._ps = b + '/translate_static/css/translateelement.css';
        c._puh = 'translate.google.com';
        _loadCss(c._ps);
        _loadJs(b + '/translate_static/js/element/main.js');
    })();
    })();
    

    Android Activity as a dialog

    You can define this style in values/styles.xml to perform a more former Splash :

       <style name="Theme.UserDialog" parent="android:style/Theme.Dialog">
            <item name="android:windowFrame">@null</item>
            <item name="android:windowIsFloating">true</item>
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowNoTitle">true</item>
            <item name="android:background">@android:color/transparent</item>
            <item name="android:windowBackground">@drawable/trans</item>
        </style>
    

    And use it AndroidManifest.xml:

       <activity android:name=".SplashActivity"
              android:configChanges="orientation"
              android:screenOrientation="sensor"
              android:theme="@style/Theme.UserDialog">
    

    display:inline vs display:block

    Display : block will take the whole line i.e without line break

    Display :inline will take only exact space that it requires.

     #block
      {
       display : block;
       background-color:red;
       border:1px solid;
      }
    
     #inline
     {
      display : inline;
      background-color:red;
      border:1px solid;
     }
    

    You can refer example in this fiddle http://jsfiddle.net/RJXZM/1/.

    ASP.Net MVC Redirect To A Different View

    Here's what you can do:

    return View("another view name", anotherviewmodel);
    

    HTTP Get with 204 No Content: Is that normal

    I use GET/204 with a RESTful collection that is a positional array of known fixed length but with holes.

    GET /items
        200: ["a", "b", null]
    
    GET /items/0
        200: "a"
    
    GET /items/1
        200: "b"
    
    GET /items/2
        204:
    
    GET /items/3
        404: Not Found
    

    tap gesture recognizer - which object was tapped?

    Its been a year asking this question but still for someone.

    While declaring the UITapGestureRecognizer on a particular view assign the tag as

    UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gestureHandlerMethod:)];
    [yourGestureEnableView addGestureRecognizer:tapRecognizer];
    yourGestureEnableView.tag=2;
    

    and in your handler do like this

    -(void)gestureHandlerMethod:(UITapGestureRecognizer*)sender {
        if(sender.view.tag == 2) {
            // do something here
        }
    }