# Programs & Examples On #Callgrind

Callgrind is a profiling tool that records call history among functions in a program's run as a call-graph. By default, the collected data consists of the number of instructions executed, their relationship to source lines, the caller/callee relationship between functions, and the numbers of such calls. Optionally, cache simulation and/or branch prediction (similar to Cachegrind) can produce further information about the runtime behavior of an application.

### Parse DateTime string in JavaScript

See:

Code:

var strDate = "03.09.1979";
var dateParts = strDate.split(".");

var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);


### How do you round a number to two decimal places in C#?

Had a weird situation where I had a decimal variable, when serializing 55.50 it always sets default value mathematically as 55.5. But whereas, our client system is seriously expecting 55.50 for some reason and they definitely expected decimal. Thats when I had write the below helper, which always converts any decimal value padded to 2 digits with zeros instead of sending a string.

public static class DecimalExtensions
{
public static decimal WithTwoDecimalPoints(this decimal val)
{
return decimal.Parse(val.ToString("0.00"));
}
}


Usage should be

var sampleDecimalValueV1 = 2.5m;
Console.WriteLine(sampleDecimalValueV1.WithTwoDecimalPoints());

decimal sampleDecimalValueV1 = 2;
Console.WriteLine(sampleDecimalValueV1.WithTwoDecimalPoints());


Output:

2.50
2.00


### It is more efficient to use if-return-return or if-else-return?

I personally avoid else blocks when possible. See the Anti-if Campaign

Also, they don't charge 'extra' for the line, you know :p

"Simple is better than complex" & "Readability is king"

delta = 1 if (A > B) else -1
return A + delta


### Swift do-try-catch syntax

enum NumberError: Error {
case NegativeNumber(number: Int)
case ZeroNumber
case OddNumber(number: Int)
}

extension NumberError: CustomStringConvertible {
var description: String {
switch self {
case .NegativeNumber(let number):
return "Negative number \(number) is Passed."
case .OddNumber(let number):
return "Odd number \(number) is Passed."
case .ZeroNumber:
return "Zero is Passed."
}
}
}

func validateEvenNumber(_ number: Int) throws ->Int {
if number == 0 {
throw NumberError.ZeroNumber
} else if number < 0 {
throw NumberError.NegativeNumber(number: number)
} else if number % 2 == 1 {
throw NumberError.OddNumber(number: number)
}
return number
}


Now Validate Number :

 do {
let number = try validateEvenNumber(0)
print("Valid Even Number: \(number)")
} catch let error as NumberError {
print(error.description)
}


### Aren't promises just callbacks?

In addition to the already established answers, with ES6 arrow functions Promises turn from a modestly shining small blue dwarf straight into a red giant. That is about to collapse into a supernova:

api().then(result => api2()).then(result2 => api3()).then(result3 => console.log(result3))


As oligofren pointed out, without arguments between api calls you don't need the anonymous wrapper functions at all:

api().then(api2).then(api3).then(r3 => console.log(r3))


And finally, if you want to reach a supermassive black hole level, Promises can be awaited:

async function callApis() {
let api1Result = await api();
let api2Result = await api2(api1Result);
let api3Result = await api3(api2Result);

return api3Result;
}


### Occurrences of substring in a string

If you need the index of each substring within the original string, you can do something with indexOf like this:

 private static List<Integer> getAllIndexesOfSubstringInString(String fullString, String substring) {
int pointIndex = 0;
List<Integer> allOccurences = new ArrayList<Integer>();
while(fullPdfText.indexOf(substring,pointIndex) >= 0){
pointIndex = fullPdfText.indexOf(substring, pointIndex) + substring.length();
}
return allOccurences;
}


### fetch from origin with deleted remote branches?

Regarding git fetch -p, its behavior changed in Git 1.9, and only Git 2.9.x/2.10 reflects that.

See commit 9e70233 (13 Jun 2016) by Jeff King (peff).
(Merged by Junio C Hamano -- gitster -- in commit 1c22105, 06 Jul 2016)

#### fetch: document that pruning happens before fetching

This was changed in 10a6cc8 (fetch --prune: Run prune before fetching, 2014-01-02), but it seems that nobody in that discussion realized we were advertising the "after" explicitly.

So the documentation now states:

Before fetching, remove any remote-tracking references that no longer exist on the remote

That is because:

When we have a remote-tracking branch named "frotz/nitfol" from a previous fetch, and the upstream now has a branch named "frotz", fetch would fail to remove "frotz/nitfol" with a "git fetch --prune" from the upstream. git would inform the user to use "git remote prune" to fix the problem.

Change the way "fetch --prune" works by moving the pruning operation before the fetching operation. This way, instead of warning the user of a conflict, it automatically fixes it.

### Is it possible to get the index you're sorting over in Underscore.js?

I think it's worth mentioning how the Underscore's _.each() works internally. The _.each(list, iteratee) checks if the passed list is an array object, or an object.

In the case that the list is an array, iteratee arguments will be a list element and index as in the following example:

var a = ['I', 'like', 'pancakes', 'a', 'lot', '.'];
_.each( a, function(v, k) { console.log( k + " " + v); });

0 I
1 like
2 pancakes
3 a
4 lot
5 .


On the other hand, if the list argument is an object the iteratee will take a list element and a key:

var o = {name: 'mike', lastname: 'doe', age: 21};
_.each( o, function(v, k) { console.log( k + " " + v); });

name mike
lastname doe
age 21


For reference this is the _.each() code from Underscore.js 1.8.3

_.each = _.forEach = function(obj, iteratee, context) {
iteratee = optimizeCb(iteratee, context);
var i, length;
if (isArrayLike(obj)) {
for (i = 0, length = obj.length; i < length; i++) {
iteratee(obj[i], i, obj);
}
} else {
var keys = _.keys(obj);
for (i = 0, length = keys.length; i < length; i++) {
iteratee(obj[keys[i]], keys[i], obj);
}
}
return obj;
};


### <button> background image

To get rid of the white color you have to set the background-color to transparent:

button {
font-size: 18px;
width: 150px;
height: 150px;
background-color: transparent; /* like this */
}


### Best way to remove the last character from a string built with stringbuilder

Just use

string.Join(",", yourCollection)


This way you don't need the StringBuilder and the loop.

Long addition about async case. As of 2019, it's not a rare setup when the data are coming asynchronously.

In case your data are in async collection, there is no string.Join overload taking IAsyncEnumerable<T>. But it's easy to create one manually, hacking the code from string.Join:

public static class StringEx
{
public static async Task<string> JoinAsync<T>(string separator, IAsyncEnumerable<T> seq)
{
if (seq == null)
throw new ArgumentNullException(nameof(seq));

await using (var en = seq.GetAsyncEnumerator())
{
if (!await en.MoveNextAsync())
return string.Empty;

string firstString = en.Current?.ToString();

if (!await en.MoveNextAsync())
return firstString ?? string.Empty;

// Null separator and values are handled by the StringBuilder
var sb = new StringBuilder(256);
sb.Append(firstString);

do
{
var currentValue = en.Current;
sb.Append(separator);
if (currentValue != null)
sb.Append(currentValue);
}
while (await en.MoveNextAsync());
return sb.ToString();
}
}
}


If the data are coming asynchronously but the interface IAsyncEnumerable<T> is not supported (like the mentioned in comments SqlDataReader), it's relatively easy to wrap the data into an IAsyncEnumerable<T>:

async IAsyncEnumerable<(object first, object second, object product)> ExtractData(
{
}


and use it:

Task<string> Stringify(SqlDataReader reader) =>
StringEx.JoinAsync(
", ",
ExtractData(reader).Select(x => $"{x.first} * {x.second} = {x.product}"));  In order to use Select, you'll need to use nuget package System.Interactive.Async. Here you can find a compilable example. ### How to close a Java Swing application from the code I guess a EXIT_ON_CLOSE frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  before System.exit(0) is better since you can write a Window Listener to make some cleaning operations before actually leaving the app. That window listener allows you to defined: public void windowClosing(WindowEvent e) { displayMessage("WindowListener method called: windowClosing."); //A pause so user can see the message before //the window actually closes. ActionListener task = new ActionListener() { boolean alreadyDisposed = false; public void actionPerformed(ActionEvent e) { if (frame.isDisplayable()) { alreadyDisposed = true; frame.dispose(); } } }; Timer timer = new Timer(500, task); //fire every half second timer.setInitialDelay(2000); //first delay 2 seconds timer.setRepeats(false); timer.start(); } public void windowClosed(WindowEvent e) { //This will only be seen on standard output. displayMessage("WindowListener method called: windowClosed."); }  ### Comparing chars in Java If you know all your 21 characters in advance you can write them all as one String and then check it like this: char wanted = 'x'; String candidates = "abcdefghij..."; boolean hit = candidates.indexOf(wanted) >= 0;  I think this is the shortest way. ### How to add button tint programmatically this is easily handled in the new Material Button from material design library, first, add the dependency: implementation 'com.google.android.material:material:1.1.0-alpha07'  then in your XML, use this for your button: <com.google.android.material.button.MaterialButton android:id="@+id/accept" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/i_accept" android:textSize="18sp" app:backgroundTint="@color/grayBackground_500" />  and when you want to change the color, here's the code in Kotlin, It's not deprecated and it can be used prior to Android 21: accept.backgroundTintList = ColorStateList.valueOf(ResourcesCompat.getColor(resources, R.color.colorPrimary, theme))  ### Could not find main class HelloWorld Tell it where to look for you class: it's in ".", which is the current directory: java -classpath . HelloWorld  No need to set JAVA_HOME or CLASSPATH in this case ### Scala: write string to file in one statement import sys.process._ "echo hello world" #> new java.io.File("/tmp/example.txt") !  ### Is there a macro to conditionally copy rows to another worksheet? If this is just a one-off exercise, as an easier alternative, you could apply filters to your source data, and then copy and paste the filtered rows into your new worksheet? ### Django REST Framework: adding additional field to ModelSerializer I think SerializerMethodField is what you're looking for: class FooSerializer(serializers.ModelSerializer): my_field = serializers.SerializerMethodField('is_named_bar') def is_named_bar(self, foo): return foo.name == "bar" class Meta: model = Foo fields = ('id', 'name', 'my_field')  http://www.django-rest-framework.org/api-guide/fields/#serializermethodfield ### Continuous CSS rotation animation on hover, animated back to 0deg on hover out Cross browser compatible JS solution: _x000D_ _x000D_ var e = document.getElementById('elem');_x000D_ var spin = false;_x000D_ _x000D_ var spinner = function(){_x000D_ e.classList.toggle('running', spin);_x000D_ if (spin) setTimeout(spinner, 2000);_x000D_ }_x000D_ _x000D_ e.onmouseover = function(){_x000D_ spin = true;_x000D_ spinner();_x000D_ };_x000D_ _x000D_ e.onmouseout = function(){_x000D_ spin = false;_x000D_ }; _x000D_ body { _x000D_ height:300px; _x000D_ }_x000D_ #elem {_x000D_ position:absolute;_x000D_ top:20%;_x000D_ left:20%;_x000D_ width:0; _x000D_ height:0;_x000D_ border-style: solid;_x000D_ border-width: 75px;_x000D_ border-color: red blue green orange;_x000D_ border-radius: 75px;_x000D_ }_x000D_ _x000D_ #elem.running {_x000D_ animation: spin 2s linear 0s infinite;_x000D_ }_x000D_ _x000D_ @keyframes spin { _x000D_ 100% { transform: rotate(360deg); } _x000D_ } _x000D_ <div id="elem"></div> _x000D_ _x000D_ _x000D_ ### how to hide keyboard after typing in EditText in android? You might also want to define the imeOptions within the EditText. This way, the keyboard will go away once you press on Done: <EditText android:id="@+id/editText1" android:inputType="text" android:imeOptions="actionDone"/>  ### Copy folder recursively in Node.js This is how I did it: let fs = require('fs'); let path = require('path');  Then: let filePath = // Your file path let fileList = [] var walkSync = function(filePath, filelist) { let files = fs.readdirSync(filePath); filelist = filelist || []; files.forEach(function(file) { if (fs.statSync(path.join(filePath, file)).isDirectory()) { filelist = walkSync(path.join(filePath, file), filelist); } else { filelist.push(path.join(filePath, file)); } }); // Ignore hidden files filelist = filelist.filter(item => !(/(^|\/)\.[^\/\.]/g).test(item)); return filelist; };  Then call the method: This.walkSync(filePath, fileList)  ### Sending email from Command-line via outlook without having to click send You can use cURL and CRON to run .php files at set times. Here's an example of what cURL needs to run the .php file: curl http://localhost/myscript.php  Then setup the CRON job to run the above cURL: nano -w /var/spool/cron/root or crontab -e  Followed by: 01 * * * * /usr/bin/curl http://www.yoursite.com/script.php  For more info about, check out this post: https://www.scalescale.com/tips/nginx/execute-php-scripts-automatically-using-cron-curl/ For more info about cURL: What is cURL in PHP? For more info about CRON: http://code.tutsplus.com/tutorials/scheduling-tasks-with-cron-jobs--net-8800 Also, if you would like to learn about setting up a CRON job on your hosted server, just inquire with your host provider, and they may have a GUI for setting it up in the c-panel (such as http://godaddy.com, or http://1and1.com/ ) NOTE: Technically I believe you can setup a CRON job to run the .php file directly, but I'm not certain. Best of luck with the automatic PHP running :-) ### What's the best way to store co-ordinates (longitude/latitude, from Google Maps) in SQL Server? Store both as float, and use unique key words on them.i.em create table coordinates( coord_uid counter primary key, latitude float, longitude float, constraint la_long unique(latitude, longitude) );  ### C++ Singleton design pattern Another non-allocating alternative: create a singleton, say of class C, as you need it: singleton<C>()  using template <class X> X& singleton() { static X x; return x; }  Neither this nor Catalin's answer is automatically thread-safe in current C++, but will be in C++0x. ### How to make external HTTP requests with Node.js NodeJS supports http.request as a standard module: http://nodejs.org/docs/v0.4.11/api/http.html#http.request var http = require('http'); var options = { host: 'example.com', port: 80, path: '/foo.html' }; http.get(options, function(resp){ resp.on('data', function(chunk){ //do something with chunk }); }).on("error", function(e){ console.log("Got error: " + e.message); });  ### How can I initialize an array without knowing it size? Here is the code for your class . but this also contains lot of refactoring. Please add a for each rather than for. cheers :)  static int isLeft(ArrayList<String> left, ArrayList<String> right) { int f = 0; for (int i = 0; i < left.size(); i++) { for (int j = 0; j < right.size(); j++) { if (left.get(i).charAt(0) == right.get(j).charAt(0)) { System.out.println("Grammar is left recursive"); f = 1; } } } return f; } public static void main(String[] args) { // TODO code application logic here ArrayList<String> left = new ArrayList<String>(); ArrayList<String> right = new ArrayList<String>(); Scanner sc = new Scanner(System.in); System.out.println("enter no of prod"); int n = sc.nextInt(); for (int i = 0; i < n; i++) { System.out.println("enter left prod"); String leftText = sc.next(); left.add(leftText); System.out.println("enter right prod"); String rightText = sc.next(); right.add(rightText); } System.out.println("the productions are"); for (int i = 0; i < n; i++) { System.out.println(left.get(i) + "->" + right.get(i)); } int flag; flag = isLeft(left, right); if (flag == 1) { System.out.println("Removing left recursion"); } else { System.out.println("No left recursion"); } }  ### How to get the selected date of a MonthCalendar control in C# Using SelectionRange you will get the Start and End date. private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e) { var startDate = monthCalendar1.SelectionRange.Start.ToString("dd MMM yyyy"); var endDate = monthCalendar1.SelectionRange.End.ToString("dd MMM yyyy"); }  If you want to update the maximum number of days that can be selected, then set MaxSelectionCount property. The default is 7. // Only allow 21 days to be selected at the same time. monthCalendar1.MaxSelectionCount = 21;  ### How to write an inline IF statement in JavaScript? You don't necessarily need jQuery. JavaScript alone will do this. var a = 2; var b = 3; var c = ((a < b) ? 'minor' : 'major');  The c variable will be minor if the value is true, and major if the value is false. This is known as a Conditional (ternary) Operator. https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator ### SQL select join: is it possible to prefix all columns as 'prefix.*'? I see two possible situations here. First, you want to know if there is a SQL standard for this, that you can use in general regardless of the database. No, there is not. Second, you want to know with regard to a specific dbms product. Then you need to identify it. But I imagine the most likely answer is that you'll get back something like "a.id, b.id" since that's how you'd need to identify the columns in your SQL expression. And the easiest way to find out what the default is, is just to submit such a query and see what you get back. If you want to specify what prefix comes before the dot, you can use "SELECT * FROM a AS my_alias", for instance. ### How do I get the current mouse screen coordinates in WPF? To follow up on Rachel's answer. Here's two ways in which you can get Mouse Screen Coordinates in WPF. 1.Using Windows Forms. Add a reference to System.Windows.Forms public static Point GetMousePositionWindowsForms() { var point = Control.MousePosition; return new Point(point.X, point.Y); }  2.Using Win32 [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool GetCursorPos(ref Win32Point pt); [StructLayout(LayoutKind.Sequential)] internal struct Win32Point { public Int32 X; public Int32 Y; }; public static Point GetMousePosition() { var w32Mouse = new Win32Point(); GetCursorPos(ref w32Mouse); return new Point(w32Mouse.X, w32Mouse.Y); }  ### Datagrid binding in WPF try to do this in the behind code  public diagboxclass() { List<object> list = new List<object>(); list = GetObjectList(); Imported.ItemsSource = null; Imported.ItemsSource = list; }  Also be sure your list is effectively populated and as mentioned by Blindmeis, never use words that already are given a function in c#. ### Can I force a UITableView to hide the separator between empty cells? #### For Swift: override func viewDidLoad() { super.viewDidLoad() tableView.tableFooterView = UIView() // it's just 1 line, awesome! }  ### Import a custom class in Java If your classes are in the same package, you won't need to import. To call a method from class B in class A, you should use classB.methodName(arg) ### create table with sequence.nextval in oracle #### Oracle 12c We now finally have IDENTITY columns like many other databases, in case of which a sequence is auto-generated behind the scenes. This solution is much faster than a trigger-based one as can be seen in this blog post. So, your table creation would look like this: CREATE TABLE qname ( qname_id integer GENERATED BY DEFAULT AS IDENTITY (START WITH 1) NOT NULL PRIMARY KEY, qname VARCHAR2(4000) NOT NULL -- CONSTRAINT qname_uk UNIQUE );  #### Oracle 11g and below According to the documentation, you cannot do that: Restriction on Default Column Values A DEFAULT expression cannot contain references to PL/SQL functions or to other columns, the pseudocolumns CURRVAL, NEXTVAL, LEVEL, PRIOR, and ROWNUM, or date constants that are not fully specified. The standard way to have "auto increment" columns in Oracle is to use triggers, e.g. CREATE OR REPLACE TRIGGER my_trigger BEFORE INSERT ON qname FOR EACH ROW -- Optionally restrict this trigger to fire only when really needed WHEN (new.qname_id is null) DECLARE v_id qname.qname_id%TYPE; BEGIN -- Select a new value from the sequence into a local variable. As David -- commented, this step is optional. You can directly select into :new.qname_id SELECT qname_id_seq.nextval INTO v_id FROM DUAL; -- :new references the record that you are about to insert into qname. Hence, -- you can overwrite the value of :new.qname_id (qname.qname_id) with the value -- obtained from your sequence, before inserting :new.qname_id := v_id; END my_trigger;  Read more about Oracle TRIGGERs in the documentation ### How to get the fields in an Object via reflection? I've an object (basically a VO) in Java and I don't know its type. I need to get values which are not null in that object. Maybe you don't necessary need reflection for that -- here is a plain OO design that might solve your problem: 1. Add an interface Validation which expose a method validate which checks the fields and return whatever is appropriate. 2. Implement the interface and the method for all VO. 3. When you get a VO, even if it's concrete type is unknown, you can typecast it to Validation and check that easily. I guess that you need the field that are null to display an error message in a generic way, so that should be enough. Let me know if this doesn't work for you for some reason. ### PostgreSQL psql terminal command Use \x Example from postgres manual:  postgres=# \x postgres=# SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 3; -[ RECORD 1 ]------------------------------------------------------------ userid | 10 dbid | 63781 query | UPDATE branches SET bbalance = bbalance +$1 WHERE bid = $2; calls | 3000 total_time | 20.716706 rows | 3000 -[ RECORD 2 ]------------------------------------------------------------ userid | 10 dbid | 63781 query | UPDATE tellers SET tbalance = tbalance +$1 WHERE tid = $2; calls | 3000 total_time | 17.1107649999999 rows | 3000 -[ RECORD 3 ]------------------------------------------------------------ userid | 10 dbid | 63781 query | UPDATE accounts SET abalance = abalance +$1 WHERE aid = $2; calls | 3000 total_time | 0.645601 rows | 3000  ### Signtool error: No certificates were found that met all given criteria with a Windows Store App? With /debug, when you get this message "After Private Key filter, 0 certs were left.", one reason could be that the pfx file doesn't have the private key. When you export the installed certificate to pfx file ensure to enable the check box to also include the private key. ### Convert Numeric value to Varchar i think it should be select convert(varchar(10),StandardCost) +'S' from DimProduct where ProductKey = 212  or select cast(StandardCost as varchar(10)) + 'S' from DimProduct where ProductKey = 212  ### How print out the contents of a HashMap<String, String> in ascending order based on its values?  SmartPhone[] sp=new SmartPhone[4]; sp[0]=new SmartPhone(1,"HTC","desire","black",20000,10,true,true); sp[1]=new SmartPhone(2,"samsung","grand","black",5000,10,false,true); sp[2]=new SmartPhone(14,"google nexus","desire","black",2000,30,true,false); sp[3]=new SmartPhone(13,"HTC","desire","white",50000,40,false,false);  ### When to use references vs. pointers From C++ FAQ Lite - Use references when you can, and pointers when you have to. References are usually preferred over pointers whenever you don't need "reseating". This usually means that references are most useful in a class's public interface. References typically appear on the skin of an object, and pointers on the inside. The exception to the above is where a function's parameter or return value needs a "sentinel" reference — a reference that does not refer to an object. This is usually best done by returning/taking a pointer, and giving the NULL pointer this special significance (references must always alias objects, not a dereferenced NULL pointer). Note: Old line C programmers sometimes don't like references since they provide reference semantics that isn't explicit in the caller's code. After some C++ experience, however, one quickly realizes this is a form of information hiding, which is an asset rather than a liability. E.g., programmers should write code in the language of the problem rather than the language of the machine. ### How to search for a string in cell array in MATLAB? >> strs = {'HA' 'KU' 'LA' 'MA' 'TATA'}; >> tic; ind=find(ismember(strs,'KU')); toc  Elapsed time is 0.001976 seconds. >> tic; find(strcmp('KU', strs)); toc  Elapsed time is 0.000014 seconds. SO, clearly strcmp('KU', strs) takes much lesser time than ismember(strs,'KU') ### Fast ceiling of an integer division in C / C++ Compile with O3, The compiler performs optimization well. q = x / y; if (x % y) ++q;  ### How to count number of records per day? select DateAdded, count(CustID) from Responses WHERE DateAdded >=dateadd(day,datediff(day,0,GetDate())- 7,0) GROUP BY DateAdded  ### How do I "Add Existing Item" an entire directory structure in Visual Studio? You need to put your directory structure in your project directory. And then click "Show All Files" icon in the top of Solution Explorer toolbox. After that, the added directory will be shown up. You will then need to select this directory, right click, and choose "Include in Project." ### SQL Plus change current directory Could you use the SQLPATH environment variable to tell sqlplus where to look for the scripts you are trying to run? I believe you could use HOST to set SQLPATH in the script too. There could potentially be problems if two scripts have the same name and both directories are in the SQLPATH. ### How to show/hide an element on checkbox checked/unchecked states using jQuery? Try $(document).ready(function(){
//Register click events to all checkboxes inside question element
$(document).on('click', '.question input:checkbox', function() { //Find the next answer element to the question and based on the checked status call either show or hide method$(this).closest('.question').next('.answer')[this.checked? 'show' : 'hide']()
});

});


