Programs & Examples On #Dbi

DBI is a database access module for the Perl programming language. It defines a set of methods, variables, and conventions that provide a consistent database interface, independent of the actual database being used. For the equivalent R package, use the tag r-dbi.

ERROR in ./node_modules/css-loader?

you have to update your node.js and angular/cli.If you update these two things then your project has angular.json file instead of angular-cli.json file.Then add css file into angular.json file.If you add css file into angular-cli.json file instead of angular.json file,then errors are occured.

Error: the entity type requires a primary key

This exception message doesn't mean it requires a primary key to be defined in your database, it means it requires a primary key to be defined in your class.

Although you've attempted to do so:

private Guid _id;
[Key]
public Guid ID
{
    get { return _id; }
}

This has no effect, as Entity Framework ignores read-only properties. It has to: when it retrieves a Fruits record from the database, it constructs a Fruit object, and then calls the property setters for each mapped property. That's never going to work for read-only properties.

You need Entity Framework to be able to set the value of ID. This means the property needs to have a setter.

Adb install failure: INSTALL_CANCELED_BY_USER

I had the same problem before. Here was my solution:

  1. Go to Setting ? find Developer options in System, and click.
  2. TURN ON install via USB in the Debuging section.
  3. Try Run app in Android Studio again!

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. spark Eclipse on windows 7

You can alternatively download winutils.exe from GITHub:

https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin

replace hadoop-2.7.1 with the version you want and place the file in D:\hadoop\bin

If you do not have access rights to the environment variable settings on your machine, simply add the below line to your code:

System.setProperty("hadoop.home.dir", "D:\\hadoop");

Ubuntu apt-get unable to fetch packages

Just for the sake of any Googlers, if you're getting this error while building a Docker image, preface the failing RUN command with

apt-get update &&

This happens when Docker uses a cached image. Why the cached image wouldn't have the latest repo information the second time around is totally beyond me, but prefacing every single apt-get with an update does solve the problem.

How to get file name from file path in android

I think you can use substring method to get name of the file from the path string.

String path=":/storage/sdcard0/DCIM/Camera/1414240995236.jpg"; 
// it contains your image path...I'm using a temp string...
String filename=path.substring(path.lastIndexOf("/")+1);

There is already an object named in the database

I had the same issue described in the answer that Elnaz gave. I had a requirement to change the namespace of the datalayer during a refactoring of our project. This caused the migrations to not see the existing migrations in the database. I found an excellent answer to this issue that James Chambers blogged.

http://jameschambers.com/2014/02/changing-the-namespace-with-entity-framework-6-0-code-first-databases/

I simply changed the following in the Migration configuration file.

public Configuration()
{
    AutomaticMigrationsEnabled = false;
    this.ContextKey = “Old_Namespace.Migrations.Configuration”;
}

Hope this helps someone else in a bind.

Start redis-server with config file

I think that you should make the reference to your config file

26399:C 16 Jan 08:51:13.413 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf

you can try to start your redis server like

./redis-server /path/to/redis-stable/redis.conf

PHP: maximum execution time when importing .SQL data file

You can increase the limit:

ini_set('max_execution_time', 3000);

(Note that this script can cause high memory usage as well, so you probably have to increase that as well)

Other possible solution: Chunk your sql file, and process it as parts. I assume, it is not one big SQL query, is it?

Update: As @Isaac pointed out, this is about PHPMyAdmin. In this case set max_execution_timeout in php.ini. (The location depends on your environment)

json: cannot unmarshal object into Go value of type

You JSON doesn't match your struct fields: E.g. "district" in JSON and "District" as the field.

Also: Your Item is a slice type but your JSON is a dict value. Do not mix this up. Slices decode from arrays.

How to directly execute SQL query in C#?

Something like this should suffice, to do what your batch file was doing (dumping the result set as semi-colon delimited text to the console):

// sqlcmd.exe
// -S .\PDATA_SQLEXPRESS
// -U sa
// -P 2BeChanged!
// -d PDATA_SQLEXPRESS
// -s ; -W -w 100
// -Q "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday  FROM  [dbo].[TPatientRaw] WHERE tPatSName = '%name%' "

DataTable dt            = new DataTable() ;
int       rows_returned ;

const string credentials = @"Server=(localdb)\.\PDATA_SQLEXPRESS;Database=PDATA_SQLEXPRESS;User ID=sa;Password=2BeChanged!;" ;
const string sqlQuery = @"
  select tPatCulIntPatIDPk ,
         tPatSFirstname    ,
         tPatSName         ,
         tPatDBirthday
  from dbo.TPatientRaw
  where tPatSName = @patientSurname
  " ;

using ( SqlConnection connection = new SqlConnection(credentials) )
using ( SqlCommand    cmd        = connection.CreateCommand() )
using ( SqlDataAdapter sda       = new SqlDataAdapter( cmd ) )
{
  cmd.CommandText = sqlQuery ;
  cmd.CommandType = CommandType.Text ;
  connection.Open() ;
  rows_returned = sda.Fill(dt) ;
  connection.Close() ;
}

if ( dt.Rows.Count == 0 )
{
  // query returned no rows
}
else
{

  //write semicolon-delimited header
  string[] columnNames = dt.Columns
                           .Cast<DataColumn>()
                           .Select( c => c.ColumnName )
                           .ToArray()
                           ;
  string   header      = string.Join("," , columnNames) ;
  Console.WriteLine(header) ;

  // write each row
  foreach ( DataRow dr in dt.Rows )
  {

    // get each rows columns as a string (casting null into the nil (empty) string
    string[] values = new string[dt.Columns.Count];
    for ( int i = 0 ; i < dt.Columns.Count ; ++i )
    {
      values[i] = ((string) dr[i]) ?? "" ; // we'll treat nulls as the nil string for the nonce
    }

    // construct the string to be dumped, quoting each value and doubling any embedded quotes.
    string data = string.Join( ";" , values.Select( s => "\""+s.Replace("\"","\"\"")+"\"") ) ;
    Console.WriteLine(values);

  }

}

Android device does not show up in adb list

I was having same problem in my ubuntu. When I run command adb devices it shows me ?????????? No permission.

Then I tried with adb kill-server and then sudo su and adb devices. No need to run command adb start-server devices command will start it automatically if it is not already started.

Hope this will save once one's minutes.

Getting path of captured image in Android using camera intent

try this

String[] projection = { MediaStore.Images.Media.DATA };
            @SuppressWarnings("deprecation")
            Cursor cursor = managedQuery(mCapturedImageURI, projection,
                    null, null, null);
            int column_index_data = cursor
                    .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            image_path = cursor.getString(column_index_data);
            Log.e("path of image from CAMERA......******************.........",
                    image_path + "");

for capturing image:

    String fileName = "temp.jpg";
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.TITLE, fileName);
    mCapturedImageURI = getContentResolver().insert(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
    values.clear();

Failed to locate the winutils binary in the hadoop binary path

I used "hbase-1.3.0" and "hadoop-2.7.3" versions. Setting HADOOP_HOME environment variable and copying 'winutils.exe' file under HADOOP_HOME/bin folder solves the problem on a windows os. Attention to set HADOOP_HOME environment to the installation folder of hadoop(/bin folder is not necessary for these versions). Additionally I preferred using cross platform tool cygwin to settle linux os functionality (as possible as it can) because Hbase team recommend linux/unix env.

A required class was missing while executing org.apache.maven.plugins:maven-war-plugin:2.1.1:war

In my case the situation was this: I had an offline server on which I had to perform the build. For that I had compiled everything locally first and then transferred repository folder to the offline server.

Problem - build works locally but not on the server, even thou they both have same maven version, same repository folder, same JDK.

Cause: on my local machine I had additional custom "" entry in settings.xml. When I added same to the settings.xml on the server then my issues disappeared.

Scale Image to fill ImageView width and keep aspect ratio

FOR IMAGE VIEW (set these parameters)

android:layout_width     = "match_parent"
android:layout_height    = "wrap_content"
android:scaleType        = "fitCenter"
android:adjustViewBounds = "true"

Now whatever the size of the image is there, it's width will match the parent and height will be according to match the ratio. I have tested this and I am 100% sure.

we want this --> adjustViewBound = true

not this --> adjustViewBound = false

// Results will be: 
Image width -> stretched as match parent
Image height -> according to image width (maximum to aspect ratio)

// like the first one

read.csv warning 'EOF within quoted string' prevents complete reading of file

I too had the similar problem. But in my case, the cause of the issue was due to the presence of apostrophes (i.e. single quotation marks) within some of the text values. This is especially frequent when working with data including texts in French, e.g. «L'autre jour».

So, the solution was simply to adjust the default setting of the quote argument to exclude the «'» symbol, and thus, using quote = "\"" (i.e. double quotation mark only), everything worked fine.

I hope that can help some of you. Cheers.

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile)

I had this problem once, and this is how i resolved it:

  • Step-1 Clean your
    .m2/repository

  • Step-2 execute the maven command(for example mvn clean verify) from the terminal at the current project location(where your project's pom.xml file exist) instead of running maven from eclipse.
  • Converting Decimal to Binary Java

    I just solved this myself, and I wanted to share my answer because it includes the binary reversal and then conversion to decimal. I'm not a very experienced coder but hopefully this will be helpful to someone else.

    What I did was push the binary data onto a stack as I was converting it, and then popped it off to reverse it and convert it back to decimal.

    import java.util.Scanner;
    import java.util.Stack;
    
    public class ReversedBinary 
    {
        private Stack<Integer> st;
    
        public ReversedBinary()
        {
            st = new Stack<>();
        }
    
        private int decimaltoBinary(int dec)
        {
            if(dec == 0 || dec == 1)
            {
                st.push(dec % 2);
                return dec;
            }
    
            st.push(dec % 2);
    
            dec = decimaltoBinary(dec / 2);        
    
            return dec;
        }
    
        private int reversedtoDecimal()
        {
            int revDec = st.pop();
            int i = 1;
    
            while(!st.isEmpty())
            {
                revDec += st.pop() * Math.pow(2, i++);
            }
    
            return revDec;
        }
    
        public static void main(String[] args)
        {
            ReversedBinary rev = new ReversedBinary();
    
            System.out.println("Please enter a positive integer:");
    
            Scanner sc = new Scanner(System.in);
            while(sc.hasNextLine())
            {
                int input = Integer.parseInt(sc.nextLine());
                if(input < 1 || input > 1000000000)
                {
                    System.out.println("Integer must be between 1 and 1000000000!");
                }
                else
                {
                    rev.decimaltoBinary(input);
                    System.out.println("Binary to reversed, converted to decimal: " + rev.reversedtoDecimal());
                }
            }
    
        }
    }
    

    Read text file into string. C++ ifstream

    To read a whole line from a file into a string, use std::getline like so:

     std::ifstream file("my_file");
     std::string temp;
     std::getline(file, temp);
    

    You can do this in a loop to until the end of the file like so:

     std::ifstream file("my_file");
     std::string temp;
     while(std::getline(file, temp)) {
          //Do with temp
     }
    

    References

    http://en.cppreference.com/w/cpp/string/basic_string/getline

    http://en.cppreference.com/w/cpp/string/basic_string

    deleted object would be re-saved by cascade (remove deleted object from associations)

    The solution is to do exactly what the exception message tells you:

    Caused by: org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)

    Remove the deleted object from an associations (sets, lists, or maps) that it is in. In particular, i suspect, from PlayList.PlaylistadMaps. It's not enough to just delete the object, you have to remove it from any cascading collections which refer to it.

    In fact, since your collection has orphanRemoval = true, you don't need to delete it explicitly. You just need to remove it from the set.

    SignalR Console app example

    To build on @dyslexicanaboko's answer for dotnet core, here is a client console application:

    Create a helper class:

    using System;
    using Microsoft.AspNetCore.SignalR.Client;
    
    namespace com.stackoverflow.SignalRClientConsoleApp
    {
        public class SignalRConnection
        {
            public async void Start()
            {
                var url = "http://signalr-server-url/hubname";
    
                var connection = new HubConnectionBuilder()
                    .WithUrl(url)
                    .WithAutomaticReconnect()
                    .Build();
    
                // receive a message from the hub
                connection.On<string, string>("ReceiveMessage", (user, message) => OnReceiveMessage(user, message));
    
                var t = connection.StartAsync();
    
                t.Wait();
    
                // send a message to the hub
                await connection.InvokeAsync("SendMessage", "ConsoleApp", "Message from the console app");
            }
    
            private void OnReceiveMessage(string user, string message)
            {
                Console.WriteLine($"{user}: {message}");
            }
    
        }
    }
    

    Then implement in your console app's entry point:

    using System;
    
    namespace com.stackoverflow.SignalRClientConsoleApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                var signalRConnection = new SignalRConnection();
                signalRConnection.Start();
    
                Console.Read();
            }
        }
    }
    

    TypeError: sequence item 0: expected string, int found

    Replace

    values = ",".join(value_list)
    

    with

    values = ','.join([str(i) for i in value_list])
    

    OR

    values = ','.join(str(value_list)[1:-1])
    

    Deserialize JSON string to c# object

    I think the JavaScriptSerializer does not create a dynamic object.

    So you should define the class first:

    class MyObj {
        public int arg1 {get;set;}
        public int arg2 {get;set;}
    }
    

    And deserialize that instead of object:

    serializer.Deserialize<MyObj>(str);
    

    Not testet, please try.

    Why is MySQL InnoDB insert so slow?

    Solution

    1. Create new UNIQUE key that is identical to your current PRIMARY key
    2. Add new column id is unsigned integer, auto_increment
    3. Create primary key on new id column

    Bam, immediate 10x+ insert improvement.

    Google Android USB Driver and ADB

    1. modify android_winusb.inf
    2. Sign the driver
    3. modify adb

    I also instaled generic adb driver from http://adbdriver.com/ and it works.

    org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing

    Instead of passing reference object passed the saved object, below is explanation which solve my issue:

    //wrong
    entityManager.persist(role);
    user.setRole(role);
    entityManager.persist(user)
    
    //right
    Role savedEntity= entityManager.persist(role);
    user.setRole(savedEntity);
    entityManager.persist(user)
    

    Android load from URL to Bitmap

    If you are using Picasso or Glide or Universal-Image-Loader for load image from url.
    You can simply get the loaded bitmap by

    For Picasso (current version 2.71828)

    Java code

    Picasso.get().load(imageUrl).into(new Target() {
        @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
            // loaded bitmap is here (bitmap)
        }
    
        @Override
        public void onBitmapFailed(Drawable errorDrawable) { }
    
        @Override
        public void onPrepareLoad(Drawable placeHolderDrawable) {}
    });
    

    Kotlin code

    Picasso.get().load(url).into(object : com.squareup.picasso.Target { 
        override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {
             // loaded bitmap is here (bitmap)
        }
    
        override fun onPrepareLoad(placeHolderDrawable: Drawable?) {}
    
        override fun onBitmapFailed(e: Exception?, errorDrawable: Drawable?) {}
    })
    

    For Glide
    Check How does one use glide to download an image into a bitmap?

    For Universal-Image-Loader
    Java code

    imageLoader.loadImage(imageUrl, new SimpleImageLoadingListener() 
    {
        @Override
        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) 
        {
             // loaded bitmap is here (loadedImage)
        }
    });
    

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

    string a = @"a\\b";
    a = a.Replace(@"\\",@"\");
    

    should work. Remember that in the watch Visual STudio show the "\" escaped so you see "\" in place of a single one.

    Getting RSA private key from PEM BASE64 Encoded private key file

    You will find below some code for reading unencrypted RSA keys encoded in the following formats:

    • PKCS#1 PEM (-----BEGIN RSA PRIVATE KEY-----)
    • PKCS#8 PEM (-----BEGIN PRIVATE KEY-----)
    • PKCS#8 DER (binary)

    It works with Java 7+ (and after 9) and doesn't use third-party libraries (like BouncyCastle) or internal Java APIs (like DerInputStream or DerValue).

    private static final String PKCS_1_PEM_HEADER = "-----BEGIN RSA PRIVATE KEY-----";
    private static final String PKCS_1_PEM_FOOTER = "-----END RSA PRIVATE KEY-----";
    private static final String PKCS_8_PEM_HEADER = "-----BEGIN PRIVATE KEY-----";
    private static final String PKCS_8_PEM_FOOTER = "-----END PRIVATE KEY-----";
    
    public static PrivateKey loadKey(String keyFilePath) throws GeneralSecurityException, IOException {
        byte[] keyDataBytes = Files.readAllBytes(Paths.get(keyFilePath));
        String keyDataString = new String(keyDataBytes, StandardCharsets.UTF_8);
    
        if (keyDataString.contains(PKCS_1_PEM_HEADER)) {
            // OpenSSL / PKCS#1 Base64 PEM encoded file
            keyDataString = keyDataString.replace(PKCS_1_PEM_HEADER, "");
            keyDataString = keyDataString.replace(PKCS_1_PEM_FOOTER, "");
            return readPkcs1PrivateKey(Base64.decodeBase64(keyDataString));
        }
    
        if (keyDataString.contains(PKCS_8_PEM_HEADER)) {
            // PKCS#8 Base64 PEM encoded file
            keyDataString = keyDataString.replace(PKCS_8_PEM_HEADER, "");
            keyDataString = keyDataString.replace(PKCS_8_PEM_FOOTER, "");
            return readPkcs8PrivateKey(Base64.decodeBase64(keyDataString));
        }
    
        // We assume it's a PKCS#8 DER encoded binary file
        return readPkcs8PrivateKey(Files.readAllBytes(Paths.get(keyFilePath)));
    }
    
    private static PrivateKey readPkcs8PrivateKey(byte[] pkcs8Bytes) throws GeneralSecurityException {
        KeyFactory keyFactory = KeyFactory.getInstance("RSA", "SunRsaSign");
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(pkcs8Bytes);
        try {
            return keyFactory.generatePrivate(keySpec);
        } catch (InvalidKeySpecException e) {
            throw new IllegalArgumentException("Unexpected key format!", e);
        }
    }
    
    private static PrivateKey readPkcs1PrivateKey(byte[] pkcs1Bytes) throws GeneralSecurityException {
        // We can't use Java internal APIs to parse ASN.1 structures, so we build a PKCS#8 key Java can understand
        int pkcs1Length = pkcs1Bytes.length;
        int totalLength = pkcs1Length + 22;
        byte[] pkcs8Header = new byte[] {
                0x30, (byte) 0x82, (byte) ((totalLength >> 8) & 0xff), (byte) (totalLength & 0xff), // Sequence + total length
                0x2, 0x1, 0x0, // Integer (0)
                0x30, 0xD, 0x6, 0x9, 0x2A, (byte) 0x86, 0x48, (byte) 0x86, (byte) 0xF7, 0xD, 0x1, 0x1, 0x1, 0x5, 0x0, // Sequence: 1.2.840.113549.1.1.1, NULL
                0x4, (byte) 0x82, (byte) ((pkcs1Length >> 8) & 0xff), (byte) (pkcs1Length & 0xff) // Octet string + length
        };
        byte[] pkcs8bytes = join(pkcs8Header, pkcs1Bytes);
        return readPkcs8PrivateKey(pkcs8bytes);
    }
    
    private static byte[] join(byte[] byteArray1, byte[] byteArray2){
        byte[] bytes = new byte[byteArray1.length + byteArray2.length];
        System.arraycopy(byteArray1, 0, bytes, 0, byteArray1.length);
        System.arraycopy(byteArray2, 0, bytes, byteArray1.length, byteArray2.length);
        return bytes;
    }
    

    Source: https://github.com/Mastercard/client-encryption-java/blob/master/src/main/java/com/mastercard/developer/utils/EncryptionUtils.java

    DBCC SHRINKFILE on log file not reducing size even after BACKUP LOG TO DISK

    Thanks to @user2630576 and @Ed.S.

    the following worked a treat:

    BACKUP LOG [database] TO DISK = 'D:\database.bak'
    GO
    
    ALTER DATABASE [database] SET RECOVERY SIMPLE
    
    use [database]
    
    declare @log_File_Name varchar(200)
    
    select @log_File_Name = name from sysfiles where filename like '%LDF'
    
    declare @i int = FILE_IDEX ( @log_File_Name)
    
    dbcc shrinkfile ( @i , 50)
    
    ALTER DATABASE [database] SET RECOVERY FULL
    

    Android Crop Center of Bitmap

    enter image description here

    This can be achieved with: Bitmap.createBitmap(source, x, y, width, height)

    if (srcBmp.getWidth() >= srcBmp.getHeight()){
    
      dstBmp = Bitmap.createBitmap(
         srcBmp, 
         srcBmp.getWidth()/2 - srcBmp.getHeight()/2,
         0,
         srcBmp.getHeight(), 
         srcBmp.getHeight()
         );
    
    }else{
    
      dstBmp = Bitmap.createBitmap(
         srcBmp,
         0, 
         srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
         srcBmp.getWidth(),
         srcBmp.getWidth() 
         );
    }
    

    Get a random boolean in python?

    I like

     np.random.rand() > .5
    

    Can one class extend two classes?

    In Groovy, you can use trait instead of class. As they act similar to abstract classes (in the way that you can specify abstract methods, but you can still implement others), you can do something like:

    trait EmployeeTrait {
        int getId() {
             return 1000 //Default value
        }
        abstract String getName() //Required
    }
    
    trait CustomerTrait {
        String getCompany() {
            return "Internal" // Default value
        }
        abstract String getAddress()
    }
    
    class InternalCustomer implements EmployeeTrait, CustomerTrait {
        String getName() { ... }
        String getAddress() { ... }
    }
    
    def internalCustomer = new InternalCustomer()
    println internalCustomer.id // 1000
    println internalCustomer.company //Internal
    
    

    Just to point out, its not exactly the same as extending two classes, but in some cases (like the above example), it can solve the situation. I strongly suggest to analyze your design before jumping into using traits, usually they are not required and you won't be able to nicely implement inheritance (for example, you can't use protected methods in traits). Follow the accepted answer's recommendation if possible.

    How to install ADB driver for any android device?

    UNIVERSAL ADB DRIVER

    I have thesame issue before but i solved it easily by just following this steps:

    *connect your android phone in a debugging mode (to enable debugging mode goto settings scroll down About Phone scroll down tap seven times Build Number and it will automatically enable developer option turn on developer options and check USB debugging)

    download Universal ADB Driver Installer

    *choose Adb Driver Installer (Universal)

    *install it *it will automatically detect your android device(any kind of brand) *chose the device and install

    libxml install error using pip

    I work on a Windows machine. And here are some pointers for successful installation of lxml (with python 2.6 and later).

    Have the following installed:

    1. MingGW.
    2. libxml2 version 2.7.0 or later.
    3. libxslt version 1.1.23 or later.

    All are not available at a pip install.

    libxml2's windows binary is found here.

    libxslt is found here.

    After you are done with the above two,

    do : pip install lxml.

    Another workaround is using the stable releases from PyPI or the unofficial Windows binaries by Christoph Gohlke (found here).

    MySQL Foreign Key Error 1005 errno 150 primary key as foreign key

    For me, I was trying to match up a regular indexed field in a child table, to a primary key in the parent table, and by default some MySQL frontend GUIs like Sequel Pro set the primary key as unsigned, so you have to make sure that the child table field is unsigned too (unless these fields might contain negative ints, then make sure they're both signed).

    Android center view in FrameLayout doesn't work

    To center a view in Framelayout, there are some available tricks. The simplest one I used for my Webview and Progressbar(very similar to your two object layout), I just added android:layout_gravity="center"

    Here is complete XML in case if someone else needs the same thing to do

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".WebviewPDFActivity"
        android:layout_gravity="center"
        >
        <WebView
            android:id="@+id/webView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
    
            />
        <ProgressBar
            android:id="@+id/progress_circular"
            android:layout_width="250dp"
            android:layout_height="250dp"
            android:visibility="visible"
            android:layout_gravity="center"
            />
    
    
    </FrameLayout>
    

    Here is my output

    screenshot

    Working around MySQL error "Deadlock found when trying to get lock; try restarting transaction"

    The idea of retrying the query in case of Deadlock exception is good, but it can be terribly slow, since mysql query will keep waiting for locks to be released. And incase of deadlock mysql is trying to find if there is any deadlock, and even after finding out that there is a deadlock, it waits a while before kicking out a thread in order to get out from deadlock situation.

    What I did when I faced this situation is to implement locking in your own code, since it is the locking mechanism of mysql is failing due to a bug. So I implemented my own row level locking in my java code:

    private HashMap<String, Object> rowIdToRowLockMap = new HashMap<String, Object>();
    private final Object hashmapLock = new Object();
    public void handleShortCode(Integer rowId)
    {
        Object lock = null;
        synchronized(hashmapLock)
        {
          lock = rowIdToRowLockMap.get(rowId);
          if (lock == null)
          {
              rowIdToRowLockMap.put(rowId, lock = new Object());
          }
        }
        synchronized (lock)
        {
            // Execute your queries on row by row id
        }
    }
    

    Java string replace and the NUL (NULL, ASCII 0) character?

    This does cause "funky characters":

    System.out.println( "Mr. Foo".trim().replace('.','\0'));
    

    produces:

    Mr[] Foo
    

    in my Eclipse console, where the [] is shown as a square box. As others have posted, use String.replace().

    QR Code encoding and decoding using zxing

    If you really need to encode UTF-8, you can try prepending the unicode byte order mark. I have no idea how widespread the support for this method is, but ZXing at least appears to support it: http://code.google.com/p/zxing/issues/detail?id=103

    I've been reading up on QR Mode recently, and I think I've seen the same practice mentioned elsewhere, but I've not the foggiest where.

    no pg_hba.conf entry for host

    Add the following in line in pg_hba.conf

    hostnossl all all 0.0.0.0/0 trust

    And then restart the Service.

    Maximum execution time in phpMyadmin

    Probabily you are using XMAPP as service, to restart XMAPP properly, you have to open XMAPP control panel un-check both "Svc" mdodules against Apache and MySQL. Then click on exit, now restart XMAPP and you are done.

    Efficiency of Java "Double Brace Initialization"?

    leak prone

    I've decided to chime in. The performance impact includes: disk operation + unzip (for jar), class verification, perm-gen space (for Sun's Hotspot JVM). However, worst of all: it's leak prone. You can't simply return.

    Set<String> getFlavors(){
      return Collections.unmodifiableSet(flavors)
    }
    

    So if the set escapes to any other part loaded by a different classloader and a reference is kept there, the entire tree of classes+classloader will be leaked. To avoid that, a copy to HashMap is necessary, new LinkedHashSet(new ArrayList(){{add("xxx);add("yyy");}}). Not so cute any more. I don't use the idiom, myself, instead it is like new LinkedHashSet(Arrays.asList("xxx","YYY"));

    SQL Server: Query fast, but slow from procedure

    This is probably unlikely, but given that your observed behaviour is unusual it needs to be checked and no-one else has mentioned it.

    Are you absolutely sure that all objects are owned by dbo and you don't have a rogue copies owned by yourself or a different user present as well?

    Just occasionally when I've seen odd behaviour it's because there was actually two copies of an object and which one you get depends on what is specified and who you are logged on as. For example it is perfectly possible to have two copies of a view or procedure with the same name but owned by different owners - a situation that can arise where you are not logged onto the database as a dbo and forget to specify dbo as object owner when you create the object.

    In note that in the text you are running some things without specifying owner, eg

    sp_recompile ViewOpener
    

    if for example there where two copies of viewOpener present owned by dbo and [some other user] then which one you actually recompile if you don't specify is dependent upon circumstances. Ditto with the Report_Opener view - if there where two copies (and they could differ in specification or execution plan) then what is used depends upon circumstances - and as you do not specify owner it is perfectly possible that your adhoc query might use one and the compiled procedure might use use the other.

    As I say, it's probably unlikely but it is possible and should be checked because your issues could be that you're simply looking for the bug in the wrong place.

    Cannot access a disposed object - How to fix?

    I had the same problem and solved it using a boolean flag that gets set when the form is closing (the System.Timers.Timer does not have an IsDisposed property). Everywhere on the form I was starting the timer, I had it check this flag. If it was set, then don't start the timer. Here's the reason:

    The Reason:

    I was stopping and disposing of the timer in the form closing event. I was starting the timer in the Timer_Elapsed() event. If I were to close the form in the middle of the Timer_Elapsed() event, the timer would immediately get disposed by the Form_Closing() event. This would happen before the Timer_Elapsed() event would finish and more importantly, before it got to this line of code:

    _timer.Start()
    

    As soon as that line was executed an ObjectDisposedException() would get thrown with the error you mentioned.

    The Solution:

    Private Sub myForm_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        ' set the form closing flag so the timer doesn't fire even after the form is closed.
        _formIsClosing = True
        _timer.Stop()
        _timer.Dispose()
    End Sub
    

    Here's the timer elapsed event:

    Private Sub Timer_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles _timer.Elapsed
        ' Don't want the timer stepping on itself (ie. the time interval elapses before the first call is done processing)
        _timer.Stop()
    
        ' do work here
    
        ' Only start the timer if the form is open. Without this check, the timer will run even if the form is closed.
        If Not _formIsClosing Then
            _timer.Interval = _refreshInterval
            _timer.Start() ' ObjectDisposedException() is thrown here unless you check the _formIsClosing flag.
        End If
    End Sub
    

    The interesting thing to know, even though it would throw the ObjectDisposedException when attempting to start the timer, the timer would still get started causing it to run even when the form was closed (the thread would only stop when the application was closed).

    Language Books/Tutorials for popular languages

    For Javascript:

    For PHP:

    For OO design & programming, patterns:

    For Refactoring:

    For SQL/MySQL:

    What's sizeof(size_t) on 32-bit vs the various 64-bit data models?

    EDIT: Thanks for the comments - I looked it up in the C99 standard, which says in section 6.5.3.4:

    The value of the result is implementation-defined, and its type (an unsigned integer type) is size_t, defined in <stddef.h> (and other headers)

    So, the size of size_t is not specified, only that it has to be an unsigned integer type. However, an interesting specification can be found in chapter 7.18.3 of the standard:

    limit of size_t

    SIZE_MAX 65535

    Which basically means that, irrespective of the size of size_t, the allowed value range is from 0-65535, the rest is implementation dependent.

    Remove element from JSON Object

    To iterate through the keys of an object, use a for .. in loop:

    for (var key in json_obj) {
        if (json_obj.hasOwnProperty(key)) {
            // do something with `key'
        }
    }
    

    To test all elements for empty children, you can use a recursive approach: iterate through all elements and recursively test their children too.

    Removing a property of an object can be done by using the delete keyword:

    var someObj = {
        "one": 123,
        "two": 345
    };
    var key = "one";
    delete someObj[key];
    console.log(someObj); // prints { "two": 345 }
    

    Documentation:

    Bootstrap 4 card-deck with number of columns based on viewport

    I've used CSS Grid to fix that. CSS Grid will make all the elements in the same row, all the same height.

    I haven't looked into making all the elements in all the rows the same height though.

    Anyway, here's how it can be done:

    HTML:

    <div class="grid-container">
    
      <div class="card">...</div>
      <div class="card">...</div>
    </div>
    

    CSS:

    .grid-container {
      display: grid;  
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    

    Here's a complete JSFiddle. https://jsfiddle.net/bluegrounds/owjvhstq/4/

    plot data from CSV file with matplotlib

    According to the docs numpy.loadtxt is

    a fast reader for simply formatted files. The genfromtxt function provides more sophisticated handling of, e.g., lines with missing values.

    so there are only a few options to handle more complicated files. As mentioned numpy.genfromtxt has more options. So as an example you could use

    import numpy as np
    data = np.genfromtxt('e:\dir1\datafile.csv', delimiter=',', skip_header=10,
                         skip_footer=10, names=['x', 'y', 'z'])
    

    to read the data and assign names to the columns (or read a header line from the file with names=True) and than plot it with

    ax1.plot(data['x'], data['y'], color='r', label='the data')
    

    I think numpy is quite well documented now. You can easily inspect the docstrings from within ipython or by using an IDE like spider if you prefer to read them rendered as HTML.

    Compare two objects' properties to find differences?

    Yes. Use Reflection. With Reflection, you can do things like:

    //given object of some type
    object myObjectFromSomewhere;
    Type myObjOriginalType = myObjectFromSomewhere.GetType();
    PropertyInfo[] myProps = myObjOriginalType.GetProperties();
    

    And then you can use the resulting PropertyInfo classes to compare all manner of things.

    What are the differences between Deferred, Promise and Future in JavaScript?

    What really made it all click for me was this presentation by Domenic Denicola.

    In a github gist, he gave the description I like most, it's very concise:

    The point of promises is to give us back functional composition and error bubbling in the async world.

    In other word, promises are a way that lets us write asynchronous code that is almost as easy to write as if it was synchronous.

    Consider this example, with promises:

    getTweetsFor("domenic") // promise-returning async function
        .then(function (tweets) {
            var shortUrls = parseTweetsForUrls(tweets);
            var mostRecentShortUrl = shortUrls[0];
            return expandUrlUsingTwitterApi(mostRecentShortUrl); // promise-returning async function
        })
        .then(doHttpRequest) // promise-returning async function
        .then(
            function (responseBody) {
                console.log("Most recent link text:", responseBody);
            },
            function (error) {
                console.error("Error with the twitterverse:", error);
            }
        );
    

    It works as if you were writing this synchronous code:

    try {
        var tweets = getTweetsFor("domenic"); // blocking
        var shortUrls = parseTweetsForUrls(tweets);
        var mostRecentShortUrl = shortUrls[0];
        var responseBody = doHttpRequest(expandUrlUsingTwitterApi(mostRecentShortUrl)); // blocking x 2
        console.log("Most recent link text:", responseBody);
    } catch (error) {
        console.error("Error with the twitterverse: ", error);
    }
    

    (If this still sounds complicated, watch that presentation!)

    Regarding Deferred, it's a way to .resolve() or .reject() promises. In the Promises/B spec, it is called .defer(). In jQuery, it's $.Deferred().

    Please note that, as far as I know, the Promise implementation in jQuery is broken (see that gist), at least as of jQuery 1.8.2.
    It supposedly implements Promises/A thenables, but you don't get the correct error handling you should, in the sense that the whole "async try/catch" functionality won't work. Which is a pity, because having a "try/catch" with async code is utterly cool.

    If you are going to use Promises (you should try them out with your own code!), use Kris Kowal's Q. The jQuery version is just some callback aggregator for writing cleaner jQuery code, but misses the point.

    Regarding Future, I have no idea, I haven't seen that in any API.

    Edit: Domenic Denicola's youtube talk on Promises from @Farm's comment below.

    A quote from Michael Jackson (yes, Michael Jackson) from the video:

    I want you to burn this phrase in your mind: A promise is an asynchronous value.

    This is an excellent description: a promise is like a variable from the future - a first-class reference to something that, at some point, will exist (or happen).

    latex large division sign in a math formula

    A possible soluttion that requires tweaking, but is very flexible is to use one of \big, \Big, \bigg,\Bigg in front of your division sign - these will make it progressively larger. For your formula, I think

      $\frac{a_1}{a_2} \Big/ \frac{b_1}{b_2}$
    

    looks nicer than \middle\ which is automatically sized and IMHO is a bit too large.

    SELECTING with multiple WHERE conditions on same column

    SELECT contactid, Count(*) 
    FROM <YOUR_TABLE> WHERE flag in ('Volunteer','Uploaded')  
    GROUP BY contactid 
    HAVING count(*)>1;
    

    Check if a path represents a file or a folder

    public static boolean isDirectory(String path) {
        return path !=null && new File(path).isDirectory();
    }
    

    To answer the question directly.

    What is the Oracle equivalent of SQL Server's IsNull() function?

    You can use the condition if x is not null then.... It's not a function. There's also the NVL() function, a good example of usage here: NVL function ref.

    How to install PostgreSQL's pg gem on Ubuntu?

    Another solution to this problem is to install PostgreSQL using Homebrew/linuxbrew:

    brew install postgresql

    As a matter of habit I don't like to use sudo unless I have to.

    How do you check if a JavaScript Object is a DOM Object?

    old thread, but here's an updated possibility for ie8 and ff3.5 users:

    function isHTMLElement(o) {
        return (o.constructor.toString().search(/\object HTML.+Element/) > -1);
    }
    

    Using Jquery Datatable with AngularJs

    Adding a new answer just as a reference for future researchers and as nobody mentioned that yet I think it's valid.

    Another good option is ng-grid http://angular-ui.github.io/ng-grid/.

    And there's a beta version (http://ui-grid.info/) available already with some improvements:

    • Native AngularJS implementation, no jQuery
    • Performs well with large data sets; even 10,000+ rows
    • Plugin architecture allows you to use only the features you need

    UPDATE:

    It seems UI GRID is not beta anymore.

    With the 3.0 release, the repository has been renamed from "ng-grid" to "ui-grid".

    C++ convert string to hexadecimal and vice versa

    Using lookup tables and the like works, but is just overkill, here are some very simple ways of taking a string to hex and hex back to a string:

    #include <stdexcept>
    #include <sstream>
    #include <iomanip>
    #include <string>
    #include <cstdint>
    
    std::string string_to_hex(const std::string& in) {
        std::stringstream ss;
    
        ss << std::hex << std::setfill('0');
        for (size_t i = 0; in.length() > i; ++i) {
            ss << std::setw(2) << static_cast<unsigned int>(static_cast<unsigned char>(in[i]));
        }
    
        return ss.str(); 
    }
    
    std::string hex_to_string(const std::string& in) {
        std::string output;
    
        if ((in.length() % 2) != 0) {
            throw std::runtime_error("String is not valid length ...");
        }
    
        size_t cnt = in.length() / 2;
    
        for (size_t i = 0; cnt > i; ++i) {
            uint32_t s = 0;
            std::stringstream ss;
            ss << std::hex << in.substr(i * 2, 2);
            ss >> s;
    
            output.push_back(static_cast<unsigned char>(s));
        }
    
        return output;
    }
    

    Speed tradeoff of Java's -Xms and -Xmx options

    This was always the question I had when I was working on one of my application which created massive number of threads per request.

    So this is a really good question and there are two aspects of this:
    1. Whether my Xms and Xmx value should be same
           - Most websites and even oracle docs suggest it to be the same. However, I suggest to have some 10-20% of buffer between those values to give heap resizing an option to your application in case sudden high traffic spikes OR a incidental memory leak.

    2. Whether I should start my Application with lower heap size
           - So here's the thing - no matter what GC Algo you use (even G1), large heap always has some trade off. The goal is to identify the behavior of your application to what heap size you can allow your GC pauses in terms of latency and throughput.
                  - For example, if your application has lot of threads (each thread has 1 MB stack in native memory and not in heap) but does not occupy heavy object space, then I suggest have a lower value of Xms.
                  - If your application creates lot of objects with increasing number of threads, then identify to what value of Xms you can set to tolerate those STW pauses. This means identify the max response time of your incoming requests you can tolerate and according tune the minimum heap size.

    PHP: If internet explorer 6, 7, 8 , or 9

    You can do this via parsing the user-agent header:

    http://php.about.com/od/learnphp/p/http_user_agent.htm

    Be wary that this is not very reliable and can be trivially spoofed.

    How to set the custom border color of UIView programmatically?

    Swift 5*

    I, always use view extension to make view corners round, set border color and width and it has been the most convenient way for me. just copy and paste this code and controlle these properties in attribute inspector.

    extension UIView {
        @IBInspectable
        var cornerRadius: CGFloat {
            get {
                return layer.cornerRadius
            }
            set {
                layer.cornerRadius = newValue
            }
        }
        
        @IBInspectable
        var borderWidth: CGFloat {
            get {
                return layer.borderWidth
            }
            set {
                layer.borderWidth = newValue
            }
        }
        
        @IBInspectable
        var borderColor: UIColor? {
            get {
                if let color = layer.borderColor {
                    return UIColor(cgColor: color)
                }
                return nil
            }
            set {
                if let color = newValue {
                    layer.borderColor = color.cgColor
                } else {
                    layer.borderColor = nil
                }
            }
        }
    }
    

    ng-mouseover and leave to toggle item using mouse in angularjs

    I would simply make the assignment happen in the ng-mouseover and ng-mouseleave; no need to bother js file :)

    <ul ng-repeat="task in tasks">
        <li ng-mouseover="hoverEdit = true" ng-mouseleave="hoverEdit = false">{{task.name}}</li>
        <span ng-show="hoverEdit"><a>Edit</a></span>
    </ul>
    

    Simple Deadlock Examples

    Maybe a simple bank situation.

    class Account {
      double balance;
    
      void withdraw(double amount){
         balance -= amount;
      } 
    
      void deposit(double amount){
         balance += amount;
      } 
    
       void transfer(Account from, Account to, double amount){
            sync(from);
            sync(to);
    
            from.withdraw(amount);
            to.deposit(amount);
    
            release(to);
            release(from);
        }
    
    }
    

    Obviously, should there be two threads which attempt to run transfer(a, b) and transfer(b, a) at the same time, then a deadlock is going to occur because they try to acquire the resources in reverse order.

    This code is also great for looking at solutions to the deadlock as well. Hope this helps!

    How to find out the username and password for mysql database

    In your local system right,

       go to this url : http://localhost/phpmyadmin/
    
       In this click mysql default db, after that browser user table to get existing username and password.
    

    How to lock orientation of one view controller to portrait mode only in Swift

    Here is a simple way that works for me with Swift 4.2 (iOS 12.2), put this in a UIViewController for which you want to disable shouldAutorotate:

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .portrait
    }
    

    The .portrait part tells it in which orientation(s) to remain, you can change this as you like. Choices are: .portrait, .all, .allButUpsideDown, .landscape, .landscapeLeft, .landscapeRight, .portraitUpsideDown.

    How to stop default link click behavior with jQuery

    I've just wasted an hour on this. I tried everything - it turned out (and I can hardly believe this) that giving my cancel button and element id of cancel meant that any attempt to prevent event propagation would fail! I guess an HTML page must treat this as someone pressing ESC?

    random.seed(): What does it do?

    >>> random.seed(9001)   
    >>> random.randint(1, 10)  
    1     
    >>> random.seed(9001)     
    >>> random.randint(1, 10)    
    1           
    >>> random.seed(9001)          
    >>> random.randint(1, 10)                 
    1                  
    >>> random.seed(9001)         
    >>> random.randint(1, 10)          
    1     
    >>> random.seed(9002)                
    >>> random.randint(1, 10)             
    3
    

    You try this.

    Let's say 'random.seed' gives a value to random value generator ('random.randint()') which generates these values on the basis of this seed. One of the must properties of random numbers is that they should be reproducible. When you put same seed, you get the same pattern of random numbers. This way you are generating them right from the start. You give a different seed- it starts with a different initial (above 3).

    Given a seed, it will generate random numbers between 1 and 10 one after another. So you assume one set of numbers for one seed value.

    How do I use a PriorityQueue?

    Just pass appropriate Comparator to the constructor:

    PriorityQueue(int initialCapacity, Comparator<? super E> comparator)
    

    The only difference between offer and add is the interface they belong to. offer belongs to Queue<E>, whereas add is originally seen in Collection<E> interface. Apart from that both methods do exactly the same thing - insert the specified element into priority queue.

    Why doesn't file_get_contents work?

    If PHP's allow_url_fopen ini directive is set to true, and if curl doesn't work either (see this answer for an example of how to use it instead of file_get_contents), then the problem could be that your server has a firewall preventing scripts from getting the contents of arbitrary urls (which could potentially allow malicious code to fetch things).

    I had this problem, and found that the solution for me was to edit the firewall settings to explicitly allow requests to the domain (or IP address) in question.

    How do the post increment (i++) and pre increment (++i) operators work in Java?

    i = ++a + ++a + a++;
    

    is

    i = 6 + 7 + 7
    

    Working: increment a to 6 (current value 6) + increment a to 7 (current value 7). Sum is 13 now add it to current value of a (=7) and then increment a to 8. Sum is 20 and value of a after the assignment completes is 8.

    i = a++ + ++a + ++a;
    

    is

    i = 5 + 7 + 8
    

    Working: At the start value of a is 5. Use it in the addition and then increment it to 6 (current value 6). Increment a from current value 6 to 7 to get other operand of +. Sum is 12 and current value of a is 7. Next increment a from 7 to 8 (current value = 8) and add it to previous sum 12 to get 20.

    Authentication failed for https://xxx.visualstudio.com/DefaultCollection/_git/project

    I had a same issue recently (visual studio 2017 & Windows 10), and solved it using the following method:

    Control Panel --> Credential Manager --> Manage Windows Credentials --> Choose the entry of the git repository, and Edit the user and password.

    Done.

    How do I load an org.w3c.dom.Document from XML in a string?

    This works for me in Java 1.5 - I stripped out specific exceptions for readability.

    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import org.w3c.dom.Document;
    import java.io.ByteArrayInputStream;
    
    public Document loadXMLFromString(String xml) throws Exception
    {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    
        factory.setNamespaceAware(true);
        DocumentBuilder builder = factory.newDocumentBuilder();
    
        return builder.parse(new ByteArrayInputStream(xml.getBytes()));
    }
    

    How to enable zoom controls and pinch zoom in a WebView?

    To enable zoom controls in a WebView, add the following line:

    webView.getSettings().setBuiltInZoomControls(true);
    

    With this line of code, you get the zoom enabled in your WebView, if you want to remove the zoom in and zoom out buttons provided, add the following line of code:

    webView.getSettings().setDisplayZoomControls(false);
    

    PHP foreach with Nested Array?

    As I understand , all of previous answers , does not make an Array output, In my case : I have a model with parent-children structure (simplified code here):

    public function parent(){
    
        return $this->belongsTo('App\Models\Accounting\accounting_coding', 'parent_id');
    }
    
    
    public function children()
    {
    
        return $this->hasMany('App\Models\Accounting\accounting_coding', 'parent_id');
    }
    

    and if you want to have all of children IDs as an Array , This approach is fine and working for me :

    public function allChildren()
    {
        $allChildren = [];
        if ($this->has_branch) {
    
            foreach ($this->children as $child) {
    
                $subChildren = $child->allChildren();
    
                if (count($subChildren) == 1) {
                    $allChildren  [] = $subChildren[0];
                } else if (count($subChildren) > 1) {
                    $allChildren += $subChildren;
                }
            }
        }
        $allChildren  [] = $this->id;//adds self Id to children Id list
    
        return $allChildren; 
    }
    

    the allChildren() returns , all of childrens as a simple Array .

    Why did a network-related or instance-specific error occur while establishing a connection to SQL Server?

    In my case it was a very silly error. I was using a library to read the connection string out of a config file, and I forgot to double back slash.

    For example I had: localhost\sqlexpress which was read as localhostsqlexpress when I should rather have had localhost\\sqlexpress note the \

    How to POST form data with Spring RestTemplate?

    Your url String needs variable markers for the map you pass to work, like:

    String url = "https://app.example.com/hr/email?{email}";
    

    Or you could explicitly code the query params into the String to begin with and not have to pass the map at all, like:

    String url = "https://app.example.com/hr/[email protected]";
    

    See also https://stackoverflow.com/a/47045624/1357094

    Is there a typescript List<> and/or Map<> class/library?

    It's very easy to write that yourself, and that way you have more control over things.. As the other answers say, TypeScript is not aimed at adding runtime types or functionality.

    Map:

    class Map<T> {
        private items: { [key: string]: T };
    
        constructor() {
            this.items = {};
        }
    
        add(key: string, value: T): void {
            this.items[key] = value;
        }
    
        has(key: string): boolean {
            return key in this.items;
        }
    
        get(key: string): T {
            return this.items[key];
        }
    }
    

    List:

    class List<T> {
        private items: Array<T>;
    
        constructor() {
            this.items = [];
        }
    
        size(): number {
            return this.items.length;
        }
    
        add(value: T): void {
            this.items.push(value);
        }
    
        get(index: number): T {
            return this.items[index];
        }
    }
    

    I haven't tested (or even tried to compile) this code, but it should give you a starting point.. you can of course then change what ever you want and add the functionality that YOU need...

    As for your "special needs" from the List, I see no reason why to implement a linked list, since the javascript array lets you add and remove items.
    Here's a modified version of the List to handle the get prev/next from the element itself:

    class ListItem<T> {
        private list: List<T>;
        private index: number;
    
        public value: T;
    
        constructor(list: List<T>, value: T, index: number) {
            this.list = list;
            this.index = index;
            this.value = value;
        }
    
        prev(): ListItem<T> {
            return this.list.get(this.index - 1);
        }
    
        next(): ListItem<T> {
            return this.list.get(this.index + 1);   
        }
    }
    
    class List<T> {
        private items: Array<ListItem<T>>;
    
        constructor() {
            this.items = [];
        }
    
        size(): number {
            return this.items.length;
        }
    
        add(value: T): void {
            this.items.push(new ListItem<T>(this, value, this.size()));
        }
    
        get(index: number): ListItem<T> {
            return this.items[index];
        }
    }
    

    Here too you're looking at untested code..

    Hope this helps.


    Edit - as this answer still gets some attention

    Javascript has a native Map object so there's no need to create your own:

    let map = new Map();
    map.set("key1", "value1");
    console.log(map.get("key1")); // value1
    

    I have Python on my Ubuntu system, but gcc can't find Python.h

    That means you are not install libraries for python dev.

    If you are on Linux OS, you can solve this issue by commands separately below:

    • Ubuntu (Debian) :

      sudo apt-get install python-dev (Py2) or sudo apt-get install python3-dev (Py3)

    • Rehat (CentOS):

      yum install python-devel

    Counting Line Numbers in Eclipse

    A very simple plugin for counting actual lines of source code is step counter eclipse plugin. Please download and try.

    github link

    Place the downloaded jar file under eclipse\plugin folder and restart eclipse.

    Rightclick and select step counter enter image description here

    Step Result enter image description here

    What does if __name__ == "__main__": do?

    Let's look at the answer in a more abstract way:

    Suppose we have this code in x.py:

    ...
    <Block A>
    if __name__ == '__main__':
        <Block B>
    ...
    

    Blocks A and B are run when we are running x.py.

    But just block A (and not B) is run when we are running another module, y.py for example, in which x.py is imported and the code is run from there (like when a function in x.py is called from y.py).

    Regular expression for a hexadecimal number?

    This one makes sure you have no more than three valid pairs:

    (([a-fA-F]|[0-9]){2}){3}
    

    Any more or less than three pairs of valid characters fail to match.

    Determine whether a key is present in a dictionary

    if 'name' in mydict:
    

    is the preferred, pythonic version. Use of has_key() is discouraged, and this method has been removed in Python 3.

    Debugging PHP Mail() and/or PHPMailer

    It looks like the class.phpmailer.php file is corrupt. I would download the latest version and try again.

    I've always used phpMailer's SMTP feature:

    $mail->IsSMTP();
    $mail->Host = "localhost";
    

    And if you need debug info:

    $mail->SMTPDebug  = 2; // enables SMTP debug information (for testing)
                           // 1 = errors and messages
                           // 2 = messages only
    

    XML Parser for C

    http://www.minixml.org is also pretty good. Small and just ANSI C.

    How to run cron once, daily at 10pm

    The syntax for crontab

    * * * * * 
    
    Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute
    

    Your syntax

    * 22 * * * test > /dev/null
    

    your job will Execute every minute at 22:00 hrs all week, month and year.

    adding an option (0-59) at the minute place will run it once at 22:00 hrs all week, month and year.

    0 22 * * * command_to_execute 
    

    Source https://www.adminschoice.com/crontab-quick-reference

    Is there something like Codecademy for Java

    Check out javapassion, they have a number of courses that encompass web programming, and were free (until circumstances conspired to make the website need to support itself).

    Even with the nominal fee, you get a lot for an entire year. It's a bargain compared to the amount of time you'll be investing.

    The other options are to look to Oracle's online tutorials, they lack the glitz of Codeacademy, but are surprisingly good. I haven't read the one on web programming, that might be embedded in the Java EE tutorial(s), which is not tuned for a new beginner to Java.

    How to install a node.js module without using npm?

    Download the code from github into the node_modules directory

    var moduleName = require("<name of directory>")
    

    that should do it.

    if the module has dependancies and has a package.json, open the module and enter npm install.

    Hope this helps

    How to cherry-pick from a remote branch?

    I had this error returned after using the commit id from a pull request commit id tab. That commit was subsequently squashed and merged. In the github pull request, look for this text: "merged commit xxxxxxx into..." instead of attempting to use the commit ids from the commits tab.

    Can inner classes access private variables?

    Anything that is part of Outer should have access to all of Outer's members, public or private.

    Edit: your compiler is correct, var is not a member of Inner. But if you have a reference or pointer to an instance of Outer, it could access that.

    How to use onSavedInstanceState example please

    One major note that all new Android developers should know is that any information in Widgets (TextView, Buttons, etc.) will be persisted automatically by Android as long as you assign an ID to them. So that means most of the UI state is taken care of without issue. Only when you need to store other data does this become an issue.

    From Android Docs:

    The only work required by you is to provide a unique ID (with the android:id attribute) for each widget you want to save its state. If a widget does not have an ID, then it cannot save its state

    vue.js 2 how to watch store values from vuex

    Let's say, for example, that you have a basket of fruits, and each time you add or remove a fruit from the basket, you want to (1) display info about fruit count, but you also (2) want to be notified of the count of the fruits in some fancy fashion...

    fruit-count-component.vue

    <template>
      <!-- We meet our first objective (1) by simply -->
      <!-- binding to the count property. -->
      <p>Fruits: {{ count }}</p>
    </template>
    
    <script>
    import basket from '../resources/fruit-basket'
    
    export default () {
      computed: {
        count () {
          return basket.state.fruits.length
          // Or return basket.getters.fruitsCount
          // (depends on your design decisions).
        }
      },
      watch: {
        count (newCount, oldCount) {
          // Our fancy notification (2).
          console.log(`We have ${newCount} fruits now, yay!`)
        }
      }
    }
    </script>
    

    Please note, that the name of the function in the watch object, must match the name of the function in the computed object. In the example above the name is count.

    New and old values of a watched property will be passed into watch callback (the count function) as parameters.

    The basket store could look like this:

    fruit-basket.js

    import Vue from 'vue'
    import Vuex from 'vuex'
    
    Vue.use(Vuex)
    
    const basket = new Vuex.Store({
      state: {
        fruits: []
      },
      getters: {
        fruitsCount (state) {
          return state.fruits.length
        }
      }
      // Obviously you would need some mutations and actions,
      // but to make example cleaner I'll skip this part.
    })
    
    export default basket
    

    You can read more in the following resources:

    Replace a character at a specific index in a string?

    Turn the String into a char[], replace the letter by index, then convert the array back into a String.

    String myName = "domanokz";
    char[] myNameChars = myName.toCharArray();
    myNameChars[4] = 'x';
    myName = String.valueOf(myNameChars);
    

    How do I enable the column selection mode in Eclipse?

    A different approach:

    The vrapper plugin emulates vim inside the Eclipse editor. One of its features is visual block mode which works fine inside Eclipse.

    It is by default mapped to Ctrl-V which interferes with the paste command in Eclipse. You can either remap the visual block mode to a different shortcut, or remap the paste command to a different key. I chose the latter: remapped the paste command to Ctrl-Shift-V to match my terminal's behavior.

    JavaScript chop/slice/trim off last character in string

    A regular expression is what you are looking for:

    _x000D_
    _x000D_
    let str = "foo_bar";_x000D_
    console.log(str.replace(/_bar$/, ""));
    _x000D_
    _x000D_
    _x000D_

    "SMTP Error: Could not authenticate" in PHPMailer

    this is GMail issue

    read this Google Help (https://support.google.com/mail/answer/14257?p=client_login&rd=1)

    1. Open your web browser and sign in to Gmail at http://mail.google.com/mail. If you see a word verification request, type the letters in the distorted picture and finish signing in.
    2. Close your browser and try accessing your messages in your email client again.
    3. If you're still having problems, visit http://www.google.com/accounts/DisplayUnlockCaptcha and sign in with your Gmail username and password. If necessary, enter the letters in the distorted picture.
    4. Click Continue.
    5. Restart your mail client and try accessing messages in your email client again.

    SMTP Error: Could not authenticate

    Gmail issue

    POST request via RestTemplate in JSON

    I've been using rest template with JSONObjects as follow:

    // create request body
    JSONObject request = new JSONObject();
    request.put("username", name);
    request.put("password", password);
    
    // set headers
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);
    HttpEntity<String> entity = new HttpEntity<String>(request.toString(), headers);
    
    // send request and parse result
    ResponseEntity<String> loginResponse = restTemplate
      .exchange(urlString, HttpMethod.POST, entity, String.class);
    if (loginResponse.getStatusCode() == HttpStatus.OK) {
      JSONObject userJson = new JSONObject(loginResponse.getBody());
    } else if (loginResponse.getStatusCode() == HttpStatus.UNAUTHORIZED) {
      // nono... bad credentials
    }
    

    Conditional Logic on Pandas DataFrame

    In [1]: df
    Out[1]:
       data
    0     1
    1     2
    2     3
    3     4
    

    You want to apply a function that conditionally returns a value based on the selected dataframe column.

    In [2]: df['data'].apply(lambda x: 'true' if x <= 2.5 else 'false')
    Out[2]:
    0     true
    1     true
    2    false
    3    false
    Name: data
    

    You can then assign that returned column to a new column in your dataframe:

    In [3]: df['desired_output'] = df['data'].apply(lambda x: 'true' if x <= 2.5 else 'false')
    
    In [4]: df
    Out[4]:
       data desired_output
    0     1           true
    1     2           true
    2     3          false
    3     4          false
    

    Shell script "for" loop syntax

    We can iterate loop like as C programming.

    #!/bin/bash
    for ((i=1; i<=20; i=i+1))
    do 
          echo $i
    done
    

    Why is my Git Submodule HEAD detached from master?

    Adding a branch option in .gitmodule is NOT related to the detached behavior of submodules at all. The old answer from @mkungla is incorrect, or obsolete.

    From git submodule --help, HEAD detached is the default behavior of git submodule update --remote.

    First, there's no need to specify a branch to be tracked. origin/master is the default branch to be tracked.

    --remote

    Instead of using the superproject's recorded SHA-1 to update the submodule, use the status of the submodule's remote-tracking branch. The remote used is branch's remote (branch.<name>.remote), defaulting to origin. The remote branch used defaults to master.

    Why

    So why is HEAD detached after update? This is caused by the default module update behavior: checkout.

    --checkout

    Checkout the commit recorded in the superproject on a detached HEAD in the submodule. This is the default behavior, the main use of this option is to override submodule.$name.update when set to a value other than checkout.

    To explain this weird update behavior, we need to understand how do submodules work?

    Quote from Starting with Submodules in book Pro Git

    Although sbmodule DbConnector is a subdirectory in your working directory, Git sees it as a submodule and doesn’t track its contents when you’re not in that directory. Instead, Git sees it as a particular commit from that repository.

    The main repo tracks the submodule with its state at a specific point, the commit id. So when you update modules, you're updating the commit id to a new one.

    How

    If you want the submodule merged with remote branch automatically, use --merge or --rebase.

    --merge

    This option is only valid for the update command. Merge the commit recorded in the superproject into the current branch of the submodule. If this option is given, the submodule's HEAD will not be detached.

    --rebase

    Rebase the current branch onto the commit recorded in the superproject. If this option is given, the submodule's HEAD will not be detached.

    All you need to do is,

    git submodule update --remote --merge
    # or
    git submodule update --remote --rebase
    

    Recommended alias:

    git config alias.supdate 'submodule update --remote --merge'
    
    # do submodule update with
    git supdate
    

    There's also an option to make --merge or --rebase as the default behavior of git submodule update, by setting submodule.$name.update to merge or rebase.

    Here's an example about how to config the default update behavior of submodule update in .gitmodule.

    [submodule "bash/plugins/dircolors-solarized"]
        path = bash/plugins/dircolors-solarized
        url = https://github.com/seebi/dircolors-solarized.git
        update = merge # <-- this is what you need to add
    

    Or configure it in command line,

    # replace $name with a real submodule name
    git config -f .gitmodules submodule.$name.update merge
    

    References

    Stop MySQL service windows

    This is a newer and easier answer.

    1. Run cmd as admin
    2. Type "net start mysql" then the version number, in my case "net start mysql80" for MySQL 8.0.
    3. If it says it's already running great, otherwise now mysql is running.
    4. Exit cmd, WIN+R and type services.msc, scroll down until you find my sql with the right version.
    5. Right-Click for properties, under startup type select 'Manual', then under service status select 'Stop'
    6. Now you stopped mysql service and it will not run automatically again.
    7. To turn it back on, in cmd admin 'net start mysql' and the version number, in my case 'net start mysql80'

    Adding onClick event dynamically using jQuery

    You can use the click event and call your function or move your logic into the handler:

    $("#bfCaptchaEntry").click(function(){ myFunction(); });
    

    You can use the click event and set your function as the handler:

    $("#bfCaptchaEntry").click(myFunction);
    

    .click()

    Bind an event handler to the "click" JavaScript event, or trigger that event on an element.

    http://api.jquery.com/click/


    You can use the on event bound to "click" and call your function or move your logic into the handler:

    $("#bfCaptchaEntry").on("click", function(){ myFunction(); });
    

    You can use the on event bound to "click" and set your function as the handler:

    $("#bfCaptchaEntry").on("click", myFunction);
    

    .on()

    Attach an event handler function for one or more events to the selected elements.

    http://api.jquery.com/on/

    SVN how to resolve new tree conflicts when file is added on two branches

    What if the incoming changes are the ones you want? I'm unable to run svn resolve --accept theirs-full

    svn resolve --accept base

    Is there a default password to connect to vagrant when using `homestead ssh` for the first time?

    I've a same problem. After move machine from restore of Time Machine, on another host. There problem it's that ssh key for vagrant it's not your key, it's a key on Homestead directory.

    Solution for me:

    • Use vagrant / vagrant for access ti VM of Homestead
    • vagrant ssh-config for see config of ssh

    run on terminal

    vagrant ssh-config
    Host default
    HostName 127.0.0.1
    User vagrant
    Port 2222
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking no
    PasswordAuthentication no
    IdentityFile "/Users/MYUSER/.vagrant.d/insecure_private_key"
    IdentitiesOnly yes
    LogLevel FATAL
    ForwardAgent yes
    

    Create a new pair of SSH keys

    ssh-keygen -f /Users/MYUSER/.vagrant.d/insecure_private_key
    

    Copy content of public key

    cat /Users/MYUSER/.vagrant.d/insecure_private_key.pub
    

    On other shell in Homestead VM Machine copy into authorized_keys

    vagrant@homestad:~$ echo 'CONTENT_PASTE_OF_PRIVATE_KEY' >> ~/.ssh/authorized_keys
    

    Now can access with vagrant ssh

    Changing the space between each item in Bootstrap navbar

    With regard to bootstrap, the correct answer is using spacing utilities as mentioned by loopasam in a previous comment. Following is an example of using padding for both left and right.

    <a href="#" class="nav-item nav-link px-3">Blog</a>
    

    How do I check if a list is empty?

    Here are a few ways you can check if a list is empty:

    a = [] #the list
    

    1) The pretty simple pythonic way:

    if not a:
        print("a is empty")
    

    In Python, empty containers such as lists,tuples,sets,dicts,variables etc are seen as False. One could simply treat the list as a predicate (returning a Boolean value). And a True value would indicate that it's non-empty.

    2) A much explicit way: using the len() to find the length and check if it equals to 0:

    if len(a) == 0:
        print("a is empty")
    

    3) Or comparing it to an anonymous empty list:

    if a == []:
        print("a is empty")
    

    4) Another yet silly way to do is using exception and iter():

    try:
        next(iter(a))
        # list has elements
    except StopIteration:
        print("Error: a is empty")
    

    Select top 10 records for each category

    Might the UNION operator work for you? Have one SELECT for each section, then UNION them together. Guess it would only work for a fixed number of sections though.

    C# compiler error: "not all code paths return a value"

    You're missing a return statement.

    When the compiler looks at your code, it's sees a third path (the else you didn't code for) that could occur but doesn't return a value. Hence not all code paths return a value.

    For my suggested fix, I put a return after your loop ends. The other obvious spot - adding an else that had a return value to the if-else-if - would break the for loop.

    public static bool isTwenty(int num)
    {
        for(int j = 1; j <= 20; j++)
        {
            if(num % j != 0)
            {
                return false;
            }
            else if(num % j == 0 && num == 20)
            {
                return true;
            }
        }
        return false;  //This is your missing statement
    }
    

    Sublime Text 2: How do I change the color that the row number is highlighted?

    The easy way: Pick an alternative Color Scheme:

    Preferences > Color Scheme > ...pick one

    The more complicated way: Edit the current color scheme file:

    Preferences > Browse Packages > Color Scheme - Default > ... edit the Color Scheme file you are using:

    Looking at the structure of the XML, drill down into dict > settings > settings > dict >

    Look for the key (or add it if it's missing): lineHighlight. Add a string with an #RRGGBB or #RRGGBBAA format.

    Why does JSON.parse fail with the empty string?

    As an empty string is not valid JSON it would be incorrect for JSON.parse('') to return null because "null" is valid JSON. e.g.

    JSON.parse("null");
    

    returns null. It would be a mistake for invalid JSON to also be parsed to null.

    While an empty string is not valid JSON two quotes is valid JSON. This is an important distinction.

    Which is to say a string that contains two quotes is not the same thing as an empty string.

    JSON.parse('""');
    

    will parse correctly, (returning an empty string). But

    JSON.parse('');
    

    will not.

    Valid minimal JSON strings are

    The empty object '{}'

    The empty array '[]'

    The string that is empty '""'

    A number e.g. '123.4'

    The boolean value true 'true'

    The boolean value false 'false'

    The null value 'null'

    Convert from ASCII string encoded in Hex to plain ASCII?

    A slightly simpler solution:

    >>> "7061756c".decode("hex")
    'paul'
    

    What MIME type should I use for CSV?

    My users are allowed to upload CSV files and text/csv and application/csv did not appear by now. These are the ones identified through finfo():

    text/plain
    text/x-csv
    

    And these are the ones transmitted through the browser:

    text/plain
    application/vnd.ms-excel
    text/x-csv
    

    The following types did not appear, but could:

    application/csv
    application/x-csv
    text/csv
    text/comma-separated-values
    text/x-comma-separated-values
    text/tab-separated-values
    

    How do I block or restrict special characters from input fields with jquery?

    [User below code to restrict special character also    
    
    $(h.txtAmount).keydown(function (event) {
            if (event.shiftKey) {
                event.preventDefault();
            }
            if (event.keyCode == 46 || event.keyCode == 8) {
            }
            else {
                if (event.keyCode < 95) {
                    if (event.keyCode < 48 || event.keyCode > 57) {
                        event.preventDefault();
                    }
                }
                else {
                    if (event.keyCode < 96 || event.keyCode > 105) {
                        event.preventDefault();
                    }
                }
            }
    
    
        });]
    

    convert nan value to zero

    You can use lambda function, an example for 1D array:

    import numpy as np
    a = [np.nan, 2, 3]
    map(lambda v:0 if np.isnan(v) == True else v, a)
    

    This will give you the result:

    [0, 2, 3]
    

    Grant execute permission for a user on all stored procedures in database?

    use below code , change proper database name and user name and then take that output and execute in SSMS. FOR SQL 2005 ABOVE

    USE <database_name> 
    select 'GRANT EXECUTE ON ['+name+'] TO [userName]  '  
    from sys.objects  
    where type ='P' 
    and is_ms_shipped = 0  
    

    Returning boolean if set is empty

    not as pythonic as the other answers, but mathematics:

    return len(c) == 0
    

    As some comments wondered about the impact len(set) could have on complexity. It is O(1) as shown in the source code given it relies on a variable that tracks the usage of the set.

    static Py_ssize_t
    set_len(PyObject *so)
    {
        return ((PySetObject *)so)->used;
    }
    

    Create a view with ORDER BY clause

    Just use TOP 100 Percent in the Select:

         CREATE VIEW [schema].[VIEWNAME] (
             [COLUMN1],
             [COLUMN2],
             [COLUMN3],
             [COLUMN4])
         AS 
            SELECT TOP 100 PERCENT 
             alias.[COLUMN1],
             alias.[COLUMN2],
             alias.[COLUMN3],
             alias.[COLUMN4]
            FROM 
               [schema].[TABLENAME] AS alias
              ORDER BY alias.COLUMN1
         GO
    

    How to add default value for html <textarea>?

    You can use placeholder Attribute, which doesn't add a default value but might be what you are looking out for :

    <textarea placeholder="this text will show in the textarea"></textarea>
    

    Check it out here - http://jsfiddle.net/8DzCE/949/ enter image description here

    Important Note ( As suggested by Jon Brave in the comments ) :

    Placeholder Attribute does not set the value of a textarea. Rather "The placeholder attribute represents a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value" [and it disappears as soon as user clicks into the textarea]. It will never act as "the default value" for the control. If you want that, you must put the desired text inside the Here is the actual default value, as per other answers here

    Quick-and-dirty way to ensure only one instance of a shell script is running at a time

    Some unixes have lockfile which is very similar to the already mentioned flock.

    From the manpage:

    lockfile can be used to create one or more semaphore files. If lock- file can't create all the specified files (in the specified order), it waits sleeptime (defaults to 8) seconds and retries the last file that didn't succeed. You can specify the number of retries to do until failure is returned. If the number of retries is -1 (default, i.e., -r-1) lockfile will retry forever.

    Animate visibility modes, GONE and VISIBLE

    You can use the expandable list view explained in API demos to show groups

    http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/ExpandableList1.html.

    To animate the list items motion, you will have to override the getView method and apply translate animation on each list item. The values for animation depend on the position of each list item. This was something which i tried on a simple list view long time back.

    How to remove the last element added into the List?

    The direct answer to this question is:

    if(rows.Any()) //prevent IndexOutOfRangeException for empty list
    {
        rows.RemoveAt(rows.Count - 1);
    }
    

    However... in the specific case of this question, it makes more sense not to add the row in the first place:

    Row row = new Row();
    //...      
    
    if (!row.cell[0].Equals("Something"))
    {
        rows.Add(row);
    }
    

    TBH, I'd go a step further by testing "Something" against user."", and not even instantiating a Row unless the condition is satisfied, but seeing as user."" won't compile, I'll leave that as an exercise for the reader.

    Moment.js with ReactJS (ES6)

    run npm i moment react-moment --save

    you can use this in your component,

    import Moment from 'react-moment';

    const date = new Date();
    <Moment format='MMMM Do YYYY, h:mm:ss a'>{date}</Moment>
    

    will give you sth like this :
    enter image description here

    How to set environment variables in Python?

    It should be noted that if you try to set the environment variable to a bash evaluation it won't store what you expect. Example:

    from os import environ
    
    environ["JAVA_HOME"] = "$(/usr/libexec/java_home)"
    

    This won't evaluate it like it does in a shell, so instead of getting /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home as a path you will get the literal expression $(/usr/libexec/java_home).

    Make sure to evaluate it before setting the environment variable, like so:

    from os import environ
    from subprocess import Popen, PIPE
    
    bash_variable = "$(/usr/libexec/java_home)"
    capture = Popen(f"echo {bash_variable}", stdout=PIPE, shell=True)
    std_out, std_err = capture.communicate()
    return_code = capture.returncode
    
    if return_code == 0:
        evaluated_env = std_out.decode().strip()
        environ["JAVA_HOME"] = evaluated_env
    else:
        print(f"Error: Unable to find environment variable {bash_variable}")
    

    How to have an automatic timestamp in SQLite?

    You can create TIMESTAMP field in table on the SQLite, see this:

    CREATE TABLE my_table (
        id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
        name VARCHAR(64),
        sqltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
    );
    
    INSERT INTO my_table(name, sqltime) VALUES('test1', '2010-05-28T15:36:56.200');
    INSERT INTO my_table(name, sqltime) VALUES('test2', '2010-08-28T13:40:02.200');
    INSERT INTO my_table(name) VALUES('test3');
    

    This is the result:

    SELECT * FROM my_table;
    

    enter image description here

    Ajax success event not working

    The result is probably not in JSON format, so when jQuery tries to parse it as such, it fails. You can catch the error with error: callback function.

    You don't seem to need JSON in that function anyways, so you can also take out the dataType: 'json' row.

    conversion from string to json object android

    its work

        String json = "{\"phonetype\":\"N95\",\"cat\":\"WP\"}";
    
        try {
    
            JSONObject obj = new JSONObject(json);
    
            Log.d("My App", obj.toString());
            Log.d("phonetype value ", obj.getString("phonetype"));
    
        } catch (Throwable tx) {
            Log.e("My App", "Could not parse malformed JSON: \"" + json + "\"");
        }
    

    JPA entity without id

    I know that JPA entities must have primary key but I can't change database structure due to reasons beyond my control.

    More precisely, a JPA entity must have some Id defined. But a JPA Id does not necessarily have to be mapped on the table primary key (and JPA can somehow deal with a table without a primary key or unique constraint).

    Is it possible to create JPA (Hibernate) entities that will be work with database structure like this?

    If you have a column or a set of columns in the table that makes a unique value, you can use this unique set of columns as your Id in JPA.

    If your table has no unique columns at all, you can use all of the columns as the Id.

    And if your table has some id but your entity doesn't, make it an Embeddable.

    How do you style a TextInput in react native for password input

    Just add the line below to the <TextInput>

    secureTextEntry={true}
    

    How do I make an input field accept only letters in javaScript?

    dep and clg alphabets validation is not working

    _x000D_
    _x000D_
    var selectedRow = null;
    
    function validateform() {
    
      var table = document.getElementById("mytable");
      var rowCount = table.rows.length;
      console.log(rowCount);
    
      var x = document.forms["myform"]["usrname"].value;
      if (x == "") {
        alert("name must be filled out");
        return false;
      }
    
      var y = document.forms["myform"]["usremail"].value;
      if (y == "") {
        alert("email must be filled out");
        return false;
      }
      var mail = /[^@]+@[a-zA-Z]+\.[a-zA-Z]{2,6}/
      if (mail.test(y)) {
        //alert("email must be a valid format");
        //return false ;
      } else {
        alert("not a mail id")
        return false;
      }
    
      var z = document.forms["myform"]["usrage"].value;
      if (z == "") {
        alert("age must be filled out");
        return false;
      }
    
      if (isNaN(z) || z < 1 || z > 100) {
        alert("The age must be a number between 1 and 100");
        return false;
      }
    
      var a = document.forms["myform"]["usrdpt"].value;
      if (a == "") {
        alert("Dept must be filled out");
        return false;
      }
    
      var dept = "`@#$%^&*()+=-[]\\\';,./{}|\":<>?~_";
      if (dept.match(a)) {
        alert("special charachers found");
        return false;
      }
    
      var b = document.forms["myform"]["usrclg"].value;
      if (b == "") {
        alert("College must be filled out");
        return false;
      }
      console.log(table);
      var row = table.insertRow(rowCount);
      row.setAttribute('id', rowCount);
      var cell0 = row.insertCell(0);
      var cell1 = row.insertCell(1);
      var cell2 = row.insertCell(2);
      var cell3 = row.insertCell(3);
      var cell4 = row.insertCell(4);
      var cell5 = row.insertCell(5);
      var cell6 = row.insertCell(6);
      var cell7 = row.insertCell(7);
    
    
      cell0.innerHTML = rowCount;
      cell1.innerHTML = x;
      cell2.innerHTML = y;
      cell3.innerHTML = z;
      cell4.innerHTML = a;
      cell5.innerHTML = b;
      cell6.innerHTML = '<Button type="button" onclick=onEdit("' + x + '","' + y + '","' + z + '","' + a + '","' + b + '","' + rowCount + '")>Edit</BUTTON>';
      cell7.innerHTML = '<Button type="button" onclick=deletefunction(' + rowCount + ')>Delete</BUTTON>';
    
    }
    
    function emptyfunction() {
      document.getElementById("usrname").value = "";
      document.getElementById("usremail").value = "";
      document.getElementById("usrage").value = "";
      document.getElementById("usrdpt").value = "";
      document.getElementById("usrclg").value = "";
    }
    
    function onEdit(x, y, z, a, b, rowCount) {
      selectedRow = rowCount;
      console.log(selectedRow);
      document.forms["myform"]["usrname"].value = x;
      document.forms["myform"]["usremail"].value = y;
      document.forms["myform"]["usrage"].value = z;
      document.forms["myform"]["usrdpt"].value = a;
      document.forms["myform"]["usrclg"].value = b;
      document.getElementById('Add').style.display = 'none';
      document.getElementById('update').style.display = 'block';
    }
    
    function deletefunction(rowCount) {
      document.getElementById("mytable").deleteRow(rowCount);
    }
    
    function onUpdatefunction() {
      var row = document.getElementById(selectedRow);
      console.log(row);
    
      var x = document.forms["myform"]["usrname"].value;
      if (x == "") {
        alert("name must be filled out");
        document.myForm.x.focus();
        return false;
      }
    
      var y = document.forms["myform"]["usremail"].value;
      if (y == "") {
        alert("email must be filled out");
        document.myForm.y.focus();
        return false;
      }
    
      var mail = /[^@]+@[a-zA-Z]+\.[a-zA-Z]{2,6}/
      if (mail.test(y)) {
        //alert("email must be a valid format");
        //return false ;
      } else {
        alert("not a mail id");
    
        return false;
      }
    
      var z = document.forms["myform"]["usrage"].value;
      if (z == "") {
        alert("age must be filled out");
        document.myForm.z.focus();
        return false;
      }
      if (isNaN(z) || z < 1 || z > 100) {
        alert("The age must be a number between 1 and 100");
        return false;
      }
    
      var a = document.forms["myform"]["usrdpt"].value;
      if (a == "") {
        alert("Dept must be filled out");
        return false;
      }
      var letters = /^[A-Za-z]+$/;
      if (a.test(letters)) {
        //Your logice will be here.
      } else {
        alert("Please enter only alphabets");
        return false;
      }
    
      var b = document.forms["myform"]["usrclg"].value;
      if (b == "") {
        alert("College must be filled out");
        return false;
      }
      var letters = /^[A-Za-z]+$/;
      if (b.test(letters)) {
        //Your logice will be here.
      } else {
        alert("Please enter only alphabets");
        return false;
      }
    
      row.cells[1].innerHTML = x;
      row.cells[2].innerHTML = y;
      row.cells[3].innerHTML = z;
      row.cells[4].innerHTML = a;
      row.cells[5].innerHTML = b;
    }
    _x000D_
    <html>
    
    <head>
    </head>
    
    <body>
      <form name="myform">
        <h1>
          <center> Admission form </center>
        </h1>
        <center>
          <tr>
            <td>Name :</td>
            <td><input type="text" name="usrname" PlaceHolder="Enter Your First Name" required></td>
          </tr>
    
          <tr>
            <td> Email ID :</td>
            <td><input type="text" name="usremail" PlaceHolder="Enter Your email address" pattern="[^@]+@[a-zA-Z]+\.[a-zA-Z]{2,6}" required></td>
          </tr>
    
          <tr>
            <td>Age :</td>
            <td><input type="number" name="usrage" PlaceHolder="Enter Your Age" required></td>
          </tr>
    
          <tr>
            <td>Dept :</td>
            <td><input type="text" name="usrdpt" PlaceHolder="Enter Dept"></td>
          </tr>
    
          <tr>
            <td>College :</td>
            <td><input type="text" name="usrclg" PlaceHolder="Enter college"></td>
          </tr>
        </center>
    
        <center>
          <br>
          <br>
          <tr>
            <td>
              <Button type="button" onclick="validateform()" id="Add">Add</button>
            </td>
            <td>
              <Button type="button" onclick="onUpdatefunction()" style="display:none;" id="update">update</button>
            </td>
            <td><button type="reset">Reset</button></td>
          </tr>
        </center>
        <br><br>
        <center>
          <table id="mytable" border="1">
            <tr>
              <th>SNO</th>
              <th>Name</th>
              <th>Email ID</th>
              <th>Age</th>
              <th>Dept</th>
              <th>College</th>
            </tr>
        </center>
        </table>
      </form>
    </body>
    
    </html>
    _x000D_
    _x000D_
    _x000D_

    Truncate Two decimal places without rounding

    I will leave the solution for decimal numbers.

    Some of the solutions for decimals here are prone to overflow (if we pass a very large decimal number and the method will try to multiply it).

    Tim Lloyd's solution is protected from overflow but it's not too fast.

    The following solution is about 2 times faster and doesn't have an overflow problem:

    public static class DecimalExtensions
    {
        public static decimal TruncateEx(this decimal value, int decimalPlaces)
        {
            if (decimalPlaces < 0)
                throw new ArgumentException("decimalPlaces must be greater than or equal to 0.");
    
            var modifier = Convert.ToDecimal(0.5 / Math.Pow(10, decimalPlaces));
            return Math.Round(value >= 0 ? value - modifier : value + modifier, decimalPlaces);
        }
    }
    
    [Test]
    public void FastDecimalTruncateTest()
    {
        Assert.AreEqual(-1.12m, -1.129m. TruncateEx(2));
        Assert.AreEqual(-1.12m, -1.120m. TruncateEx(2));
        Assert.AreEqual(-1.12m, -1.125m. TruncateEx(2));
        Assert.AreEqual(-1.12m, -1.1255m.TruncateEx(2));
        Assert.AreEqual(-1.12m, -1.1254m.TruncateEx(2));
        Assert.AreEqual(0m,      0.0001m.TruncateEx(3));
        Assert.AreEqual(0m,     -0.0001m.TruncateEx(3));
        Assert.AreEqual(0m,     -0.0000m.TruncateEx(3));
        Assert.AreEqual(0m,      0.0000m.TruncateEx(3));
        Assert.AreEqual(1.1m,    1.12m.  TruncateEx(1));
        Assert.AreEqual(1.1m,    1.15m.  TruncateEx(1));
        Assert.AreEqual(1.1m,    1.19m.  TruncateEx(1));
        Assert.AreEqual(1.1m,    1.111m. TruncateEx(1));
        Assert.AreEqual(1.1m,    1.199m. TruncateEx(1));
        Assert.AreEqual(1.2m,    1.2m.   TruncateEx(1));
        Assert.AreEqual(0.1m,    0.14m.  TruncateEx(1));
        Assert.AreEqual(0,      -0.05m.  TruncateEx(1));
        Assert.AreEqual(0,      -0.049m. TruncateEx(1));
        Assert.AreEqual(0,      -0.051m. TruncateEx(1));
        Assert.AreEqual(-0.1m,  -0.14m.  TruncateEx(1));
        Assert.AreEqual(-0.1m,  -0.15m.  TruncateEx(1));
        Assert.AreEqual(-0.1m,  -0.16m.  TruncateEx(1));
        Assert.AreEqual(-0.1m,  -0.19m.  TruncateEx(1));
        Assert.AreEqual(-0.1m,  -0.199m. TruncateEx(1));
        Assert.AreEqual(-0.1m,  -0.101m. TruncateEx(1));
        Assert.AreEqual(0m,     -0.099m. TruncateEx(1));
        Assert.AreEqual(0m,     -0.001m. TruncateEx(1));
        Assert.AreEqual(1m,      1.99m.  TruncateEx(0));
        Assert.AreEqual(1m,      1.01m.  TruncateEx(0));
        Assert.AreEqual(-1m,    -1.99m.  TruncateEx(0));
        Assert.AreEqual(-1m,    -1.01m.  TruncateEx(0));
    }
    

    Including external HTML file to another HTML file

    Another way is to use the object tag. This works on Chrome, IE, Firefox, Safari and Opera.

    <object data="html/stuff_to_include.html"> 
        Your browser doesn’t support the object tag. 
    </object>
    

    more info at http://www.w3schools.com/tags/tag_object.asp

    What does <meta http-equiv="X-UA-Compatible" content="IE=edge"> do?

    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    

    To make this line work as expected, make sure that:

    1. It is the first element right after <head>
    2. No conditional comments are used before the meta tag, e. g. on the <html> element

    Otherwise some IE versions simply ignore it.

    UPDATE

    These two rules are simplified but they are easy to remember and to verify. Despite MSDN docs stating you can put title and other meta tags before this one, I would not recommend to do so.

    How make it work with conditional comments.

    Interesting article about the order of elements in the head. (blogs.msdn.com, for IE)

    REFERENCE

    From the MSDN documentation:

    The X-UA-Compatible [...] must appear in the header of the webpage (the HEAD section) before all other elements except for the title element and other meta elements.

    How to scroll the window using JQuery $.scrollTo() function

    To get around the html vs body issue, I fixed this by not animating the css directly but rather calling window.scrollTo(); on each step:

    $({myScrollTop:window.pageYOffset}).animate({myScrollTop:300}, {
      duration: 600,
      easing: 'swing',
      step: function(val) {
        window.scrollTo(0, val);
      }
    });
    

    This works nicely without any refresh gotchas as it's using cross-browser JavaScript.

    Have a look at http://james.padolsey.com/javascript/fun-with-jquerys-animate/ for more information on what you can do with jQuery's animate function.

    How to use onSaveInstanceState() and onRestoreInstanceState()?

    When your activity is recreated after it was previously destroyed, you can recover your saved state from the Bundle that the system passes your activity. Both the onCreate() and onRestoreInstanceState() callback methods receive the same Bundle that contains the instance state information.

    Because the onCreate() method is called whether the system is creating a new instance of your activity or recreating a previous one, you must check whether the state Bundle is null before you attempt to read it. If it is null, then the system is creating a new instance of the activity, instead of restoring a previous one that was destroyed.

    static final String STATE_USER = "user";
    private String mUser;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Check whether we're recreating a previously destroyed instance
        if (savedInstanceState != null) {
            // Restore value of members from saved state
            mUser = savedInstanceState.getString(STATE_USER);
        } else {
            // Probably initialize members with default values for a new instance
            mUser = "NewUser";
        }
    }
    
    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        savedInstanceState.putString(STATE_USER, mUser);
        // Always call the superclass so it can save the view hierarchy state
        super.onSaveInstanceState(savedInstanceState);
    }
    

    http://developer.android.com/training/basics/activity-lifecycle/recreating.html

    Error message: "'chromedriver' executable needs to be available in the path"

    When you unzip chromedriver, please do specify an exact location so that you can trace it later. Below, you are getting the right chromedriver for your OS, and then unzipping it to an exact location, which could be provided as argument later on in your code.

    wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip unzip chromedriver_linux64.zip -d /home/virtualenv/python2.7.9/

    grep without showing path/file:line

    Just replace -H with -h. Check man grep for more details on options

    find . -name '*.bar' -exec grep -hn FOO {} \;
    

    Getting all documents from one collection in Firestore

    The example in the other answer is unnecessarily complex. This would be more straightforward, if all you want to do is return the raw data objects for each document in a query or collection:

    async getMarker() {
        const snapshot = await firebase.firestore().collection('events').get()
        return snapshot.docs.map(doc => doc.data());
    }
    

    How to rollback a specific migration?

    Well in rails 5 it's quite easy rake db:migrate:status or rails db:migrate:status

    It was modified to handle both the same way Then just pick which Version you want to roll back and then run rake db:migrate VERSION=2013424230423

    Make sure VERSION is all capital letters

    If you have a problem with any step of the migration or stuck in the middle simply go to the migration file and comment out the lines that were already migrated.

    Hope that helps

    Are 'Arrow Functions' and 'Functions' equivalent / interchangeable?

    To use arrow functions with function.prototype.call, I made a helper function on the object prototype:

      // Using
      // @func = function() {use this here} or This => {use This here}
      using(func) {
        return func.call(this, this);
      }
    

    usage

      var obj = {f:3, a:2}
      .using(This => This.f + This.a) // 5
    

    Edit

    You don't NEED a helper. You could do:

    var obj = {f:3, a:2}
    (This => This.f + This.a).call(undefined, obj); // 5
    

    C# Encoding a text string with line breaks

    Yes - it means you're using \n as the line break instead of \r\n. Notepad only understands the latter.

    (Note that Environment.NewLine suggested by others is fine if you want the platform default - but if you're serving from Mono and definitely want \r\n, you should specify it explicitly.)

    Replacing a 32-bit loop counter with 64-bit introduces crazy performance deviations with _mm_popcnt_u64 on Intel CPUs

    I can't give an authoritative answer, but provide an overview of a likely cause. This reference shows pretty clearly that for the instructions in the body of your loop there is a 3:1 ratio between latency and throughput. It also shows the effects of multiple dispatch. Since there are (give-or-take) three integer units in modern x86 processors, it's generally possible to dispatch three instructions per cycle.

    So between peak pipeline and multiple dispatch performance and failure of these mechanisms, we have a factor of six in performance. It's pretty well known that the complexity of the x86 instruction set makes it quite easy for quirky breakage to occur. The document above has a great example:

    The Pentium 4 performance for 64-bit right shifts is really poor. 64-bit left shift as well as all 32-bit shifts have acceptable performance. It appears that the data path from the upper 32 bits to the lower 32 bit of the ALU is not well designed.

    I personally ran into a strange case where a hot loop ran considerably slower on a specific core of a four-core chip (AMD if I recall). We actually got better performance on a map-reduce calculation by turning that core off.

    Here my guess is contention for integer units: that the popcnt, loop counter, and address calculations can all just barely run at full speed with the 32-bit wide counter, but the 64-bit counter causes contention and pipeline stalls. Since there are only about 12 cycles total, potentially 4 cycles with multiple dispatch, per loop body execution, a single stall could reasonably affect run time by a factor of 2.

    The change induced by using a static variable, which I'm guessing just causes a minor reordering of instructions, is another clue that the 32-bit code is at some tipping point for contention.

    I know this is not a rigorous analysis, but it is a plausible explanation.

    SVN: Is there a way to mark a file as "do not commit"?

    Update of user88044's script.

    The idea is to push the files in the do-not-commit changelist and run the evil script.

    The script extracts the do-not-commit files from the command : svn status --changelist 'do-not-commit'

    #! /bin/bash DIR="$(pwd)"

    IGNORE_FILES="$(svn status --changelist 'do-not-commit' | tail -n +3 | grep -oE '[^ ]+$')"

    for i in $IGNORE_FILES; do mv $DIR/$i $DIR/"$i"_; done;

    svn "$@";

    for i in $IGNORE_FILES; do mv $DIR/"$i"_ $DIR/$i; done;

    The script is placed in /usr/bin/svnn (sudo chmod +x /usr/bin/svnn)

    svnn status, svnn commit, etc...

    git add, commit and push commands in one?

    There are plenty of good solutions already, but here's a solution that I find more elegant for the way I want to work:

    I put a script in my path called "git-put" that contains:

    #!/bin/bash
    git commit "$@" && git push -u
    

    That allows me to run:

    git put -am"my commit message"

    ..to add all files, commit them, and push them.

    (I also added the "-u" because I like to do this anyway, even though it's not related to this issue. It ensures that the upstream branch is always set up for pulling.)

    I like this approach because it also allows to to use "git put" without adding all the files (skip the "-a"), or with any other options I might want to pass to commit. Also, "put" is a short portmanteau of "push" and "commit"

    How to set a DateTime variable in SQL Server 2008?

    You Should Try This Way :

      DECLARE @TEST DATE
      SET @TEST =  '05/09/2013'
      PRINT @TEST
    

    How to select current date in Hive SQL

    According to the LanguageManual, you can use unix_timestamp() to get the "current time stamp using the default time zone." If you need to convert that to something more human-readable, you can use from_unixtime(unix_timestamp()).

    Hope that helps.

    Serialize and Deserialize Json and Json Array in Unity

    IF you are using Vector3 this is what i did

    1- I create a class Name it Player

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    [Serializable]
    public class Player
    {
        public Vector3[] Position;
    
    }
    

    2- then i call it like this

    if ( _ispressed == true)
            {
                Player playerInstance = new Player();
                playerInstance.Position = newPos;
                string jsonData = JsonUtility.ToJson(playerInstance);
    
                reference.Child("Position" + Random.Range(0, 1000000)).SetRawJsonValueAsync(jsonData);
                Debug.Log(jsonData);
                _ispressed = false;
            }
    

    3- and this is the result

    "Position":[ {"x":-2.8567452430725099,"y":-2.4323320388793947,"z":0.0}]}

    How to randomize (shuffle) a JavaScript array?

    For those of us who are not very gifted but have access to the wonders of lodash, there is such a thing as lodash.shuffle.

    How can I find out what version of git I'm running?

    In a command prompt:

    $ git --version
    

    Spring Boot application in eclipse, the Tomcat connector configured to listen on port XXXX failed to start

    On the console, looking at the topmost right side of the dialog you should see a red button kinda like a buzzer. To stop the spring boot application properly you just ran, go ahead and hit this particular "red" button and your problem is solved. Hope this helps!

    How to list all dates between two dates

    You can create a stored procedure passing 2 dates

    CREATE PROCEDURE SELECTALLDATES
    (
    @StartDate as date,
    @EndDate as date
    )
    AS
    Declare @Current as date = DATEADD(DD, 1, @BeginDate);
    
    Create table #tmpDates
    (displayDate date)
    
    WHILE @Current < @EndDate
    BEGIN
    insert into #tmpDates
    VALUES(@Current);
    set @Current = DATEADD(DD, 1, @Current) -- add 1 to current day
    END
    
    Select * 
    from #tmpDates
    
    drop table #tmpDates
    

    java.io.IOException: Server returned HTTP response code: 500

    I had this problem i.e. works fine when pasted into browser but 505s when done through java. It was simply the spaces that needed to be escaped/encoded.

    Error: select command denied to user '<userid>'@'<ip-address>' for table '<table-name>'

    A bit late to the party but, should you have root access, you can do the following directly:

    Log into your mysql as root,

    $ mysql -u root -p
    

    Show databases;

    mysql>SHOW DATABASES;
    

    Select mysql database, which is where all privileges info is located

    mysql>USE mysql;
    

    Show tables.

    mysql>SHOW TABLES;
    

    The table concerning privileges for your case is 'db', so let's see what columns it has:

    mysql>DESC db;
    

    In order to list the users privileges, type the following command, for example:

    mysql>SELECT user, host, db, Select_priv, Insert_priv, Update_priv, Delete_priv FROM db ORDER BY user, db;
    

    If you can't find that user or if you see that that user has a 'N' in the Select_priv column, then you have to either INSERT or UPDATE accordingly:

    INSERT:

    INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv) VALUES ('localhost','DBname','UserName','Y' ,'N','N','N');
    

    UPDATE:

    UPDATE db SET Select_priv = 'Y' WHERE User = 'UserName' AND Db = 'DBname' AND Host='localhost';
    

    Finally, type the following command:

    mysql>FLUSH PRIVILEGES;
    

    Ciao.

    Download a file by jQuery.Ajax

    Use window.open https://developer.mozilla.org/en-US/docs/Web/API/Window/open

    For example, you can put this line of code in a click handler:

    window.open('/file.txt', '_blank');
    

    It will open a new tab (because of the '_blank' window-name) and that tab will open the URL.

    Your server-side code should also have something like this:

    res.set('Content-Disposition', 'attachment; filename=file.txt');
    

    And that way, the browser should prompt the user to save the file to disk, instead of just showing them the file. It will also automatically close the tab that it just opened.

    Android ListView headers

    You probably are looking for an ExpandableListView which has headers (groups) to separate items (childs).

    Nice tutorial on the subject: here.

    Calculate difference between two datetimes in MySQL

    If your start and end datetimes are on different days use TIMEDIFF.

    SELECT TIMEDIFF(datetime1,datetime2)
    

    if datetime1 > datetime2 then

    SELECT TIMEDIFF("2019-02-20 23:46:00","2019-02-19 23:45:00")
    

    gives: 24:01:00

    and datetime1 < datetime2

    SELECT TIMEDIFF("2019-02-19 23:45:00","2019-02-20 23:46:00")
    

    gives: -24:01:00

    Facebook API: Get fans of / people who like a page

    Facebook's FQL documentation here tells you how to do it. Run the example SELECT name, fan_count FROM page WHERE page_id = 19292868552 and replace the page_id number with your page's id number and it will return the page name and the fan count.

    How to parse a JSON Input stream

    {
        InputStream is = HTTPClient.get(url);
        InputStreamReader reader = new InputStreamReader(is);
        JSONTokener tokenizer = new JSONTokener(reader);
        JSONObject jsonObject = new JSONObject(tokenizer);
    }
    

    How can I remove jenkins completely from linux

    On Centos7, It is important to note that while you remove jenkins using following command: sudo yum remove jenkins

    it will not remove your users and other information. For that you will have to do following: sudo rm -r /var/lib/jenkins

    Paste Excel range in Outlook

    First off, RangeToHTML. The script calls it like a method, but it isn't. It's a popular function by MVP Ron de Bruin. Coincidentally, that links points to the exact source of the script you posted, before those few lines got b?u?t?c?h?e?r?e?d? modified.

    On with Range.SpecialCells. This method operates on a range and returns only those cells that match the given criteria. In your case, you seem to be only interested in the visible text cells. Importantly, it operates on a Range, not on HTML text.

    For completeness sake, I'll post a working version of the script below. I'd certainly advise to disregard it and revisit the excellent original by Ron the Bruin.

    Sub Mail_Selection_Range_Outlook_Body()
    
    Dim rng As Range
    Dim OutApp As Object
    Dim OutMail As Object
    
    Set rng = Nothing
    ' Only send the visible cells in the selection.
    
    Set rng = Sheets("Sheet1").Range("D4:D12").SpecialCells(xlCellTypeVisible)
    
    If rng Is Nothing Then
        MsgBox "The selection is not a range or the sheet is protected. " & _
               vbNewLine & "Please correct and try again.", vbOKOnly
        Exit Sub
    End If
    
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With
    
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
    
    With OutMail
        .To = ThisWorkbook.Sheets("Sheet2").Range("C1").Value
        .CC = ""
        .BCC = ""
        .Subject = "This is the Subject line"
        .HTMLBody = RangetoHTML(rng)
        ' In place of the following statement, you can use ".Display" to
        ' display the e-mail message.
        .Display
    End With
    On Error GoTo 0
    
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
    
    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub
    
    
    Function RangetoHTML(rng As Range)
    ' By Ron de Bruin.
        Dim fso As Object
        Dim ts As Object
        Dim TempFile As String
        Dim TempWB As Workbook
    
        TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
    
        'Copy the range and create a new workbook to past the data in
        rng.Copy
        Set TempWB = Workbooks.Add(1)
        With TempWB.Sheets(1)
            .Cells(1).PasteSpecial Paste:=8
            .Cells(1).PasteSpecial xlPasteValues, , False, False
            .Cells(1).PasteSpecial xlPasteFormats, , False, False
            .Cells(1).Select
            Application.CutCopyMode = False
            On Error Resume Next
            .DrawingObjects.Visible = True
            .DrawingObjects.Delete
            On Error GoTo 0
        End With
    
        'Publish the sheet to a htm file
        With TempWB.PublishObjects.Add( _
             SourceType:=xlSourceRange, _
             Filename:=TempFile, _
             Sheet:=TempWB.Sheets(1).Name, _
             Source:=TempWB.Sheets(1).UsedRange.Address, _
             HtmlType:=xlHtmlStatic)
            .Publish (True)
        End With
    
        'Read all data from the htm file into RangetoHTML
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
        RangetoHTML = ts.ReadAll
        ts.Close
        RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                              "align=left x:publishsource=")
    
        'Close TempWB
        TempWB.Close savechanges:=False
    
        'Delete the htm file we used in this function
        Kill TempFile
    
        Set ts = Nothing
        Set fso = Nothing
        Set TempWB = Nothing
    End Function
    

    Is a Java hashmap search really O(1)?

    Elements inside the HashMap are stored as an array of linked list (node), each linked list in the array represents a bucket for unique hash value of one or more keys.
    While adding an entry in the HashMap, the hashcode of the key is used to determine the location of the bucket in the array, something like:

    location = (arraylength - 1) & keyhashcode
    

    Here the & represents bitwise AND operator.

    For example: 100 & "ABC".hashCode() = 64 (location of the bucket for the key "ABC")

    During the get operation it uses same way to determine the location of bucket for the key. Under the best case each key has unique hashcode and results in a unique bucket for each key, in this case the get method spends time only to determine the bucket location and retrieving the value which is constant O(1).

    Under the worst case, all the keys have same hashcode and stored in same bucket, this results in traversing through the entire list which leads to O(n).

    In the case of java 8, the Linked List bucket is replaced with a TreeMap if the size grows to more than 8, this reduces the worst case search efficiency to O(log n).

    Are strongly-typed functions as parameters possible in TypeScript?

    type FunctionName = (n: inputType) => any;
    
    class ClassName {
        save(callback: FunctionName) : void {
            callback(data);
        }
    }
    

    This surely aligns with the functional programming paradigm.

    How to set order of repositories in Maven settings.xml

    None of these answers were correct in my case.. the order seems dependent on the alphabetical ordering of the <id> tag, which is an arbitrary string. Hence this forced repo search order:

                <repository>
                    <id>1_maven.apache.org</id>
                    <releases>  <enabled>true</enabled>  </releases>
                    <snapshots> <enabled>true</enabled> </snapshots>
                    <url>https://repo.maven.apache.org/maven2</url>
                    <layout>default</layout>
                </repository>
    
                <repository>
                    <id>2_maven.oracle.com</id>
                    <releases>  <enabled>true</enabled>  </releases>
                    <snapshots> <enabled>false</enabled> </snapshots>
                    <url>https://maven.oracle.com</url>
                    <layout>default</layout>
                </repository>
    

    OpenSSL Command to check if a server is presenting a certificate

    I encountered the write:errno=104 attempting to test connecting to an SSL-enabled RabbitMQ broker port with openssl s_client.

    The issue turned out to be simply that the user RabbitMQ was running as did not have read permissions on the certificate file. There was little-to-no useful logging in RabbitMQ.

    Netbeans - class does not have a main method

    Sometimes passing parameters in the main method causes this problem eg. public static void main(String[] args,int a). If you declare the variable outside the main method, it might help :)

    Find something in column A then show the value of B for that row in Excel 2010

    I figured out such data design:

    Main sheet: Column A: Pump codes (numbers)

    Column B: formula showing a corresponding row in sheet 'Ruhrpumpen'

    =ROW(Pump_codes)+MATCH(A2;Ruhrpumpen!$I$5:$I$100;0)
    

    Formulae have ";" instead of ",", it should be also German notation. If not, pleace replace.

    Column C: formula showing data in 'Ruhrpumpen' column A from a row found by formula in col B

    =INDIRECT("Ruhrpumpen!A"&$B2)
    

    Column D: formula showing data in 'Ruhrpumpen' column B from a row found by formula in col B:

    =INDIRECT("Ruhrpumpen!B"&$B2)
    

    Sheet 'Ruhrpumpen':

    Column A: some data about a certain pump

    Column B: some more data

    Column I: pump codes. Beginning of the list includes defined name 'Pump_codes' used by the formula in column B of the main sheet.

    Spreadsheet example: http://www.bumpclub.ee/~jyri_r/Excel/Data_from_other_sheet_by_code_row.xls

    pip install - locale.Error: unsupported locale setting

    Run the following command (it will work):

    export LC_ALL="en_US.UTF-8"
    export LC_CTYPE="en_US.UTF-8"
    sudo dpkg-reconfigure locales
    

    All inclusive Charset to avoid "java.nio.charset.MalformedInputException: Input length = 1"?

    try this.. i had the same issue, below implementation worked for me

    Reader reader = Files.newBufferedReader(Paths.get(<yourfilewithpath>), StandardCharsets.ISO_8859_1);
    

    then use Reader where ever you want.

    foreg:

    CsvToBean<anyPojo> csvToBean = null;
        try {
            Reader reader = Files.newBufferedReader(Paths.get(csvFilePath), 
                            StandardCharsets.ISO_8859_1);
            csvToBean = new CsvToBeanBuilder(reader)
                    .withType(anyPojo.class)
                    .withIgnoreLeadingWhiteSpace(true)
                    .withSkipLines(1)
                    .build();
    
        } catch (IOException e) {
            e.printStackTrace();
        }
    

    inline if statement java, why is not working

    cond? statementA: statementB
    

    Equals to:

    if (cond)
        statementA
    else
        statementB
    

    For your case, you may just delete all "if". If you totally use if-else instead of ?:. Don't mix them together.

    MySQL with Node.js

    Here is production code which may help you.

    Package.json

    {
      "name": "node-mysql",
      "version": "0.0.1",
      "dependencies": {
        "express": "^4.10.6",
        "mysql": "^2.5.4"
      }
    }
    

    Here is Server file.

    var express   =    require("express");
    var mysql     =    require('mysql');
    var app       =    express();
    
    var pool      =    mysql.createPool({
        connectionLimit : 100, //important
        host     : 'localhost',
        user     : 'root',
        password : '',
        database : 'address_book',
        debug    :  false
    });
    
    function handle_database(req,res) {
    
        pool.getConnection(function(err,connection){
            if (err) {
              connection.release();
              res.json({"code" : 100, "status" : "Error in connection database"});
              return;
            }   
    
            console.log('connected as id ' + connection.threadId);
    
            connection.query("select * from user",function(err,rows){
                connection.release();
                if(!err) {
                    res.json(rows);
                }           
            });
    
            connection.on('error', function(err) {      
                  res.json({"code" : 100, "status" : "Error in connection database"});
                  return;     
            });
      });
    }
    
    app.get("/",function(req,res){-
            handle_database(req,res);
    });
    
    app.listen(3000);
    

    Reference : https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/

    Presenting a UIAlertController properly on an iPad using iOS 8

    For me I just needed to add the following:

    if let popoverController = alertController.popoverPresentationController {
        popoverController.barButtonItem = navigationItem.rightBarButtonItem
    }
    

    Is it better to use path() or url() in urls.py for django 2.0?

    path is simply new in Django 2.0, which was only released a couple of weeks ago. Most tutorials won't have been updated for the new syntax.

    It was certainly supposed to be a simpler way of doing things; I wouldn't say that URL is more powerful though, you should be able to express patterns in either format.

    Disable and enable buttons in C#

    Change this

    button2.Enabled == true
    

    to

    button2.Enabled = true;
    

    Calculate date from week number

    Week 1 is defined as being the week that starts on a Monday and contains the first Thursday of the year.

    Twitter Bootstrap onclick event on buttons-radio

    I see a lot of complicated answers, while this is super simple in Bootstrap 3:

    Step 1: Use the official example code to create your radio button group, and give the container an id:

    <div id="myButtons" class="btn-group" data-toggle="buttons">
      <label class="btn btn-primary active">
        <input type="radio" name="options" id="option1" autocomplete="off" checked> Radio 1 (preselected)
      </label>
      <label class="btn btn-primary">
        <input type="radio" name="options" id="option2" autocomplete="off"> Radio 2
      </label>
      <label class="btn btn-primary">
        <input type="radio" name="options" id="option3" autocomplete="off"> Radio 3
      </label>
    </div>
    

    Step 2: Use this jQuery handler:

    $("#myButtons :input").change(function() {
        console.log(this); // points to the clicked input button
    });
    

    Try the fiddle demo

    Convert objective-c typedef to its string equivalent

    I use a variation on Barry Walk's answer, that in order of importance:

    1. Allows the compiler to check for missing case clauses (it can't if you have a default clause).
    2. Uses an Objective-C typical name (rather than a Java like name).
    3. Raises a specific exception.
    4. Is shorter.

    EG:

    - (NSString*)describeFormatType:(FormatType)formatType {    
        switch(formatType) {
            case JSON:
                return @"JSON";
            case XML:
                return @"XML";
            case Atom:
                return @"Atom";
            case RSS:
                return @"RSS";
        }
        [NSException raise:NSInvalidArgumentException format:@"The given format type number, %ld, is not known.", formatType];
        return nil; // Keep the compiler happy - does not understand above line never returns!
    }
    

    How can I enter latitude and longitude in Google Maps?

    for higher precision. this format:

    45 11.735N,004 34.281E

    and this

    45 23.623, 5 38.77

    How do I get the row count of a Pandas DataFrame?

    For dataframe df, a printed comma formatted row count used while exploring data:

    def nrow(df):
        print("{:,}".format(df.shape[0]))
    

    Example:

    nrow(my_df)
    12,456,789
    

    How to compare two dates in Objective-C

    Get Today's Date:
    
    NSDate* date = [NSDate date];
    
    Create a Date From Scratch:    
    NSDateComponents* comps = [[NSDateComponents alloc]init];
    comps.year = 2015;
    comps.month = 12;
    comps.day = 31;
    NSCalendar* calendar = [NSCalendar currentCalendar];
    NSDate* date = [calendar dateFromComponents:comps];
    
    
    Add a day to a Date:  
    NSDate* date = [NSDate date];
    NSDateComponents* comps = [[NSDateComponents alloc]init];
    comps.day = 1;
    NSCalendar* calendar = [NSCalendar currentCalendar];
    NSDate* tomorrow = [calendar dateByAddingComponents:comps toDate:date options:nil];
    
    
    Subtract a day from a Date:    
    NSDate* date = [NSDate date];
    NSDateComponents* comps = [[NSDateComponents alloc]init];
    comps.day = -1;
    NSCalendar* calendar = [NSCalendar currentCalendar];
    NSDate* yesterday = [calendar dateByAddingComponents:comps toDate:date options:nil];
    
    
    
    Convert a Date to a String:  
    
    NSDate* date = [NSDate date];
    NSDateFormatter* formatter = [[NSDateFormatter alloc]init];
    formatter.dateFormat = @"MMMM dd, yyyy";
    NSString* dateString = [formatter stringFromDate:date];
    
    
    Convert a String to a Date:
    
    NSDateFormatter* formatter = [[NSDateFormatter alloc]init];
    formatter.dateFormat = @"MMMM dd, yyyy";
    NSDate* date = [formatter dateFromString:@"August 02, 2014"];
    
    
    Find how many days are in a month:    
    NSDate* date = [NSDate date];
    NSCalendar* cal = [NSCalendar currentCalendar];
    NSRange currentRange = [cal rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:date];
    NSInteger numberOfDays = currentRange.length;
    
    
    Calculate how much time something took:   
    
    NSDate* start = [NSDate date];
    for(int i = 0; i < 1000000000; i++);
    NSDate* end = [NSDate date];
    NSTimeInterval duration = [end timeIntervalSinceDate:start];
    
    
    Find the Day Of Week for a specific Date:
    
    NSDate* date = [NSDate date];
    NSCalendar* cal = [NSCalendar currentCalendar];
    NSInteger dow = [cal ordinalityOfUnit:NSWeekdayCalendarUnit inUnit:NSWeekCalendarUnit forDate:date];
    

    Then use NSComparisonResult to compare date.

    Yes or No confirm box using jQuery

    I had trouble getting the answer back from the dialog box but eventually came up with a solution by combining the answer from this other question display-yes-and-no-buttons-instead-of-ok-and-cancel-in-confirm-box with part of the code from the modal-confirmation dialog

    This is what was suggested for the other question:

    Create your own confirm box:

    <div id="confirmBox">
        <div class="message"></div>
        <span class="yes">Yes</span>
        <span class="no">No</span>
    </div>
    

    Create your own confirm() method:

    function doConfirm(msg, yesFn, noFn)
    {
        var confirmBox = $("#confirmBox");
        confirmBox.find(".message").text(msg);
        confirmBox.find(".yes,.no").unbind().click(function()
        {
            confirmBox.hide();
        });
        confirmBox.find(".yes").click(yesFn);
        confirmBox.find(".no").click(noFn);
        confirmBox.show();
    }
    

    Call it by your code:

    doConfirm("Are you sure?", function yes()
    {
        form.submit();
    }, function no()
    {
        // do nothing
    });
    

    MY CHANGES I have tweaked the above so that instead of calling confirmBox.show() I used confirmBox.dialog({...}) like this

    confirmBox.dialog
        ({
          autoOpen: true,
          modal: true,
          buttons:
            {
              'Yes': function () {
                $(this).dialog('close');
                $(this).find(".yes").click();
              },
              'No': function () {
                $(this).dialog('close');
                $(this).find(".no").click();
              }
            }
        });
    

    The other change I made was to create the confirmBox div within the doConfirm function, like ThulasiRam did in his answer.

    How is an HTTP POST request made in node.js?

    Update 2020:

    I've been really enjoying phin - The ultra-lightweight Node.js HTTP client

    It can be used in two different ways. One with Promises (Async/Await) and the other with traditional callback styles.

    Install via: npm i phin

    Straight from it's README with await:

    const p = require('phin')
    
    await p({
        url: 'https://ethanent.me',
        method: 'POST',
        data: {
            hey: 'hi'
        }
    })
    


    Unpromisifed (callback) style:

    const p = require('phin').unpromisified
    
    p('https://ethanent.me', (err, res) => {
        if (!err) console.log(res.body)
    })
    

    As of 2015 there are now a wide variety of different libraries that can accomplish this with minimal coding. I much prefer elegant light weight libraries for HTTP requests unless you absolutely need control of the low level HTTP stuff.

    One such library is Unirest

    To install it, use npm.
    $ npm install unirest

    And onto the Hello, World! example that everyone is accustomed to.

    var unirest = require('unirest');
    
    unirest.post('http://example.com/helloworld')
    .header('Accept', 'application/json')
    .send({ "Hello": "World!" })
    .end(function (response) {
      console.log(response.body);
    });
    


    Extra:
    A lot of people are also suggesting the use of request [ 2 ]

    It should be worth noting that behind the scenes Unirest uses the request library.

    Unirest provides methods for accessing the request object directly.

    Example:

    var Request = unirest.get('http://mockbin.com/request');
    

    Using NOT operator in IF conditions

    I never heard of this one before.

    How is

    if (doSomething()) {
    } else {
       // blah
    }
    

    better than

    if (!doSomething()) {
       // blah
    }
    

    The later is more clear and concise.

    Besides the ! operator can appear in complex conditions such as (!a || b). How do you avoid it then?

    Use the ! operator when you need.

    Extending the User model with custom fields in Django

    Well, some time passed since 2008 and it's time for some fresh answer. Since Django 1.5 you will be able to create custom User class. Actually, at the time I'm writing this, it's already merged into master, so you can try it out.

    There's some information about it in docs or if you want to dig deeper into it, in this commit.

    All you have to do is add AUTH_USER_MODEL to settings with path to custom user class, which extends either AbstractBaseUser (more customizable version) or AbstractUser (more or less old User class you can extend).

    For people that are lazy to click, here's code example (taken from docs):

    from django.db import models
    from django.contrib.auth.models import (
        BaseUserManager, AbstractBaseUser
    )
    
    
    class MyUserManager(BaseUserManager):
        def create_user(self, email, date_of_birth, password=None):
            """
            Creates and saves a User with the given email, date of
            birth and password.
            """
            if not email:
                raise ValueError('Users must have an email address')
    
            user = self.model(
                email=MyUserManager.normalize_email(email),
                date_of_birth=date_of_birth,
            )
    
            user.set_password(password)
            user.save(using=self._db)
            return user
    
        def create_superuser(self, username, date_of_birth, password):
            """
            Creates and saves a superuser with the given email, date of
            birth and password.
            """
            u = self.create_user(username,
                            password=password,
                            date_of_birth=date_of_birth
                        )
            u.is_admin = True
            u.save(using=self._db)
            return u
    
    
    class MyUser(AbstractBaseUser):
        email = models.EmailField(
                            verbose_name='email address',
                            max_length=255,
                            unique=True,
                        )
        date_of_birth = models.DateField()
        is_active = models.BooleanField(default=True)
        is_admin = models.BooleanField(default=False)
    
        objects = MyUserManager()
    
        USERNAME_FIELD = 'email'
        REQUIRED_FIELDS = ['date_of_birth']
    
        def get_full_name(self):
            # The user is identified by their email address
            return self.email
    
        def get_short_name(self):
            # The user is identified by their email address
            return self.email
    
        def __unicode__(self):
            return self.email
    
        def has_perm(self, perm, obj=None):
            "Does the user have a specific permission?"
            # Simplest possible answer: Yes, always
            return True
    
        def has_module_perms(self, app_label):
            "Does the user have permissions to view the app `app_label`?"
            # Simplest possible answer: Yes, always
            return True
    
        @property
        def is_staff(self):
            "Is the user a member of staff?"
            # Simplest possible answer: All admins are staff
            return self.is_admin
    

    Clang vs GCC for my Linux Development project

    For student level programs, Clang has the benefit that it is, by default, stricter wrt. the C standard. For example, the following K&R version of Hello World is accepted without warning by GCC, but rejected by Clang with some pretty descriptive error messages:

    main()
    {
        puts("Hello, world!");
    }
    

    With GCC, you have to give it -Werror to get it to really make a point about this not being a valid C89 program. Also, you still need to use c99 or gcc -std=c99 to get the C99 language.

    Java Delegates?

    Have you read this :

    Delegates are a useful construct in event-based systems. Essentially Delegates are objects that encode a method dispatch on a specified object. This document shows how java inner classes provide a more generic solution to such problems.

    What is a Delegate? Really it is very similar to a pointer to member function as used in C++. But a delegate contains the target object alongwith the method to be invoked. Ideally it would be nice to be able to say:

    obj.registerHandler(ano.methodOne);

    ..and that the method methodOne would be called on ano when some specific event was received.

    This is what the Delegate structure achieves.

    Java Inner Classes

    It has been argued that Java provides this functionality via anonymous inner classes and thus does not need the additional Delegate construct.

    obj.registerHandler(new Handler() {
            public void handleIt(Event ev) {
                methodOne(ev);
            }
          } );
    

    At first glance this seems correct but at the same time a nuisance. Because for many event processing examples the simplicity of the Delegates syntax is very attractive.

    General Handler

    However, if event-based programming is used in a more pervasive manner, say, for example, as a part of a general asynchronous programming environment, there is more at stake.

    In such a general situation, it is not sufficient to include only the target method and target object instance. In general there may be other parameters required, that are determined within the context when the event handler is registered.

    In this more general situation, the java approach can provide a very elegant solution, particularly when combined with use of final variables:

    void processState(final T1 p1, final T2 dispatch) { 
      final int a1 = someCalculation();
    
      m_obj.registerHandler(new Handler() {
        public void handleIt(Event ev) {
         dispatch.methodOne(a1, ev, p1);
        }
      } );
    }
    

    final * final * final

    Got your attention?

    Note that the final variables are accessible from within the anonymous class method definitions. Be sure to study this code carefully to understand the ramifications. This is potentially a very powerful technique. For example, it can be used to good effect when registering handlers in MiniDOM and in more general situations.

    By contrast, the Delegate construct does not provide a solution for this more general requirement, and as such should be rejected as an idiom on which designs can be based.

    How to set $_GET variable

    One way to set the $_GET variable is to parse the URL using parse_url() and then parse the $query string using parse_str(), which sets the variables into the $_GET global.

    This approach is useful,

    • if you want to test GET parameter handling without making actual queries, e.g. for testing the incoming parameters for existence and input filtering and sanitizing of incoming vars.
    • and when you don't want to construct the array manually each time, but use the normal URL

    function setGetRequest($url)
    {
        $query = parse_url($url, PHP_URL_QUERY);
        parse_str($query, $_GET);
    }
    
    $url = 'http://www.example.com/test.php?a=10&b=plop';
    
    setGetRequest($url);   
    
    var_dump($_GET);
    

    Result: $_GET contains

    array (
      'a' => string '10' (length=2)
      'b' => string 'plop' (length=4)
    )
    

    How to display string that contains HTML in twig template?

    {{ word|striptags('<b>,<a>,<pre>')|raw }}
    

    if you want to allow multiple tags

    Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details

    I got the same error because of a simple typo in vhost.conf. Remember to make sure you don't have any errors in the config files.

    apachectl configtest
    

    Calling a phone number in swift

    Swift 5: iOS >= 10.0

    Only works on physical device.

    private func callNumber(phoneNumber: String) {
        guard let url = URL(string: "telprompt://\(phoneNumber)"),
            UIApplication.shared.canOpenURL(url) else {
            return
        }
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }
    

    Group by in LINQ

    An alternative way to do this could be select distinct PersonId and group join with persons:

    var result = 
        from id in persons.Select(x => x.PersonId).Distinct()
        join p2 in persons on id equals p2.PersonId into gr // apply group join here
        select new 
        {
            PersonId = id,
            Cars = gr.Select(x => x.Car).ToList(),
        };
    

    Or the same with fluent API syntax:

    var result = persons.Select(x => x.PersonId).Distinct()
        .GroupJoin(persons, id => id, p => p.PersonId, (id, gr) => new
        {
            PersonId = id,
            Cars = gr.Select(x => x.Car).ToList(),
        });
    

    GroupJoin produces a list of entries in the first list ( list of PersonId in our case), each with a group of joined entries in the second list (list of persons).

    Volley - POST/GET parameters

    CustomRequest is a way to solve the Volley's JSONObjectRequest can't post parameters like the StringRequest

    here is the helper class which allow to add params:

        import java.io.UnsupportedEncodingException;
        import java.util.Map;    
        import org.json.JSONException;
        import org.json.JSONObject;    
        import com.android.volley.NetworkResponse;
        import com.android.volley.ParseError;
        import com.android.volley.Request;
        import com.android.volley.Response;
        import com.android.volley.Response.ErrorListener;
        import com.android.volley.Response.Listener;
        import com.android.volley.toolbox.HttpHeaderParser;
    
        public class CustomRequest extends Request<JSONObject> {
    
        private Listener<JSONObject> listener;
        private Map<String, String> params;
    
        public CustomRequest(String url, Map<String, String> params,
                Listener<JSONObject> reponseListener, ErrorListener errorListener) {
            super(Method.GET, url, errorListener);
            this.listener = reponseListener;
            this.params = params;
        }
    
        public CustomRequest(int method, String url, Map<String, String> params,
                Listener<JSONObject> reponseListener, ErrorListener errorListener) {
            super(method, url, errorListener);
            this.listener = reponseListener;
            this.params = params;
        }
    
        protected Map<String, String> getParams()
                throws com.android.volley.AuthFailureError {
            return params;
        };
    
        @Override
        protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
            try {
                String jsonString = new String(response.data,
                        HttpHeaderParser.parseCharset(response.headers));
                return Response.success(new JSONObject(jsonString),
                        HttpHeaderParser.parseCacheHeaders(response));
            } catch (UnsupportedEncodingException e) {
                return Response.error(new ParseError(e));
            } catch (JSONException je) {
                return Response.error(new ParseError(je));
            }
        }
    
        @Override
        protected void deliverResponse(JSONObject response) {
            // TODO Auto-generated method stub
            listener.onResponse(response);
        }
    
    }
    

    thanks to Greenchiu

    How to loop through all the properties of a class?

    Note that if the object you are talking about has a custom property model (such as DataRowView etc for DataTable), then you need to use TypeDescriptor; the good news is that this still works fine for regular classes (and can even be much quicker than reflection):

    foreach(PropertyDescriptor prop in TypeDescriptor.GetProperties(obj)) {
        Console.WriteLine("{0} = {1}", prop.Name, prop.GetValue(obj));
    }
    

    This also provides easy access to things like TypeConverter for formatting:

        string fmt = prop.Converter.ConvertToString(prop.GetValue(obj));
    

    How to install iPhone application in iPhone Simulator

    This thread discusses how to install the binary on the simulator. I've done it and it works: http://forums.macrumors.com/showthread.php?t=547557

    From the thread:

    Look inside your ~/Library/Application Support/iPhone Simulator/User/Applications/ directory and see what happens inside this directory when you install and run apps using XCode, and also when you delete apps using the Simulator.

    You can run the Simulator by itself (without starting XCode).

    If you start the Simulator, delete an app, quit the Simulator, put back copies of the files that were deleted from the support directory, and restart the Simulator, the app will reappear in the Simulator. Email those files with instructions about how to copy them into the appropriate support directory.

    Determine on iPhone if user has enabled push notifications

    re:

    this is correct

    if (types & UIRemoteNotificationTypeAlert)
    

    but following is correct too ! (as UIRemoteNotificationTypeNone is 0 )

    if (types == UIRemoteNotificationTypeNone) 
    

    see the following

    NSLog(@"log:%d",0 & 0); ///false
    NSLog(@"log:%d",1 & 1); ///true
    NSLog(@"log:%d",1<<1 & 1<<1); ///true
    NSLog(@"log:%d",1<<2 & 1<<2); ///true
    NSLog(@"log:%d",(0 & 0) && YES); ///false
    NSLog(@"log:%d",(1 & 1) && YES); ///true
    NSLog(@"log:%d",(1<<1 & 1<<1) && YES); ///true
    NSLog(@"log:%d",(1<<2 & 1<<2) && YES); ///true
    

    Merge development branch with master

    It would be great if you can use the Git Flow workflow. It can merge develop branch into master easily.

    What you want to do is just follow the git-flow instruction mentioned here:

    STEPS:

    • setup the git-flow project
    • create branches and merge everything to develop
    • run the command git flow release start <version_number>
    • then provide a meaningful message for the release
    • run the command git flow release finish <version_number>
    • it will merge everything into master and change the branch to master.
    • run the command git push to publish the changes to the remote master.

    For more information, visit the page - http://danielkummer.github.io/git-flow-cheatsheet/

    How to prevent scientific notation in R?

    Try format function:

    > xx = 100000000000
    > xx
    [1] 1e+11
    > format(xx, scientific=F)
    [1] "100000000000"
    

    Delete all records in a table of MYSQL in phpMyAdmin

    Use this query:

    DELETE FROM tableName;
    

    Note: To delete some specific record you can give the condition in where clause in the query also.

    OR you can use this query also:

    truncate tableName;
    

    Also remember that you should not have any relationship with other table. If there will be any foreign key constraint in the table then those record will not be deleted and will give the error.

    Passing data to components in vue.js

    I've found a way to pass parent data to component scope in Vue, i think it's a little a bit of a hack but maybe this will help you.

    1) Reference data in Vue Instance as an external object (data : dataObj)

    2) Then in the data return function in the child component just return parentScope = dataObj and voila. Now you cann do things like {{ parentScope.prop }} and will work like a charm.

    Good Luck!

    How to change DatePicker dialog color for Android 5.0

    Kotlin, 2021

    // set date as button text if pressed
    btnDate.setOnClickListener(View.OnClickListener {
    
        val dpd = DatePickerDialog(
            this,
            { view, year, monthOfYear, dayOfMonth ->
                val selectDate = Calendar.getInstance()
                selectDate.set(Calendar.YEAR, year)
                selectDate.set(Calendar.MONTH, monthOfYear)
                selectDate.set(Calendar.DAY_OF_MONTH, dayOfMonth)
    
                var formatDate = SimpleDateFormat("dd/MM/yyyy", Locale.getDefault())
                val date = formatDate.format(selectDate.time)
                Toast.makeText(this, date, Toast.LENGTH_SHORT).show()
                btnDate.text = date
            }, 1990, 6, 6
        )
    
        val calendar = Calendar.getInstance()
        val year = calendar[Calendar.YEAR]
        val month = calendar[Calendar.MONTH]
        val day = calendar[Calendar.DAY_OF_MONTH]
        dpd.datePicker.minDate = GregorianCalendar(year - 90, month, day, 0, 0).timeInMillis
        dpd.datePicker.maxDate = GregorianCalendar(year - 10, month, day, 0, 0).timeInMillis
        dpd.show()
    })
    

    Styles.xml

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- This is main Theme Style for your application! -->
        <item name="android:datePickerDialogTheme">@style/MyDatePickerDialogTheme</item>
    </style>
    
    <style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Dialog">
        <item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
    </style>
    
    <style name="MyDatePickerStyle" parent="@android:style/Widget.Material.DatePicker">
        <item name="android:headerBackground">#A500FF</item>
    </style>
    

    enter image description here

    Split string in JavaScript and detect line break

    Split string in JavaScript

    var array = str.match(/[^\r\n]+/g);
    

    OR

    var array = str.split(/\r?\n/);
    

    Performance

    Create line after text with css

    There's no need for extra wrappers or span elements anymore. Flexbox and Grid can handle this easily.

    _x000D_
    _x000D_
    h2 {_x000D_
      display: flex;_x000D_
      align-items: center;_x000D_
    }_x000D_
    _x000D_
    h2::after {_x000D_
      content: '';_x000D_
      flex: 1;_x000D_
      margin-left: 1rem;_x000D_
      height: 1px;_x000D_
      background-color: #000;_x000D_
    }
    _x000D_
    <h2>Heading</h2>
    _x000D_
    _x000D_
    _x000D_

    How to detect duplicate values in PHP array?

    if(count(array_unique($array))<count($array))
    {
        // Array has duplicates
    }
    else
    {
        // Array does not have duplicates
    }
    

    MySQL select 10 random rows from 600K rows fast

    Another simple solution would be ranking the rows and fetch one of them randomly and with this solution you won't need to have any 'Id' based column in the table.

    SELECT d.* FROM (
    SELECT  t.*,  @rownum := @rownum + 1 AS rank
    FROM mytable AS t,
        (SELECT @rownum := 0) AS r,
        (SELECT @cnt := (SELECT RAND() * (SELECT COUNT(*) FROM mytable))) AS n
    ) d WHERE rank >= @cnt LIMIT 10;
    

    You can change the limit value as per your need to access as many rows as you want but that would mostly be consecutive values.

    However, if you don't want consecutive random values then you can fetch a bigger sample and select randomly from it. something like ...

    SELECT * FROM (
    SELECT d.* FROM (
        SELECT  c.*,  @rownum := @rownum + 1 AS rank
        FROM buildbrain.`commits` AS c,
            (SELECT @rownum := 0) AS r,
            (SELECT @cnt := (SELECT RAND() * (SELECT COUNT(*) FROM buildbrain.`commits`))) AS rnd
    ) d 
    WHERE rank >= @cnt LIMIT 10000 
    ) t ORDER BY RAND() LIMIT 10;
    

    API Gateway CORS: no 'Access-Control-Allow-Origin' header

    I found a simple solution within

    API Gateway > Select your API endpoint > Select the method (in my case it was the POST)

    Now there is a dropdown ACTIONS > Enable CORS .. select it.

    Now select the dropdown ACTIONS again > Deploy API (re-deploy it)

    enter image description here

    It worked !

    How to delete last character in a string in C#?

    Try this:

    paramstr.Remove((paramstr.Length-1),1);
    

    Accessing Objects in JSON Array (JavaScript)

    Use a loop

    for(var i = 0; i < obj.length; ++i){
       //do something with obj[i]
       for(var ind in obj[i]) {
            console.log(ind);
            for(var vals in obj[i][ind]){
                console.log(vals, obj[i][ind][vals]);
            }
       }
    }
    

    Demo: http://jsfiddle.net/maniator/pngmL/

    HTTP Get with 204 No Content: Is that normal

    Your current combination of a POST with an HTTP 204 response is fine.

    Using a POST as a universal replacement for a GET is not supported by the RFC, as each has its own specific purpose and semantics.

    The purpose of a GET is to retrieve a resource. Therefore, while allowed, an HTTP 204 wouldn't be the best choice since content IS expected in the response. An HTTP 404 Not Found or an HTTP 410 Gone would be better choices if the server was unable to provide the requested resource.

    The RFC also specifically calls out an HTTP 204 as an appropriate response for PUT, POST and DELETE, but omits it for GET.

    See the RFC for the semantics of GET.

    There are other response codes that could also be returned, indicating no content, that would be more appropriate than an HTTP 204.

    For example, for a conditional GET you could receive an HTTP 304 Not Modified response which would contain no body content.

    Where does Chrome store cookies?

    You can find a solution on SuperUser :
    
    Chrome cookies folder in Windows 7:-
    
    C:\Users\your_username\AppData\Local\Google\Chrome\User Data\Default\
    You'll need a program like SQLite Database Browser to read it.
    
    For Mac OS X, the file is located at :-
    ~/Library/Application Support/Google/Chrome/Default/Cookies
    

    How to run a Maven project from Eclipse?

    Well, you need to incorporate exec-maven-plugin, this plug-in performs the same thing that you do on command prompt when you type in java -cp .;jarpaths TestMain. You can pass argument and define which phase (test, package, integration, verify, or deploy), you want this plug-in to call your main class.

    You need to add this plug-in under <build> tag and specify parameters. For example

       <project>
        ...
        ...
        <build>
         <plugins>
          <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>exec-maven-plugin</artifactId>
           <version>1.1.1</version>
           <executions>
            <execution>
             <phase>test</phase>
             <goals>
              <goal>java</goal>
             </goals>
             <configuration>
              <mainClass>my.company.name.packageName.TestMain</mainClass>
              <arguments>
               <argument>myArg1</argument>
               <argument>myArg2</argument>
              </arguments>
             </configuration>
            </execution>
           </executions>
          </plugin>
         </plugins>
        </build>
        ...
        ...
       </project>
    

    Now, if you right-click on on the project folder and do Run As > Maven Test, or Run As > Maven Package or Run As > Maven Install, the test phase will execute and so your Main class.

    Docker and securing passwords

    You should never add credentials to a container unless you're OK broadcasting the creds to whomever can download the image. In particular, doing and ADD creds and later RUN rm creds is not secure because the creds file remains in the final image in an intermediate filesystem layer. It's easy for anyone with access to the image to extract it.

    The typical solution I've seen when you need creds to checkout dependencies and such is to use one container to build another. I.e., typically you have some build environment in your base container and you need to invoke that to build your app container. So the simple solution is to add your app source and then RUN the build commands. This is insecure if you need creds in that RUN. Instead what you do is put your source into a local directory, run (as in docker run) the container to perform the build step with the local source directory mounted as volume and the creds either injected or mounted as another volume. Once the build step is complete you build your final container by simply ADDing the local source directory which now contains the built artifacts.

    I'm hoping Docker adds some features to simplify all this!

    Update: looks like the method going forward will be to have nested builds. In short, the dockerfile would describe a first container that is used to build the run-time environment and then a second nested container build that can assemble all the pieces into the final container. This way the build-time stuff isn't in the second container. This of a Java app where you need the JDK for building the app but only the JRE for running it. There are a number of proposals being discussed, best to start from https://github.com/docker/docker/issues/7115 and follow some of the links for alternate proposals.

    Validating Phone Numbers Using Javascript

    _x000D_
    _x000D_
    function telephoneCheck(str) {_x000D_
      var a = /^(1\s|1|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})(\-|\s)?(\d{4})$/.test(str);_x000D_
      alert(a);_x000D_
    }_x000D_
    telephoneCheck("(555) 555-5555");
    _x000D_
    _x000D_
    _x000D_

    Where str could be any of these formats: 555-555-5555 (555)555-5555 (555) 555-5555 555 555 5555 5555555555 1 555 555 5555

    DB2 SQL error: SQLCODE: -206, SQLSTATE: 42703

    That only means that an undefined column or parameter name was detected. The errror that DB2 gives should point what that may be:

    DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=[THE_UNDEFINED_COLUMN_OR_PARAMETER_NAME], DRIVER=4.8.87
    

    Double check your table definition. Maybe you just missed adding something.

    I also tried google-ing this problem and saw this:

    http://www.coderanch.com/t/515475/JDBC/databases/sql-insert-statement-giving-sqlcode

    Setting different color for each series in scatter plot on matplotlib

    A MUCH faster solution for large dataset and limited number of colors is the use of Pandas and the groupby function:

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import time
    
    
    # a generic set of data with associated colors
    nsamples=1000
    x=np.random.uniform(0,10,nsamples)
    y=np.random.uniform(0,10,nsamples)
    colors={0:'r',1:'g',2:'b',3:'k'}
    c=[colors[i] for i in np.round(np.random.uniform(0,3,nsamples),0)]
    
    plt.close('all')
    
    # "Fast" Scatter plotting
    starttime=time.time()
    # 1) make a dataframe
    df=pd.DataFrame()
    df['x']=x
    df['y']=y
    df['c']=c
    plt.figure()
    # 2) group the dataframe by color and loop
    for g,b in df.groupby(by='c'):
        plt.scatter(b['x'],b['y'],color=g)
    print('Fast execution time:', time.time()-starttime)
    
    # "Slow" Scatter plotting
    starttime=time.time()
    plt.figure()
    # 2) group the dataframe by color and loop
    for i in range(len(x)):
        plt.scatter(x[i],y[i],color=c[i])
    print('Slow execution time:', time.time()-starttime)
    
    plt.show()
    

    Returning a value from thread?

    The BackgroundWorker is nice when developing for Windows Forms.

    Say you wanted to pass a simple class back and forth:

    class Anything {
        // Number and Text are for instructional purposes only
        public int Number { get; set; }
        public string Text { get; set; }
        // Data can be any object - even another class
        public object Data { get; set; }
    }
    

    I wrote up a short class that does the following:

    • Create or Clear a list
    • Start a loop
    • In loop, create a new item for the list
    • In loop, create a thread
    • In loop, send the item as a parameter to the thread
    • In loop, start the thread
    • In loop, add thread to list to watch
    • After loop, join each thread
    • After all joins have completed, display the results

    From inside the thread routine:

    • Call lock so that only 1 thread can enter this routine at a time (others have to wait)
    • Post information about the item.
    • Modify the item.
    • When the thread completes, the data is displayed on the console.

    Adding a delegate can be useful for posting your data directly back to your main thread, but you may need to use Invoke if some of the data items are not thread safe.

    class AnyTask {
    
        private object m_lock;
    
        public AnyTask() {
            m_lock = new object();
        }
        // Something to use the delegate
        public event MainDelegate OnUpdate;
    
        public void Test_Function(int count) {
            var list = new List<Thread>(count);
            for (var i = 0; i < count; i++) {
                var thread = new Thread(new ParameterizedThreadStart(Thread_Task));
                var item = new Anything() {
                    Number = i,
                    Text = String.Format("Test_Function #{0}", i)
                };
                thread.Start(item);
                list.Add(thread);
            }
            foreach (var thread in list) {
                thread.Join();
            }
        }
    
        private void MainUpdate(Anything item, bool original) {
            if (OnUpdate != null) {
                OnUpdate(item, original);
            }
        }
    
        private void Thread_Task(object parameter) {
            lock (m_lock) {
                var item = (Anything)parameter;
                MainUpdate(item, true);
                item.Text = String.Format("{0}; Thread_Task #{1}", item.Text, item.Number);
                item.Number = 0;
                MainUpdate(item, false);
            }
        }
    
    }
    

    To test this, create a little Console Application, and put this in the Program.cs file:

    // A delegate makes life simpler
    delegate void MainDelegate(Anything sender, bool original);
    
    class Program {
    
        private const int COUNT = 15;
        private static List<Anything> m_list;
    
        static void Main(string[] args) {
            m_list = new List<Anything>(COUNT);
            var obj = new AnyTask();
            obj.OnUpdate += new MainDelegate(ThreadMessages);
            obj.Test_Function(COUNT);
            Console.WriteLine();
            foreach (var item in m_list) {
                Console.WriteLine("[Complete]:" + item.Text);
            }
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    
        private static void ThreadMessages(Anything item, bool original) {
            if (original) {
                Console.WriteLine("[main method]:" + item.Text);
            } else {
                m_list.Add(item);
            }
        }
    
    }
    

    Here is a screenshot of what I got with this:

    Console Output

    I hope others can understand what I've tried to explain.

    I enjoy working on threads and using delegates. They make C# a lot of fun.

    Appendix: For VB Coders

    I wanted to see what was involved in writing the code above as a VB Console Application. The conversion involved a few things I didn't expect, so I will update this thread here for those wanting to know how to thread in VB.

    Imports System.Threading
    
    Delegate Sub MainDelegate(sender As Anything, original As Boolean)
    
    Class Main
    
        Private Const COUNT As Integer = 15
        Private Shared m_list As List(Of Anything)
    
        Public Shared Sub Main(args As String())
            m_list = New List(Of Anything)(COUNT)
            Dim obj As New AnyTask()
            AddHandler obj.OnUpdate, New MainDelegate(AddressOf ThreadMessages)
            obj.Test_Function(COUNT)
            Console.WriteLine()
            For Each item As Anything In m_list
                Console.WriteLine("[Complete]:" + item.Text)
            Next
            Console.WriteLine("Press any key to exit.")
            Console.ReadKey()
        End Sub
    
        Private Shared Sub ThreadMessages(item As Anything, original As Boolean)
            If original Then
                Console.WriteLine("[main method]:" + item.Text)
            Else
                m_list.Add(item)
            End If
        End Sub
    
    End Class
    
    Class AnyTask
    
        Private m_lock As Object
    
        Public Sub New()
            m_lock = New Object()
        End Sub
        ' Something to use the delegate
        Public Event OnUpdate As MainDelegate
    
        Public Sub Test_Function(count As Integer)
            Dim list As New List(Of Thread)(count)
            For i As Int32 = 0 To count - 1
                Dim thread As New Thread(New ParameterizedThreadStart(AddressOf Thread_Task))
                Dim item As New Anything()
                item.Number = i
                item.Text = String.Format("Test_Function #{0}", i)
                thread.Start(item)
                list.Add(thread)
            Next
            For Each thread As Thread In list
                thread.Join()
            Next
        End Sub
    
        Private Sub MainUpdate(item As Anything, original As Boolean)
            RaiseEvent OnUpdate(item, original)
        End Sub
    
        Private Sub Thread_Task(parameter As Object)
            SyncLock m_lock
                Dim item As Anything = DirectCast(parameter, Anything)
                MainUpdate(item, True)
                item.Text = [String].Format("{0}; Thread_Task #{1}", item.Text, item.Number)
                item.Number = 0
                MainUpdate(item, False)
            End SyncLock
        End Sub
    
    End Class
    
    
    Class Anything
        ' Number and Text are for instructional purposes only
        Public Property Number() As Integer
            Get
                Return m_Number
            End Get
            Set(value As Integer)
                m_Number = value
            End Set
        End Property
        Private m_Number As Integer
        Public Property Text() As String
            Get
                Return m_Text
            End Get
            Set(value As String)
                m_Text = value
            End Set
        End Property
        Private m_Text As String
        ' Data can be anything or another class
        Public Property Data() As Object
            Get
                Return m_Data
            End Get
            Set(value As Object)
                m_Data = value
            End Set
        End Property
        Private m_Data As Object
    End Class
    

    Unable to Git-push master to Github - 'origin' does not appear to be a git repository / permission denied

    I got the same problem and I just added the content of ~/.ssh/id_rsa.pub to my account in GitHub. After that just try again git push origin master, it should work.

    Not unique table/alias

    Your query contains columns which could be present with the same name in more than one table you are referencing, hence the not unique error. It's best if you make the references explicit and/or use table aliases when joining.

    Try

        SELECT pa.ProjectID, p.Project_Title, a.Account_ID, a.Username, a.Access_Type, c.First_Name, c.Last_Name
          FROM Project_Assigned pa
    INNER JOIN Account a
            ON pa.AccountID = a.Account_ID
    INNER JOIN Project p
            ON pa.ProjectID = p.Project_ID
    INNER JOIN Clients c
            ON a.Account_ID = c.Account_ID
         WHERE a.Access_Type = 'Client';
    

    How to stop event bubbling on checkbox click

    Use the stopPropagation method:

    event.stopPropagation();
    

    Swift Alamofire: How to get the HTTP response status code

    For Swift 3.x / Swift 4.0 / Swift 5.0 users with Alamofire >= 4.0 / Alamofire >= 5.0


    response.response?.statusCode
    

    More verbose example:

    Alamofire.request(urlString)
            .responseString { response in
                print("Success: \(response.result.isSuccess)")
                print("Response String: \(response.result.value)")
    
                var statusCode = response.response?.statusCode
                if let error = response.result.error as? AFError {  
                    statusCode = error._code // statusCode private                 
                    switch error {
                    case .invalidURL(let url):
                        print("Invalid URL: \(url) - \(error.localizedDescription)")
                    case .parameterEncodingFailed(let reason):
                        print("Parameter encoding failed: \(error.localizedDescription)")
                        print("Failure Reason: \(reason)")
                    case .multipartEncodingFailed(let reason):
                        print("Multipart encoding failed: \(error.localizedDescription)")
                        print("Failure Reason: \(reason)")
                    case .responseValidationFailed(let reason):
                        print("Response validation failed: \(error.localizedDescription)")
                        print("Failure Reason: \(reason)")
    
                        switch reason {
                        case .dataFileNil, .dataFileReadFailed:
                            print("Downloaded file could not be read")
                        case .missingContentType(let acceptableContentTypes):
                            print("Content Type Missing: \(acceptableContentTypes)")
                        case .unacceptableContentType(let acceptableContentTypes, let responseContentType):
                            print("Response content type: \(responseContentType) was unacceptable: \(acceptableContentTypes)")
                        case .unacceptableStatusCode(let code):
                            print("Response status code was unacceptable: \(code)")
                            statusCode = code
                        }
                    case .responseSerializationFailed(let reason):
                        print("Response serialization failed: \(error.localizedDescription)")
                        print("Failure Reason: \(reason)")
                        // statusCode = 3840 ???? maybe..
                    default:break
                    }
    
                    print("Underlying error: \(error.underlyingError)")
                } else if let error = response.result.error as? URLError {
                    print("URLError occurred: \(error)")
                } else {
                    print("Unknown error: \(response.result.error)")
                }
    
                print(statusCode) // the status code
        } 
    

    (Alamofire 4 contains a completely new error system, look here for details)

    For Swift 2.x users with Alamofire >= 3.0

    Alamofire.request(.GET, urlString)
          .responseString { response in
                 print("Success: \(response.result.isSuccess)")
                 print("Response String: \(response.result.value)")
                 if let alamoError = response.result.error {
                   let alamoCode = alamoError.code
                   let statusCode = (response.response?.statusCode)!
                 } else { //no errors
                   let statusCode = (response.response?.statusCode)! //example : 200
                 }
    }
    

    How to write one new line in Bitbucket markdown?

    On Github, <p> and <br/>solves the problem.

    <p>I want to this to appear in a new line. Introduces extra line above

    or

    <br/> another way

    How can I change the user on Git Bash?

    For any OS

    This helped me so I'll put it here, just in case. Once you are done with adding the rsa keys for both the accounts, add a config file in your .ssh directory for both the accounts (.ssh/config)

    # First account
    Host github.com-<FIRST_ACCOUNT_USERNAME_HERE>
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_rsa_user1
       
    # Second account
    Host github.com-<SECOND_ACCOUNT_USERNAME_HERE>   
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_rsa_user2
    

    Make sure you use the correct usernames and RSA files. Next, you can open the terminal/git bash on the repository root and check which account you would be pushing from

    git config user.email
    

    Suppose this returns the first user email and you want to push from the second user. Change the local user.name and user.email :

    git config user.name "SECOND_USER"
    git config user.email "[email protected]"
    

    (This won't change the global config and you can have the first user set up as the global user). Once done, you can confirm with git config user.email and it should return the email of the second user. You're all set to push to GitHub with the second user. The rest is all the same old git add , git commit and git push. To push from the first user, change the local user.name again and follow the same steps. Hope it helps :)


    If the above steps are still not working for you, check to see if you have uploaded the RSA keys within GitHub portal. Refer to GitHub documentation:

    Then, clear your ssh cached keys Reference

    ssh-add -D
    

    Then add you 2 ssh keys

    ssh-add ~/.ssh/id_rsa_user1
    ssh-add ~/.ssh/id_rsa_user2
    

    Then type in your terminal:

    ssh -T [email protected]<SECOND_ACCOUNT_USERNAME_HERE>
    

    You should see the following output:

    Hi <SECOND_USERNAME>! You've successfully authenticated, but GitHub does not provide shell access.
    

    Then, assign the correct remote to your local repository. Make sure you put the same username as the one you gave in your .ssh/config file next to Host. In the following case [email protected]<SECOND_ACCOUNT_USERNAME_HERE>.

    git remote rm origin
    git remote add origin [email protected]<SECOND_ACCOUNT_USERNAME_HERE>:/your_username/your_repository.git
    

    How to Query Database Name in Oracle SQL Developer?

    You can use the following command to know just the name of the database without the extra columns shown.

    select name  from v$database;
    

    If you need any other information about the db then first know which are the columns names available using

    describe v$database;
    

    and select the columns that you want to see;

    The most efficient way to remove first N elements in a list?

    l = [1, 2, 3, 4, 5]
    del l[0:3] # Here 3 specifies the number of items to be deleted.
    

    This is the code if you want to delete a number of items from the list. You might as well skip the zero before the colon. It does not have that importance. This might do as well.

    l = [1, 2, 3, 4, 5]
    del l[:3] # Here 3 specifies the number of items to be deleted.
    

    What do I use for a max-heap implementation in Python?

    The easiest and ideal solution

    Multiply the values by -1

    There you go. All the highest numbers are now the lowest and vice versa.

    Just remember that when you pop an element to multiply it with -1 in order to get the original value again.

    Implementing Singleton with an Enum (in Java)

    This,

    public enum MySingleton {
      INSTANCE;   
    }
    

    has an implicit empty constructor. Make it explicit instead,

    public enum MySingleton {
        INSTANCE;
        private MySingleton() {
            System.out.println("Here");
        }
    }
    

    If you then added another class with a main() method like

    public static void main(String[] args) {
        System.out.println(MySingleton.INSTANCE);
    }
    

    You would see

    Here
    INSTANCE
    

    enum fields are compile time constants, but they are instances of their enum type. And, they're constructed when the enum type is referenced for the first time.

    The type List is not generic; it cannot be parameterized with arguments [HTTPClient]

    Your import has a subtle error:

    import java.awt.List;
    

    It should be:

    import java.util.List;
    

    The problem is that both awt and Java's util package provide a class called List. The former is a display element, the latter is a generic type used with collections. Furthermore, java.util.ArrayList extends java.util.List, not java.awt.List so if it wasn't for the generics, it would have still been a problem.

    Edit: (to address further questions given by OP) As an answer to your comment, it seems that there is anther subtle import issue.

    import org.omg.DynamicAny.NameValuePair;
    

    should be

    import org.apache.http.NameValuePair
    

    nameValuePairs now uses the correct generic type parameter, the generic argument for new UrlEncodedFormEntity, which is List<? extends NameValuePair>, becomes valid, since your NameValuePair is now the same as their NameValuePair. Before, org.omg.DynamicAny.NameValuePair did not extend org.apache.http.NameValuePair and the shortened type name NameValuePair evaluated to org.omg... in your file, but org.apache... in their code.

    SQL string value spanning multiple lines in query

    What's the column "BIO" datatype? What database server (sql/oracle/mysql)? You should be able to span over multiple lines all you want as long as you adhere to the character limit in the column's datatype (ie: varchar(200) ). Try using single quotes, that might make a difference. This works for me:

    update table set mycolumn = 'hello world,
    my name is carlos.
    goodbye.'
    where id = 1;
    

    Also, you might want to put in checks for single quotes if you are concatinating the sql string together in C#. If the variable contains single quotes that could escape the code out of the sql statement, therefore, not doing all the lines you were expecting to see.

    BTW, you can delimit your SQL statements with a semi colon like you do in C#, just as FYI.

    Is embedding background image data into CSS as Base64 good or bad practice?

    Base64 adds about 10% to the image size after GZipped but that outweighs the benefits when it comes to mobile. Since there is a overall trend with responsive web design, it is highly recommended.

    W3C also recommends this approach for mobile and if you use asset pipeline in rails, this is a default feature when compressing your css

    http://www.w3.org/TR/mwabp/#bp-conserve-css-images

    Unable to connect PostgreSQL to remote database using pgAdmin

    Check your firewall. When you disable it, then you can connect. If you want/can't disable the firewall, add a rule for your remote connection.

    How to loop through a plain JavaScript object with the objects as members?

    In my case (on the basis of the preceding) is possible any number of levels.

    var myObj = {
        rrr: undefined,
        pageURL    : "BLAH",
        emailBox   : {model:"emailAddress", selector:"#emailAddress"},
        passwordBox: {model:"password"    , selector:"#password"},
        proba: {odin:{dva:"rr",trr:"tyuuu"}, od:{ff:5,ppa:{ooo:{lll:'lll'}},tyt:'12345'}}
    };
    
    
    function lookdeep(obj,p_Name,gg){
        var A=[], tem, wrem=[], dd=gg?wrem:A;
        for(var p in obj){
            var y1=gg?'':p_Name, y1=y1 + '.' + p;
            if(obj.hasOwnProperty(p)){
               var tem=obj[p];
               if(tem && typeof tem=='object'){
                   a1=arguments.callee(tem,p_Name,true);
                   if(a1 && typeof a1=='object'){for(i in a1){dd.push(y1 + a1[i])};}
                }
                else{
                   dd.push(y1 + ':' + String(tem));
                }
            }
        };
        return dd
    };
    
    
    var s=lookdeep(myObj,'myObj',false);
    for (var x=0; x < s.length; ++x) {
    console.log(s[x]+'\n');}
    

    result:

    ["myObj.rrr:undefined",
    "myObj.pageURL:BLAH",
    "myObj.emailBox.model:emailAddress",
    "myObj.emailBox.selector:#emailAddress",
    "myObj.passwordBox.model:password",
    "myObj.passwordBox.selector:#password",
    "myObj.proba.odin.dva:rr",
    "myObj.proba.odin.trr:tyuuu",
    "myObj.proba.od.ff:5",
    "myObj.proba.od.ppa.ooo.lll:lll",
    "myObj.proba.od.tyt:12345"]
    

    Page loaded over HTTPS but requested an insecure XMLHttpRequest endpoint

    Try to add a s after http

    Like this:

    http://integration.jsite.com/data/vis => https://integration.jsite.com/data/vis

    It works for me

    How do I send an HTML Form in an Email .. not just MAILTO

    I actually use ASP C# to send my emails now, with something that looks like :

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Form.Count > 0)
        {
            string formEmail = "";
            string fromEmail = "[email protected]";
            string defaultEmail = "[email protected]";
    
            string sendTo1 = "";
    
            int x = 0;
    
            for (int i = 0; i < Request.Form.Keys.Count; i++)
            {
                formEmail += "<strong>" + Request.Form.Keys[i] + "</strong>";
                formEmail += ": " + Request.Form[i] + "<br/>";
                if (Request.Form.Keys[i] == "Email")
                {
                    if (Request.Form[i].ToString() != string.Empty)
                    {
                        fromEmail = Request.Form[i].ToString();
                    }
                    formEmail += "<br/>";
                }
    
            }
            System.Net.Mail.MailMessage myMsg = new System.Net.Mail.MailMessage();
            SmtpClient smtpClient = new SmtpClient();
    
            try
            {
                myMsg.To.Add(new System.Net.Mail.MailAddress(defaultEmail));
                myMsg.IsBodyHtml = true;
                myMsg.Body = formEmail;
                myMsg.From = new System.Net.Mail.MailAddress(fromEmail);
                myMsg.Subject = "Sent using Gmail Smtp";
                smtpClient.Host = "smtp.gmail.com";
                smtpClient.Port = 587;
                smtpClient.EnableSsl = true;
                smtpClient.UseDefaultCredentials = true;
                smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "pward");
    
                smtpClient.Send(defaultEmail, sendTo1, "Sent using gmail smpt", formEmail);
    
            }
            catch (Exception ee)
            {
                debug.Text += ee.Message;
            }
        }
    }
    

    This is an example using gmail as the smtp mail sender. Some of what is in here isn't needed, but it is how I use it, as I am sure there are more effective ways in the same fashion.

    Get list of databases from SQL Server

    in light of the ambiguity as to the number of non-user databases, you should probably add:

    WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb');
    

    and add the names of the reporting services databases

    Query to list number of records in each table in a database

    Shnugo's answer is the ONLY one that works in Azure with Externa Tables. (1) Azure SQL doesn't support sp_MSforeachtable at all and (2) rows in sys.partitions for an External table is always 0.

    Open Sublime Text from Terminal in macOS

    I achieve this with just one line in terminal (with Sublime 3):

    alias subl='/usr/local/bin/sublime'
    

    Root user/sudo equivalent in Cygwin?

    Try:

    chmod -R ug+rwx <dir>
    

    where <dir> is the directory on which you want to change permissions.

    Get the decimal part from a double

    Better Way -

            double value = 10.567;
            int result = (int)((value - (int)value) * 100);
            Console.WriteLine(result);
    

    Output -

    56
    

    Creating multiple log files of different content with log4j

    I had this question, but with a twist - I was trying to log different content to different files. I had information for a LowLevel debug log, and a HighLevel user log. I wanted the LowLevel to go to only one file, and the HighLevel to go to both a file, and a syslogd.

    My solution was to configure the 3 appenders, and then setup the logging like this:

    log4j.threshold=ALL
    log4j.rootLogger=,LowLogger
    
    log4j.logger.HighLevel=ALL,Syslog,HighLogger
    log4j.additivity.HighLevel=false
    

    The part that was difficult for me to figure out was that the 'log4j.logger' could have multiple appenders listed. I was trying to do it one line at a time.

    Hope this helps someone at some point!

    How to save Excel Workbook to Desktop regardless of user?

    I think this is the most reliable way to get the desktop path which isn't always the same as the username.

    MsgBox CreateObject("WScript.Shell").specialfolders("Desktop")
    

    Get number of digits with JavaScript

    `You can do it by simple loop using Math.trunc() function. if in interview interviewer ask to do it without converting it into string`
        let num = 555194154234 ;
        let len = 0 ;
        const numLen = (num) => {
         for(let i = 0; i < num ||  num == 1 ; i++){
            num = Math.trunc(num/10);
            len++ ;
         }
          return len + 1 ;
        }
        console.log(numLen(num));
    

    Eclipse Bug: Unhandled event loop exception No more handles

    Well, somewhat answering my own question here. I am still unaware of what causes the issue, but I have found an alternative.

    Since the Juno release of Eclipse is relatively recent, the bug itself might have something to do with my system's configuration.

    I instead downloaded the latest version of its predecessor, Eclipse Indigo. Now I am able to use Eclipse just fine.

    As I do not require any of the new features of Juno, the Indigo release will do just fine.

    What is the PHP syntax to check "is not null" or an empty string?

    Use empty(). It checks for both empty strings and null.

    if (!empty($_POST['user'])) {
      // do stuff
    }
    

    From the manual:

    The following things are considered to be empty:

    "" (an empty string)  
    0 (0 as an integer)  
    0.0 (0 as a float)  
    "0" (0 as a string)    
    NULL  
    FALSE  
    array() (an empty array)  
    var $var; (a variable declared, but without a value in a class)  
    

    A CSS selector to get last visible div

    This worked for me.

    .alert:not(:first-child){
        margin: 30px;
    }
    

    Add rows to CSV File in powershell

    To simply append to a file in powershell,you can use add-content.

    So, to only add a new line to the file, try the following, where $YourNewDate and $YourDescription contain the desired values.

    $NewLine = "{0},{1}" -f $YourNewDate,$YourDescription
    $NewLine | add-content -path $file
    

    Or,

    "{0},{1}" -f $YourNewDate,$YourDescription | add-content -path $file
    

    This will just tag the new line to the end of the .csv, and will not work for creating new .csv files where you will need to add the header.

    How to do a num_rows() on COUNT query in codeigniter?

    $query->num_rows()
    

    The number of rows returned by the query. Note: In this example, $query is the variable that the query result object is assigned to:

    $query = $this->db->query('SELECT * FROM my_table');
    
    echo $query->num_rows();