Demo: Fiddle

Or

$(document).ready(function(){ //Register click events to all checkboxes inside question element$(document).on('click', '.question input:checkbox', function() {
//Find the next answer element to the question and based on the checked status call either show or hide method
var answer = $(this).closest('.question').next('.answer'); if(this.checked){ answer.show(300); } else { answer.hide(300); } }); });  ### How to code a modulo (%) operator in C/C++/Obj-C that handles negative numbers Here is a C function that handles positive OR negative integer OR fractional values for BOTH OPERANDS #include <math.h> float mod(float a, float N) {return a - N*floor(a/N);} //return in range [0, N)  This is surely the most elegant solution from a mathematical standpoint. However, I'm not sure if it is robust in handling integers. Sometimes floating point errors creep in when converting int -> fp -> int. I am using this code for non-int s, and a separate function for int. NOTE: need to trap N = 0! Tester code: #include <math.h> #include <stdio.h> float mod(float a, float N) { float ret = a - N * floor (a / N); printf("%f.1 mod %f.1 = %f.1 \n", a, N, ret); return ret; } int main (char* argc, char** argv) { printf ("fmodf(-10.2, 2.0) = %f.1 == FAIL! \n\n", fmodf(-10.2, 2.0)); float x; x = mod(10.2f, 2.0f); x = mod(10.2f, -2.0f); x = mod(-10.2f, 2.0f); x = mod(-10.2f, -2.0f); return 0; }  (Note: You can compile and run it straight out of CodePad: http://codepad.org/UOgEqAMA) Output: fmodf(-10.2, 2.0) = -0.20 == FAIL! 10.2 mod 2.0 = 0.2 10.2 mod -2.0 = -1.8 -10.2 mod 2.0 = 1.8 -10.2 mod -2.0 = -0.2 ### C# : changing listbox row color? You will need to draw the item yourself. Change the DrawMode to OwnerDrawFixed and handle the DrawItem event. /// <summary> /// Handles the DrawItem event of the listBox1 control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Windows.Forms.DrawItemEventArgs"/> instance containing the event data.</param> private void listBox1_DrawItem( object sender, DrawItemEventArgs e ) { e.DrawBackground(); Graphics g = e.Graphics; // draw the background color you want // mine is set to olive, change it to whatever you want g.FillRectangle( new SolidBrush( Color.Olive), e.Bounds ); // draw the text of the list item, not doing this will only show // the background color // you will need to get the text of item to display g.DrawString( THE_LIST_ITEM_TEXT , e.Font, new SolidBrush( e.ForeColor ), new PointF( e.Bounds.X, e.Bounds.Y) ); e.DrawFocusRectangle(); }  ### Adding headers to requests module You can also do this to set a header for all future gets for the Session object, where x-test will be in all s.get() calls: s = requests.Session() s.auth = ('user', 'pass') s.headers.update({'x-test': 'true'}) # both 'x-test' and 'x-test2' are sent s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})  ### C# Create New T() Take a look at new Constraint public class MyClass<T> where T : new() { protected T GetObject() { return new T(); } }  T could be a class that does not have a default constructor: in this case new T() would be an invalid statement. The new() constraint says that T must have a default constructor, which makes new T() legal. You can apply the same constraint to a generic method: public static T GetObject<T>() where T : new() { return new T(); }  If you need to pass parameters: protected T GetObject(params object[] args) { return (T)Activator.CreateInstance(typeof(T), args); }  ### How to change value of a request parameter in laravel It work for me $request = new Request();
$request->headers->set('content-type', 'application/json');$request->initialize(['yourParam' => 2]);


check output

$queryParams =$request->query();
dd($queryParams['yourParam']); // 2  ### How to open a specific port such as 9090 in Google Compute Engine console.cloud.google.com >> select project >> Networking > VPC network >> firewalls >> create firewall. To apply the rule to VM instances, select Targets, "Specified target tags", and enter into "Target tags" the name of the tag. This tag will be used to apply the new firewall rule onto whichever instance you'd like. in "Protocols and Ports" enter tcp:9090 Click Save. ### MySQL FULL JOIN? SELECT p.LastName, p.FirstName, o.OrderNo FROM persons AS p LEFT JOIN orders AS o ON o.orderNo = p.p_id UNION ALL SELECT NULL, NULL, orderNo FROM orders WHERE orderNo NOT IN ( SELECT p_id FROM persons )  ### Write code to convert given number into words (eg 1234 as input should output one thousand two hundred and thirty four) Works for any number from 0 to 999999999. This program gets a number from the user, divides it into three parts and stores them separately in an array. The three numbers are passed through a function that convert them into words. Then it adds "million" to the first part and "thousand" to the second part. #include <iostream> using namespace std; int buffer = 0, partFunc[3] = {0, 0, 0}, part[3] = {0, 0, 0}, a, b, c, d; long input, nFake = 0; const char ones[][20] = {"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"}; const char tens[][20] = {"", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"}; void convert(int funcVar); int main() { cout << "Enter the number:"; cin >> input; nFake = input; buffer = 0; while (nFake) { part[buffer] = nFake % 1000; nFake /= 1000; buffer++; } if (buffer == 0) { cout << "Zero."; } else if (buffer == 1) { convert(part[0]); } else if (buffer == 2) { convert(part[1]); cout << " thousand,"; convert(part[0]); } else { convert(part[2]); cout << " million,"; if (part[1]) { convert(part[1]); cout << " thousand,"; } else { cout << ""; } convert(part[0]); } system("pause"); return (0); } void convert(int funcVar) { buffer = 0; if (funcVar >= 100) { a = funcVar / 100; b = funcVar % 100; if (b) cout << " " << ones[a] << " hundred and"; else cout << " " << ones[a] << " hundred "; if (b < 20) cout << " " << ones[b]; else { c = b / 10; cout << " " << tens[c]; d = b % 10; cout << " " << ones[d]; } } else { b = funcVar; if (b < 20) cout << ones[b]; else { c = b / 10; cout << tens[c]; d = b % 10; cout << " " << ones[d]; } } }  ### How to get time in milliseconds since the unix epoch in Javascript? Date.now() returns a unix timestamp in milliseconds. _x000D_ _x000D_ const now = Date.now(); // Unix timestamp in milliseconds_x000D_ console.log( now ); _x000D_ _x000D_ _x000D_ Prior to ECMAScript5 (I.E. Internet Explorer 8 and older) you needed to construct a Date object, from which there are several ways to get a unix timestamp in milliseconds: _x000D_ _x000D_ console.log( +new Date );_x000D_ console.log( (new Date).getTime() );_x000D_ console.log( (new Date).valueOf() ); _x000D_ _x000D_ _x000D_ ### ERROR 1115 (42000): Unknown character set: 'utf8mb4' Open your mysql file any edit tool find /*!40101 SET NAMES utf8mb4 */; change /*!40101 SET NAMES utf8 */; Save and upload ur mysql. ### Possible to iterate backwards through a foreach? When working with a list (direct indexing), you cannot do it as efficiently as using a for loop. Edit: Which generally means, when you are able to use a for loop, it's likely the correct method for this task. Plus, for as much as foreach is implemented in-order, the construct itself is built for expressing loops that are independent of element indexes and iteration order, which is particularly important in parallel programming. It is my opinion that iteration relying on order should not use foreach for looping. ### How to abort makefile if variable not set? Use the shell function test: foo: test$(something)


Usage:

$make foo test Makefile:2: recipe for target 'foo' failed make: *** [foo] Error 1$ make foo something=x
test x


### Getting assembly name

You can use the AssemblyName class to get the assembly name, provided you have the full name for the assembly:

AssemblyName.GetAssemblyName(Assembly.GetExecutingAssembly().FullName).Name


or

AssemblyName.GetAssemblyName(e.Source).Name


MSDN Reference - AssemblyName Class

### How to center align the ActionBar title in Android?

For Kotlin users:

Use the following code in your activity:

// Set custom action bar
supportActionBar?.displayOptions = ActionBar.DISPLAY_SHOW_CUSTOM
supportActionBar?.setCustomView(R.layout.action_bar)

// Set title for action bar
val title = findViewById<TextView>(R.id.titleTextView)
title.setText(resources.getText(R.string.app_name))


And the XML/ resource layout:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/titleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textColor="@color/black"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>


### Change the icon of the exe file generated from Visual Studio 2010

Check the project properties. It's configurable there if you are using another .net windows application for example

### CSS3 transitions inside jQuery .css()

Step 1) Remove the semi-colon, it's an object you're creating...

a(this).next().css({
left       : c,
transition : 'opacity 1s ease-in-out';
});


to

a(this).next().css({
left       : c,
transition : 'opacity 1s ease-in-out'
});


Step 2) Vendor-prefixes... no browsers use transition since it's the standard and this is an experimental feature even in the latest browsers:

a(this).next().css({
left             : c,
WebkitTransition : 'opacity 1s ease-in-out',
MozTransition    : 'opacity 1s ease-in-out',
MsTransition     : 'opacity 1s ease-in-out',
OTransition      : 'opacity 1s ease-in-out',
transition       : 'opacity 1s ease-in-out'
});


Here is a demo: http://jsfiddle.net/83FsJ/

Step 3) Better vendor-prefixes... Instead of adding tons of unnecessary CSS to elements (that will just be ignored by the browser) you can use jQuery to decide what vendor-prefix to use:

$('a').on('click', function () { var myTransition = ($.browser.webkit)  ? '-webkit-transition' :
($.browser.mozilla) ? '-moz-transition' : ($.browser.msie)    ? '-ms-transition' :
($.browser.opera) ? '-o-transition' : 'transition', myCSSObj = { opacity : 1 }; myCSSObj[myTransition] = 'opacity 1s ease-in-out';$(this).next().css(myCSSObj);
});?


Here is a demo: http://jsfiddle.net/83FsJ/1/

Also note that if you specify in your transition declaration that the property to animate is opacity, setting a left property won't be animated.

### How can I run dos2unix on an entire directory?

I've googled this like a million times, so my solution is to just put this bash function in your environment.

.bashrc or .profile or whatever

dos2unixd() {
find $1 -type f -print0 | xargs -0 dos2unix }  Usage $ dos2unixd ./somepath

This way you still have the original command dos2unix and it's easy to remember this one dos2unixd.

### Populating spinner directly in the layout xml

In regards to the first comment: If you do this you will get an error(in Android Studio). This is in regards to it being out of the Android namespace. If you don't know how to fix this error, check the example out below. Hope this helps!

Example -Before :

<string-array name="roomSize">
<item>Small(0-4)</item>
<item>Medium(4-8)</item>
<item>Large(9+)</item>
</string-array>


Example - After:

<string-array android:name="roomSize">
<item>Small(0-4)</item>
<item>Medium(4-8)</item>
<item>Large(9+)</item>
</string-array>


### Error in <my code> : object of type 'closure' is not subsettable

In general this error message means that you have tried to use indexing on a function. You can reproduce this error message with, for example

mean[1]
## Error in mean[1] : object of type 'closure' is not subsettable
mean[[1]]
## Error in mean[[1]] : object of type 'closure' is not subsettable
mean$a ## Error in mean$a : object of type 'closure' is not subsettable


The closure mentioned in the error message is (loosely) the function and the environment that stores the variables when the function is called.

In this specific case, as Joshua mentioned, you are trying to access the url function as a variable. If you define a variable named url, then the error goes away.

As a matter of good practise, you should usually avoid naming variables after base-R functions. (Calling variables data is a common source of this error.)

There are several related errors for trying to subset operators or keywords.

+[1]
## Error in +[1] : object of type 'builtin' is not subsettable
if[1]
## Error in if[1] : object of type 'special' is not subsettable


If you're running into this problem in shiny, the most likely cause is that you're trying to work with a reactive expression without calling it as a function using parentheses.

library(shiny)
reactive_df <- reactive({
data.frame(col1 = c(1,2,3),
col2 = c(4,5,6))
})


While we often work with reactive expressions in shiny as if they were data frames, they are actually functions that return data frames (or other objects).

isolate({
print(reactive_df())
print(reactive_df()$col1) }) col1 col2 1 1 4 2 2 5 3 3 6 [1] 1 2 3  But if we try to subset it without parentheses, then we're actually trying to index a function, and we get an error: isolate( reactive_df$col1
)
Error in reactive_df$col1 : object of type 'closure' is not subsettable  ### How to merge remote master to local branch Switch to your local branch > git checkout configUpdate Merge remote master to your branch > git rebase master configUpdate In case you have any conflicts, correct them and for each conflicted file do the command > git add [path_to_file/conflicted_file] (e.g. git add app/assets/javascripts/test.js) Continue rebase > git rebase --continue ### How do I reset a sequence in Oracle? Here's how to make all auto-increment sequences match actual data: 1. Create a procedure to enforce next value as was already described in this thread: CREATE OR REPLACE PROCEDURE Reset_Sequence( P_Seq_Name IN VARCHAR2, P_Val IN NUMBER DEFAULT 0) IS L_Current NUMBER := 0; L_Difference NUMBER := 0; L_Minvalue User_Sequences.Min_Value%Type := 0; BEGIN SELECT Min_Value INTO L_Minvalue FROM User_Sequences WHERE Sequence_Name = P_Seq_Name; EXECUTE Immediate 'select ' || P_Seq_Name || '.nextval from dual' INTO L_Current; IF P_Val < L_Minvalue THEN L_Difference := L_Minvalue - L_Current; ELSE L_Difference := P_Val - L_Current; END IF; IF L_Difference = 0 THEN RETURN; END IF; EXECUTE Immediate 'alter sequence ' || P_Seq_Name || ' increment by ' || L_Difference || ' minvalue ' || L_Minvalue; EXECUTE Immediate 'select ' || P_Seq_Name || '.nextval from dual' INTO L_Difference; EXECUTE Immediate 'alter sequence ' || P_Seq_Name || ' increment by 1 minvalue ' || L_Minvalue; END Reset_Sequence;  2. Create another procedure to reconcile all sequences with actual content: CREATE OR REPLACE PROCEDURE RESET_USER_SEQUENCES_TO_DATA IS STMT CLOB; BEGIN SELECT 'select ''BEGIN'' || chr(10) || x || chr(10) || ''END;'' FROM (select listagg(x, chr(10)) within group (order by null) x FROM (' || X || '))' INTO STMT FROM (SELECT LISTAGG(X, ' union ') WITHIN GROUP ( ORDER BY NULL) X FROM (SELECT CHR(10) || 'select ''Reset_Sequence(''''' || SEQ_NAME || ''''','' || coalesce(max(' || COL_NAME || '), 0) || '');'' x from ' || TABLE_NAME X FROM (SELECT TABLE_NAME, REGEXP_SUBSTR(WTEXT, 'NEW\.(\S*) IS NULL',1,1,'i',1) COL_NAME, REGEXP_SUBSTR(BTEXT, '(\.|\s)([a-z_]*)\.nextval',1,1,'i',2) SEQ_NAME FROM USER_TRIGGERS LEFT JOIN (SELECT NAME BNAME, TEXT BTEXT FROM USER_SOURCE WHERE TYPE = 'TRIGGER' AND UPPER(TEXT) LIKE '%NEXTVAL%' ) ON BNAME = TRIGGER_NAME LEFT JOIN (SELECT NAME WNAME, TEXT WTEXT FROM USER_SOURCE WHERE TYPE = 'TRIGGER' AND UPPER(TEXT) LIKE '%IS NULL%' ) ON WNAME = TRIGGER_NAME WHERE TRIGGER_TYPE = 'BEFORE EACH ROW' AND TRIGGERING_EVENT = 'INSERT' ) ) ) ; EXECUTE IMMEDIATE STMT INTO STMT; --dbms_output.put_line(stmt); EXECUTE IMMEDIATE STMT; END RESET_USER_SEQUENCES_TO_DATA;  NOTES: 1. Procedure extracts names from trigger code and does not depend on naming conventions 2. To check generated code before execution, switch comments on last two lines ### Owl Carousel, making custom navigation You can use a JS and SCSS/Fontawesome combination for the Prev/Next buttons. In your JS (this includes screenreader only/accessibility classes with Zurb Foundation): $('.whatever-carousel').owlCarousel({
... ...
navText: ["<span class='show-for-sr'>Previous</span>","<span class='show-for-sr'>Next</span>"]
... ...
})


.owl-theme {

.owl-nav {
.owl-prev,
.owl-next {
font-family: FontAwesome;
transition: all, .2s, ease;
}
.owl-prev {
&::before {
content: "\f104";
}
}
.owl-next {
&::before {
content: "\f105";
}
}
}
}


For the FontAwesome font-family I happen to use the embed code in the document header:

<script src="//use.fontawesome.com/123456whatever.js"></script>


There are various ways to include FA, strokes/folks, but I find this is pretty fast and as I'm using webpack I can just about live with that 1 extra js server call.

And to update this - there's also this JS option for slightly more complex arrows, still with accessibility in mind:

$('.whatever-carousel').owlCarousel({ navText: ["<span class=\"fa-stack fa-lg\" aria-hidden=\"true\"><span class=\"show-for-sr\">Previous</span><i class=\"fa fa-circle fa-stack-2x\"></i><i class=\"fa fa-chevron-left fa-stack-1x fa-inverse\" aria-hidden=\"true\"></i></span>","<span class=\"fa-stack fa-lg\" aria-hidden=\"true\"><span class=\"show-for-sr\">Next</span><i class=\"fa fa-circle fa-stack-2x\"></i><i class=\"fa fa-chevron-right fa-stack-1x fa-inverse\" aria-hidden=\"true\"></i></span>"] })  Loads of escaping there, use single quotes instead if preferred. And in the SCSS just comment out the ::before attrs: .owl-prev { //&::before { content: "\f104"; } } .owl-next { //&::before { content: "\f105"; } }  ### Validating URL in Java For the benefit of the community, since this thread is top on Google when searching for "url validator java" Catching exceptions is expensive, and should be avoided when possible. If you just want to verify your String is a valid URL, you can use the UrlValidator class from the Apache Commons Validator project. For example: String[] schemes = {"http","https"}; // DEFAULT schemes = "http", "https", "ftp" UrlValidator urlValidator = new UrlValidator(schemes); if (urlValidator.isValid("ftp://foo.bar.com/")) { System.out.println("URL is valid"); } else { System.out.println("URL is invalid"); }  ### How do I create a new branch? Branches in SVN are essentially directories; you don't name the branch so much as choose the name of the directory to branch into. The common way of 'naming' a branch is to place it under a directory called branches in your repository. In the "To URL:" portion of TortoiseSVN's Branch dialog, you would therefore enter something like: (svn/http)://path-to-repo/branches/your-branch-name  The main branch of a project is referred to as the trunk, and is usually located in: (svn/http)://path-to-repo/trunk  ### How to install the Six module in Python2.7 here's what six is: pip search six six - Python 2 and 3 compatibility utilities  to install: pip install six  though if you did install python-dateutil from pip six should have been set as a dependency. N.B.: to install pip run easy_install pip from command line. ### Apply function to pandas groupby Regarding the issue with 'size', size is not a function on a dataframe, it is rather a property. So instead of using size(), plain size should work Apart from that, a method like this should work  def doCalculation(df): groupCount = df.size groupSum = df['my_labels'].notnull().sum() return groupCount / groupSum dataFrame.groupby('my_labels').apply(doCalculation)  ### Align DIV to bottom of the page Try position:fixed; bottom:0;. This will make your div to stay fixed at the bottom. WORKING DEMO The HTML: <div id="bottom-stuff"> <div id="search"> MY DIV </div> </div> <div id="bottom"> MY DIV </div>  The CSS: #bottom-stuff { position: relative; } #bottom{ position: fixed; background:gray; width:100%; bottom:0; } #search{height:5000px; overflow-y:scroll;}  Hope this helps. ### How do we check if a pointer is NULL pointer? The actual representation of a null pointer is irrelevant here. An integer literal with value zero (including 0 and any valid definition of NULL) can be converted to any pointer type, giving a null pointer, whatever the actual representation. So p != NULL, p != 0 and p are all valid tests for a non-null pointer. You might run into problems with non-zero representations of the null pointer if you wrote something twisted like p != reinterpret_cast<void*>(0), so don't do that. Although I've just noticed that your question is tagged C as well as C++. My answer refers to C++, and other languages may be different. Which language are you using? ### At least one JAR was scanned for TLDs yet contained no TLDs For anyone trying to get this working using the Sysdeo Eclipse Tomcat plugin, try the following steps (I used Sysdeo Tomcat Plugin 3.3.0, Eclipse Kepler, and Tomcat 7.0.53 to construct these steps): 1. Window --> Preferences --> Expand the Tomcat node in the tree --> JVM Settings 2. Under "Append to JVM Parameters", click the "Add" button. 3. In the "New Tomcat JVM parameter" popup, enter -Djava.util.logging.config.file="{TOMCAT_HOME}\conf\logging.properties", where {TOMCAT_HOME} is the path to your Tomcat directory (example: C:\Tomcat\apache-tomcat-7.0.53\conf\logging.properties). Click OK. 4. Under "Append to JVM Parameters", click the "Add" button again. 5. In the "New Tomcat JVM parameter" popup, enter -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager. Click OK. 6. Click OK in the Preferences window. 7. Make the adjustments to the {TOMCAT_HOME}\conf\logging.properties file as specified in the question above. 8. The next time you start Tomcat in Eclipse, you should see the scanned .jars listed in the Eclipse Console instead of the "Enable debug logging for this logger" message. The information should also be logged in {TOMCAT_HOME}\logs\catalina.yyyy-mm-dd.log. ### How to get the current URL within a Django template? You can get the url without parameters by using {{request.path}} You can get the url with parameters by using {{request.get_full_path}} ### How to determine total number of open/active connections in ms sql server 2005 This shows the number of connections per each DB: SELECT DB_NAME(dbid) as DBName, COUNT(dbid) as NumberOfConnections, loginame as LoginName FROM sys.sysprocesses WHERE dbid > 0 GROUP BY dbid, loginame  And this gives the total: SELECT COUNT(dbid) as TotalConnections FROM sys.sysprocesses WHERE dbid > 0  If you need more detail, run: sp_who2 'Active'  Note: The SQL Server account used needs the 'sysadmin' role (otherwise it will just show a single row and a count of 1 as the result) ### How do you declare an interface in C++? To expand on the answer by bradtgmurray, you may want to make one exception to the pure virtual method list of your interface by adding a virtual destructor. This allows you to pass pointer ownership to another party without exposing the concrete derived class. The destructor doesn't have to do anything, because the interface doesn't have any concrete members. It might seem contradictory to define a function as both virtual and inline, but trust me - it isn't. class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; }; class Parent { public: virtual ~Parent(); }; class Child : public Parent, public IDemo { public: virtual void OverrideMe() { //do stuff } };  You don't have to include a body for the virtual destructor - it turns out some compilers have trouble optimizing an empty destructor and you're better off using the default. ### Entity Framework - Include Multiple Levels of Properties I made a little helper for Entity Framework 6 (.Net Core style), to include sub-entities in a nice way. It is on NuGet now : Install-Package ThenInclude.EF6 using System.Data.Entity; var thenInclude = context.One.Include(x => x.Twoes) .ThenInclude(x=> x.Threes) .ThenInclude(x=> x.Fours) .ThenInclude(x=> x.Fives) .ThenInclude(x => x.Sixes) .Include(x=> x.Other) .ToList();  The package is available on GitHub. ### What does 'stale file handle' in Linux mean? When the directory is deleted, the inode for that directory (and the inodes for its contents) are recycled. The pointer your shell has to that directory's inode (and its contents's inodes) are now no longer valid. When the directory is restored from backup, the old inodes are not (necessarily) reused; the directory and its contents are stored on random inodes. The only thing that stays the same is that the parent directory reuses the same name for the restored directory (because you told it to). Now if you attempt to access the contents of the directory that your original shell is still pointing to, it communicates that request to the file system as a request for the original inode, which has since been recycled (and may even be in use for something entirely different now). So you get a stale file handle message because you asked for some nonexistent data. When you perform a cd operation, the shell reevaluates the inode location of whatever destination you give it. Now that your shell knows the new inode for the directory (and the new inodes for its contents), future requests for its contents will be valid. ### When is assembly faster than C? I used to work with somebody who said "if the compiler is to dumb to figure out what you are trying to do and can't optimize it, your compiler is broken and it is time to get a new one". I'm sure there are edge cases when assembly will beat your C code, but if you are often finding yourself using assembler to "win" over your compiler, your compiler is busted. Same can be said for writing "optimized" SQL that tries to coerce the query planner into doing things. If you find yourself re-arranging queries to get the planner to do what you want, your query planner is busted--get a new one. ### Stop form from submitting , Using Jquery use this too : if(e.preventDefault) e.preventDefault(); else e.returnValue = false;  Becoz e.preventDefault() is not supported in IE( some versions ). In IE it is e.returnValue = false ### How to initialize log4j properly? Log4j by default looks for a file called log4j.properties or log4j.xml on the classpath. You can control which file it uses to initialize itself by setting system properties as described here (Look for the "Default Initialization Procedure" section). For example: java -Dlog4j.configuration=customName ....  Will cause log4j to look for a file called customName on the classpath. If you are having problems I find it helpful to turn on the log4j.debug: -Dlog4j.debug  It will print to System.out lots of helpful information about which file it used to initialize itself, which loggers / appenders got configured and how etc. The configuration file can be a java properties file or an xml file. Here is a sample of the properties file format taken from the log4j intro documentation page: log4j.rootLogger=debug, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name and line number. log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=example.log log4j.appender.R.MaxFileSize=100KB # Keep one backup file log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n  ### Meaning of numbers in "col-md-4"," col-xs-1", "col-lg-2" in Bootstrap The main point is this: col-lg-* col-md-* col-xs-* col-sm define how many columns will there be in these different screen sizes. Example: if you want there to be two columns in desktop screens and in phone screens you put two col-md-6 and two col-xs-6 classes in your columns. If you want there to be two columns in desktop screens and only one column in phone screens (ie two rows stacked on top of each other) you put two col-md-6 and two col-xs-12 in your columns and because sum will be 24 they will auto stack on top of each other, or just leave xs style out. ### How to convert .crt to .pem I found the OpenSSL answer given above didn't work for me, but the following did, working with a CRT file sourced from windows. openssl x509 -inform DER -in yourdownloaded.crt -out outcert.pem -text  ### How to order citations by appearance using BibTeX? Just a brief note - I'm using a modified version of plain.bst sitting in the directory with my Latex files; it turns out having sorting by order of appearance is a relatively easy change; just find the piece of code: ... ITERATE {presort} SORT ...  ... and comment it - I turned it to: ... %% % avoid sort: %% ITERATE {presort} %% %% SORT ...  ... and then, after running bibtex, pdflatex, pdflatex - the citations will be sorted by order of appearance (that is, they will be unsorted :) ). Cheers! EDIT: just realized that what I wrote is actually in the comment by @ChrisN: "can you edit it to remove the SORT command" ;) ### Pushing from local repository to GitHub hosted remote Type git push  from the command line inside the repository directory ### powershell mouse move does not prevent idle mode The solution from the blog Prevent desktop lock or screensaver with PowerShell is working for me. Here is the relevant script, which simply sends a single period to the shell: param($minutes = 60)

$myshell = New-Object -com "Wscript.Shell" for ($i = 0; $i -lt$minutes; $i++) { Start-Sleep -Seconds 60$myshell.sendkeys(".")
}


and an alternative from the comments, which moves the mouse a single pixel:

$Pos = [System.Windows.Forms.Cursor]::Position [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point((($Pos.X) + 1) , $Pos.Y)$Pos = [System.Windows.Forms.Cursor]::Position
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point((($Pos.X) - 1) ,$Pos.Y)


### java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused

If you are using localhost in your url and testing your application in emulator , simply you can replace system's ip address for localhost in the URL.or you can use 10.0.2.2 instead of localhost.

http://localhost/webservice.php to http://10.218.28.19/webservice.php

Where 10.218.28.19 -> System's IP Address.

or

http://localhost/webservice.php to http://10.0.2.2/webservice.php

### In python, how do I cast a class object to a dict

Like many others, I would suggest implementing a to_dict() function rather than (or in addition to) allowing casting to a dictionary. I think it makes it more obvious that the class supports that kind of functionality. You could easily implement such a method like this:

def to_dict(self):
class_vars = vars(MyClass)  # get any "default" attrs defined at the class level
inst_vars = vars(self)  # get any attrs defined on the instance (self)
all_vars = dict(class_vars)
all_vars.update(inst_vars)
# filter out private attributes
public_vars = {k: v for k, v in all_vars.items() if not k.startswith('_')}
return public_vars


### Load a bitmap image into Windows Forms using open file dialog

private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
pictureBox1.Image = Bitmap.FromFile(open.FileName);
}


### How to style the option of an html "select" element?

No, it's not possible, as the styling for these elements is handled by the user's OS. MSDN will answer your question here:

Except for background-color and color, style settings applied through the style object for the option element are ignored.

### How to play a local video with Swift?

U can setup AVPlayer in another way, that open for u full customization of your video Player screen

Swift 2.3

1. Create UIView subclass for playing video (basically u can use any UIView object and only needed is AVPlayerLayer. I setup in this way because it much clearer for me)

import AVFoundation
import UIKit

class PlayerView: UIView {

override class func layerClass() -> AnyClass {
return AVPlayerLayer.self
}

var player:AVPlayer? {
set {
if let layer = layer as? AVPlayerLayer {
layer.player = player
}
}
get {
if let layer = layer as? AVPlayerLayer {
return layer.player
} else {
return nil
}
}
}
}


import AVFoundation
import Foundation

protocol VideoPlayerDelegate {
func didUpdateProgress(progress:Double)
func didFinishPlayItem()
func didFailPlayToEnd()
}

let videoContext:UnsafeMutablePointer<Void> = nil

class VideoPlayer : NSObject {

private var assetPlayer:AVPlayer?
private var playerItem:AVPlayerItem?
private var urlAsset:AVURLAsset?
private var videoOutput:AVPlayerItemVideoOutput?

private var assetDuration:Double = 0
private var playerView:PlayerView?

private var autoRepeatPlay:Bool = true
private var autoPlay:Bool = true

var delegate:VideoPlayerDelegate?

var playerRate:Float = 1 {
didSet {
if let player = assetPlayer {
player.rate = playerRate > 0 ? playerRate : 0.0
}
}
}

var volume:Float = 1.0 {
didSet {
if let player = assetPlayer {
player.volume = volume > 0 ? volume : 0.0
}
}
}

// MARK: - Init

convenience init(urlAsset:NSURL, view:PlayerView, startAutoPlay:Bool = true, repeatAfterEnd:Bool = true) {
self.init()

playerView = view
autoPlay = startAutoPlay
autoRepeatPlay = repeatAfterEnd

if let playView = playerView, let playerLayer = playView.layer as? AVPlayerLayer {
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
}
initialSetupWithURL(urlAsset)
prepareToPlay()
}

override init() {
super.init()
}

// MARK: - Public

func isPlaying() -> Bool {
if let player = assetPlayer {
return player.rate > 0
} else {
return false
}
}

func seekToPosition(seconds:Float64) {
if let player = assetPlayer {
pause()
if let timeScale = player.currentItem?.asset.duration.timescale {
player.seekToTime(CMTimeMakeWithSeconds(seconds, timeScale), completionHandler: { (complete) in
self.play()
})
}
}
}

func pause() {
if let player = assetPlayer {
player.pause()
}
}

func play() {
if let player = assetPlayer {
player.play()
player.rate = playerRate
}
}
}

func cleanUp() {
if let item = playerItem {
item.removeObserver(self, forKeyPath: "status")
}
assetPlayer = nil
playerItem = nil
urlAsset = nil
}

// MARK: - Private

private func prepareToPlay() {
let keys = ["tracks"]
if let asset = urlAsset {
dispatch_async(dispatch_get_main_queue(), {
})
})
}
}

var error:NSError?
guard let asset = urlAsset else {return}
let status:AVKeyValueStatus = asset.statusOfValueForKey("tracks", error: &error)

assetDuration = CMTimeGetSeconds(asset.duration)

let videoOutputOptions = [kCVPixelBufferPixelFormatTypeKey as String : Int(kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange)]
videoOutput = AVPlayerItemVideoOutput(pixelBufferAttributes: videoOutputOptions)
playerItem = AVPlayerItem(asset: asset)

if let item = playerItem {
item.addObserver(self, forKeyPath: "status", options: .Initial, context: videoContext)

if let output = videoOutput {

item.audioTimePitchAlgorithm = AVAudioTimePitchAlgorithmVarispeed
assetPlayer = AVPlayer(playerItem: item)

if let player = assetPlayer {
player.rate = playerRate
}

if let playView = playerView, let layer = playView.layer as? AVPlayerLayer {
layer.player = assetPlayer
print("player created")
}
}
}
}
}

let timeInterval = CMTimeMake(1, 1)

if let player = assetPlayer {
player.addPeriodicTimeObserverForInterval(timeInterval, queue: dispatch_get_main_queue(), usingBlock: { (time) in
self.playerDidChangeTime(time)
})
}
}

private func playerDidChangeTime(time:CMTime) {
if let player = assetPlayer {
let timeNow = CMTimeGetSeconds(player.currentTime())
let progress = timeNow / assetDuration

delegate?.didUpdateProgress(progress)
}
}

@objc private func playerItemDidReachEnd() {
delegate?.didFinishPlayItem()

if let player = assetPlayer {
player.seekToTime(kCMTimeZero)
if autoRepeatPlay == true {
play()
}
}
}

@objc private func didFailedToPlayToEnd() {
delegate?.didFailPlayToEnd()
}

private func playerDidChangeStatus(status:AVPlayerStatus) {
if status == .Failed {
} else if status == .ReadyToPlay, let player = assetPlayer {
volume = player.volume

if autoPlay == true && player.rate == 0.0 {
play()
}
}
}

var maximum:NSTimeInterval = 0
for value in ranges {
let range:CMTimeRange = value.CMTimeRangeValue
let currentLoadedTimeRange = CMTimeGetSeconds(range.start) + CMTimeGetSeconds(range.duration)
}
}
let progress:Double = assetDuration == 0 ? 0.0 : Double(maximum) / assetDuration

}

deinit {
cleanUp()
}

private func initialSetupWithURL(url:NSURL) {
let options = [AVURLAssetPreferPreciseDurationAndTimingKey : true]
urlAsset = AVURLAsset(URL: url, options: options)
}

// MARK: - Observations

override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if context == videoContext {
if let key = keyPath {
if key == "status", let player = assetPlayer {
playerDidChangeStatus(player.status)
} else if key == "loadedTimeRanges", let item = playerItem {
}
}
}
}

}

3. Usage:

assume u have view

@IBOutlet private weak var playerView: PlayerView!
private var videoPlayer:VideoPlayer?


and in viewDidLoad()

    private func preparePlayer() {
if let filePath = NSBundle.mainBundle().pathForResource("intro", ofType: "m4v") {
let fileURL = NSURL(fileURLWithPath: filePath)
videoPlayer = VideoPlayer(urlAsset: fileURL, view: playerView)
if let player = videoPlayer {
player.playerRate = 0.67
}
}
}


Objective-C

PlayerView.h

    #import <AVFoundation/AVFoundation.h>
#import <UIKit/UIKit.h>

/*!
@class PlayerView
@discussion Represent View for playinv video. Layer - PlayerLayer
@availability iOS 7 and Up
*/
@interface PlayerView : UIView

/*!
@var player
@discussion Player object
*/
@property (strong, nonatomic) AVPlayer *player;

@end


PlayerView.m

    #import "PlayerView.h"

@implementation PlayerView

#pragma mark - LifeCycle

+ (Class)layerClass
{
return [AVPlayerLayer class];
}

#pragma mark - Setter/Getter

- (AVPlayer*)player
{
return [(AVPlayerLayer *)[self layer] player];
}

- (void)setPlayer:(AVPlayer *)player
{
[(AVPlayerLayer *)[self layer] setPlayer:player];
}

@end


VideoPlayer.h

    #import <AVFoundation/AVFoundation.h>
#import <UIKit/UIKit.h>
#import "PlayerView.h"

/*!
@protocol VideoPlayerDelegate
@discussion Events from VideoPlayer
*/
@protocol VideoPlayerDelegate <NSObject>

@optional

/*!
@brief Called whenever time when progress of played item changed
@param progress
Playing progress
*/
- (void)progressDidUpdate:(CGFloat)progress;

/*!
@param progress
Playing progress
*/

/*!
@brief Called when playing time changed
@param time
Playing progress
*/
- (void)progressTimeChanged:(CMTime)time;

/*!
@brief Called when player finish play item
*/
- (void)playerDidPlayItem;

/*!
@brief Called when player ready to play item
*/

@end

/*!
@class VideoPlayer
@discussion Video Player
@code
self.videoPlayer = [[VideoPlayer alloc] initVideoPlayerWithURL:someURL playerView:self.playerView];
[self.videoPlayer prepareToPlay];
self.videoPlayer.delegate = self; //optional

//after when required play item
[self.videoPlayer play];
@endcode
*/
@interface VideoPlayer : NSObject

/*!
@var delegate
@abstract Delegate for VideoPlayer
@discussion Set object to this property for getting response and notifications from this class
*/
@property (weak, nonatomic) id <VideoPlayerDelegate> delegate;

/*!
@var volume
@discussion volume of played asset
*/
@property (assign, nonatomic) CGFloat volume;

/*!
@var autoRepeat
@discussion indicate whenever player should repeat content on finish playing
*/
@property (assign, nonatomic) BOOL autoRepeat;

/*!
@brief Create player with asset URL
@param urlAsset
Source URL
@result
instance of VideoPlayer
*/
- (instancetype)initVideoPlayerWithURL:(NSURL *)urlAsset;

/*!
@brief Create player with asset URL and configure selected view for showing result
@param urlAsset
Source URL
@param view
View on wchich result will be showed
@result
instance of VideoPlayer
*/
- (instancetype)initVideoPlayerWithURL:(NSURL *)urlAsset playerView:(PlayerView *)view;

/*!
@brief Call this method after creating player to prepare player to play
*/
- (void)prepareToPlay;

/*!
@brief Play item
*/
- (void)play;
/*!
@brief Pause item
*/
- (void)pause;
/*!
@brief Stop item
*/
- (void)stop;

/*!
@brief Seek required position in item and pla if rquired
@param progressValue
% of position to seek
@param isPlaying
YES if player should start to play item implicity
*/
- (void)seekPositionAtProgress:(CGFloat)progressValue withPlayingStatus:(BOOL)isPlaying;

/*!
@brief Player state
@result
YES - if playing, NO if not playing
*/
- (BOOL)isPlaying;

/*!
@brief Indicate whenever player can provide CVPixelBufferRef frame from item
@result
YES / NO
*/
- (BOOL)canProvideFrame;

/*!
@brief CVPixelBufferRef frame from item
@result
CVPixelBufferRef frame
*/
- (CVPixelBufferRef)getCurrentFramePicture;

@end


VideoPlayer.m

    #import "VideoPlayer.h"

typedef NS_ENUM(NSUInteger, InternalStatus) {
InternalStatusPreparation,
};

static const NSString *ItemStatusContext;

@interface VideoPlayer()

@property (strong, nonatomic) AVPlayer *assetPlayer;
@property (strong, nonatomic) AVPlayerItem *playerItem;
@property (strong, nonatomic) AVURLAsset *urlAsset;
@property (strong, atomic) AVPlayerItemVideoOutput *videoOutput;

@property (assign, nonatomic) CGFloat assetDuration;
@property (strong, nonatomic) PlayerView *playerView;

@property (assign, nonatomic) InternalStatus status;

@end

@implementation VideoPlayer

#pragma mark - LifeCycle

- (instancetype)initVideoPlayerWithURL:(NSURL *)urlAsset
{
if (self = [super init]) {
[self initialSetupWithURL:urlAsset];
}
return self;
}

- (instancetype)initVideoPlayerWithURL:(NSURL *)urlAsset playerView:(PlayerView *)view
{
if (self = [super init]) {
((AVPlayerLayer *)view.layer).videoGravity = AVLayerVideoGravityResizeAspectFill;
[self initialSetupWithURL:urlAsset playerView:view];
}
return self;
}

#pragma mark - Public

- (void)play
{
if ((self.assetPlayer.currentItem) && (self.assetPlayer.currentItem.status == AVPlayerItemStatusReadyToPlay)) {
[self.assetPlayer play];
}
}

- (void)pause
{
[self.assetPlayer pause];
}

- (void)seekPositionAtProgress:(CGFloat)progressValue withPlayingStatus:(BOOL)isPlaying
{
[self.assetPlayer pause];
int32_t timeScale = self.assetPlayer.currentItem.asset.duration.timescale;

__weak typeof(self) weakSelf = self;
[self.assetPlayer seekToTime:CMTimeMakeWithSeconds(progressValue, timeScale) completionHandler:^(BOOL finished) {
DLog(@"SEEK To time %f - success", progressValue);
if (isPlaying && finished) {
[weakSelf.assetPlayer play];
}
}];
}

- (void)setPlayerVolume:(CGFloat)volume
{
self.assetPlayer.volume = volume > .0 ? MAX(volume, 0.7) : 0.0f;
[self.assetPlayer play];
}

- (void)setPlayerRate:(CGFloat)rate
{
self.assetPlayer.rate = rate > .0 ? rate : 0.0f;
}

- (void)stop
{
[self.assetPlayer seekToTime:kCMTimeZero];
self.assetPlayer.rate =.0f;
}

- (BOOL)isPlaying
{
return self.assetPlayer.rate > 0 ? YES : NO;
}

#pragma mark - Private

- (void)initialSetupWithURL:(NSURL *)url
{
self.status = InternalStatusPreparation;
[self setupPlayerWithURL:url];
}

- (void)initialSetupWithURL:(NSURL *)url playerView:(PlayerView *)view
{
[self setupPlayerWithURL:url];
self.playerView = view;
}

- (void)setupPlayerWithURL:(NSURL *)url
{
NSDictionary *assetOptions = @{ AVURLAssetPreferPreciseDurationAndTimingKey : @YES };
self.urlAsset = [AVURLAsset URLAssetWithURL:url options:assetOptions];
}

- (void)prepareToPlay
{
NSArray *keys = @[@"tracks"];
__weak VideoPlayer *weakSelf = self;
dispatch_async(dispatch_get_main_queue(), ^{
});
}];
}

{
NSError *error;
AVKeyValueStatus status = [self.urlAsset statusOfValueForKey:@"tracks" error:&error];
self.assetDuration = CMTimeGetSeconds(self.urlAsset.duration);
NSDictionary* videoOutputOptions = @{ (id)kCVPixelBufferPixelFormatTypeKey : @(kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange)};
self.videoOutput = [[AVPlayerItemVideoOutput alloc] initWithPixelBufferAttributes:videoOutputOptions];
self.playerItem = [AVPlayerItem playerItemWithAsset: self.urlAsset];

forKeyPath:@"status"
options:NSKeyValueObservingOptionInitial
context:&ItemStatusContext];
options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld
context:&ItemStatusContext];
selector:@selector(playerItemDidReachEnd:)
object:self.playerItem];
selector:@selector(didFailedToPlayToEnd)
object:nil];

self.assetPlayer = [AVPlayer playerWithPlayerItem:self.playerItem];
[((AVPlayerLayer *)self.playerView.layer) setPlayer:self.assetPlayer];
DLog(@"Player created");
} else {
DLog(@"The asset's tracks were not loaded:\n%@", error.localizedDescription);
}
}

#pragma mark - Observation

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
BOOL isOldKey = [change[NSKeyValueChangeNewKey] isEqual:change[NSKeyValueChangeOldKey]];

if (!isOldKey) {
if (context == &ItemStatusContext) {
if ([keyPath isEqualToString:@"status"] && !self.status) {
}
[self moviePlayerDidChangeStatus:self.assetPlayer.status];
} else if ([keyPath isEqualToString:@"loadedTimeRanges"]) {
}
}
}
}

- (void)moviePlayerDidChangeStatus:(AVPlayerStatus)status
{
if (status == AVPlayerStatusFailed) {
} else if (status == AVPlayerItemStatusReadyToPlay) {
self.volume = self.assetPlayer.volume;

if (self.delegate && [self.delegate respondsToSelector:@selector(isReadyToPlay)]) {
}
}
}

{
NSTimeInterval maximum = 0;

for (NSValue *value in ranges) {
CMTimeRange range;
[value getValue:&range];
NSTimeInterval currenLoadedRangeTime = CMTimeGetSeconds(range.start) + CMTimeGetSeconds(range.duration);
}
}
CGFloat progress = (self.assetDuration == 0) ? 0 : maximum / self.assetDuration;
}
}

{
if (self.delegate && [self.delegate respondsToSelector:@selector(playerDidPlayItem)]){
[self.delegate playerDidPlayItem];
}
[self.assetPlayer seekToTime:kCMTimeZero];
if (self.autoRepeat) {
[self.assetPlayer play];
}
}

- (void)didFailedToPlayToEnd
{
DLog(@"Failed play video to the end");
}

{
CMTime interval = CMTimeMake(1, 1);
__weak typeof(self) weakSelf = self;
[self.assetPlayer addPeriodicTimeObserverForInterval:interval queue:dispatch_get_main_queue() usingBlock:^(CMTime time) {
[weakSelf playerTimeDidChange:time];
}];
}

- (void)playerTimeDidChange:(CMTime)time
{
double timeNow = CMTimeGetSeconds(self.assetPlayer.currentTime);
if (self.delegate && [self.delegate respondsToSelector:@selector(progressDidUpdate:)]) {
[self.delegate progressDidUpdate:(CGFloat) (timeNow / self.assetDuration)];
}
}

{
}

- (void)didEnterBackground
{
[self.assetPlayer pause];
}

- (void)willEnterForeground
{
[self.assetPlayer pause];
}

#pragma mark - GetImagesFromVideoPlayer

- (BOOL)canProvideFrame
{
}

- (CVPixelBufferRef)getCurrentFramePicture
{
CMTime currentTime = [self.videoOutput itemTimeForHostTime:CACurrentMediaTime()];
if (self.delegate && [self.delegate respondsToSelector:@selector(progressTimeChanged:)]) {
[self.delegate progressTimeChanged:currentTime];
}
if (![self.videoOutput hasNewPixelBufferForItemTime:currentTime]) {
return 0;
}
CVPixelBufferRef buffer = [self.videoOutput copyPixelBufferForItemTime:currentTime itemTimeForDisplay:NULL];

return buffer;
}

#pragma mark - CleanUp

- (void)removeObserversFromPlayer
{
@try {
[self.playerItem removeObserver:self forKeyPath:@"status"];
}
@catch (NSException *ex) {
DLog(@"Cant remove observer in Player - %@", ex.description);
}
}

- (void)cleanUp
{
[self removeObserversFromPlayer];

self.assetPlayer.rate = 0;
self.assetPlayer = nil;
self.playerItem = nil;
self.urlAsset = nil;
}

- (void)dealloc
{
[self cleanUp];
}

@end


Off cause resource (video file) should have target membership setted to your project

### Explanation of the UML arrows

If you are more of a MOOC person, one free course that I'd recommend that teaches you all the in and outs of most UML diagrams is this one from Udacity: https://www.udacity.com/course/software-architecture-design--ud821

### Rails: How can I set default values in ActiveRecord?

I strongly suggest using the "default_value_for" gem: https://github.com/FooBarWidget/default_value_for

There are some tricky scenarios that pretty much require overriding the initialize method, which that gem does.

Examples:

Your db default is NULL, your model/ruby-defined default is "some string", but you actually want to set the value to nil for whatever reason: MyModel.new(my_attr: nil)

Most solutions here will fail to set the value to nil, and will instead set it to the default.

OK, so instead of taking the ||= approach, you switch to my_attr_changed?...

BUT now imagine your db default is "some string", your model/ruby-defined default is "some other string", but under a certain scenario, you want to set the value to "some string" (the db default): MyModel.new(my_attr: 'some_string')

This will result in my_attr_changed? being false because the value matches the db default, which in turn will fire your ruby-defined default code and set the value to "some other string" -- again, not what you desired.

For those reasons I don't think this can properly be accomplished with just an after_initialize hook.

Again, I think the "default_value_for" gem is taking the right approach: https://github.com/FooBarWidget/default_value_for

### how to use math.pi in java

You're missing the multiplication operator. Also, you want to do 4/3 in floating point, not integer math.

volume = (4.0 / 3) * Math.PI * Math.pow(radius, 3);
^^      ^


### What's the difference between process.cwd() vs __dirname?

process.cwd() returns the current working directory,

i.e. the directory from which you invoked the node command.

__dirname returns the directory name of the directory containing the JavaScript source code file

As martijn-courteaux said, create a custom component it's the better option. In C# exists a component called PictureBox and I tried to create this component for Java, here is the code:

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JComponent;

public class JPictureBox extends JComponent {

private Icon icon = null;
private final Dimension dimension = new Dimension(100, 100);
private Image image = null;
private ImageIcon ii = null;
private SizeMode sizeMode = SizeMode.STRETCH;
private int newHeight, newWidth, originalHeight, originalWidth;

public JPictureBox() {
JPictureBox.this.setPreferredSize(dimension);
JPictureBox.this.setOpaque(false);
JPictureBox.this.setSizeMode(SizeMode.STRETCH);
}

@Override
public void paintComponent(Graphics g) {
if (ii != null) {
switch (getSizeMode()) {
case NORMAL:
g.drawImage(image, 0, 0, ii.getIconWidth(), ii.getIconHeight(), null);
break;
case ZOOM:
aspectRatio();
g.drawImage(image, 0, 0, newWidth, newHeight, null);
break;
case STRETCH:
g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), null);
break;
case CENTER:
g.drawImage(image, (int) (this.getWidth() / 2) - (int) (ii.getIconWidth() / 2), (int) (this.getHeight() / 2) - (int) (ii.getIconHeight() / 2), ii.getIconWidth(), ii.getIconHeight(), null);
break;
default:
g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), null);
}
}
}

public Icon getIcon() {
return icon;
}

public void setIcon(Icon icon) {
this.icon = icon;
ii = (ImageIcon) icon;
image = ii.getImage();
originalHeight = ii.getIconHeight();
originalWidth = ii.getIconWidth();
}

public SizeMode getSizeMode() {
return sizeMode;
}

public void setSizeMode(SizeMode sizeMode) {
this.sizeMode = sizeMode;
}

public enum SizeMode {
NORMAL,
STRETCH,
CENTER,
ZOOM
}

private void aspectRatio() {
if (ii != null) {
newHeight = this.getHeight();
newWidth = (originalWidth * newHeight) / originalHeight;
}
}

}


If you want to add an image, choose the JPictureBox, after that go to Properties and find "icon" property and select an image. If you want to change the sizeMode property then choose the JPictureBox, after that go to Properties and find "sizeMode" property, you can choose some values:

• NORMAL value, the image is positioned in the upper-left corner of the JPictureBox.
• STRETCH value causes the image to stretch or shrink to fit the JPictureBox.
• ZOOM value causes the image to be stretched or shrunk to fit the JPictureBox; however, the aspect ratio in the original is maintained.
• CENTER value causes the image to be centered in the client area.

Also you can see the code on Gitlab or Github.

### Converting List<Integer> to List<String>

    List<Integer> ints = ...;
String all = new ArrayList<Integer>(ints).toString();
String[] split = all.substring(1, all.length()-1).split(", ");
List<String> strs = Arrays.asList(split);


### What does -> mean in C++?

member b of object pointed to by a a->b

### Displaying Image in Java

If you want to load/process/display images I suggest you use an image processing framework. Using Marvin, for instance, you can do that easily with just a few lines of source code.

Source code:

public class Example extends JFrame{

public Example(){
super("Example");

// Layout
setLayout(new GridLayout(2,2));

MarvinImage img2 = new MarvinImage(img1.getWidth(), img1.getHeight());
MarvinImage img3 = new MarvinImage(img1.getWidth(), img1.getHeight());
MarvinImage img4 = new MarvinImage(img1.getWidth(), img1.getHeight());

// Image Processing plug-ins
errorDiffusion.process(img1, img2);
prewitt.process(img1, img3);
emboss.process(img1, img4);

// Set panels

setSize(560,380);
setVisible(true);
}

MarvinImagePanel imagePanel = new MarvinImagePanel();
imagePanel.setImage(image);
}

public static void main(String[] args) {
new Example().setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}


Output:

### Euclidean distance of two vectors

If you want to use less code, you can also use the norm in the stats package (the 'F' stands for Forbenius, which is the Euclidean norm):

norm(matrix(x1-x2), 'F')


While this may look a bit neater, it's not faster. Indeed, a quick test on very large vectors shows little difference, though so12311's method is slightly faster. We first define:

set.seed(1234)
x1 <- rnorm(300000000)
x2 <- rnorm(300000000)


Then testing for time yields the following:

> system.time(a<-sqrt(sum((x1-x2)^2)))
user  system elapsed
1.02    0.12    1.18
> system.time(b<-norm(matrix(x1-x2), 'F'))
user  system elapsed
0.97    0.33    1.31


### How to access PHP variables in JavaScript or jQuery rather than <?php echo $variable ?> You're asking kind of a two-part question. As far as syntax (I think since PHP4?) you can use: <?=$var?>


... if PHP is configured to allow it. And it is on most servers.

As far as storing user data, you also have the option of storing it in the session:

$_SESSION['bla'] = "so-and-so";  for persistence from page to page. You could also of course use a database. You can even have PHP store the session variables in the db. It just depends on what you need. ### Retrieving the COM class factory for component failed I'm getting this same error when trying to export a csv file from Act! to Excel. One workaround I found was to run Act! as an administrator. That tells me this is probably some sort of permission issue but none of the previous answers here solved the problem. I tried running DCOMCNFG and changing the permissions on the whole computer, and I also tried to just change permissions on the Excel component but it's not listed in DCOMCNFG on my Windows 10 Pro PC. Maybe this workaround will help someone until a better solution is found. ### Python/BeautifulSoup - how to remove all tags from an element? With BeautifulStoneSoup gone in bs4, it's even simpler in Python3 from bs4 import BeautifulSoup soup = BeautifulSoup(html) text = soup.get_text() print(text)  ### git: Switch branch and ignore any changes without committing Note that if you've merged remote branches or have local commits and want to go back to the remote HEAD you must do: git reset --hard origin/HEAD  HEAD alone will only refer to the local commit/merge -- several times I have forgotten that when resetting and end up with "your repository is X commits ahead.." when I fully intended to nuke ALL changes/commits and return to the remote branch. ### insert vertical divider line between two nested divs, not full height Try this. I set the blue box to float right, gave left and right a fixed height, and added a white border on the right of the left div. Also added rounded corners to more match your example (These won't work in ie 8 or less). I also took out the position: relative. You don't need it. Block level elements are set to position relative by default. See it here: http://jsfiddle.net/ZSgLJ/ #left { float: left; width: 44%; margin: 0; padding: 0; border-right: 1px solid white; height:400px; } #right { position: relative; float: right; width: 49%; margin: 0; padding: 0; height:400px; } #blue_box { background-color:blue; border-radius: 10px; -moz-border-radius:10px; -webkit-border-radius: 10px; width: 45%; min-width: 400px; max-width: 600px; padding: 2%; float: right; }  ### nodejs vs node on ubuntu 12.04 Download .pkg file on your mac and install it. it directly works. ? ~ which node /usr/local/bin/node ? ~ node --version v10.11.0 ? ~ which npm /usr/local/bin/npm ? ~ npm --version 6.4.1  ### How do I set combobox read-only or user cannot write in a combo box only can select the given items? In the keypress event handler: e.Handled = true;  ### Specific Time Range Query in SQL Server I (using PostgrSQL on PGadmin4) queried for results that are after or on 21st Nov 2017 at noon, like this (considering the display format of hours on my database): select * from Table1 where FIELD >='2017-11-21 12:00:00'  ### Reset Windows Activation/Remove license key On Windows XP - 1. Reboot into "Safe mode with Command Prompt" 2. Type "explorer" in the command prompt that comes up and push [Enter] 3. Click on Start>Run, and type the following : rundll32.exe syssetup,SetupOobeBnk Reboot, and login as normal. This will reset the 30 day timer for activation back to 30 days so you can enter in the key normally. ### Why is a primary-foreign key relation required when we can join without it? You don't need a FK, you can join arbitrary columns. But having a foreign key ensures that the join will actually succeed in finding something. Foreign key give you certain guarantees that would be extremely difficult and error prone to implement otherwise. For example, if you don't have a foreign key, you might insert a detail record in the system and just after you checked that the matching master record is present somebody else deletes it. So in order to prevent this you need to lock the master table, when ever you modify the detail table (and vice versa). If you don't need/want that guarantee, screw the FKs. Depending on your RDBMS a foreign key also might improve performance of select (but also degrades performance of updates, inserts and deletes) ### Is there a quick change tabs function in Visual Studio Code? Windows previous Ctrl + Shift + Tab Next Ctrl + Tab Mac OS previous Shift+ Cmd + [ Next Shift + Cmd + ] ### Remove Backslashes from Json Data in JavaScript You need to deserialize the JSON once before returning it as response. Please refer below code. This works for me: JavaScriptSerializer jss = new JavaScriptSerializer(); Object finalData = jss.DeserializeObject(str);  ### Adding a new array element to a JSON object First we need to parse the JSON object and then we can add an item. var str = '{"theTeam":[{"teamId":"1","status":"pending"}, {"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}'; var obj = JSON.parse(str); obj['theTeam'].push({"teamId":"4","status":"pending"}); str = JSON.stringify(obj);  Finally we JSON.stringify the obj back to JSON ### Moving x-axis to the top of a plot in matplotlib tick_params is very useful for setting tick properties. Labels can be moved to the top with:  ax.tick_params(labelbottom=False,labeltop=True)  ### Construct a manual legend for a complicated plot You need to map attributes to aesthetics (colours within the aes statement) to produce a legend. cols <- c("LINE1"="#f04546","LINE2"="#3591d1","BAR"="#62c76b") ggplot(data=data,aes(x=a)) + geom_bar(stat="identity", aes(y=h, fill = "BAR"),colour="#333333")+ #green geom_line(aes(y=b,group=1, colour="LINE1"),size=1.0) + #red geom_point(aes(y=b, colour="LINE1"),size=3) + #red geom_errorbar(aes(ymin=d, ymax=e, colour="LINE1"), width=0.1, size=.8) + geom_line(aes(y=c,group=1,colour="LINE2"),size=1.0) + #blue geom_point(aes(y=c,colour="LINE2"),size=3) + #blue geom_errorbar(aes(ymin=f, ymax=g,colour="LINE2"), width=0.1, size=.8) + scale_colour_manual(name="Error Bars",values=cols) + scale_fill_manual(name="Bar",values=cols) + ylab("Symptom severity") + xlab("PHQ-9 symptoms") + ylim(0,1.6) + theme_bw() + theme(axis.title.x = element_text(size = 15, vjust=-.2)) + theme(axis.title.y = element_text(size = 15, vjust=0.3))  I understand where Roland is coming from, but since this is only 3 attributes, and complications arise from superimposing bars and error bars this may be reasonable to leave the data in wide format like it is. It could be slightly reduced in complexity by using geom_pointrange. To change the background color for the error bars legend in the original, add + theme(legend.key = element_rect(fill = "white",colour = "white")) to the plot specification. To merge different legends, you typically need to have a consistent mapping for all elements, but it is currently producing an artifact of a black background for me. I thought guide = guide_legend(fill = NULL,colour = NULL) would set the background to null for the legend, but it did not. Perhaps worth another question. ggplot(data=data,aes(x=a)) + geom_bar(stat="identity", aes(y=h,fill = "BAR", colour="BAR"))+ #green geom_line(aes(y=b,group=1, colour="LINE1"),size=1.0) + #red geom_point(aes(y=b, colour="LINE1", fill="LINE1"),size=3) + #red geom_errorbar(aes(ymin=d, ymax=e, colour="LINE1"), width=0.1, size=.8) + geom_line(aes(y=c,group=1,colour="LINE2"),size=1.0) + #blue geom_point(aes(y=c,colour="LINE2", fill="LINE2"),size=3) + #blue geom_errorbar(aes(ymin=f, ymax=g,colour="LINE2"), width=0.1, size=.8) + scale_colour_manual(name="Error Bars",values=cols, guide = guide_legend(fill = NULL,colour = NULL)) + scale_fill_manual(name="Bar",values=cols, guide="none") + ylab("Symptom severity") + xlab("PHQ-9 symptoms") + ylim(0,1.6) + theme_bw() + theme(axis.title.x = element_text(size = 15, vjust=-.2)) + theme(axis.title.y = element_text(size = 15, vjust=0.3))  To get rid of the black background in the legend, you need to use the override.aes argument to the guide_legend. The purpose of this is to let you specify a particular aspect of the legend which may not be being assigned correctly. ggplot(data=data,aes(x=a)) + geom_bar(stat="identity", aes(y=h,fill = "BAR", colour="BAR"))+ #green geom_line(aes(y=b,group=1, colour="LINE1"),size=1.0) + #red geom_point(aes(y=b, colour="LINE1", fill="LINE1"),size=3) + #red geom_errorbar(aes(ymin=d, ymax=e, colour="LINE1"), width=0.1, size=.8) + geom_line(aes(y=c,group=1,colour="LINE2"),size=1.0) + #blue geom_point(aes(y=c,colour="LINE2", fill="LINE2"),size=3) + #blue geom_errorbar(aes(ymin=f, ymax=g,colour="LINE2"), width=0.1, size=.8) + scale_colour_manual(name="Error Bars",values=cols, guide = guide_legend(override.aes=aes(fill=NA))) + scale_fill_manual(name="Bar",values=cols, guide="none") + ylab("Symptom severity") + xlab("PHQ-9 symptoms") + ylim(0,1.6) + theme_bw() + theme(axis.title.x = element_text(size = 15, vjust=-.2)) + theme(axis.title.y = element_text(size = 15, vjust=0.3))  ### DateDiff to output hours and minutes Very simply: CONVERT(TIME,Date2 - Date1)  For example: Declare @Date2 DATETIME = '2016-01-01 10:01:10.022' Declare @Date1 DATETIME = '2016-01-01 10:00:00.000' Select CONVERT(TIME,@Date2 - @Date1) as ElapsedTime  Yelds: ElapsedTime ---------------- 00:01:10.0233333 (1 row(s) affected)  ### Using Camera in the Android emulator There is an updated version of Tom Gibara's tutorial. You can change the Webcam Broadcaster to work with JMyron instead of the old JMF. The new emulator (sdk r15) manage webcams ; but it has some problems with integrated webcams (at least with mine's ^^) ### Writing to CSV with Python adds blank lines You need to open the file in binary b mode to take care of blank lines in Python 2. This isn't required in Python 3. So, change open('test.csv', 'w') to open('test.csv', 'wb'). ### libz.so.1: cannot open shared object file For Arch Linux, it is pacman -S lib32-zlib from multilib, not zlib. ### number several equations with only one number How about something like: \documentclass{article} \usepackage{amssymb,amsmath} \begin{document} $$\label{A_Label} \begin{split} w^T x_i + b \geqslant 1-\xi_i \text{ if } y_i &= 1, \\ w^T x_i + b \leqslant -1+\xi_i \text{ if } y_i &= -1 \end{split}$$ \end{document}  which produces: ### What is a predicate in c#? The Predicate will always return a boolean, by definition. Predicate<T> is basically identical to Func<T,bool>. Predicates are very useful in programming. They are often used to allow you to provide logic at runtime, that can be as simple or as complicated as necessary. For example, WPF uses a Predicate<T> as input for Filtering of a ListView's ICollectionView. This lets you write logic that can return a boolean determining whether a specific element should be included in the final view. The logic can be very simple (just return a boolean on the object) or very complex, all up to you. ### Pylint "unresolved import" error in Visual Studio Code I was facing the same problem while importing the project-related(non standard) modules. Detailed explanation of the problem Directory structure: Project_dir: .vscode/settings.json dir_1 > a > b > c dir_2 > x > y > z  What we want: Project_dir dir_3 import a import y  Here "import a" and "import y" fails with following error: Import "dir_1.a" could not be resolvedPylancereportMissingImports Import "dir_2.y" could not be resolvedPylancereportMissingImports  What worked for me: Appending the top directory which contains the modules to be imported. In above example add the follwoing "Code to append" in ".vscode/settings.json" Filename: .vscode/settings.json  Code to append: "python.analysis.extraPaths": [dir_1, dir_2]  ### Pretty-print an entire Pandas Series / DataFrame Use the tabulate package: pip install tabulate  And consider the following example usage: import pandas as pd from io import StringIO from tabulate import tabulate c = """Chromosome Start End chr1 3 6 chr1 5 7 chr1 8 9""" df = pd.read_table(StringIO(c), sep="\s+", header=0) print(tabulate(df, headers='keys', tablefmt='psql')) +----+--------------+---------+-------+ | | Chromosome | Start | End | |----+--------------+---------+-------| | 0 | chr1 | 3 | 6 | | 1 | chr1 | 5 | 7 | | 2 | chr1 | 8 | 9 | +----+--------------+---------+-------+  ### Page redirect with successful Ajax request I think you can do that with: window.location = "your_url";  ### Spring Data JPA and Exists query in my case it didn't work like following @Query("select count(e)>0 from MyEntity e where ...")  You can return it as boolean value with following @Query(value = "SELECT CASE WHEN count(pl)> 0 THEN true ELSE false END FROM PostboxLabel pl ...")  ### Getting coordinates of marker in Google Maps API One more alternative options var map = new google.maps.Map(document.getElementById('map_canvas'), { zoom: 1, center: new google.maps.LatLng(35.137879, -82.836914), mapTypeId: google.maps.MapTypeId.ROADMAP }); var myMarker = new google.maps.Marker({ position: new google.maps.LatLng(47.651968, 9.478485), draggable: true }); google.maps.event.addListener(myMarker, 'dragend', function (evt) { document.getElementById('current').innerHTML = '<p>Marker dropped: Current Lat: ' + evt.latLng.lat().toFixed(3) + ' Current Lng: ' + evt.latLng.lng().toFixed(3) + '</p>'; }); google.maps.event.addListener(myMarker, 'dragstart', function (evt) { document.getElementById('current').innerHTML = '<p>Currently dragging marker...</p>'; }); map.setCenter(myMarker.position); myMarker.setMap(map);  and html file <body> <section> <div id='map_canvas'></div> <div id="current">Nothing yet...</div> </section> </body>  ### How can I make Jenkins CI with Git trigger on pushes to master? You need to specify the branch. By default it listens to anything. See the blog post Hudson: Git and Maven plugins. ### How can I get the source directory of a Bash script from within the script itself? Here is an easy-to-remember script: DIR="$(dirname "${BASH_SOURCE[0]}")" # Get the directory name DIR="$(realpath "${DIR}")" # Resolve its full path if need be  ### Prime numbers between 1 to 100 in C Programming Language #include<stdio.h> int main() { int a,b,i,c,j; printf("\n Enter the two no. in between you want to check:"); scanf("%d%d",&a,&c); printf("%d-%d\n",a,c); for(j=a;j<=c;j++) { b=0; for(i=1;i<=c;i++) { if(j%i==0) { b++; } } if(b==2) { printf("\nPrime number:%d\n",j); } else { printf("\n\tNot prime:%d\n",j); } } }  ### Android Material and appcompat Manifest merger failed if you are using capacitor, upgrade to capacitor/core 2.0.1 or up in your package.json ### How to trim a string after a specific character in java This is the simplest method you can do and reduce your efforts. just paste this function in your class and call it anywhere: you can do this by creating a substring. simple exampe is here: _x000D_ _x000D_ public static String removeTillWord(String input, String word) { return input.substring(input.indexOf(word)); } removeTillWord("Your String", "\"); _x000D_ _x000D_ _x000D_ ### How to break/exit from a each() function in JQuery? According to the documentation you can simply return false; to break: $(xml).find("strengths").each(function() {

if (iWantToBreak)
return false;
});


### Readably print out a python dict() sorted by key

Another short oneliner:

mydict = {'c': 1, 'b': 2, 'a': 3}
print(*sorted(mydict.items()), sep='\n')


### Extract the last substring from a cell

Try this:

Right(RC[-1],Len(RC[-1])-InStrRev(RC[-1]," "))


### Concatenating variables and strings in React

the best way to concat props/variables:

var sample = "test";
var result = this is just a ${sample}; //this is just a test  ### Can I embed a .png image into an html page? I don't know for how long this post has been here. But I stumbled upon similar problem now. Hence posting the solution so that it might help others. #!/usr/bin/env perl use strict; use warnings; use utf8; use GD::Graph::pie; use MIME::Base64; my @data = (['A','O','S','I'],[3,16,12,47]); my$mygraph = GD::Graph::pie->new(200, 200);
my $myimage =$mygraph->plot(\@data)->png;

print <<end_html;
<body>
<p align="center">
<img src="data:image/png;base64,
end_html

print encode_base64($myimage); print <<end_html; " style="width: 888px; height: 598px; border-width: 2px; border-style: solid;" /></p> </body> </html> end_html  ### Why does typeof array with objects return "object" and not "array"? Quoting the spec # 15.4 Array Objects Array objects give special treatment to a certain class of property names. A property name P (in the form of a String value) is an array index if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32-1. A property whose property name is an array index is also called an element. Every Array object has a length property whose value is always a nonnegative integer less than 2^32. The value of the length property is numerically greater than the name of every property whose name is an array index; whenever a property of an Array object is created or changed, other properties are adjusted as necessary to maintain this invariant. Specifically, whenever a property is added whose name is an array index, the length property is changed, if necessary, to be one more than the numeric value of that array index; and whenever the length property is changed, every property whose name is an array index whose value is not smaller than the new length is automatically deleted. This constraint applies only to own properties of an Array object and is unaffected by length or array index properties that may be inherited from its prototypes. And here's a table for typeof To add some background, there are two data types in JavaScript: 1. Primitive Data types - This includes null, undefined, string, boolean, number and object. 2. Derived data types/Special Objects - These include functions, arrays and regular expressions. And yes, these are all derived from "Object" in JavaScript. An object in JavaScript is similar in structure to the associative array/dictionary seen in most object oriented languages - i.e., it has a set of key-value pairs. An array can be considered to be an object with the following properties/keys: 1. Length - This can be 0 or above (non-negative). 2. The array indices. By this, I mean "0", "1", "2", etc are all properties of array object. Hope this helped shed more light on why typeof Array returns an object. Cheers! ### Can we call the function written in one JavaScript in another JS file? Well, I came across another sweet solution. window['functioName'](params); ### How to get a unique computer identifier in Java (like disk ID or motherboard ID)? It is common to use the MAC address is associated with the network card. The address is available in Java 6 through through the following API: Java 6 Docs for Hardware Address I haven't used it in Java, but for other network identification applications it has been helpful. ### An array of List in c# Since no context was given to this question and you are a relatively new user, I want to make sure that you are aware that you can have a list of lists. It's not the same as array of list and you asked specifically for that, but nevertheless: List<List<int>> myList = new List<List<int>>();  you can initialize them through collection initializers like so: List<List<int>> myList = new List<List<int>>(){{1,2,3},{4,5,6},{7,8,9}};  ### Passing array in GET for a REST call Another way of doing that, which can make sense depending on your server architecture/framework of choice, is to repeat the same argument over and over again. Something like this: /appointments?users=id1&users=id2  In this case I recommend using the parameter name in singular: /appointments?user=id1&user=id2  This is supported natively by frameworks such as Jersey (for Java). Take a look on this question for more details. ### The result of a query cannot be enumerated more than once if you getting this type of error so I suggest you used to stored proc data as usual list then binding the other controls because I also get this error so I solved it like this ex:- repeater.DataSource = data.SPBinsReport().Tolist(); repeater.DataBind();  try like this ### How to create a batch file to run cmd as administrator (This is based on @DarkXphenomenon's answer, which unfortunately had some problems.) You need to enclose your code within this wrapper: if _%1_==_payload_ goto :payload :getadmin echo %~nx0: elevating self set vbs=%temp%\getadmin.vbs echo Set UAC = CreateObject^("Shell.Application"^) >> "%vbs%" echo UAC.ShellExecute "%~s0", "payload %~sdp0 %*", "", "runas", 1 >> "%vbs%" "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs" goto :eof :payload echo %~nx0: running payload with parameters: echo %* echo --------------------------------------------------- cd /d %2 shift shift rem put your code here rem e.g.: perl myscript.pl %1 %2 %3 %4 %5 %6 %7 %8 %9 goto :eof  This makes batch file run itself as elevated user. It adds two parameters to the privileged code: • word payload, to indicate this is payload call, i.e. already elevated. Otherwise it would just open new processes over and over. • directory path where the main script was called. Due to the fact that Windows always starts elevated cmd.exe in "%windir%\system32", there's no easy way of knowing what the original path was (and retaining ability to copy your script around without touching code) Note: Unfortunately, for some reason shift does not work for %*, so if you need to pass actual arguments on, you will have to resort to the ugly notation I used in the example (%1 %2 %3 %4 %5 %6 %7 %8 %9), which also brings in the limit of maximum of 9 arguments ### How to open, read, and write from serial port in C? For demo code that conforms to POSIX standard as described in Setting Terminal Modes Properly and Serial Programming Guide for POSIX Operating Systems, the following is offered. This code should execute correctly using Linux on x86 as well as ARM (or even CRIS) processors. It's essentially derived from the other answer, but inaccurate and misleading comments have been corrected. This demo program opens and initializes a serial terminal at 115200 baud for non-canonical mode that is as portable as possible. The program transmits a hardcoded text string to the other terminal, and delays while the output is performed. The program then enters an infinite loop to receive and display data from the serial terminal. By default the received data is displayed as hexadecimal byte values. To make the program treat the received data as ASCII codes, compile the program with the symbol DISPLAY_STRING, e.g.  cc -DDISPLAY_STRING demo.c  If the received data is ASCII text (rather than binary data) and you want to read it as lines terminated by the newline character, then see this answer for a sample program. #define TERMINAL "/dev/ttyUSB0" #include <errno.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <termios.h> #include <unistd.h> int set_interface_attribs(int fd, int speed) { struct termios tty; if (tcgetattr(fd, &tty) < 0) { printf("Error from tcgetattr: %s\n", strerror(errno)); return -1; } cfsetospeed(&tty, (speed_t)speed); cfsetispeed(&tty, (speed_t)speed); tty.c_cflag |= (CLOCAL | CREAD); /* ignore modem controls */ tty.c_cflag &= ~CSIZE; tty.c_cflag |= CS8; /* 8-bit characters */ tty.c_cflag &= ~PARENB; /* no parity bit */ tty.c_cflag &= ~CSTOPB; /* only need 1 stop bit */ tty.c_cflag &= ~CRTSCTS; /* no hardware flowcontrol */ /* setup for non-canonical mode */ tty.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON); tty.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN); tty.c_oflag &= ~OPOST; /* fetch bytes as they become available */ tty.c_cc[VMIN] = 1; tty.c_cc[VTIME] = 1; if (tcsetattr(fd, TCSANOW, &tty) != 0) { printf("Error from tcsetattr: %s\n", strerror(errno)); return -1; } return 0; } void set_mincount(int fd, int mcount) { struct termios tty; if (tcgetattr(fd, &tty) < 0) { printf("Error tcgetattr: %s\n", strerror(errno)); return; } tty.c_cc[VMIN] = mcount ? 1 : 0; tty.c_cc[VTIME] = 5; /* half second timer */ if (tcsetattr(fd, TCSANOW, &tty) < 0) printf("Error tcsetattr: %s\n", strerror(errno)); } int main() { char *portname = TERMINAL; int fd; int wlen; char *xstr = "Hello!\n"; int xlen = strlen(xstr); fd = open(portname, O_RDWR | O_NOCTTY | O_SYNC); if (fd < 0) { printf("Error opening %s: %s\n", portname, strerror(errno)); return -1; } /*baudrate 115200, 8 bits, no parity, 1 stop bit */ set_interface_attribs(fd, B115200); //set_mincount(fd, 0); /* set to pure timed read */ /* simple output */ wlen = write(fd, xstr, xlen); if (wlen != xlen) { printf("Error from write: %d, %d\n", wlen, errno); } tcdrain(fd); /* delay for output */ /* simple noncanonical input */ do { unsigned char buf[80]; int rdlen; rdlen = read(fd, buf, sizeof(buf) - 1); if (rdlen > 0) { #ifdef DISPLAY_STRING buf[rdlen] = 0; printf("Read %d: \"%s\"\n", rdlen, buf); #else /* display hex */ unsigned char *p; printf("Read %d:", rdlen); for (p = buf; rdlen-- > 0; p++) printf(" 0x%x", *p); printf("\n"); #endif } else if (rdlen < 0) { printf("Error from read: %d: %s\n", rdlen, strerror(errno)); } else { /* rdlen == 0 */ printf("Timeout from read\n"); } /* repeat read to get full message */ } while (1); }  For an example of an efficient program that provides buffering of received data yet allows byte-by-byte handing of the input, then see this answer. ### How to use jQuery with Angular? This is what worked for me. #### STEP 1 - First things first // In the console // First install jQuery npm install --save jquery // and jQuery Definition npm install -D @types/jquery  #### STEP 2 - IMPORT // Now, within any of the app files (ES2015 style) import * as$ from 'jquery';
//
$('#elemId').width(); // OR // CommonJS style - working with "require" import$ = require('jquery')
//
$('#elemId').width();  #### #UPDATE - Feb - 2017 Lately, I'm writing code with ES6 instead of typescript and am able to import without * as$ in the import statement. This is what it looks like now:

import $from 'jquery'; //$('#elemId').width();


Good Luck.

It is a very bad idea to get all files in one go, you should rather get it in batches.

One implementation which I use to fetch a particular folder (directory) from S3 is,

def get_directory(directory_path, download_path, exclude_file_names):
# prepare session
session = Session(aws_access_key_id, aws_secret_access_key, region_name)

# get instances for resource and bucket
resource = session.resource('s3')
bucket = resource.Bucket(bucket_name)

for s3_key in self.client.list_objects(Bucket=self.bucket_name, Prefix=directory_path)['Contents']:
s3_object = s3_key['Key']
if s3_object not in exclude_file_names:


and still if you want to get the whole bucket use it via CIL as @John Rotenstein mentioned as below,

aws s3 cp --recursive s3://bucket_name download_path


### Fragment onCreateView and onActivityCreated called twice

It looks to me like it's because you are instantiating your TabListener every time... so the system is recreating your fragment from the savedInstanceState and then you are doing it again in your onCreate.

You should wrap that in a if(savedInstanceState == null) so it only fires if there is no savedInstanceState.

### jQuery "on create" event for dynamically-created elements

One way, which seems reliable (though tested only in Firefox and Chrome) is to use JavaScript to listen for the animationend (or its camelCased, and prefixed, sibling animationEnd) event, and apply a short-lived (in the demo 0.01 second) animation to the element-type you plan to add. This, of course, is not an onCreate event, but approximates (in compliant browsers) an onInsertion type of event; the following is a proof-of-concept:

$(document).on('webkitAnimationEnd animationend MSAnimationEnd oanimationend', function(e){ var eTarget = e.target; console.log(eTarget.tagName.toLowerCase() + ' added to ' + eTarget.parentNode.tagName.toLowerCase());$(eTarget).draggable(); // or whatever other method you'd prefer
});


With the following HTML:

<div class="wrapper">
</div>


And (abbreviated, prefixed-versions-removed though present in the Fiddle, below) CSS:

/* vendor-prefixed alternatives removed for brevity */
0% {
color: #fff;
}
}

div {
color: #000;
/* vendor-prefixed properties removed for brevity */
animation-iteration-count: 1;
}


Obviously the CSS can be adjusted to suit the placement of the relevant elements, as well as the selector used in the jQuery (it should really be as close to the point of insertion as possible).

Documentation of the event-names:

Mozilla   |  animationend
Microsoft |  MSAnimationEnd
Opera     |  oanimationend
Webkit    |  webkitAnimationEnd
W3C       |  animationend


References:

### How to remove gaps between subplots in matplotlib?

You can use gridspec to control the spacing between axes. There's more information here.

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

plt.figure(figsize = (4,4))
gs1 = gridspec.GridSpec(4, 4)
gs1.update(wspace=0.025, hspace=0.05) # set the spacing between axes.

for i in range(16):
# i = i + 1 # grid spec indexes from 0
ax1 = plt.subplot(gs1[i])
plt.axis('on')
ax1.set_xticklabels([])
ax1.set_yticklabels([])
ax1.set_aspect('equal')

plt.show()


### SQLite select where empty?

There are several ways, like:

where some_column is null or some_column = ''


or

where ifnull(some_column, '') = ''


or

where coalesce(some_column, '') = ''


of

where ifnull(length(some_column), 0) = 0


### R numbers from 1 to 100

If you need the construct for a quick example to play with, use the : operator.

But if you are creating a vector/range of numbers dynamically, then use seq() instead.

Let's say you are creating the vector/range of numbers from a to b with a:b, and you expect it to be an increasing series. Then, if b is evaluated to be less than a, you will get a decreasing sequence but you will never be notified about it, and your program will continue to execute with the wrong kind of input.

In this case, if you use seq(), you can set the sign of the by argument to match the direction of your sequence, and an error will be raised if they do not match. For example,

seq(a, b, -1)


will raise an error for a=2, b=6, because the coder expected a decreasing sequence.

### Convert normal date to unix timestamp

You should check out the moment.js api, it is very easy to use and has lots of built in features.

I think for your problem, you could use something like this:

var unixTimestamp = moment('2012.08.10', 'YYYY.MM.DD').unix();


### How do I shrink my SQL Server Database?

Delete data, make sure recovery model is simple, then skrink (either shrink database or shrink files works). If the data file is still too big, AND you use heaps to store data -- that is, no clustered index on large tables -- then you might have this problem regarding deleting data from heaps: http://support.microsoft.com/kb/913399

### 500 internal server error, how to debug

You can turn on your PHP errors with error_reporting:

error_reporting(E_ALL);
ini_set('display_errors', 'on');


Edit: It's possible that even after putting this, errors still don't show up. This can be caused if there is a fatal error in the script. From PHP Runtime Configuration:

Although display_errors may be set at runtime (with ini_set()), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed.

You should set display_errors = 1 in your php.ini file and restart the server.

### How to log PostgreSQL queries?

+1 to above answers. I use following config

log_line_prefix = '%t %c %u ' # time sessionid user
log_statement = 'all'


### How do I open port 22 in OS X 10.6.7

As per macOS 10.14.5, below are the details:

Go to

system preferences > sharing > remote login.

### html select option separator

Try:

<optgroup label="----------"></optgroup>


### How to update/refresh specific item in RecyclerView

I think I have an Idea on how to deal with this. Updating is the same as deleting and replacing at the exact position. So I first remove the item from that position using the code below:

public void removeItem(int position){
mData.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, mData.size());
}


and then I would add the item at that particular position as shown below:

public void addItem(int position, Landscape landscape){
notifyItemInserted(position);
notifyItemRangeChanged(position, mData.size());
}


I'm trying to implement this now. I would give you a feedback when I'm through!

### Difference in boto3 between resource, client, and session?

Here's some more detailed information on what Client, Resource, and Session are all about.

Client:

• low-level AWS service access
• generated from AWS service description
• exposes botocore client to the developer
• typically maps 1:1 with the AWS service API
• all AWS service operations are supported by clients
• snake-cased method names (e.g. ListBuckets API => list_buckets method)

Here's an example of client-level access to an S3 bucket's objects (at most 1000**):

import boto3

client = boto3.client('s3')
response = client.list_objects_v2(Bucket='mybucket')
for content in response['Contents']:
obj_dict = client.get_object(Bucket='mybucket', Key=content['Key'])
print(content['Key'], obj_dict['LastModified'])


** you would have to use a paginator, or implement your own loop, calling list_objects() repeatedly with a continuation marker if there were more than 1000.

Resource:

• higher-level, object-oriented API
• generated from resource description
• uses identifiers and attributes
• has actions (operations on resources)
• exposes subresources and collections of AWS resources
• does not provide 100% API coverage of AWS services

Here's the equivalent example using resource-level access to an S3 bucket's objects (all):

import boto3

s3 = boto3.resource('s3')
bucket = s3.Bucket('mybucket')
for obj in bucket.objects.all():
print(obj.key, obj.last_modified)


Note that in this case you do not have to make a second API call to get the objects; they're available to you as a collection on the bucket. These collections of subresources are lazily-loaded.

You can see that the Resource version of the code is much simpler, more compact, and has more capability (it does pagination for you). The Client version of the code would actually be more complicated than shown above if you wanted to include pagination.

Session:

• stores configuration information (primarily credentials and selected region)
• allows you to create service clients and resources
• boto3 creates a default session for you when needed

### Storing image in database directly or as base64 data?

Just want to give one example why we decided to store image in DB not files or CDN, it is storing images of signatures.

We have tried to do so via CDN, cloud storage, files, and finally decided to store in DB and happy about the decision as it was proven us right in our subsequent events when we moved, upgraded our scripts and migrated the sites serveral times.

For my case, we wanted the signatures to be with the records that belong to the author of documents.

Storing in files format risks missing them or deleted by accident.

We store it as a blob binary format in MySQL, and later as based64 encoded image in a text field. The decision to change to based64 was due to smaller size as result for some reason, and faster loading. Blob was slowing down the page load for some reason.

In our case, this solution to store signature images in DB, (whether as blob or based64), was driven by:

1. Most signature images are very small.
2. We don't need to index the signature images stored in DB.
3. Index is done on the primary key.
4. We may have to move or switch servers, moving physical images files to different servers, may cause the images not found due to links change.
5. it is embarrassed to ask the author to re-sign their signatures.
6. it is more secured saving in the DB as compared to exposing it as files which can be downloaded if security is compromised. Storing in DB allows us better control over its access.
7. any future migrations, change of web design, hosting, servers, we have zero worries about reconcilating the signature file names against the physical files, it is all in the DB!

AC

### Submitting a form on 'Enter' with jQuery?

$('.input').keypress(function (e) { if (e.which == 13) {$('form#login').submit();
return false;    //<---- Add this line
}
});


Check out this stackoverflow answer: event.preventDefault() vs. return false

Essentially, "return false" is the same as calling e.preventDefault and e.stopPropagation().

### Using an integer as a key in an associative array in JavaScript

Use an object, as people are saying. However, note that you can not have integer keys. JavaScript will convert the integer to a string. The following outputs 20, not undefined:

var test = {}
test[2300] = 20;
console.log(test["2300"]);


### How do I find the time difference between two datetime objects in python?

Using datetime example

>>> from datetime import datetime
>>> then = datetime(2012, 3, 5, 23, 8, 15)        # Random date in the past
>>> now  = datetime.now()                         # Now
>>> duration = now - then                         # For build-in functions
>>> duration_in_s = duration.total_seconds()      # Total number of seconds between dates


Duration in years

>>> years = divmod(duration_in_s, 31536000)[0]    # Seconds in a year=365*24*60*60 = 31536000.


Duration in days

>>> days  = duration.days                         # Build-in datetime function
>>> days  = divmod(duration_in_s, 86400)[0]       # Seconds in a day = 86400


Duration in hours

>>> hours = divmod(duration_in_s, 3600)[0]        # Seconds in an hour = 3600


Duration in minutes

>>> minutes = divmod(duration_in_s, 60)[0]        # Seconds in a minute = 60


Duration in seconds

[!] See warning about using duration in seconds in the bottom of this post

>>> seconds = duration.seconds                    # Build-in datetime function
>>> seconds = duration_in_s


Duration in microseconds

[!] See warning about using duration in microseconds in the bottom of this post

>>> microseconds = duration.microseconds          # Build-in datetime function


Total duration between the two dates

>>> days    = divmod(duration_in_s, 86400)        # Get days (without [0]!)
>>> hours   = divmod(days[1], 3600)               # Use remainder of days to calc hours
>>> minutes = divmod(hours[1], 60)                # Use remainder of hours to calc minutes
>>> seconds = divmod(minutes[1], 1)               # Use remainder of minutes to calc seconds
>>> print("Time between dates: %d days, %d hours, %d minutes and %d seconds" % (days[0], hours[0], minutes[0], seconds[0]))


or simply:

>>> print(now - then)


Edit 2019 Since this answer has gained traction, I'll add a function, which might simplify the usage for some

from datetime import datetime

def getDuration(then, now = datetime.now(), interval = "default"):

# Returns a duration as specified by variable interval
# Functions, except totalDuration, returns [quotient, remainder]

duration = now - then # For build-in functions
duration_in_s = duration.total_seconds()

def years():
return divmod(duration_in_s, 31536000) # Seconds in a year=31536000.

def days(seconds = None):
return divmod(seconds if seconds != None else duration_in_s, 86400) # Seconds in a day = 86400

def hours(seconds = None):
return divmod(seconds if seconds != None else duration_in_s, 3600) # Seconds in an hour = 3600

def minutes(seconds = None):
return divmod(seconds if seconds != None else duration_in_s, 60) # Seconds in a minute = 60

def seconds(seconds = None):
if seconds != None:
return divmod(seconds, 1)
return duration_in_s

def totalDuration():
y = years()
d = days(y[1]) # Use remainder to calculate next variable
h = hours(d[1])
m = minutes(h[1])
s = seconds(m[1])

return "Time between dates: {} years, {} days, {} hours, {} minutes and {} seconds".format(int(y[0]), int(d[0]), int(h[0]), int(m[0]), int(s[0]))

return {
'years': int(years()[0]),
'days': int(days()[0]),
'hours': int(hours()[0]),
'minutes': int(minutes()[0]),
'seconds': int(seconds()),
'default': totalDuration()
}[interval]

# Example usage
then = datetime(2012, 3, 5, 23, 8, 15)
now = datetime.now()

print(getDuration(then)) # E.g. Time between dates: 7 years, 208 days, 21 hours, 19 minutes and 15 seconds
print(getDuration(then, now, 'years'))      # Prints duration in years
print(getDuration(then, now, 'days'))       #                    days
print(getDuration(then, now, 'hours'))      #                    hours
print(getDuration(then, now, 'minutes'))    #                    minutes
print(getDuration(then, now, 'seconds'))    #                    seconds


Warning: Caveat about built-in .seconds and .microseconds
datetime.seconds and datetime.microseconds are capped to [0,86400) and [0,10^6) respectively.

They should be used carefully if timedelta is bigger than the max returned value.

Examples:

end is 1h and 200µs after start:

>>> start = datetime(2020,12,31,22,0,0,500)
>>> end = datetime(2020,12,31,23,0,0,700)
>>> delta = end - start
>>> delta.microseconds
RESULT: 200
EXPECTED: 3600000200


end is 1d and 1h after start:

>>> start = datetime(2020,12,30,22,0,0)
>>> end = datetime(2020,12,31,23,0,0)
>>> delta = end - start
>>> delta.seconds
RESULT: 3600
EXPECTED: 90000


### FFT in a single C-file

You could start converting this java snippet to C the author states he has converted it from C based on the book numerical recipies which you find online! here

### Including JavaScript class definition from another file in Node.js

You can simply do this:

user.js

class User {
//...
}

module.exports = User


server.js

const User = require('./user.js')

// Instantiate User:
let user = new User()


This is called CommonJS module.

#### Export multiple values

Sometimes it could be useful to export more than one value. For example it could be classes, functions or constants. This is an alternative version of the same functionality:

user.js

class User {}

exports.User = User //  Spot the difference


server.js

const {User} = require('./user.js') //  Destructure on import

// Instantiate User:
let user = new User()


#### ES Modules

Since Node.js version 14 it's possible to use ES Modules with CommonJS. Read more about it in the ESM documentation.

?? Don't use globals, it creates potential conflicts with the future code.

### jQuery AJAX cross domain

it works, all you need:

PHP:

header('Access-Control-Allow-Origin: http://www.example.com');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');


JS (jQuery ajax):

BUILDNO  ### Center div on the middle of screen This should work with any div or screen size: _x000D_ _x000D_ .center-screen {_x000D_ display: flex;_x000D_ flex-direction: column;_x000D_ justify-content: center;_x000D_ align-items: center;_x000D_ text-align: center;_x000D_ min-height: 100vh;_x000D_ } _x000D_  <html>_x000D_ <head>_x000D_ </head>_x000D_ <body>_x000D_ <div class="center-screen">_x000D_ I'm in the center_x000D_ </div>_x000D_ </body>_x000D_ </html> _x000D_ _x000D_ _x000D_ See more details about flex here. This should work on most of the browsers, see compatibility matrix here. Update: If you don't want the scroll bar, make min-height smaller, for example min-height: 95vh; ### Generator expressions vs. list comprehensions John's answer is good (that list comprehensions are better when you want to iterate over something multiple times). However, it's also worth noting that you should use a list if you want to use any of the list methods. For example, the following code won't work: def gen(): return (something for something in get_some_stuff()) print gen()[:2] # generators don't support indexing or slicing print [5,6] + gen() # generators can't be added to lists  Basically, use a generator expression if all you're doing is iterating once. If you want to store and use the generated results, then you're probably better off with a list comprehension. Since performance is the most common reason to choose one over the other, my advice is to not worry about it and just pick one; if you find that your program is running too slowly, then and only then should you go back and worry about tuning your code. ### Convert hex to binary bin(int("abc123efff", 16))[2:]  ### Difference between text and varchar (character varying) As "Character Types" in the documentation points out, varchar(n), char(n), and text are all stored the same way. The only difference is extra cycles are needed to check the length, if one is given, and the extra space and time required if padding is needed for char(n). However, when you only need to store a single character, there is a slight performance advantage to using the special type "char" (keep the double-quotes — they're part of the type name). You get faster access to the field, and there is no overhead to store the length. I just made a table of 1,000,000 random "char" chosen from the lower-case alphabet. A query to get a frequency distribution (select count(*), field ... group by field) takes about 650 milliseconds, vs about 760 on the same data using a text field. ### jQuery ajax upload file in asp.net mvc AJAX file uploads are now possible by passing a FormData object to the data property of the .ajax request.

As the OP specifically asked for a jQuery implementation, here you go:

<form id="upload" enctype="multipart/form-data" action="@Url.Action("JsonSave", "Survey")" method="POST">
</form>

$('#upload').submit(function(e) { e.preventDefault(); // stop the standard form submission$.ajax({
url: this.action,
type: this.method,
data: new FormData(this),
cache: false,
contentType: false,
processData: false,
success: function (data) {
},
error: function(xhr, error, status) {
console.log(error, status);
}
});
});

public JsonResult Survey()
{
for (int i = 0; i < Request.Files.Count; i++)
{
var file = Request.Files[i];
// save file as required here...
}
return Json(new { UploadedFileCount = Request.Files.Count });
}


### Excel VBA - read cell value from code

I think you need this ..

Dim n as Integer

For n = 5 to 17
msgbox cells(n,3) '--> sched waste
msgbox cells(n,4) '--> type of treatm
msgbox format(cells(n,5),"dd/MM/yyyy") '--> Lic exp
msgbox cells(n,6) '--> email col
Next


### Eclipse/Maven error: "No compiler is provided in this environment"

When I was runing mvn compile, I was getting below error in console:

[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 1087 source files to C:\Code\DevVNextComplete\Development_vNext\Source\JARS\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error


[Resolution]

I had added, the JAVA_HOME variable in my environment variables and then it worked.

### How do I create a round cornered UILabel on the iPhone?

1. you have an UILabel called: myLabel.
2. in your "m" or "h" file import: #import <QuartzCore/QuartzCore.h>
3. in your viewDidLoad write this line: self.myLabel.layer.cornerRadius = 8;

• depends on how you want you can change cornerRadius value from 8 to other number :)

Good luck

### $_POST Array from html form <input name='id[]' type='checkbox' value='".$shopnumb."\'>
<input name='id[]' type='checkbox' value='".$shopnumb."\'> <input name='id[]' type='checkbox' value='".$shopnumb."\'>

$id = implode(',',$_POST['id']);
echo $id  you cannot echo an array because it will just print out Array. If you wanna print out an array use print_r. print_r($_POST['id']);


### scp files from local to remote machine error: no such file or directory

i had a kind of similar problem. i tried to copy from a server to my desktop and always got the same message for the local path. the problem was, i already was logged in to my server per ssh, so it was searching for the local path in the server path.

solution: i had to log out and run the command again and it worked

### What's the syntax to import a class in a default package in Java?

As others have said, this is bad practice, but if you don't have a choice because you need to integrate with a third-party library that uses the default package, then you could create your own class in the default package and access the other class that way. Classes in the default package basically share a single namespace, so you can access the other class even if it resides in a separate JAR file. Just make sure the JAR file is in the classpath.

This trick doesn't work if your class is not in the default package.

### Add unique constraint to combination of two columns

This can also be done in the GUI:

1. Under the table "Person", right click Indexes
2. Click/hover New Index
3. Click Non-Clustered Index...

1. A default Index name will be given but you may want to change it.
2. Check Unique checkbox

1. Check the columns you want included

1. Click OK in each window.

### Random character generator with a range of (A..Z, 0..9) and punctuation

The easiest is to do the following:

Here's an example:

    final String alphabet = "0123456789ABCDE";
final int N = alphabet.length();

Random r = new Random();

for (int i = 0; i < 50; i++) {
System.out.print(alphabet.charAt(r.nextInt(N)));
}


### VBA Object doesn't support this property or method

Object doesn't support this property or method.

Think of it like if anything after the dot is called on an object. It's like a chain.

An object is a class instance. A class instance supports some properties defined in that class type definition. It exposes whatever intelli-sense in VBE tells you (there are some hidden members but it's not related to this). So after each dot . you get intelli-sense (that white dropdown) trying to help you pick the correct action.

(you can start either way - front to back or back to front, once you understand how this works you'll be able to identify where the problem occurs)

Type this much anywhere in your code area

Dim a As Worksheets
a.


you get help from VBE, it's a little dropdown called Intelli-sense

It lists all available actions that particular object exposes to any user. You can't see the .Selection member of the Worksheets() class. That's what the error tells you exactly.

Object doesn't support this property or method.

If you look at the example on MSDN

Worksheets("GRA").Activate
iAreaCount = Selection.Areas.Count


It activates the sheet first then calls the Selection... it's not connected together because Selection is not a member of Worksheets() class. Simply, you can't prefix the Selection

Sub DisplayColumnCount()
Dim iAreaCount As Integer
Dim i As Integer

Worksheets("GRA").Activate
iAreaCount = Selection.Areas.Count

If iAreaCount <= 1 Then
MsgBox "The selection contains " & Selection.Columns.Count & " columns."
Else
For i = 1 To iAreaCount
MsgBox "Area " & i & " of the selection contains " & _
Selection.Areas(i).Columns.Count & " columns."
Next i
End If
End Sub


from HERE

### Maven:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.7:resources

I had this issue too because I was filtering /src/main/resources and forgot I had added a keystore (*.jks) binary to this directory.

Add a "resource" block with exclusions for binary files and your problem may be resolved.

<build>
<finalName>somename</finalName>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>false</filtering>
</testResource>
</testResources>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>*.jks</exclude>
<exclude>*.png</exclude>
</excludes>
</resource>
</resources>
...


### Android: How do I prevent the soft keyboard from pushing my view up?

So far the answers didn't help me as I have a button and a textInput field (side by side) below the textView which kept getting hidden by the keyboard, but this has solved my issue:

android:windowSoftInputMode="adjustResize"


### Error : ORA-01704: string literal too long

To solve this issue on my side, I had to use a combo of what was already proposed there

DECLARE
chunk1 CLOB; chunk2 CLOB; chunk3 CLOB;
BEGIN
chunk1 := 'very long literal part 1';
chunk2 := 'very long literal part 2';
chunk3 := 'very long literal part 3';

INSERT INTO table (MY_CLOB)
SELECT ( chunk1 || chunk2 || chunk3 ) FROM dual;
END;


Hope this helps.

### force Maven to copy dependencies into target/lib

A simple and elegant solution for the case where one needs to copy the dependencies to a target directory without using any other phases of maven (I found this very useful when working with Vaadin).

Complete pom example:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>1.0</version>

<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>process-sources</phase>

<goals>
<goal>copy-dependencies</goal>
</goals>

<configuration>
<outputDirectory>${targetdirectory}</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>  Then run mvn process-sources The jar file dependencies can be found in /target/dependency ### com.jcraft.jsch.JSchException: UnknownHostKey Depending on what program you use for ssh, the way to get the proper key could vary. Putty (popular with Windows) uses their own format for ssh keys. With most variants of Linux and BSD that I've seen, you just have to look in ~/.ssh/known_hosts. I usually ssh from a Linux machine and then copy this file to a Windows machine. Then I use something similar to jsch.setKnownHosts("C:\\Users\\cabbott\\known_hosts");  Assuming I have placed the file in C:\Users\cabbott on my Windows machine. If you don't have access to a Linux machine, try http://www.cygwin.com/ Maybe someone else can suggest another Windows alternative. I find putty's way of handling SSH keys by storing them in the registry in a non-standard format bothersome to extract. ### How to filter rows containing a string pattern from a Pandas dataframe In [3]: df[df['ids'].str.contains("ball")] Out[3]: ids vals 0 aball 1 1 bball 2 3 fball 4  ### How do I Set Background image in Flutter? I'm not sure I understand your question, but if you want the image to fill the entire screen you can use a DecorationImage with a fit of BoxFit.cover. class BaseLayout extends StatelessWidget{ @override Widget build(BuildContext context){ return Scaffold( body: Container( decoration: BoxDecoration( image: DecorationImage( image: AssetImage("assets/images/bulb.jpg"), fit: BoxFit.cover, ), ), child: null /* add child content here */, ), ); } }  For your second question, here is a link to the documentation on how to embed resolution-dependent asset images into your app. ### How do I write JSON data to a file? I would answer with slight modification with aforementioned answers and that is to write a prettified JSON file which human eyes can read better. For this, pass sort_keys as True and indent with 4 space characters and you are good to go. Also take care of ensuring that the ascii codes will not be written in your JSON file: with open('data.txt', 'w') as outfile: json.dump(jsonData, outfile, sort_keys = True, indent = 4, ensure_ascii = False)  ### How can I display a messagebox in ASP.NET? Try This Code:Successfully Written on click Button. ScriptManager.RegisterStartupScript(this, GetType(),"alertMessage", "alert('Record Inserted Successfully');", true);  ### Android webview launches browser when calling loadurl Simply Answer you can use like this public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webView = new WebView(this); setContentView(webView); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("http://www.google.com"); } }  ### How many concurrent AJAX (XmlHttpRequest) requests are allowed in popular browsers? I have writen a single file AJAX tester. Enjoy it!!! Just because I have had problems with my hosting provider <?php /* Author: Luis Siquot Purpose: Check ajax performance and errors License: GPL site5: Please don't drop json requests (nor delay)!!!! */$r = (int)$_GET['r'];$w = (int)$_GET['w']; if($r) {
sleep($w); echo json_encode($_GET);
die ();
}  //else
<script type="text/javascript">

var _settimer;
var _timer;
var _waiting;

$(function(){ clearTable();$('#boton').bind('click', donow);
})

function donow(){
var w;
var estim = 0;
_waiting = $('#total')[0].value * 1; clearTable(); for(var r=1;r<=_waiting;r++){ w = Math.floor(Math.random()*6)+2; estim += w; dodebug({r:r, w:w});$.ajax({url: '<?php echo $_SERVER['SCRIPT_NAME']; ?>', data: {r:r, w:w}, dataType: 'json', // 'html', type: 'GET', success: function(CBdata, status) { CBdebug(CBdata); } }); } doStat(estim); timer(estim+10); } function doStat(what){$('#stat').replaceWith(
'<table border="0" id="stat"><tr><td>Request Time Sum=<th>'+what+
'<td>&nbsp;&nbsp;/2=<th>'+Math.ceil(what/2)+
'<td>&nbsp;&nbsp;/3=<th>'+Math.ceil(what/3)+
'<td>&nbsp;&nbsp;/4=<th>'+Math.ceil(what/4)+
'<td>&nbsp;&nbsp;/6=<th>'+Math.ceil(what/6)+
'<td>&nbsp;&nbsp;/8=<th>'+Math.ceil(what/8)+
'<td> &nbsp; (seconds)</table>'
);
}

function timer(what){
if(what)         {_timer = 0; _settimer = what;}
if(_waiting==0)  {
$('#showTimer')[0].innerHTML = 'completed in <b>' + _timer + ' seconds</b> (aprox)'; return ; } if(_timer<_settimer){$('#showTimer')[0].innerHTML = _timer;
setTimeout("timer()",1000);
_timer++;
return;
}
$('#showTimer')[0].innerHTML = '<b>don\'t wait any more!!!</b>'; } function CBdebug(what){ _waiting--;$('#req'+what.r)[0].innerHTML = 'x';
}

function dodebug(what){
var tt = '<tr><td>' + what.r + '<td>' + what.w + '<td id=req' + what.r + '>&nbsp;'
$('#debug').append(tt); } function clearTable(){$('#debug').replaceWith('<table border="1" id="debug"><tr><td>Request #<td>Wait Time<td>Done</table>');
}

</script>
<body>
<center>
<input type="button" value="start" id="boton">
<input type="text" value="80" id="total" size="2"> concurrent json requests
<table id="stat"><tr><td>&nbsp;</table>
Elapsed Time: <span id="showTimer"></span>
<table id="debug"></table>
</center>
</body>
`

Edit:
r means row and w waiting time.
When you initially press start button 80 (or any other number) of concurrent ajax request are launched by javascript, but as is known they are spooled by the browser. Also they are requested to the server in parallel (limited to certain number, this is the fact of this question). Here the requests are solved server side with a random delay (established by w). At start time all the time needed to solve all ajax calls is calculated. When test is finished, you can see if it took half, took third, took a quarter, etc of the total time, deducting which was the parallelism on the calls to the server. This is not strict, nor precise, but is nice to see in real time how ajaxs calls are completed (seeing the incoming cross). And is a very simple self contained script to show ajax basics.
Of course, this assumes, that server side is not introducing any extra limit.
Preferably use in conjunction with firebug net panel (or your browser's equivalent)