Programs & Examples On #Odt.net

Oracle "ORA-01008: not all variables bound" Error w/ Parameters

It seems daft, but I think when you use the same bind variable twice you have to set it twice:

cmd.Parameters.Add("VarA", "24");
cmd.Parameters.Add("VarB", "test");
cmd.Parameters.Add("VarB", "test");
cmd.Parameters.Add("VarC", "1234");
cmd.Parameters.Add("VarC", "1234");

Certainly that's true with Native Dynamic SQL in PL/SQL:

SQL> begin
  2     execute immediate 'select * from emp where ename=:name and ename=:name'
  3     using 'KING';
  4  end;
  5  /
begin
*
ERROR at line 1:
ORA-01008: not all variables bound


SQL> begin
  2     execute immediate 'select * from emp where ename=:name and ename=:name' 
  3     using 'KING', 'KING';
  4  end;
  5  /

PL/SQL procedure successfully completed.

How many threads can a Java VM support?

Maximum number of threads depends on following things:

  • Hardware Configuration like microprocessor, RAM.
  • Operating System like whether it is 32-bit or 64-bit
  • Code inside the run method. If code inside the run method is huge then single thread object will have more memory requirement
  • Should black box or white box testing be the emphasis for testers?

    In my experience most developers naturally migrate towards white box testing. Since we need to ensure that the underlying algorithm is "correct", we tend to focus more on the internals. But, as has been pointed out, both white and black box testing is important.

    Therefore, I prefer to have testers focus more on the Black Box tests, to cover for the fact that most developers don't really do it, and frequently aren't very good at it.

    That isn't to say that testers should be kept in the dark about how the system works, just that I prefer them to focus more on the problem domain and how actual users interact with the system, not whether the function SomeMethod(int x) will correctly throw an exception if x is equal to 5.

    Clear and refresh jQuery Chosen dropdown list

    $("#idofBtn").click(function(){
            $('#idofdropdown').empty(); //remove all child nodes
            var newOption = $('<option value="1">test</option>');
            $('#idofdropdown').append(newOption);
            $('#idofdropdown').trigger("chosen:updated");
        });
    

    Reverse HashMap keys and values in Java

    To answer your question on how you can do it, you could get the entrySet from your map and then just put into the new map by using getValue as key and getKey as value.

    But remember that keys in a Map are unique, which means if you have one value with two different key in your original map, only the second key (in iteration order) will be kep as value in the new map.

    Laravel Carbon subtract days from current date

    From Laravel 5.6 you can use whereDate:

    $users = Users::where('status_id', 'active')
           ->whereDate( 'created_at', '>', now()->subDays(30))
           ->get();
    

    You also have whereMonth / whereDay / whereYear / whereTime

    C++: Converting Hexadecimal to Decimal

    I use this:

    template <typename T>
    bool fromHex(const std::string& hexValue, T& result)
    {
        std::stringstream ss;
        ss << std::hex << hexValue;
        ss >> result;
    
        return !ss.fail();
    }
    

    Padding is invalid and cannot be removed?

    The solution that fixed mine was that I had inadvertently applied different keys to Encryption and Decryption methods.

    Delete rows containing specific strings in R

    You can use it in the same datafram (df) using the previously provided code

    df[!grepl("REVERSE", df$Name),]
    

    or you might assign a different name to the datafram using this code

    df1<-df[!grepl("REVERSE", df$Name),]
    

    How to check syslog in Bash on Linux?

    A very cool util is journalctl.

    For example, to show syslog to console: journalctl -t <syslog-ident>, where <syslog-ident> is identity you gave to function openlog to initialize syslog.

    VirtualBox error "Failed to open a session for the virtual machine"

    Updating VirtualBox to newest version fixed my issue.

    How to copy marked text in notepad++

    This is similar to https://superuser.com/questions/477628/export-all-regular-expression-matches-in-textpad-or-notepad-as-a-list.

    I hope you are trying to extract :
    "Performance"
    "Maintenance"
    "System Stability"

    Here is the way - Step 1/3: Open Search->Find->Replace Tab , select Regular Expression Radio button. Enter in Find what : (\"[a-zA-Z0-9\s]+\") and in Replace with : \n\1 and click Replace All buttton. Before Clicking Replace All

    Step 2/3: After first step your keywords will be in next lines.(as shown in next image). Now go to Mark tab and enter the same regex expression in Find what: Field. Put check mark on Bookmark Line. Then Click Mark All. Bookmark the lines

    Step 3/3 : Goto Search -> Bookmarks -> Remove unmarked lines.Remove Unmarked lines

    So you have the final result as belowFinal Result

    adb shell su works but adb root does not

    I ran into this issue when trying to root the emulator, I found out it was because I was running the Nexus 5x emulator which had Google Play on it. Created a different emulator that didn't have google play and adb root will root the device for you. Hope this helps someone.

    command to remove row from a data frame

    eldNew <- eld[-14,]
    

    See ?"[" for a start ...

    For ‘[’-indexing only: ‘i’, ‘j’, ‘...’ can be logical vectors, indicating elements/slices to select. Such vectors are recycled if necessary to match the corresponding extent. ‘i’, ‘j’, ‘...’ can also be negative integers, indicating elements/slices to leave out of the selection.

    (emphasis added)

    edit: looking around I notice How to delete the first row of a dataframe in R? , which has the answer ... seems like the title should have popped to your attention if you were looking for answers on SO?

    edit 2: I also found How do I delete rows in a data frame? , searching SO for delete row data frame ...

    Also http://rwiki.sciviews.org/doku.php?id=tips:data-frames:remove_rows_data_frame

    angular 2 sort and filter

    A pipe takes in data as input and transforms it to a desired output. Add this pipe file:orderby.ts inside your /app folder .

    orderby.ts

    //The pipe class implements the PipeTransform interface's transform method that accepts an input value and an optional array of parameters and returns the transformed value.
    
    import { Pipe,PipeTransform } from "angular2/core";
    
    //We tell Angular that this is a pipe by applying the @Pipe decorator which we import from the core Angular library.
    
    @Pipe({
    
      //The @Pipe decorator takes an object with a name property whose value is the pipe name that we'll use within a template expression. It must be a valid JavaScript identifier. Our pipe's name is orderby.
    
      name: "orderby"
    })
    
    export class OrderByPipe implements PipeTransform {
      transform(array:Array<any>, args?) {
    
        // Check if array exists, in this case array contains articles and args is an array that has 1 element : !id
    
        if(array) {
    
          // get the first element
    
          let orderByValue = args[0]
          let byVal = 1
    
          // check if exclamation point 
    
          if(orderByValue.charAt(0) == "!") {
    
            // reverse the array
    
            byVal = -1
            orderByValue = orderByValue.substring(1)
          }
          console.log("byVal",byVal);
          console.log("orderByValue",orderByValue);
    
          array.sort((a: any, b: any) => {
            if(a[orderByValue] < b[orderByValue]) {
              return -1*byVal;
            } else if (a[orderByValue] > b[orderByValue]) {
              return 1*byVal;
            } else {
              return 0;
            }
          });
          return array;
        }
        //
      }
    }
    

    In your component file (app.component.ts) import the pipe that you just added using: import {OrderByPipe} from './orderby';

    Then, add *ngFor="#article of articles | orderby:'id'" inside your template if you want to sort your articles by id in ascending order or orderby:'!id'" in descending order.

    We add parameters to a pipe by following the pipe name with a colon ( : ) and then the parameter value

    We must list our pipe in the pipes array of the @Component decorator. pipes: [ OrderByPipe ] .

    app.component.ts

    import {Component, OnInit} from 'angular2/core';
    import {OrderByPipe} from './orderby';
    
    @Component({
        selector: 'my-app',
        template: `
          <h2>orderby-pipe by N2B</h2>
          <p *ngFor="#article of articles | orderby:'id'">
            Article title : {{article.title}}
          </p>
        `,
        pipes: [ OrderByPipe ]
    
    })
    export class AppComponent{
        articles:Array<any>
        ngOnInit(){
            this.articles = [
            {
                id: 1,
                title: "title1"
            },{
                id: 2,
                title: "title2",
            }]  
        }
    
    }
    

    More info here on my github and this post on my website

    Detecting installed programs via registry

    On 64-bit systems the x64 key is:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
    

    Most programs are listed there. Look at the keys: DisplayName DisplayVersion

    Note that the last is not always set!

    On 64-bit systems the x86 key (usually with more entries) is:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
    

    Invalid http_host header

    The error log is straightforward. As it suggested,You need to add 198.211.99.20 to your ALLOWED_HOSTS setting.

    In your project settings.py file,set ALLOWED_HOSTS like this :

    ALLOWED_HOSTS = ['198.211.99.20', 'localhost', '127.0.0.1']
    

    For further reading read from here.

    Setting Short Value Java

    You can use setTableId((short)100). I think this was changed in Java 5 so that numeric literals assigned to byte or short and within range for the target are automatically assumed to be the target type. That latest J2ME JVMs are derived from Java 4 though.

    How can I verify if an AD account is locked?

    The LockedOut property is what you are looking for among all the properties you returned. You are only seeing incomplete output in TechNet. The information is still there. You can isolate that one property using Select-Object

    Get-ADUser matt -Properties * | Select-Object LockedOut
    
    LockedOut
    ---------
    False
    

    The link you referenced doesn't contain this information which is obviously misleading. Test the command with your own account and you will see much more information.

    Note: Try to avoid -Properties *. While it is great for simple testing it can make queries, especially ones with multiple accounts, unnecessarily slow. So, in this case, since you only need lockedout:

    Get-ADUser matt -Properties LockedOut | Select-Object LockedOut
    

    Reading data from a website using C#

     WebClient client = new WebClient();
                using (Stream data = client.OpenRead(Text))
                {
                    using (StreamReader reader = new StreamReader(data))
                    {
                        string content = reader.ReadToEnd();
                        string pattern = @"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)";
                        MatchCollection matches = Regex.Matches(content,pattern);
                        List<string> urls = new List<string>();
                        foreach (Match match in matches)
                        {
                                urls.Add(match.Value);
                        }
    
                  }
    

    Terminating a script in PowerShell

    Exit will exit PowerShell too. If you wish to "break" out of just the current function or script - use Break :)

    If ($Breakout -eq $true)
    {
         Write-Host "Break Out!"
         Break
    }
    ElseIf ($Breakout -eq $false)
    {
         Write-Host "No Breakout for you!"
    }
    Else
    {
        Write-Host "Breakout wasn't defined..."
    }
    

    Invalid length for a Base-64 char array

    My guess is that you simply need to URL-encode your Base64 string when you include it in the querystring.

    Base64 encoding uses some characters which must be encoded if they're part of a querystring (namely + and /, and maybe = too). If the string isn't correctly encoded then you won't be able to decode it successfully at the other end, hence the errors.

    You can use the HttpUtility.UrlEncode method to encode your Base64 string:

    string msg = "Please click on the link below or paste it into a browser "
                 + "to verify your email account.<br /><br /><a href=\""
                 + _configuration.RootURL + "Accounts/VerifyEmail.aspx?a="
                 + HttpUtility.UrlEncode(userName.Encrypt("verify")) + "\">"
                 + _configuration.RootURL + "Accounts/VerifyEmail.aspx?a="
                 + HttpUtility.UrlEncode(userName.Encrypt("verify")) + "</a>";
    

    Meaning of @classmethod and @staticmethod for beginner?

    A slightly different way to think about it that might be useful for someone... A class method is used in a superclass to define how that method should behave when it's called by different child classes. A static method is used when we want to return the same thing regardless of the child class that we are calling.

    Jquery show/hide table rows

    Change your black and white IDs to classes instead (duplicate IDs are invalid), add 2 buttons with the proper IDs, and do this:

    var rows = $('table.someclass tr');
    
    $('#showBlackButton').click(function() {
        var black = rows.filter('.black').show();
        rows.not( black ).hide();
    });
    
    $('#showWhiteButton').click(function() {
        var white = rows.filter('.white').show();
        rows.not( white ).hide();
    });
    
    $('#showAll').click(function() {
        rows.show();
    });
    

    <button id="showBlackButton">show black</button>
    <button id="showWhiteButton">show white</button>
    <button id="showAll">show all</button>
    
    <table class="someclass" border="0" cellpadding="0" cellspacing="0" summary="bla bla bla">
        <caption>bla bla bla</caption>
        <thead>
              <tr class="black">
                ...
              </tr>
        </thead>
        <tbody>
            <tr class="white">
                ...
            </tr>
            <tr class="black">
               ...
            </tr>
        </tbody>
    </table>
    

    It uses the filter()[docs] method to filter the rows with the black or white class (depending on the button).

    Then it uses the not()[docs] method to do the opposite filter, excluding the black or white rows that were previously found.


    EDIT: You could also pass a selector to .not() instead of the previously found set. It may perform better that way:

    rows.not( `.black` ).hide();
    
    // ...
    
    rows.not( `.white` ).hide();
    

    ...or better yet, just keep a cached set of both right from the start:

    var rows = $('table.someclass tr');
    var black = rows.filter('.black');
    var white = rows.filter('.white');
    
    $('#showBlackButton').click(function() {
        black.show();
        white.hide();
    });
    
    $('#showWhiteButton').click(function() {
        white.show();
        black.hide();
    });
    

    Facebook key hash does not match any stored key hashes

    I have had this Problem for two months now. My key hashes have been pyling up to 9. Today i finally found the simple solution:

    STEP 1:

    Install the facebook sdk you downloaded from the facebook developer page on your phone. Don´t install the normal facebook app. Make sure you can log into facebook. Then log out.

    STEP 2:

    Export your app with your final release key as an apk, like you would when uploading it to the playstore.

    STEP 3:

    Put the Apk file on your phone via usb cable or usb stick.

    STEP 4:

    Install your app, using a file manager: For example https://play.google.com/store/apps/details?id=com.rhmsoft.fm

    STEP 5:

    Launch your app and try to log in with facebook. A dialog will open and tell you: "the key has not been found in the facebook developer console

    STEP 6:

    Write down the key.

    STEP 7:

    Put it into your facebook developer console and save. Now you are done. Anyone that downloads your app, published with earlier used keystore can log into facebook.

    Enjoy

    Angular 2 Scroll to bottom (Chat style)

    If you want to be sure, that you are scrolling to the end after *ngFor is done, you can use this.

    <div #myList>
     <div *ngFor="let item of items; let last = last">
      {{item.title}}
      {{last ? scrollToBottom() : ''}}
     </div>
    </div>
    
    scrollToBottom() {
     this.myList.nativeElement.scrollTop = this.myList.nativeElement.scrollHeight;
    }
    

    Important here, the "last" variable defines if you are currently at the last item, so you can trigger the "scrollToBottom" method

    Difference between abstraction and encapsulation?

    Let's take the example of a stack. It could be implemented using an array or a linked list. But the operations it supports are push and pop.

    Now abstraction is exposing only the interfaces push and pop. The underlying representation is hidden (is it an array or a linked list?) and a well-defined interface is provided. Now how do you ensure that no accidental access is made to the abstracted data? That is where encapsulation comes in. For example, classes in C++ use the access specifiers which ensure that accidental access and modification is prevented. And also, by making the above-mentioned interfaces as public, it ensures that the only way to manipulate the stack is through the well-defined interface. In the process, it has coupled the data and the code that can manipulate it (let's not get the friend functions involved here). That is, the code and data are bonded together or tied or encapsulated.

    Configure Log4net to write to multiple files

    These answers were helpful, but I wanted to share my answer with both the app.config part and the c# code part, so there is less guessing for the next person.

    <log4net>
      <appender name="SomeName" type="log4net.Appender.RollingFileAppender">
        <file value="c:/Console.txt" />
        <appendToFile value="true" />
        <rollingStyle value="Composite" />
        <datePattern value="yyyyMMdd" />
        <maxSizeRollBackups value="10" />
        <maximumFileSize value="1MB" />
      </appender>
      <appender name="Summary" type="log4net.Appender.FileAppender">
        <file value="SummaryFile.log" />
        <appendToFile value="true" />
      </appender>
      <root>
        <level value="ALL" />
        <appender-ref ref="SomeName" />
      </root>
      <logger additivity="false" name="Summary">
        <level value="DEBUG"/>
        <appender-ref ref="Summary" />
      </logger>
    </log4net>
    

    Then in code:

    ILog Log = LogManager.GetLogger("SomeName");
    ILog SummaryLog = LogManager.GetLogger("Summary");
    Log.DebugFormat("Processing");
    SummaryLog.DebugFormat("Processing2"));
    

    Here c:/Console.txt will contain "Processing" ... and \SummaryFile.log will contain "Processing2"

    What does <? php echo ("<pre>"); ..... echo("</pre>"); ?> mean?

    $testArray = [
    [
      "name"   => "Dinesh Madusanka",
      "gender" => "male"
    ],
    [
      "name"   => "Tharaka Devinda",
      "gender" => "male"
    ],
    [
      "name"   => "Dumidu Ranasinghearachchi",
      "gender" => "male"
    ]
    
    
     ];
    
      print_r($testArray);
    
      echo "<pre>";
      print_r($testArray);
    

    Setting default permissions for newly created files and sub-directories under a directory in Linux?

    Here's how to do it using default ACLs, at least under Linux.

    First, you might need to enable ACL support on your filesystem. If you are using ext4 then it is already enabled. Other filesystems (e.g., ext3) need to be mounted with the acl option. In that case, add the option to your /etc/fstab. For example, if the directory is located on your root filesystem:

    /dev/mapper/qz-root   /    ext3    errors=remount-ro,acl   0  1
    

    Then remount it:

    mount -oremount /
    

    Now, use the following command to set the default ACL:

    setfacl -dm u::rwx,g::rwx,o::r /shared/directory
    

    All new files in /shared/directory should now get the desired permissions. Of course, it also depends on the application creating the file. For example, most files won't be executable by anyone from the start (depending on the mode argument to the open(2) or creat(2) call), just like when using umask. Some utilities like cp, tar, and rsync will try to preserve the permissions of the source file(s) which will mask out your default ACL if the source file was not group-writable.

    Hope this helps!

    Convert php array to Javascript

    I find the quickest and easiest way to work with a PHP array in Javascript is to do this:

    PHP:

    $php_arr = array('a','b','c','d');
    

    Javascript:

    //this gives me a JSON object
    js_arr = '<?php echo JSON_encode($php_arr);?>';
    
    
    //Depending on what I use it for I sometimes parse the json so I can work with a straight forward array:
    js_arr = JSON.parse('<?php echo JSON_encode($php_arr);?>');
    

    What reference do I need to use Microsoft.Office.Interop.Excel in .NET?

    Here is super solid solution, you just need have excell.dll in your Debug/Release folder Mine is 77,824 bytes, I downloaded it as a file, this also explain why some people have Debug compiled but Release not or vice versa.

    Trento

    How to get the selected value from drop down list in jsp?

    Direct value should work just fine:

    var sel = document.getElementsByName('item');
    var sv = sel.value;
    alert(sv);
    

    The only reason your code might fail is when there is no item selected, then the selectedIndex returns -1 and the code breaks.

    How to get request URI without context path?

    A way to do this is to rest the servelet context path from request URI.

    String p = request.getRequestURI();
    String cp = getServletContext().getContextPath();
    
    if (p.startsWith(cp)) {
      String.err.println(p.substring(cp.length());
    }
    

    Read here .

    How can I create a marquee effect?

    The accepted answers animation does not work on Safari, I've updated it using translate instead of padding-left which makes for a smoother, bulletproof animation.

    Also, the accepted answers demo fiddle has a lot of unnecessary styles.

    So I created a simple version if you just want to cut and paste the useful code and not spend 5 mins clearing through the demo.

    http://jsfiddle.net/e8ws12pt/

    _x000D_
    _x000D_
    .marquee {_x000D_
        margin: 0 auto;_x000D_
        white-space: nowrap;_x000D_
        overflow: hidden;_x000D_
        box-sizing: border-box;_x000D_
        padding: 0;_x000D_
        height: 16px;_x000D_
        display: block;_x000D_
    }_x000D_
    .marquee span {_x000D_
        display: inline-block;_x000D_
        text-indent: 0;_x000D_
        overflow: hidden;_x000D_
        -webkit-transition: 15s;_x000D_
        transition: 15s;_x000D_
        -webkit-animation: marquee 15s linear infinite;_x000D_
        animation: marquee 15s linear infinite;_x000D_
    }_x000D_
    _x000D_
    @keyframes marquee {_x000D_
        0% { transform: translate(100%, 0); -webkit-transform: translateX(100%); }_x000D_
        100% { transform: translate(-100%, 0); -webkit-transform: translateX(-100%); }_x000D_
    }
    _x000D_
    <p class="marquee"><span>Simple CSS Marquee - Lorem ipsum dolor amet tattooed squid microdosing taiyaki cardigan polaroid single-origin coffee iPhone. Edison bulb blue bottle neutra shabby chic. Kitsch affogato you probably haven't heard of them, keytar forage plaid occupy pitchfork. Enamel pin crucifix tilde fingerstache, lomo unicorn chartreuse plaid XOXO yr VHS shabby chic meggings pinterest kickstarter.</span></p>
    _x000D_
    _x000D_
    _x000D_

    Location of GlassFish Server Logs

    tail -f /path/to/glassfish/domains/YOURDOMAIN/logs/server.log
    

    You can also upload log from admin console : http://yoururl:4848

    enter image description here

    Select multiple records based on list of Id's with linq

    That should be simple. Try this:

    var idList = new int[1, 2, 3, 4, 5];
    var userProfiles = _dataContext.UserProfile.Where(e => idList.Contains(e));
    

    How does JPA orphanRemoval=true differ from the ON DELETE CASCADE DML clause

    The moment you remove a child entity from the collection you will also be removing that child entity from the DB as well. orphanRemoval also implies that you cannot change parents; if there's a department that has employees, once you remove that employee to put it in another deparment, you will have inadvertantly removed that employee from the DB at flush/commit(whichver comes first). The morale is to set orphanRemoval to true so long as you are certain that children of that parent will not migrate to a different parent throughout their existence. Turning on orphanRemoval also automatically adds REMOVE to cascade list.

    Add custom message to thrown exception while maintaining stack trace in Java

    Exceptions are usually immutable: you can't change their message after they've been created. What you can do, though, is chain exceptions:

    throw new TransactionProblemException(transNbr, originalException);
    

    The stack trace will look like

    TransactionProblemException : transNbr
    at ...
    at ...
    caused by OriginalException ...
    at ...
    at ...
    

    How to set text color to a text view programmatically

    Great answers. Adding one that loads the color from an Android resources xml but still sets it programmatically:

    textView.setTextColor(getResources().getColor(R.color.some_color));
    

    Please note that from API 23, getResources().getColor() is deprecated. Use instead:

    textView.setTextColor(ContextCompat.getColor(context, R.color.some_color));
    

    where the required color is defined in an xml as:

    <resources>
      <color name="some_color">#bdbdbd</color>
    </resources>
    

    Update:

    This method was deprecated in API level 23. Use getColor(int, Theme) instead.

    Check this.

    Meaning of "487 Request Terminated"

    It's the response code a SIP User Agent Server (UAS) will send to the client after the client sends a CANCEL request for the original unanswered INVITE request (yet to receive a final response).

    Here is a nice CANCEL SIP Call Flow illustration.

    How to get the last row of an Oracle a table

    SELECT * FROM 
      MY_TABLE
    WHERE 
      <your filters>
    ORDER BY PRIMARY_KEY DESC FETCH FIRST ROW ONLY
    

    Import Google Play Services library in Android Studio

    After hours of having the same problem, notice that if your jar is on the libs folder will cause problem once you set it upon the "Dependencies ", so i just comment the file tree dependencies and keep the one using

    dependencies

    //compile fileTree(dir: 'libs', include: ['*.jar'])  <-------- commented one 
    compile 'com.google.android.gms:play-services:8.1.0'
    compile 'com.android.support:appcompat-v7:22.2.1'
    

    and the problem was solved.

    No notification sound when sending notification from firebase in android

    I was also having a problem with notifications that had to emit sound, when the app was in foreground everything worked correctly, however when the app was in the background the sound just didn't come out.

    The notification was sent by the server through FCM, that is, the server mounted the JSON of the notification and sent it to FCM, which then sends the notification to the apps. Even if I put the sound tag, the sound does not come out in the backgound.

    enter image description here

    Even putting the sound tag it didn't work.

    enter image description here

    After so much searching I found the solution on a github forum. I then noticed that there were two problems in my case:

    1 - It was missing to send the channel_id tag, important to work in API level 26+

    enter image description here

    2 - In the Android application, for this specific case where notifications were being sent directly from the server, I had to configure the channel id in advance, so in my main Activity I had to configure the channel so that Android knew what to do when notification arrived.

    In JSON sent by the server:

       {
      "title": string,
      "body": string,
      "icon": string,
      "color": string,
      "sound": mysound,
    
      "channel_id": videocall,
      //More stuff here ...
     }
    

    In your main Activity:

     @Background
        void createChannel(){
                Uri sound = Uri.parse("android.resource://" + getApplicationContext().getPackageName() + "/" + R.raw.app_note_call);
                NotificationChannel mChannel;
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                    mChannel = new NotificationChannel("videocall", "VIDEO CALL", NotificationManager.IMPORTANCE_HIGH);
                    mChannel.setLightColor(Color.GRAY);
                    mChannel.enableLights(true);
                    mChannel.setDescription("VIDEO CALL");
                    AudioAttributes audioAttributes = new AudioAttributes.Builder()
                            .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                            .setUsage(AudioAttributes.USAGE_ALARM)
                            .build();
                    mChannel.setSound(sound, audioAttributes);
    
                    NotificationManager notificationManager =
                            (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
                    notificationManager.createNotificationChannel(mChannel);
                }
        }
    

    This finally solved my problem, I hope it helps someone not to waste 2 days like I did. I don't know if it is necessary for everything I put in the code, but this is the way. I also didn't find the github forum link to credit the answer anymore, because what I did was the same one that was posted there.

    How do I implement a progress bar in C#?

    When you perform operations on Background thread and you want to update UI, you can not call or set anything from background thread. In case of WPF you need Dispatcher.BeginInvoke and in case of WinForms you need Invoke method.

    WPF:

    // assuming "this" is the window containing your progress bar..
    // following code runs in background worker thread...
    for(int i=0;i<count;i++)
    {
        DoSomething();
        this.Dispatcher.BeginInvoke((Action)delegate(){
             this.progressBar.Value = (int)((100*i)/count);
        });
    }
    

    WinForms:

    // assuming "this" is the window containing your progress bar..
    // following code runs in background worker thread...
    for(int i=0;i<count;i++)
    {
        DoSomething();
        this.Invoke(delegate(){
             this.progressBar.Value = (int)((100*i)/count);
        });
    }
    

    for WinForms delegate may require some casting or you may need little help there, dont remember the exact syntax now.

    ASP.NET MVC3 - textarea with @Html.EditorFor

    @Html.TextAreaFor(model => model.Text)
    

    How to convert datetime format to date format in crystal report using C#?

    if it is just a format issue use ToShortDateString()

    Can I use CASE statement in a JOIN condition?

    Yes, you can. Here is an example.

    SELECT a.*
    FROM TableA a
    LEFT OUTER JOIN TableB j1 ON  (CASE WHEN LEN(COALESCE(a.NoBatiment, '')) = 3 
                                    THEN RTRIM(a.NoBatiment) + '0' 
                                    ELSE a.NoBatiment END ) = j1.ColumnName 
    

    RegEx - Match Numbers of Variable Length

    Try this:

    {[0-9]{1,3}:[0-9]{1,3}}
    

    The {1,3} means "match between 1 and 3 of the preceding characters".

    Define preprocessor macro through CMake?

    To do this for a specific target, you can do the following:

    target_compile_definitions(my_target PRIVATE FOO=1 BAR=1)
    

    You should do this if you have more than one target that you're building and you don't want them all to use the same flags. Also see the official documentation on target_compile_definitions.

    All combinations of a list of lists

    The most elegant solution is to use itertools.product in python 2.6.

    If you aren't using Python 2.6, the docs for itertools.product actually show an equivalent function to do the product the "manual" way:

    def product(*args, **kwds):
        # product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
        # product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
        pools = map(tuple, args) * kwds.get('repeat', 1)
        result = [[]]
        for pool in pools:
            result = [x+[y] for x in result for y in pool]
        for prod in result:
            yield tuple(prod)
    

    Sometimes adding a WCF Service Reference generates an empty reference.cs

    I also had the issue of broken service references when working with project references on both sides (the service project and the project having a reference to the service). If the the .dll of the referenced project for example is called "Contoso.Development.Common", but the projects name is simply shortened to "Common", also project references to this project are named just "Common". The service however expects a reference to "Contoso.Development.Common" for resolving classes (if this option is activated in the service reference options).

    So with explorer I opened the folder of the project which is referencing the service and the "Common"-project. There I editet the VS project file (.csproj) with notepad. Search for the name of the refernced project (which is "Common.csproj" in this example) and you will quickly find the configuration entry representing the project reference.

    I changed

    <ProjectReference Include="..\Common\Common.csproj"> <Project>{C90AAD45-6857-4F83-BD1D-4772ED50D44C}</Project> <Name>Common</Name> </ProjectReference>

    to

    <ProjectReference Include="..\Common\Common.csproj"> <Project>{C90AAD45-6857-4F83-BD1D-4772ED50D44C}</Project> <Name>Contoso.Development.Common</Name> </ProjectReference>

    The important thing is to change the name of the reference to the name of the dll the referenced project has as output.

    Then switch back to VS. There you will be asked to reload the project since it has been modified outside of VS. Click the reload button.

    After doing so adding und updating the service reference worked just as expected.

    Hope this also helps someone else.

    Regards MH

    Which UUID version to use?

    If you want a random number, use a random number library. If you want a unique identifier with effectively 0.00...many more 0s here...001% chance of collision, you should use UUIDv1. See Nick's post for UUIDv3 and v5.

    UUIDv1 is NOT secure. It isn't meant to be. It is meant to be UNIQUE, not un-guessable. UUIDv1 uses the current timestamp, plus a machine identifier, plus some random-ish stuff to make a number that will never be generated by that algorithm again. This is appropriate for a transaction ID (even if everyone is doing millions of transactions/s).

    To be honest, I don't understand why UUIDv4 exists... from reading RFC4122, it looks like that version does NOT eliminate possibility of collisions. It is just a random number generator. If that is true, than you have a very GOOD chance of two machines in the world eventually creating the same "UUID"v4 (quotes because there isn't a mechanism for guaranteeing U.niversal U.niqueness). In that situation, I don't think that algorithm belongs in a RFC describing methods for generating unique values. It would belong in a RFC about generating randomness. For a set of random numbers:

    chance_of_collision = 1 - (set_size! / (set_size - tries)!) / (set_size ^ tries)
    

    How to find minimum value from vector?

    template <class ForwardIterator>
    ForwardIterator min_element ( ForwardIterator first, ForwardIterator last )
    {
        ForwardIterator lowest = first;
        if (first == last) return last;
        while (++first != last)
        if (*first < *lowest) 
            lowest = first;
        return lowest;
    }
    

    Java 8: merge lists with stream API

    In Java 8 we can use stream List1.stream().collect(Collectors.toList()).addAll(List2); Another option List1.addAll(List2)

    How do I store data in local storage using Angularjs?

    this is a bit of my code that stores and retrieves to local storage. i use broadcast events to save and restore the values in the model.

    app.factory('userService', ['$rootScope', function ($rootScope) {
    
        var service = {
    
            model: {
                name: '',
                email: ''
            },
    
            SaveState: function () {
                sessionStorage.userService = angular.toJson(service.model);
            },
    
            RestoreState: function () {
                service.model = angular.fromJson(sessionStorage.userService);
            }
        }
    
        $rootScope.$on("savestate", service.SaveState);
        $rootScope.$on("restorestate", service.RestoreState);
    
        return service;
    }]);
    

    Abstract methods in Python

    Before abc was introduced you would see this frequently.

    class Base(object):
        def go(self):
            raise NotImplementedError("Please Implement this method")
    
    
    class Specialized(Base):
        def go(self):
            print "Consider me implemented"
    

    Adding image to JFrame

    There is no specialized image component provided in Swing (which is sad in my opinion). So, there are a few options:

    1. As @Reimeus said: Use a JLabel with an icon.
    2. Create in the window builder a JPanel, that will represent the location of the image. Then add your own custom image component to the JPanel using a few lines of code you will never have to change. They should look like this:

      JImageComponent ic = new JImageComponent(myImageGoesHere);
      imagePanel.add(ic);
      

      where JImageComponent is a self created class that extends JComponent that overrides the paintComponent() method to draw the image.

    'too many values to unpack', iterating over a dict. key=>string, value=>list

    Can't be iterating directly in dictionary. So you can through converting into tuple.

    first_names = ['foo', 'bar']
    last_names = ['gravy', 'snowman']
    
    fields = {
        'first_names': first_names,
        'last_name': last_names,
             } 
    tup_field=tuple(fields.items())
    for names in fields.items():
         field,possible_values = names
         tup_possible_values=tuple(possible_values)
         for pvalue in tup_possible_values:
               print (field + "is" + pvalue)
    

    Iterate through every file in one directory

    As others have said, Dir::foreach is a good option here. However, note that Dir::foreach and Dir::entries will always include . and .. (the current and parent directories). You will generally not want to work on them, so you can use Dir::each_child or Dir::children (as suggested by ma11hew28) or do something like this:

    Dir.foreach('/path/to/dir') do |filename|
      next if filename == '.' or filename == '..'
      # Do work on the remaining files & directories
    end
    

    Dir::foreach and Dir::entries (as well as Dir::each_child and Dir::children) also include hidden files & directories. Often this is what you want, but if it isn't, you need to do something to skip over them.

    Alternatively, you might want to look into Dir::glob which provides simple wildcard matching:

    Dir.glob('/path/to/dir/*.rb') do |rb_filename|
      # Do work on files & directories ending in .rb
    end
    

    How to determine if a number is odd in JavaScript

    Just executed this one in Adobe Dreamweaver..it works perfectly. i used if (isNaN(mynmb))

    to check if the given Value is a number or not, and i also used Math.abs(mynmb%2) to convert negative number to positive and calculate

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    
    </head>
    <body bgcolor = "#FFFFCC">
        <h3 align ="center"> ODD OR EVEN </h3><table cellspacing = "2" cellpadding = "5" bgcolor="palegreen">
            <form name = formtwo>
                <td align = "center">
                    <center><BR />Enter a number: 
                        <input type=text id="enter" name=enter maxlength="10" />
                        <input type=button name = b3 value = "Click Here" onClick = compute() />
                          <b>is<b> 
                    <input type=text id="outtxt" name=output size="5" value="" disabled /> </b></b></center><b><b>
                    <BR /><BR />
                </b></b></td></form>
            </table>
    
        <script type='text/javascript'>
    
            function compute()
            {
              var enter = document.getElementById("enter");
              var outtxt = document.getElementById("outtxt");
    
              var mynmb = enter.value;
              if (isNaN(mynmb)) 
              { 
                outtxt.value = "error !!!"; 
                alert( 'please enter a valid number');
                enter.focus();
                return;
              }
              else 
              { 
                 if ( mynmb%2 == 0 ) { outtxt.value = "Even"; }  
                 if ( Math.abs(mynmb%2) == 1 ) { outtxt.value = "Odd"; }
              }
            }
    
        </script>
    </body>
    </html>
    

    How do I create an iCal-type .ics file that can be downloaded by other users?

    That will work just fine. You can export an entire calendar with File > Export…, or individual events by dragging them to the Finder.

    iCalendar (.ics) files are human-readable, so you can always pop it open in a text editor to make sure no private events made it in there. They consist of nested sections with start with BEGIN: and end with END:. You'll mostly find VEVENT sections (each of which represents an event) and VTIMEZONE sections, each of which represents a time zone that's referenced from one or more events.

    How can I get the count of milliseconds since midnight for the current?

    Joda-Time

    I think you can use Joda-Time to do this. Take a look at the DateTime class and its getMillisOfSecond method. Something like

    int ms = new DateTime().getMillisOfSecond() ;
    

    How do I configure IIS for URL Rewriting an AngularJS application in HTML5 mode?

    The IIS inbound rules as shown in the question DO work. I had to clear the browser cache and add the following line in the top of my <head> section of the index.html page:

    <base href="/myApplication/app/" />
    

    This is because I have more than one application in localhost and so requests to other partials were being taken to localhost/app/view1 instead of localhost/myApplication/app/view1

    Hopefully this helps someone!

    Find the PID of a process that uses a port on Windows

    Command:

    netstat -aon | findstr 4723
    

    Output:

    TCP    0.0.0.0:4723           0.0.0.0:0                LISTENING       10396
    

    Now cut the process ID, "10396", using the for command in Windows.

    Command:

    for /f "tokens=5" %a in ('netstat -aon ^| findstr 4723') do @echo %~nxa
    

    Output:

    10396

    If you want to cut the 4th number of the value means "LISTENING" then command in Windows.

    Command:

    for /f "tokens=4" %a in ('netstat -aon ^| findstr 4723') do @echo %~nxa
    

    Output:

    LISTENING

    How can I count occurrences with groupBy?

    Here is the simple solution by StreamEx:

    StreamEx.of(list).groupingBy(Function.identity(), MoreCollectors.countingInt());
    

    This has the advantage of reducing the Java stream boilerplate code: collect(Collectors.

    How do I put all required JAR files in a library folder inside the final JAR file with Maven?

    following this link:

    How To: Eclipse Maven install build jar with dependencies

    i found out that this is not workable solution because the class loader doesn't load jars from within jars, so i think that i will unpack the dependencies inside the jar.

    MySQL: Error dropping database (errno 13; errno 17; errno 39)

    Quick Fix

    If you just want to drop the database no matter what (but please first read the whole post: the error was given for a reason, and it might be important to know what the reason was!), you can:

    • find the datadir with the command SHOW VARIABLES WHERE Variable_name LIKE '%datadir%';
    • stop the MySQL server (e.g. service mysql stop or rcmysqld stop or similar on Linux, NET STOP <name of MYSQL service, often MYSQL57 or similar> or through SERVICES.MSC on Windows)
    • go to the datadir (this is where you should investigate; see below)
    • remove the directory with the same name as the database
    • start MySQL server again and connect to it
    • execute a DROP DATABASE
    • that's it!

    Reasons for Errno 13

    MySQL has no write permission on the parent directory in which the mydb folder resides.

    Check it with

    ls -la /path/to/data/dir/         # see below on how to discover data dir
    ls -la /path/to/data/dir/mydb   
    

    On Linux, this can also happen if you mix and match MySQL and AppArmor/SELinux packages. What happens is that AppArmor expects mysqld to have its data in /path/to/data/dir, and allows full R/W there, but MySQLd is from a different distribution or build, and it actually stores its data elsewhere (e.g.: /var/lib/mysql5/data/** as opposed to /var/lib/mysql/**). So what you see is that the directory has correct permissions and ownership and yet it still gives Errno 13 because apparmor/selinux won't allow access to it.

    To verify, check the system log for security violations, manually inspect apparmor/selinux configuration, and/or impersonate the mysql user and try going to the base var directory, then cd incrementally until you're in the target directory, and run something like touch aardvark && rm aardvark. If permissions and ownership match, and yet the above yields an access error, chances are that it's a security framework issue.

    "EASY FIX" considered harmful

    I have happened upon an "easy fix" suggested on a "experts forum" (not Stack Overflow, thank goodness), the same "fix" I sometimes find for Web and FTP problems -- chown 777. PLEASE NEVER DO THAT. For those who don't already know, 777 (or 775, or 666) isn't a magic number that somehow MySQL programmers forgot to apply themselves, or don't want you to know. Each digit has a meaning, and 777 means "I hereby consent to everyone doing whatever they want with my stuff, up to and including executing it as if it were a binary or shell script". By doing this (and chances are you won't be allowed to do this on a sanely configured system),

    • you risk several security conscious programs to refuse to function anymore (e.g. if you do that to your SSH keys, goodbye SSH connections; etc.) since they realize they're now in a insecure context.
    • you allow literally everyone with any level of access whatsoever to the system to read and write your data, whether MySQL allows it or not, unbeknownst to MySQL itself - i.e. it becomes possible to silently corrupt whole databases.
    • the above might sometimes be done, in exceedingly dire straits, by desperate and knowledgeable people, to gain access again to an otherwise inaccessible screwed MySQL installation (i.e. even mysqladmin no longer grants local access), and will be immediately undone as soon as things get back to normal - it's not a permanent change, not even then. And it's not a fix to "one weird trick to be able to drop my DB".

    (needless to say, it's almost never the real fix to any Web or FTP problems either. The fix to "Of late, the wife's keys fail to open the front door and she can't enter our home" is 'check the keys or have the lock repaired or replaced'; the admittedly much quicker chown 777 is "Just leave the front door wide open! Easy peasy! What's the worst that might happen?")

    Reasons for Errno 39

    This code means "directory not empty". The directory contains some hidden files MySQL knows nothing about. For non-hidden files, see Errno 17. The solution is the same.

    Reasons for Errno 17

    This code means "file exists". The directory contains some MySQL file that MySQL doesn't feel about deleting. Such files could have been created by a SELECT ... INTO OUTFILE "filename"; command where filename had no path. In this case, the MySQL process creates them in its current working directory, which (tested on MySQL 5.6 on OpenSuSE 12.3) is the data directory of the database, e.g. /var/lib/mysql/data/nameofdatabase.

    Reproducibility:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1676
    Server version: 5.6.12-log openSUSE package
    [ snip ]    
    
    mysql> CREATE DATABASE pippo;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> USE pippo;
    Database changed
    mysql> SELECT version() INTO OUTFILE 'test';
    Query OK, 1 row affected (0.00 sec)
    
    mysql> DROP DATABASE pippo;
    ERROR 1010 (HY000): Error dropping database (can't rmdir './pippo/', errno: 17)
    
    -- now from another console I delete the "test" file, without closing this connection
    -- and just retry. Now it works.
    
    mysql> DROP DATABASE pippo;
    Query OK, 0 rows affected (0.00 sec)
    

    Move the file(s) outside (or delete if not needed) and retry. Also, determine why they were created in the first place - it could point to a bug in some application. Or worse: see below...

    UPDATE: Error 17 as exploit flag

    This happened on a Linux system with Wordpress installed. Unfortunately the customer was under time constraints and I could neither image the disk or do a real forensics round - I reinstalled the whole machine and Wordpress got updated in the process, so I can only say that I'm almost certain they did it through this plugin.

    Symptoms: the mysql data directory contained three files with extension PHP. Wait, what?!? -- and inside the files there was a bulk of base64 code which was passed to base64_decode, gzuncompress and [eval()][2]. Aha. Of course these were only the first attempts, the unsuccessful ones. The site had been well and truly pwn3d.

    So if you find a file in your mysql data dir that's causing an Error 17, check it with file utility or scan it with an antivirus. Or visually inspect its contents. Do not assume it's there for some innocuous mistake.

    (Needless to say, to visually inspect the file, never double click it).

    The victim in this case (he had some friend "do the maintenance") would never have guessed he'd been hacked until a maintenance/update/whatever script ran a DROP DATABASE (do not ask me why - I'm not sure even I want to know) and got an error. From the CPU load and the syslog messages, I'm fairly positive that the host had become a spam farm.

    Yet another Error 17

    If you rsync or copy between two MySQL installations of the same version but different platform or file systems such as Linux or Windows (which is discouraged, and risky, but many do it nonetheless), and specifically with different case sensitivity settings, you can accidentally end up with two versions of the same file (either data, index, or metadata); say Customers.myi and Customer.MYI. MySQL uses one of them and knows nothing about the other (which could be out of date and lead to a disastrous sync). When dropping the database, which also happens in many a mysqldump ... | ... mysql backup schemes, the DROP will fail because that extra file (or those extra files) exists. If this happens, you should be able to recognize the obsolete file(s) that need manual deletion from the file time, or from the fact that their case scheme is different from the majority of the other tables.

    Finding the data-dir

    In general, you can find the data directory by inspecting the my.cnf file (/etc/my.cnf, /etc/sysconfig/my.cnf, /etc/mysql/my.cnf on Linux; my.ini in the MySQL program files directory in Windows), under the [mysqld] heading, as datadir.

    Alternatively you can ask it to MySQL itself:

    mysql> SHOW VARIABLES WHERE Variable_name LIKE '%datadir%';
    +---------------+-----------------+
    | Variable_name | Value           |
    +---------------+-----------------+
    | datadir       | /var/lib/mysql/ |
    +---------------+-----------------+
    1 row in set (0.00 sec)
    

    How to increase executionTimeout for a long-running query?

    in my case, I need to have my wcf running for more than 2 hours. Setting and did not work at all. The wcf did not execute longer than maybe 20~30 minutes. So I changed the idle timeout setting of application pool in IIS manager then it worked! In IIS manager, choose your application pool and right click on it and choose advanced settings then change the idle timeout setting to any minutes you want. So, I think setting the web.config and setting the application pool are both needed.

    python requests file upload

    If upload_file is meant to be the file, use:

    files = {'upload_file': open('file.txt','rb')}
    values = {'DB': 'photcat', 'OUT': 'csv', 'SHORT': 'short'}
    
    r = requests.post(url, files=files, data=values)
    

    and requests will send a multi-part form POST body with the upload_file field set to the contents of the file.txt file.

    The filename will be included in the mime header for the specific field:

    >>> import requests
    >>> open('file.txt', 'wb')  # create an empty demo file
    <_io.BufferedWriter name='file.txt'>
    >>> files = {'upload_file': open('file.txt', 'rb')}
    >>> print(requests.Request('POST', 'http://example.com', files=files).prepare().body.decode('ascii'))
    --c226ce13d09842658ffbd31e0563c6bd
    Content-Disposition: form-data; name="upload_file"; filename="file.txt"
    
    
    --c226ce13d09842658ffbd31e0563c6bd--
    

    Note the filename="file.txt" parameter.

    You can use a tuple for the files mapping value, with between 2 and 4 elements, if you need more control. The first element is the filename, followed by the contents, and an optional content-type header value and an optional mapping of additional headers:

    files = {'upload_file': ('foobar.txt', open('file.txt','rb'), 'text/x-spam')}
    

    This sets an alternative filename and content type, leaving out the optional headers.

    If you are meaning the whole POST body to be taken from a file (with no other fields specified), then don't use the files parameter, just post the file directly as data. You then may want to set a Content-Type header too, as none will be set otherwise. See Python requests - POST data from a file.

    List directory in Go

    Even simpler, use path/filepath:

    package main    
    
    import (
        "fmt"
        "log"
        "path/filepath"
    )
    
    func main() {
        files, err := filepath.Glob("*")
        if err != nil {
            log.Fatal(err)
        }
        fmt.Println(files) // contains a list of all files in the current directory
    }
    

    ldap query for group members

    Active Directory does not store the group membership on user objects. It only stores the Member list on the group. The tools show the group membership on user objects by doing queries for it.

    How about:

    (&(objectClass=group)(member=cn=my,ou=full,dc=domain))

    (You forgot the (& ) bit in your example in the question as well).

    How do I specify new lines on Python, when writing on files?

    Worth noting that when you inspect a string using the interactive python shell or a Jupyter notebook, the \n and other backslashed strings like \t are rendered literally:

    >>> gotcha = 'Here is some random message...'
    >>> gotcha += '\nAdditional content:\n\t{}'.format('Yet even more great stuff!')
    >>> gotcha
    'Here is some random message...\nAdditional content:\n\tYet even more great stuff!'
    

    The newlines, tabs, and other special non-printed characters are rendered as whitespace only when printed, or written to a file:

    >>> print('{}'.format(gotcha))
    Here is some random message...
    Additional content:
        Yet even more great stuff!
    

    How can I get a list of users from active directory?

    If you want to filter y active accounts add this to Harvey's code:

     UserPrincipal userPrin = new UserPrincipal(context);
     userPrin.Enabled = true;
    

    after the first using. Then add

      searcher.QueryFilter = userPrin;
    

    before the find all. And that should get you the active ones.

    Gradle failed to resolve library in Android Studio

    Try this

    1. Clean project
    2. Invalidate cache and restart studio
    3. Check android SDK path is proper
    4. Check is there any error in any of your resource file

    Python script to convert from UTF-8 to ASCII

    import codecs
    
     ...
    
    fichier = codecs.open(filePath, "r", encoding="utf-8")
    
     ...
    
    fichierTemp = codecs.open("tempASCII", "w", encoding="ascii", errors="ignore")
    fichierTemp.write(contentOfFile)
    
     ...
    

    Get device information (such as product, model) from adb command

    The correct way to do it would be:

    adb -s 123abc12 shell getprop
    

    Which will give you a list of all available properties and their values. Once you know which property you want, you can give the name as an argument to getprop to access its value directly, like this:

    adb -s 123abc12 shell getprop ro.product.model
    

    The details in adb devices -l consist of the following three properties: ro.product.name, ro.product.model and ro.product.device.

    Note that ADB shell ends lines with \r\n, which depending on your platform might or might not make it more difficult to access the exact value (e.g. instead of Nexus 7 you might get Nexus 7\r).

    What is the difference between window, screen, and document in Javascript?

    The window is the first thing that gets loaded into the browser. This window object has the majority of the properties like length, innerWidth, innerHeight, name, if it has been closed, its parents, and more.

    The document object is your html, aspx, php, or other document that will be loaded into the browser. The document actually gets loaded inside the window object and has properties available to it like title, URL, cookie, etc. What does this really mean? That means if you want to access a property for the window it is window.property, if it is document it is window.document.property which is also available in short as document.property.

    Using env variable in Spring Boot's application.properties

    Here is a snippet code through a chain of environments properties files are being loaded for different environments.

    Properties file under your application resources ( src/main/resources ):-

     1. application.properties
     2. application-dev.properties
     3. application-uat.properties
     4. application-prod.properties
    

    Ideally, application.properties contains all common properties which are accessible for all environments and environment related properties only works on specifies environment. therefore the order of loading these properties files will be in such way -

     application.properties -> application.{spring.profiles.active}.properties.
    

    Code snippet here :-

        import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
        import org.springframework.core.io.ClassPathResource;
        import org.springframework.core.io.Resource;
    
        public class PropertiesUtils {
    
            public static final String SPRING_PROFILES_ACTIVE = "spring.profiles.active";
    
            public static void initProperties() {
                String activeProfile = System.getProperty(SPRING_PROFILES_ACTIVE);
                if (activeProfile == null) {
                    activeProfile = "dev";
                }
                PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer
                        = new PropertySourcesPlaceholderConfigurer();
                Resource[] resources = new ClassPathResource[]
                        {new ClassPathResource("application.properties"),
                                new ClassPathResource("application-" + activeProfile + ".properties")};
                propertySourcesPlaceholderConfigurer.setLocations(resources);
    
            }
        }
    

    Angular 2 optional route parameter

    Facing a similar problem with lazy loading I have done this:

    const routes: Routes = [
      {
        path: 'users',
        redirectTo: 'users/',
        pathMatch: 'full'
      },
      {
        path: 'users',
        loadChildren: './users/users.module#UserssModule',
        runGuardsAndResolvers: 'always'
      },
    [...]
    

    And then in the component:

      ngOnInit() {
        this.activatedRoute.paramMap.pipe(
          switchMap(
            (params: ParamMap) => {
              let id: string = params.get('id');
              if (id == "") {
                return of(undefined);
              }
              return this.usersService.getUser(Number(params.get('id')));
            }
          )
        ).subscribe(user => this.selectedUser = user);
      }
    

    This way:

    • The route without / is redirected to the route with. Because of the pathMatch: 'full', only such specific full route is redirected.

    • Then, users/:id is received. If the actual route was users/, id is "", so check it in ngOnInit and act accordingly; else, id is the id and proceed.

    • The rest of the componect acts on selectedUser is or not undefined (*ngIf and the things like that).

    Copy folder recursively in Node.js

    If you are on Linux, and performance is not an issue, you may use the exec function from child_process module, to execute a Bash command:

    const { exec } = require('child_process');
    exec('cp -r source dest', (error, stdout, stderr) => {...});
    

    In some cases, I found this solution cleaner than downloading an entire module or even using the fs module.

    What is the facade design pattern?

    A facade exposes simplified functions that are mostly called and the implementation conceals the complexity that clients would otherwise have to deal with. In general the implementation uses multiple packages, classes and function there in. Well written facades make direct access of other classes rare. For example when I visit an ATM and withdraw some amount. The ATM hides whether it is going straight to the owned bank or is it going over a negotiated network for an external bank. The ATM acts like a facade consuming multiple devices and sub-systems that as a client I do not have to directly deal with.

    Generate PDF from Swagger API documentation

    For me the easiest solution was to import swagger (v2) into Postman and then go to the web view. There you can choose "single column" view and use the browser to print to pdf. Not a automated/integrated solution but good for single-use. It handles paper-width much better than printing from editor2.swagger.io, where scrollbars cause portions of the content to be hidden.

    Detecting iOS / Android Operating system

    For this and other kind of client detections I suggest this js library: http://hictech.github.io/navJs/tester/index.html

    For your specific answer use:

    navJS.isIOS() || navJS.isAndroid()
    

    Windows ignores JAVA_HOME: how to set JDK as default?

    I had the same problem, in user environment variable settings I was having JAVA_HOME and PATH configured properly but it didn't work. As I update my system environment variables then it started to work.

    Character Limit on Instagram Usernames

    Limit - 30 symbols. Username must contains only letters, numbers, periods and underscores.

    Use custom build output folder when using create-react-app

    Félix's answer is correct and upvoted, backed-up by Dan Abramov himself.

    But for those who would like to change the structure of the output itself (within the build folder), one can run post-build commands with the help of postbuild, which automatically runs after the build script defined in the package.json file.

    The example below changes it from static/ to user/static/, moving files and updating file references on relevant files (full gist here):

    package.json

    {
      "name": "your-project",
      "version": "0.0.1",
      [...]
      "scripts": {
        "build": "react-scripts build",
        "postbuild": "./postbuild.sh",
        [...]
      },
    }
    

    postbuild.sh

    #!/bin/bash
    
    # The purpose of this script is to do things with files generated by
    # 'create-react-app' after 'build' is run.
    # 1. Move files to a new directory called 'user'
    #    The resulting structure is 'build/user/static/<etc>'
    # 2. Update reference on generated files from
    #    static/<etc>
    #     to
    #    user/static/<etc>
    #
    # More details on: https://github.com/facebook/create-react-app/issues/3824
    
    # Browse into './build/' directory
    cd build
    # Create './user/' directory
    echo '1/4 Create "user" directory'
    mkdir user
    # Find all files, excluding (through 'grep'):
    # - '.',
    # - the newly created directory './user/'
    # - all content for the directory'./static/'
    # Move all matches to the directory './user/'
    echo '2/4 Move relevant files'
    find . | grep -Ev '^.$|^.\/user$|^.\/static\/.+' | xargs -I{} mv -v {} user
    # Browse into './user/' directory
    cd user
    # Find all files within the folder (not subfolders)
    # Replace string 'static/' with 'user/static/' on all files that match the 'find'
    # ('sed' requires one to create backup files on OSX, so we do that)
    echo '3/4 Replace file references'
    find . -type f -maxdepth 1 | LC_ALL=C xargs -I{} sed -i.backup -e 's,static/,user/static/,g' {}
    # Delete '*.backup' files created in the last process
    echo '4/4 Clean up'
    find . -name '*.backup' -type f -delete
    # Done
    

    How to Add Stacktrace or debug Option when Building Android Studio Project

    What I use for debugging purposes is running the gradle task with stacktrace directly in terminal. Then you don't affect your normal compiles.

    From your project root directory, via terminal you can use:

    ./gradlew assembleMyBuild --stacktrace
    

    Excel VBA code to copy a specific string to clipboard

    If the url is in a cell in your workbook, you can simply copy the value from that cell:

    Private Sub CommandButton1_Click()
        Sheets("Sheet1").Range("A1").Copy
    End Sub
    

    (Add a button by using the developer tab. Customize the ribbon if it isn't visible.)

    If the url isn't in the workbook, you can use the Windows API. The code that follows can be found here: http://support.microsoft.com/kb/210216

    After you've added the API calls below, change the code behind the button to copy to the clipboard:

    Private Sub CommandButton1_Click()
        ClipBoard_SetData ("http:\\stackoverflow.com")
    End Sub
    

    Add a new module to your workbook and paste in the following code:

    Option Explicit
    
    Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) _
       As Long
    Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) _
       As Long
    Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, _
       ByVal dwBytes As Long) As Long
    Declare Function CloseClipboard Lib "User32" () As Long
    Declare Function OpenClipboard Lib "User32" (ByVal hwnd As Long) _
       As Long
    Declare Function EmptyClipboard Lib "User32" () As Long
    Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, _
       ByVal lpString2 As Any) As Long
    Declare Function SetClipboardData Lib "User32" (ByVal wFormat _
       As Long, ByVal hMem As Long) As Long
    
    Public Const GHND = &H42
    Public Const CF_TEXT = 1
    Public Const MAXSIZE = 4096
    
    Function ClipBoard_SetData(MyString As String)
       Dim hGlobalMemory As Long, lpGlobalMemory As Long
       Dim hClipMemory As Long, X As Long
    
       ' Allocate moveable global memory.
       '-------------------------------------------
       hGlobalMemory = GlobalAlloc(GHND, Len(MyString) + 1)
    
       ' Lock the block to get a far pointer
       ' to this memory.
       lpGlobalMemory = GlobalLock(hGlobalMemory)
    
       ' Copy the string to this global memory.
       lpGlobalMemory = lstrcpy(lpGlobalMemory, MyString)
    
       ' Unlock the memory.
       If GlobalUnlock(hGlobalMemory) <> 0 Then
          MsgBox "Could not unlock memory location. Copy aborted."
          GoTo OutOfHere2
       End If
    
       ' Open the Clipboard to copy data to.
       If OpenClipboard(0&) = 0 Then
          MsgBox "Could not open the Clipboard. Copy aborted."
          Exit Function
       End If
    
       ' Clear the Clipboard.
       X = EmptyClipboard()
    
       ' Copy the data to the Clipboard.
       hClipMemory = SetClipboardData(CF_TEXT, hGlobalMemory)
    
    OutOfHere2:
    
       If CloseClipboard() = 0 Then
          MsgBox "Could not close Clipboard."
       End If
    
    End Function
    

    Where do I configure log4j in a JUnit test class?

    The LogManager class determines which log4j config to use in a static block which runs when the class is loaded. There are three options intended for end-users:

    1. If you specify log4j.defaultInitOverride to false, it will not configure log4j at all.
    2. Specify the path to the configuration file manually yourself and override the classpath search. You can specify the location of the configuration file directly by using the following argument to java:

      -Dlog4j.configuration=<path to properties file>

      in your test runner configuration.

    3. Allow log4j to scan the classpath for a log4j config file during your test. (the default)

    See also the online documentation.

    Get HTML code from website in C#

    Try this solution. It works fine.

     try{
            String url = textBox1.Text;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream());
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.Load(sr);
            var aTags = doc.DocumentNode.SelectNodes("//a");
            int counter = 1;
            if (aTags != null)
            {
                foreach (var aTag in aTags)
                {
                    richTextBox1.Text +=  aTag.InnerHtml +  "\n" ;
                    counter++;
                }
            }
            sr.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to retrieve related keywords." + ex);
            }
    

    Excel SUMIF between dates

    You haven't got your SUMIF in the correct order - it needs to be range, criteria, sum range. Try:

    =SUMIF(A:A,">="&DATE(2012,1,1),B:B)
    

    What is the difference between Linear search and Binary search?

    binary search runs in O(logn) time whereas linear search runs in O(n) times thus binary search has better performance

    In Perl, what is the difference between a .pm (Perl module) and .pl (Perl script) file?

    A .pl is a single script.

    In .pm (Perl Module) you have functions that you can use from other Perl scripts:

    A Perl module is a self-contained piece of Perl code that can be used by a Perl program or by other Perl modules. It is conceptually similar to a C link library, or a C++ class.

    Excel 2010 VBA Referencing Specific Cells in other worksheets

    I am going to give you a simplistic answer that hopefully will help you with VBA in general. The easiest way to learn how VBA works and how to reference and access elements is to record your macro then edit it in the VBA editor. This is how I learned VBA. It is based on visual basic so all the programming conventions of VB apply. Recording the macro lets you see how to access and do things.

    you could use something like this:

    var result = 0
    Sheets("Sheet1").Select
    result = Range("A1").Value * Range("B1").Value
    Sheets("Sheet2").Select
    Range("D1").Value = result
    

    Alternatively you can also reference a cell using Cells(1,1).Value This way you can set variables and increment them as you wish. I think I am just not clear on exactly what you are trying to do but i hope this helps.

    dlib installation on Windows 10

    It is basically a two-step process:

    1. install cmap
    pip install cmap
    
    1. install dlib
    pip install https://pypi.python.org/packages/da/06/bd3e241c4eb0a662914b3b4875fc52dd176a9db0d4a2c915ac2ad8800e9e/dlib-19.7.0-cp36-cp36m-win_amd64.whl#md5=b7330a5b2d46420343fbed5df69e6a3f
    

    Error: Node Sass version 5.0.0 is incompatible with ^4.0.0

    It worked for me after adding particular version of node-sass package ([email protected])

    How to reload or re-render the entire page using AngularJS

    If you are using angular ui-router this will be the best solution.

    $scope.myLoadingFunction = function() {
        $state.reload();
    };
    

    How to download the latest artifact from Artifactory repository?

    In case you need to download an artifact in a Dockerfile, instead of using wget or curl or the likes you can simply use the 'ADD' directive:

    ADD ${ARTIFACT_URL} /opt/app/app.jar

    Of course, the tricky part is determining the ARTIFACT_URL, but there's enough about that in all the other answers.

    However, Docker best practises strongly discourage using ADD for this purpose and recommend using wget or curl.

    How to sum all values in a column in Jaspersoft iReport Designer?

    It is quite easy to solve your task. You should create and use a new variable for summing values of the "Doctor Payment" column.

    In your case the variable can be declared like this:

    <variable name="total" class="java.lang.Integer" calculation="Sum">
        <variableExpression><![CDATA[$F{payment}]]></variableExpression>
    </variable>
    
    • the Calculation type is Sum;
    • the Reset type is Report;
    • the Variable expression is $F{payment}, where $F{payment} is the name of a field contains sum (Doctor Payment).

    The working example.

    CSV datasource:

    doctor_id,payment
    A1,123
    B1,223
    C2,234
    D3,678
    D1,343
    

    The template:

    <?xml version="1.0" encoding="UTF-8"?>
    <jasperReport ...>
        <queryString>
            <![CDATA[]]>
        </queryString>
        <field name="doctor_id" class="java.lang.String"/>
        <field name="payment" class="java.lang.Integer"/>
        <variable name="total" class="java.lang.Integer" calculation="Sum">
            <variableExpression><![CDATA[$F{payment}]]></variableExpression>
        </variable>
        <columnHeader>
            <band height="20" splitType="Stretch">
                <staticText>
                    <reportElement x="0" y="0" width="100" height="20"/>
                    <box leftPadding="10"/>
                    <textElement textAlignment="Center" verticalAlignment="Middle">
                        <font size="10" isBold="true" isItalic="true"/>
                    </textElement>
                    <text><![CDATA[Doctor ID]]></text>
                </staticText>
                <staticText>
                    <reportElement x="100" y="0" width="100" height="20"/>
                    <box leftPadding="10"/>
                    <textElement textAlignment="Center" verticalAlignment="Middle">
                        <font size="10" isBold="true" isItalic="true"/>
                    </textElement>
                    <text><![CDATA[Doctor Payment]]></text>
                </staticText>
            </band>
        </columnHeader>
        <detail>
            <band height="20" splitType="Stretch">
                <textField>
                    <reportElement x="0" y="0" width="100" height="20"/>
                    <box leftPadding="10"/>
                    <textElement/>
                    <textFieldExpression><![CDATA[$F{doctor_id}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="100" y="0" width="100" height="20"/>
                    <box leftPadding="10"/>
                    <textElement/>
                    <textFieldExpression><![CDATA[$F{payment}]]></textFieldExpression>
                </textField>
            </band>
        </detail>
        <summary>
            <band height="20">
                <staticText>
                    <reportElement x="0" y="0" width="100" height="20"/>
                    <box leftPadding="10"/>
                    <textElement>
                        <font isBold="true"/>
                    </textElement>
                    <text><![CDATA[Total]]></text>
                </staticText>
                <textField>
                    <reportElement x="100" y="0" width="100" height="20"/>
                    <box leftPadding="10"/>
                    <textElement>
                        <font isBold="true" isItalic="true"/>
                    </textElement>
                    <textFieldExpression><![CDATA[$V{total}]]></textFieldExpression>
                </textField>
            </band>
        </summary>
    </jasperReport>
    

    The result will be:

    Generated report via iReport's preview


    You can find a lot of info in the JasperReports Ultimate Guide.

    Restoring Nuget References?

    Try re-installing the packages.

    In the NuGet Package Manager Console enter the following command:

    Update-Package -Reinstall -ProjectName Your.Project.Name

    If you want to re-install packages and restore references for the whole solution omit the -ProjectName parameter.

    How can I check what version/edition of Visual Studio is installed programmatically?

    if somebody needs C# example then:

    var registry = Registry.ClassesRoot;
    var subKeyNames = registry.GetSubKeyNames();
    var regex = new Regex(@"^VisualStudio\.edmx\.(\d+)\.(\d+)$");
    foreach (var subKeyName in subKeyNames)
    {
        var match = regex.Match(subKeyName);
        if (match.Success)
            Console.WriteLine("V" + match.Groups[1].Value + "." + match.Groups[2].Value);
    }
    

    Easiest way to detect Internet connection on iOS?

    EDIT: This will not work for network URLs (see comments)

    As of iOS 5, there is a new NSURL instance method:

    - (BOOL)checkResourceIsReachableAndReturnError:(NSError **)error
    

    Point it to the website you care about or point it to apple.com; I think it is the new one-line call to see if the internet is working on your device.

    Moving matplotlib legend outside of the axis makes it cutoff by the figure box

    Here is another, very manual solution. You can define the size of the axis and paddings are considered accordingly (including legend and tickmarks). Hope it is of use to somebody.

    Example (axes size are the same!):

    enter image description here

    Code:

    #==================================================
    # Plot table
    
    colmap = [(0,0,1) #blue
             ,(1,0,0) #red
             ,(0,1,0) #green
             ,(1,1,0) #yellow
             ,(1,0,1) #magenta
             ,(1,0.5,0.5) #pink
             ,(0.5,0.5,0.5) #gray
             ,(0.5,0,0) #brown
             ,(1,0.5,0) #orange
             ]
    
    
    import matplotlib.pyplot as plt
    import numpy as np
    
    import collections
    df = collections.OrderedDict()
    df['labels']        = ['GWP100a\n[kgCO2eq]\n\nasedf\nasdf\nadfs','human\n[pts]','ressource\n[pts]'] 
    df['all-petroleum long name'] = [3,5,2]
    df['all-electric']  = [5.5, 1, 3]
    df['HEV']           = [3.5, 2, 1]
    df['PHEV']          = [3.5, 2, 1]
    
    numLabels = len(df.values()[0])
    numItems = len(df)-1
    posX = np.arange(numLabels)+1
    width = 1.0/(numItems+1)
    
    fig = plt.figure(figsize=(2,2))
    ax = fig.add_subplot(111)
    for iiItem in range(1,numItems+1):
      ax.bar(posX+(iiItem-1)*width, df.values()[iiItem], width, color=colmap[iiItem-1], label=df.keys()[iiItem])
    ax.set(xticks=posX+width*(0.5*numItems), xticklabels=df['labels'])
    
    #--------------------------------------------------
    # Change padding and margins, insert legend
    
    fig.tight_layout() #tight margins
    leg = ax.legend(loc='upper left', bbox_to_anchor=(1.02, 1), borderaxespad=0)
    plt.draw() #to know size of legend
    
    padLeft   = ax.get_position().x0 * fig.get_size_inches()[0]
    padBottom = ax.get_position().y0 * fig.get_size_inches()[1]
    padTop    = ( 1 - ax.get_position().y0 - ax.get_position().height ) * fig.get_size_inches()[1]
    padRight  = ( 1 - ax.get_position().x0 - ax.get_position().width ) * fig.get_size_inches()[0]
    dpi       = fig.get_dpi()
    padLegend = ax.get_legend().get_frame().get_width() / dpi 
    
    widthAx = 3 #inches
    heightAx = 3 #inches
    widthTot = widthAx+padLeft+padRight+padLegend
    heightTot = heightAx+padTop+padBottom
    
    # resize ipython window (optional)
    posScreenX = 1366/2-10 #pixel
    posScreenY = 0 #pixel
    canvasPadding = 6 #pixel
    canvasBottom = 40 #pixel
    ipythonWindowSize = '{0}x{1}+{2}+{3}'.format(int(round(widthTot*dpi))+2*canvasPadding
                                                ,int(round(heightTot*dpi))+2*canvasPadding+canvasBottom
                                                ,posScreenX,posScreenY)
    fig.canvas._tkcanvas.master.geometry(ipythonWindowSize) 
    plt.draw() #to resize ipython window. Has to be done BEFORE figure resizing!
    
    # set figure size and ax position
    fig.set_size_inches(widthTot,heightTot)
    ax.set_position([padLeft/widthTot, padBottom/heightTot, widthAx/widthTot, heightAx/heightTot])
    plt.draw()
    plt.show()
    #--------------------------------------------------
    #==================================================
    

    How to unlock a file from someone else in Team Foundation Server

    Here's what I do in Visual Studio 2012

    (Note: I have the TFS Power Tools installed so if you don't see the described options you may need to install them. http://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f )

    If you are accessing the Source Control Explorer as a team project administrator (or at least someone with the "Undo other users' changes" access right) you can do the following in Visual Studio 2012 to clear a lock and checkout.

    1. From the Source Control Explorer find the folder containing the locked file(s).
    2. Right-click and select Find then Find by Status...
    3. The "Find in Source Control" window appears
    4. Click the Find button
    5. A "Find in Source Control" tab should appear showing the file(s) that are checked out
    6. Right click the file you want to unlock
    7. Select Undo... from the context menu
    8. A confirmation dialog appears. Click the Yes button.
    9. The file should disappear from the "Find in Source Control" window.

    The file is now unlocked.

    Java 8 Streams FlatMap method example

    Extract unique words sorted ASC from a list of phrases:

    List<String> phrases = Arrays.asList(
            "sporadic perjury",
            "confounded skimming",
            "incumbent jailer",
            "confounded jailer");
    
    List<String> uniqueWords = phrases
            .stream()
            .flatMap(phrase -> Stream.of(phrase.split("\\s+")))
            .distinct()
            .sorted()
            .collect(Collectors.toList());
    System.out.println("Unique words: " + uniqueWords);
    

    ... and the output:

    Unique words: [confounded, incumbent, jailer, perjury, skimming, sporadic]
    

    How can I get a first element from a sorted list?

    That depends on what type your list is, for ArrayList use:

    list.get(0);
    

    for LinkedList use:

    list.getFirst();
    

    if you like the array approach:

    list.toArray()[0];
    

    Where to put Gradle configuration (i.e. credentials) that should not be committed?

    For those of you who are building on a MacOS, and don't like leaving your password in clear text on your machine, you can use the keychain tool to store the credentials and then inject it into the build. Credits go to Viktor Eriksson. https://pilloxa.gitlab.io/posts/safer-passwords-in-gradle/

    What are the differences between the BLOB and TEXT datatypes in MySQL?

    A BLOB is a binary string to hold a variable amount of data. For the most part BLOB's are used to hold the actual image binary instead of the path and file info. Text is for large amounts of string characters. Normally a blog or news article would constitute to a TEXT field

    L in this case is used stating the storage requirement. (Length|Size + 3) as long as it is less than 224.

    Reference: http://dev.mysql.com/doc/refman/5.0/en/blob.html

    How do I programmatically set the value of a select box element using JavaScript?

    I'm afraid I'm unable to test this at the moment, but in the past, I believe I had to give each option tag an ID, and then I did something like:

    document.getElementById("optionID").select();
    

    If that doesn't work, maybe it'll get you closer to a solution :P

    How and where to use ::ng-deep?

    USAGE

    ::ng-deep, >>> and /deep/ disable view encapsulation for specific CSS rules, in other words, it gives you access to DOM elements, which are not in your component's HTML. For example, if you're using Angular Material (or any other third-party library like this), some generated elements are outside of your component's area (such as dialog) and you can't access those elements directly or using a regular CSS way. If you want to change the styles of those elements, you can use one of those three things, for example:

    ::ng-deep .mat-dialog {
      /* styles here */
    }
    

    For now Angular team recommends making "deep" manipulations only with EMULATED view encapsulation.

    DEPRECATION

    "deep" manipulations are actually deprecated too, BUT it stills working for now, because Angular does pre-processing support (don't rush to refuse ::ng-deep today, take a look at deprecation practices first).

    Anyway, before following this way, I recommend you to take a look at disabling view encapsulation approach (which is not ideal too, it allows your styles to leak into other components), but in some cases, it's a better way. If you decided to disable view encapsulation, it's strongly recommended to use specific classes to avoid CSS rules intersection, and finally, avoid a mess in your stylesheets. It's really easy to disable right in the component's .ts file:

    @Component({
      selector: '',
      template: '',
      styles: [''],
      encapsulation: ViewEncapsulation.None  // Use to disable CSS Encapsulation for this component
    })
    

    You can find more info about the view encapsulation in this article.

    Directory-tree listing in Python

    I know this is an old question. This is a neat way I came across if you are on a liunx machine.

    import subprocess
    print(subprocess.check_output(["ls", "/"]).decode("utf8"))
    

    How do I make a semi transparent background?

    Although dated, not one answer on this thread can be used universally. Using rgba to create transparent color masks - that doesn't exactly explain how to do so with background images.

    My solution works for background images or color backgrounds.

    _x000D_
    _x000D_
    #parent {_x000D_
        font-family: 'Open Sans Condensed', sans-serif;_x000D_
        font-size: 19px;_x000D_
        text-transform: uppercase;_x000D_
        border-radius: 50%;_x000D_
        margin: 20px auto;_x000D_
        width: 125px;_x000D_
        height: 125px;_x000D_
        background-color: #476172;_x000D_
        background-image: url('https://unsplash.it/200/300/?random');_x000D_
        line-height: 29px;_x000D_
        text-align:center;_x000D_
    }_x000D_
    _x000D_
    #content {_x000D_
        color: white;_x000D_
        height: 125px !important;_x000D_
        width: 125px !important;_x000D_
        display: table-cell;_x000D_
        border-radius: 50%;_x000D_
        vertical-align: middle;_x000D_
        background: rgba(0,0,0, .3);_x000D_
    }
    _x000D_
    <h1 id="parent"><a href="" id="content" title="content" rel="home">Example</a></h1>
    _x000D_
    _x000D_
    _x000D_

    Taking the record with the max date

    The analytic function approach would look something like

    SELECT a, some_date_column
      FROM (SELECT a,
                   some_date_column,
                   rank() over (partition by a order by some_date_column desc) rnk
              FROM tablename)
     WHERE rnk = 1
    

    Note that depending on how you want to handle ties (or whether ties are possible in your data model), you may want to use either the ROW_NUMBER or the DENSE_RANK analytic function rather than RANK.

    Beautiful way to remove GET-variables with PHP?

    Ok, to remove all variables, maybe the prettiest is

    $url = strtok($url, '?');
    

    See about strtok here.

    Its the fastest (see below), and handles urls without a '?' properly.

    To take a url+querystring and remove just one variable (without using a regex replace, which may be faster in some cases), you might do something like:

    function removeqsvar($url, $varname) {
        list($urlpart, $qspart) = array_pad(explode('?', $url), 2, '');
        parse_str($qspart, $qsvars);
        unset($qsvars[$varname]);
        $newqs = http_build_query($qsvars);
        return $urlpart . '?' . $newqs;
    }
    

    A regex replace to remove a single var might look like:

    function removeqsvar($url, $varname) {
        return preg_replace('/([?&])'.$varname.'=[^&]+(&|$)/','$1',$url);
    }
    

    Heres the timings of a few different methods, ensuring timing is reset inbetween runs.

    <?php
    
    $number_of_tests = 40000;
    
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $starttime = $mtime;
    
    for($i = 0; $i < $number_of_tests; $i++){
        $str = "http://www.example.com?test=test";
        preg_replace('/\\?.*/', '', $str);
    }
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $endtime = $mtime;
    $totaltime = ($endtime - $starttime);
    echo "regexp execution time: ".$totaltime." seconds; ";
    
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $starttime = $mtime;
    for($i = 0; $i < $number_of_tests; $i++){
        $str = "http://www.example.com?test=test";
        $str = explode('?', $str);
    }
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $endtime = $mtime;
    $totaltime = ($endtime - $starttime);
    echo "explode execution time: ".$totaltime." seconds; ";
    
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $starttime = $mtime;
    for($i = 0; $i < $number_of_tests; $i++){
        $str = "http://www.example.com?test=test";
        $qPos = strpos($str, "?");
        $url_without_query_string = substr($str, 0, $qPos);
    }
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $endtime = $mtime;
    $totaltime = ($endtime - $starttime);
    echo "strpos execution time: ".$totaltime." seconds; ";
    
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $starttime = $mtime;
    for($i = 0; $i < $number_of_tests; $i++){
        $str = "http://www.example.com?test=test";
        $url_without_query_string = strtok($str, '?');
    }
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    $endtime = $mtime;
    $totaltime = ($endtime - $starttime);
    echo "tok execution time: ".$totaltime." seconds; ";
    

    shows

    regexp execution time: 0.14604902267456 seconds; explode execution time: 0.068033933639526 seconds; strpos execution time: 0.064775943756104 seconds; tok execution time: 0.045819044113159 seconds; 
    regexp execution time: 0.1408839225769 seconds; explode execution time: 0.06751012802124 seconds; strpos execution time: 0.064877986907959 seconds; tok execution time: 0.047760963439941 seconds; 
    regexp execution time: 0.14162802696228 seconds; explode execution time: 0.065848112106323 seconds; strpos execution time: 0.064821004867554 seconds; tok execution time: 0.041788101196289 seconds; 
    regexp execution time: 0.14043688774109 seconds; explode execution time: 0.066350221633911 seconds; strpos execution time: 0.066242933273315 seconds; tok execution time: 0.041517972946167 seconds; 
    regexp execution time: 0.14228296279907 seconds; explode execution time: 0.06665301322937 seconds; strpos execution time: 0.063700199127197 seconds; tok execution time: 0.041836977005005 seconds; 
    

    strtok wins, and is by far the smallest code.

    What is the difference between "screen" and "only screen" in media queries?

    @media screen and (max-width:480px) { … } 
    

    screen here is to set the screen size of the media query. E.g the maximum width of the display area is 480px. So it is specifying the screen as opposed to the other available media types.

    @media only screen and (max-width: 480px;) { … } 
    

    only screen here is used to prevent older browsers that do not support media queries with media features from applying the specified styles.

    JUnit: how to avoid "no runnable methods" in test utils classes

    What about adding an empty test method to these classes?

    public void avoidAnnoyingErrorMessageWhenRunningTestsInAnt() {
        assertTrue(true); // do nothing;
    }
    

    Difference between HashMap, LinkedHashMap and TreeMap

    See where each class is in the class hierarchy in the following diagram (bigger one). TreeMap implements SortedMap and NavigableMap while HashMap doesn't.

    HashTable is obsolete and the corresponding ConcurrentHashMap class should be used. enter image description here

    Parameterize an SQL IN clause

    Here's a quick-and-dirty technique I have used:

    SELECT * FROM Tags
    WHERE '|ruby|rails|scruffy|rubyonrails|'
    LIKE '%|' + Name + '|%'
    

    So here's the C# code:

    string[] tags = new string[] { "ruby", "rails", "scruffy", "rubyonrails" };
    const string cmdText = "select * from tags where '|' + @tags + '|' like '%|' + Name + '|%'";
    
    using (SqlCommand cmd = new SqlCommand(cmdText)) {
       cmd.Parameters.AddWithValue("@tags", string.Join("|", tags);
    }
    

    Two caveats:

    • The performance is terrible. LIKE "%...%" queries are not indexed.
    • Make sure you don't have any |, blank, or null tags or this won't work

    There are other ways to accomplish this that some people may consider cleaner, so please keep reading.

    Is there a "theirs" version of "git merge -s ours"?

    Older versions of git allowed you to use the "theirs" merge strategy:

    git pull --strategy=theirs remote_branch
    

    But this has since been removed, as explained in this message by Junio Hamano (the Git maintainer). As noted in the link, instead you would do this:

    git fetch origin
    git reset --hard origin
    

    Beware, though, that this is different than an actual merge. Your solution is probably the option you're really looking for.

    How do you determine the size of a file in C?

    Looking at the question, ftell can easily get the number of bytes.

      long size = ftell(FILENAME);
      printf("total size is %ld bytes",size);
    

    Browser Caching of CSS files

    Unless you've messed with your server, yes it's cached. All the browsers are supposed to handle it the same. Some people (like me) might have their browsers configured so that it doesn't cache any files though. Closing the browser doesn't invalidate the file in the cache. Changing the file on the server should cause a refresh of the file however.

    gcc makefile error: "No rule to make target ..."

    There are multiple reasons for this error.

    One of the reason where i encountered this error is while building for linux and windows.

    I have a filename with caps BaseClass.h SubClass.h Unix maintains has case-sensitive filenaming convention and windows is case-insensitive.

    C++ why people don't use uppercase in name of header files?

    Try compiling clean build using gmake clean if you are using gmake

    Some text editors has default settings to ignore case-sensitive filenames. This could also lead to the same error.

    how to add a c++ file in Qt Creator whose name starts with capital letters ? It automatically makes it small letter

    Firing a Keyboard Event in Safari, using JavaScript

    I am not very good with this but KeyboardEvent => see KeyboardEvent is initialized with initKeyEvent .
    Here is an example for emitting event on <input type="text" /> element

    _x000D_
    _x000D_
    document.getElementById("txbox").addEventListener("keypress", function(e) {_x000D_
      alert("Event " + e.type + " emitted!\nKey / Char Code: " + e.keyCode + " / " + e.charCode);_x000D_
    }, false);_x000D_
    _x000D_
    document.getElementById("btn").addEventListener("click", function(e) {_x000D_
      var doc = document.getElementById("txbox");_x000D_
      var kEvent = document.createEvent("KeyboardEvent");_x000D_
      kEvent.initKeyEvent("keypress", true, true, null, false, false, false, false, 74, 74);_x000D_
      doc.dispatchEvent(kEvent);_x000D_
    }, false);
    _x000D_
    <input id="txbox" type="text" value="" />_x000D_
    <input id="btn" type="button" value="CLICK TO EMIT KEYPRESS ON TEXTBOX" />
    _x000D_
    _x000D_
    _x000D_

    ActiveModel::ForbiddenAttributesError when creating new user

    If you are on Rails 4 and you get this error, it could happen if you are using enum on the model if you've defined with symbols like this:

    class User
      enum preferred_phone: [:home_phone, :mobile_phone, :work_phone]
    end
    

    The form will pass say a radio selector as a string param. That's what happened in my case. The simple fix is to change enum to strings instead of symbols

    enum preferred_phone: %w[home_phone mobile_phone work_phone]
    # or more verbose
    enum preferred_phone: ['home_phone', 'mobile_phone', 'work_phone']
    

    Plugin org.apache.maven.plugins:maven-compiler-plugin or one of its dependencies could not be resolved

    The issue has been resolved while installation of the maven settings is provided as External in Eclipse. The navigation settings are Window --> Preferences --> Installations. Select the External as installation Type, provide the Installation home and name and click on Finish. Finally select this as default installations.

    How can I increase a scrollbar's width using CSS?

    If you are talking about the scrollbar that automatically appears on a div with overflow: scroll (or auto), then no, that's still a native scrollbar rendered by the browser using normal OS widgets, and not something that can be styled(*).

    Whilst you can replace it with a proxy made out of stylable divs and JavaScript as suggested by Matt, I wouldn't recommend it for the general case. Script-driven scrollbars never quite behave exactly the same as real OS scrollbars, causing usability and accessibility problems.

    (*: Except for the IE colouring styles, which I wouldn't really recommend either. Apart from being IE-only, using them forces IE to fall back from using nice scrollbar images from the current Windows theme to ugly old Win95-style scrollbars.)

    How to save username and password with Mercurial?

    NOBODY above explained/clarified terms to a novice user. They get confused by the terms

    .hg/hgrc -- this file is used for Repository, at local/workspace location / in actual repository's .hg folder.

    ~/.hgrc -- this file is different than the below one. this file resides at ~ or home directory.

    myremote.xxxx=..... bb.xxxx=......

    This is one of the lines under [auth] section/directive, while using mercurial keyring extension. Make sure the server name you put there, matches with what you use while doing "hg clone" otherwise keyring will say, user not found. bb or myremote in the line below, are "alias name" that you MUST give while doing "hg clone http:/.../../repo1 bb or myremote" otherwise, it wont work or you have to make sure your local repository's .hg/hgrc file contain same alias, ie (what you gave while doing hg clone .. as last parameter).

    PS the following links for clear details, sorry for quickly written grammar.

    ex: If inside ~/.hgrc (user's home directory in Linux/Unix) or mercurial.ini in Windows at user's home directory, contains, the following line and if you do

    `"hg clone http://.../.../reponame myremote"`
    

    , then you'll never be prompted for user credentials more than once per http repo link. In ~/.hgrc under [extensions] a line for "mercurial_keyring = " or "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" .. one of these lines should be there.

    [auth]
    myremote.schemes = http https
    myremote.prefix = thsusncdnvm99/hg
    myremote.username = c123456
    

    I'm trying to find out how to set the PREFIX property so that user can clone or perform any Hg operations without username/password prompts and without worrying about what he mentioned in the http://..../... for servername while using the Hg repo link. It can be IP, servername or server's FQDN

    Remove specific rows from a data frame

     X <- data.frame(Variable1=c(11,14,12,15),Variable2=c(2,3,1,4))
    > X
      Variable1 Variable2
    1        11         2
    2        14         3
    3        12         1
    4        15         4
    > X[X$Variable1!=11 & X$Variable1!=12, ]
      Variable1 Variable2
    2        14         3
    4        15         4
    > X[ ! X$Variable1 %in% c(11,12), ]
      Variable1 Variable2
    2        14         3
    4        15         4
    

    You can functionalize this however you like.

    How to solve '...is a 'type', which is not valid in the given context'? (C#)

    CERAS is a class name which cannot be assigned. As the class implements IDisposable a typical usage would be:

    using (CERas.CERAS ceras = new CERas.CERAS())
    {
        // call some method on ceras
    }
    

    What are 'get' and 'set' in Swift?

    The getting and setting of variables within classes refers to either retrieving ("getting") or altering ("setting") their contents.

    Consider a variable members of a class family. Naturally, this variable would need to be an integer, since a family can never consist of two point something people.

    So you would probably go ahead by defining the members variable like this:

    class family {
       var members:Int
    }
    

    This, however, will give people using this class the possibility to set the number of family members to something like 0 or 1. And since there is no such thing as a family of 1 or 0, this is quite unfortunate.

    This is where the getters and setters come in. This way you can decide for yourself how variables can be altered and what values they can receive, as well as deciding what content they return.

    Returning to our family class, let's make sure nobody can set the members value to anything less than 2:

    class family {
      var _members:Int = 2
      var members:Int {
       get {
         return _members
       }
       set (newVal) {
         if newVal >= 2 {
           _members = newVal
         } else {
           println('error: cannot have family with less than 2 members')
         }
       }
      }
    }
    

    Now we can access the members variable as before, by typing instanceOfFamily.members, and thanks to the setter function, we can also set it's value as before, by typing, for example: instanceOfFamily.members = 3. What has changed, however, is the fact that we cannot set this variable to anything smaller than 2 anymore.

    Note the introduction of the _members variable, which is the actual variable to store the value that we set through the members setter function. The original members has now become a computed property, meaning that it only acts as an interface to deal with our actual variable.

    Unique on a dataframe with only selected columns

    Ok, if it doesn't matter which value in the non-duplicated column you select, this should be pretty easy:

    dat <- data.frame(id=c(1,1,3),id2=c(1,1,4),somevalue=c("x","y","z"))
    > dat[!duplicated(dat[,c('id','id2')]),]
      id id2 somevalue
    1  1   1         x
    3  3   4         z
    

    Inside the duplicated call, I'm simply passing only those columns from dat that I don't want duplicates of. This code will automatically always select the first of any ambiguous values. (In this case, x.)

    How much RAM is SQL Server actually using?

    You should explore SQL Server\Memory Manager performance counters.

    Remove DEFINER clause from MySQL Dumps

    I don't think there is a way to ignore adding DEFINERs to the dump. But there are ways to remove them after the dump file is created.

    1. Open the dump file in a text editor and replace all occurrences of DEFINER=root@localhost with an empty string ""

    2. Edit the dump (or pipe the output) using perl:

      perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
      
    3. Pipe the output through sed:

      mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
      

    How to iterate through a table rows and get the cell values using jQuery

    Hello every one thanks for the help below is the working code for my question

    $("#TableView tr.item").each(function() { 
        var quantity1=$(this).find("input.name").val(); 
        var quantity2=$(this).find("input.id").val(); 
    });
    

    How do I reference to another (open or closed) workbook, and pull values back, in VBA? - Excel 2007

    You will have to open the file in one way or another if you want to access the data within it. Obviously, one way is to open it in your Excel application instance, e.g.:-

    (untested code)

    Dim wbk As Workbook
    Set wbk = Workbooks.Open("C:\myworkbook.xls")
    
    ' now you can manipulate the data in the workbook anyway you want, e.g. '
    
    Dim x As Variant
    x = wbk.Worksheets("Sheet1").Range("A6").Value
    
    Call wbk.Worksheets("Sheet2").Range("A1:G100").Copy
    Call ThisWorbook.Worksheets("Target").Range("A1").PasteSpecial(xlPasteValues)
    Application.CutCopyMode = False
    
    ' etc '
    
    Call wbk.Close(False)
    

    Another way to do it would be to use the Excel ADODB provider to open a connection to the file and then use SQL to select data from the sheet you want, but since you are anyway working from within Excel I don't believe there is any reason to do this rather than just open the workbook. Note that there are optional parameters for the Workbooks.Open() method to open the workbook as read-only, etc.

    Postgresql: error "must be owner of relation" when changing a owner object

    Thanks to Mike's comment, I've re-read the doc and I've realised that my current user (i.e. userA that already has the create privilege) wasn't a direct/indirect member of the new owning role...

    So the solution was quite simple - I've just done this grant:

    grant userB to userA;
    

    That's all folks ;-)


    Update:

    Another requirement is that the object has to be owned by user userA before altering it...

    How to display all methods of an object?

    It's not possible with ES3 as the properties have an internal DontEnum attribute which prevents us from enumerating these properties. ES5, on the other hand, provides property descriptors for controlling the enumeration capabilities of properties so user-defined and native properties can use the same interface and enjoy the same capabilities, which includes being able to see non-enumerable properties programmatically.

    The getOwnPropertyNames function can be used to enumerate over all properties of the passed in object, including those that are non-enumerable. Then a simple typeof check can be employed to filter out non-functions. Unfortunately, Chrome is the only browser that it works on currently.

    ?function getAllMethods(object) {
        return Object.getOwnPropertyNames(object).filter(function(property) {
            return typeof object[property] == 'function';
        });
    }
    
    console.log(getAllMethods(Math));
    

    logs ["cos", "pow", "log", "tan", "sqrt", "ceil", "asin", "abs", "max", "exp", "atan2", "random", "round", "floor", "acos", "atan", "min", "sin"] in no particular order.

    How to remove time portion of date in C# in DateTime object only?

    If you are converting it to string, you can easily do it like this.

    I'm taking date as your DateTime object.

    date.ToString("d");
    

    This will give you only the date.

    How to make Twitter bootstrap modal full screen

    I've came up with a "responsive" solution for fullscreen modals:

    Fullscreen Modals that can be enabled only on certain breakpoints. In this way the modal will display "normal" on wider (desktop) screens and fullscreen on smaller (tablet or mobile) screens, giving it the feeling of a native app.

    Implemented for Bootstrap 3 and Bootstrap 4. Included by default in Bootstrap 5.


    Bootstrap v5

    Fullscreen modals are included by default in Bootstrap 5: https://getbootstrap.com/docs/5.0/components/modal/#fullscreen-modal


    Bootstrap v4

    The following generic code should work:

    .modal {
      padding: 0 !important; // override inline padding-right added from js
    }
    .modal .modal-dialog {
      width: 100%;
      max-width: none;
      height: 100%;
      margin: 0;
    }
    .modal .modal-content {
      height: 100%;
      border: 0;
      border-radius: 0;
    }
    .modal .modal-body {
      overflow-y: auto;
    }
    

    By including the scss code below, it generates the following classes that need to be added to the .modal element:

    +---------------+---------+---------+---------+---------+---------+
    |               |   xs    |   sm    |   md    |   lg    |   xl    | 
    |               | <576px  | =576px  | =768px  | =992px  | =1200px |
    +---------------+---------+---------+---------+---------+---------+
    |.fullscreen    |  100%   | default | default | default | default | 
    +---------------+---------+---------+---------+---------+---------+
    |.fullscreen-sm |  100%   |  100%   | default | default | default | 
    +---------------+---------+---------+---------+---------+---------+
    |.fullscreen-md |  100%   |  100%   |  100%   | default | default |
    +---------------+---------+---------+---------+---------+---------+
    |.fullscreen-lg |  100%   |  100%   |  100%   |  100%   | default |
    +---------------+---------+---------+---------+---------+---------+
    |.fullscreen-xl |  100%   |  100%   |  100%   |  100%   |  100%   |
    +---------------+---------+---------+---------+---------+---------+
    

    The scss code is:

    @mixin modal-fullscreen() {
      padding: 0 !important; // override inline padding-right added from js
    
      .modal-dialog {
        width: 100%;
        max-width: none;
        height: 100%;
        margin: 0;
      }
    
      .modal-content {
        height: 100%;
        border: 0;
        border-radius: 0;
      }
    
      .modal-body {
        overflow-y: auto;
      }
    
    }
    
    @each $breakpoint in map-keys($grid-breakpoints) {
      @include media-breakpoint-down($breakpoint) {
        $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
    
        .modal-fullscreen#{$infix} {
          @include modal-fullscreen();
        }
      }
    }
    

    Demo on Codepen: https://codepen.io/andreivictor/full/MWYNPBV/


    Bootstrap v3

    Based on previous responses to this topic (@Chris J, @kkarli), the following generic code should work:

    .modal {
      padding: 0 !important; // override inline padding-right added from js
    }
    
    .modal .modal-dialog {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
    }
    
    .modal .modal-content {
      height: auto;
      min-height: 100%;
      border: 0 none;
      border-radius: 0;
      box-shadow: none;
    }
    

    If you want to use responsive fullscreen modals, use the following classes that need to be added to .modal element:

    • .modal-fullscreen-md-down - the modal is fullscreen for screens smaller than 1200px.
    • .modal-fullscreen-sm-down - the modal is fullscreen for screens smaller than 922px.
    • .modal-fullscreen-xs-down - the modal is fullscreen for screen smaller than 768px.

    Take a look at the following code:

    /* Extra small devices (less than 768px) */
    @media (max-width: 767px) {
      .modal-fullscreen-xs-down {
        padding: 0 !important;
      }
      .modal-fullscreen-xs-down .modal-dialog {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
      }
      .modal-fullscreen-xs-down .modal-content {
        height: auto;
        min-height: 100%;
        border: 0 none;
        border-radius: 0;
        box-shadow: none;
      } 
    }
    
    /* Small devices (less than 992px) */
    @media (max-width: 991px) {
      .modal-fullscreen-sm-down {
        padding: 0 !important;
      }
      .modal-fullscreen-sm-down .modal-dialog {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
      }
      .modal-fullscreen-sm-down .modal-content {
        height: auto;
        min-height: 100%;
        border: 0 none;
        border-radius: 0;
        box-shadow: none;
      }
    }
    
    /* Medium devices (less than 1200px) */
    @media (max-width: 1199px) {
      .modal-fullscreen-md-down {
        padding: 0 !important;
      }
      .modal-fullscreen-md-down .modal-dialog {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
      }
      .modal-fullscreen-md-down .modal-content {
        height: auto;
        min-height: 100%;
        border: 0 none;
        border-radius: 0;
        box-shadow: none;
      }
    }
    

    Demo is available on Codepen: https://codepen.io/andreivictor/full/KXNdoO.

    Those who use Sass as a preprocessor can take advantage of the following mixin:

    @mixin modal-fullscreen() {
      padding: 0 !important; // override inline padding-right added from js
    
      .modal-dialog {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
      }
    
      .modal-content {
        height: auto;
        min-height: 100%;
        border: 0 none;
        border-radius: 0;
        box-shadow: none;
      }
    
    }
    

    AngularJS sorting rows by table header

    I'm just getting my feet wet with angular, but I found this great tutorial.
    Here's a working plunk I put together with credit to Scott Allen and the above tutorial. Click search to display the sortable table.

    For each column header you need to make it clickable - ng-click on a link will work. This will set the sortName of the column to sort.

    <th>
         <a href="#" ng-click="sortName='name'; sortReverse = !sortReverse">
              <span ng-show="sortName == 'name' && sortReverse" class="glyphicon glyphicon-triangle-bottom"></span>
              <span ng-show="sortName == 'name' && !sortReverse" class="glyphicon glyphicon-triangle-top"></span>
               Name
         </a>
    </th>
    

    Then, in the table body you can pipe in that sortName in the orderBy filter orderBy:sortName:sortReverse

    <tr ng-repeat="repo in repos | orderBy:sortName:sortReverse | filter:searchRepos">
         <td>{{repo.name}}</td>
         <td class="tag tag-primary">{{repo.stargazers_count | number}}</td>
         <td>{{repo.language}}</td>
    </tr>
    

    Escape Character in SQL Server

    WHERE username LIKE '%[_]d';            -- @Lasse solution
    WHERE username LIKE '%$_d' ESCAPE '$';
    WHERE username LIKE '%^_d' ESCAPE '^';
    

    FROM: SQL Server Escape an Underscore

    What is the dual table in Oracle?

    It's a object to put in the from that return 1 empty row. For example: select 1 from dual; returns 1

    select 21+44 from dual; returns 65

    select [sequence].nextval from dual; returns the next value from the sequence.

    how to convert string into dictionary in python 3.*?

    1. literal_eval, a somewhat safer version of eval (will only evaluate literals ie strings, lists etc):

      from ast import literal_eval
      
      python_dict = literal_eval("{'a': 1}")
      
    2. json.loads but it would require your string to use double quotes:

      import json
      
      python_dict = json.loads('{"a": 1}')
      

    How do I connect to this localhost from another computer on the same network?

    This is a side note if one still can't access localhost from another devices after following through the step above. This might be due to the apache ports.conf has been configured to serve locally (127.0.0.1) and not to outside.

    check the following, (for ubuntu apache2)

      $ cat /etc/apache2/ports.conf
    

    if the following is set,

    NameVirtualHost *:80  
    Listen 127.0.0.1:80  
    

    then change it back to default value

    NameVirtualHost *:80  
    Listen 80  
    

    jQuery - determine if input element is textbox or select list

    You could do this:

    if( ctrl[0].nodeName.toLowerCase() === 'input' ) {
        // it was an input
    }
    

    or this, which is slower, but shorter and cleaner:

    if( ctrl.is('input') ) {
        // it was an input
    }
    

    If you want to be more specific, you can test the type:

    if( ctrl.is('input:text') ) {
        // it was an input
    }
    

    Postgres: clear entire database before re-creating / re-populating from bash script

    If you want to clean your database named "example_db":

    1) Login to another db(for example 'postgres'):

    psql postgres
    

    2) Remove your database:

    DROP DATABASE example_db;
    

    3) Recreate your database:

    CREATE DATABASE example_db;
    

    What is the default value for Guid?

    Create a Empty Guid or New Guid Using a Class...

    Default value of Guid is 00000000-0000-0000-0000-000000000000

    public class clsGuid  ---This is class Name
    {
        public Guid MyGuid { get; set; }
    }
    
    static void Main(string[] args)
            {
                clsGuid cs = new clsGuid();   
                Console.WriteLine(cs.MyGuid); --this will give empty Guid  "00000000-0000-0000-0000-000000000000"
    
                cs.MyGuid = new Guid();
                Console.WriteLine(cs.MyGuid); ----this will also give empty Guid  "00000000-0000-0000-0000-000000000000"
    
                cs.MyGuid = Guid.NewGuid();
                Console.WriteLine(cs.MyGuid); --this way, it will give new guid  "d94828f8-7fa0-4dd0-bf91-49d81d5646af"
    
                Console.ReadKey(); --this line holding the output screen in console application...
            }
    

    extract column value based on another column pandas dataframe

    It's easier for me to think in these terms, but borrowing from other answers. The value you want is located in the series:

    df[*column*][*row*]
    

    where column and row point to the value you want returned. For your example, column is 'A' and for row you use a mask:

    df['B'] == 3
    

    To get the value from the series there are several options:

    df['A'][df['B'] == 3].values[0]
    df['A'][df['B'] == 3].iloc[0]
    df['A'][df['B'] == 3].to_numpy()[0]
    

    How to specify a editor to open crontab file? "export EDITOR=vi" does not work

    You can use below command to open it in VIM editor.

    export VISUAL=vim; crontab -e
    

    Note: Please make sure VIM editor is installed on your server.

    R * not meaningful for factors ERROR

    new[,2] is a factor, not a numeric vector. Transform it first

    new$MY_NEW_COLUMN <-as.numeric(as.character(new[,2])) * 5
    

    plot.new has not been called yet

    Some action, very possibly not represented in the visible code, has closed the interactive screen device. It could be done either by a "click" on a close-button. (Could also be done by an extra dev.off() when plotting to a file-graphics device. This may happen if you paste in a mult-line plotting command that has a dev,off() at the end of it but errors out at the opening of the external device but then has hte dev.off() on a separate line so it accidentally closes the interactive device).

    Some (most?) R implementations will start up a screen graphics device open automatically, but if you close it down, you then need to re-initialize it. On Windows that might be window(); on a Mac, quartz(); and on a linux box, x11(). You also may need to issue a plot.new() command. I just follow orders. When I get that error I issue plot.new() and if I don't see a plot window, I issue quartz() as well. I then start over from the beginning with a new plot(., ., ...) command and any further additions to that plot screen image.

    how do I change text in a label with swift?

    use a simple formula: WHO.WHAT = VALUE

    where,

    WHO is the element in the storyboard you want to make changes to for eg. label

    WHAT is the property of that element you wish to change for eg. text

    VALUE is the change that you wish to be displayed

    for eg. if I want to change the text from story text to You see a fork in the road in the label as shown in screenshot 1

    In this case, our WHO is the label (element in the storyboard), WHAT is the text (property of element) and VALUE will be You see a fork in the road

    so our final code will be as follows: Final code

    screenshot 1 changes to screenshot 2 once the above code is executed.

    I hope this solution helps you solve your issue. Thank you!

    async await return Task

    This is a Task that is returning a Task of type String (C# anonymous function or in other word a delegation is used 'Func')

        public static async Task<string> MyTask()
        {
            //C# anonymous AsyncTask
            return await Task.FromResult<string>(((Func<string>)(() =>
            {
                // your code here
                return  "string result here";
    
            }))());
        }
    

    Calculate the date yesterday in JavaScript

    [edit sept 2020]: a snippet containing previous answer and added an arrow function

    _x000D_
    _x000D_
    // a (not very efficient) oneliner
    let yesterday = new Date(new Date().setDate(new Date().getDate()-1));
    console.log(yesterday);
    
    // a function call
    yesterday = ( function(){this.setDate(this.getDate()-1); return this} )
                .call(new Date);
    console.log(yesterday);
    
    // an iife (immediately invoked function expression)
    yesterday = function(d){ d.setDate(d.getDate()-1); return d}(new Date);
    console.log(yesterday);
    
    // oneliner using es6 arrow function
    yesterday = ( d => new Date(d.setDate(d.getDate()-1)) )(new Date);
    console.log(yesterday);
    
    // use a method
    const getYesterday = (dateOnly = false) => {
      let d = new Date();
      d.setDate(d.getDate() - 1);
      return dateOnly ? new Date(d.toDateString()) : d;
    };
    console.log(getYesterday());
    console.log(getYesterday(true));
    _x000D_
    _x000D_
    _x000D_

    Turn off axes in subplots

    import matplotlib.pyplot as plt
    
    fig, ax = plt.subplots(2, 2)
    


    To turn off axes for all subplots, do either:

    [axi.set_axis_off() for axi in ax.ravel()]
    

    or

    map(lambda axi: axi.set_axis_off(), ax.ravel())
    

    Default value in Go's method

    No, the powers that be at Google chose not to support that.

    https://groups.google.com/forum/#!topic/golang-nuts/-5MCaivW0qQ

    How can one see the structure of a table in SQLite?

    You can use the Firefox add-on called SQLite Manager to view the database's structure clearly.

    Finding the average of a list

    In terms of efficiency and speed, these are the results that I got testing the other answers:

    # test mean caculation
    
    import timeit
    import statistics
    import numpy as np
    from functools import reduce
    import pandas as pd
    
    LIST_RANGE = 10000000000
    NUMBERS_OF_TIMES_TO_TEST = 10000
    
    l = list(range(10))
    
    def mean1():
        return statistics.mean(l)
    
    
    def mean2():
        return sum(l) / len(l)
    
    
    def mean3():
        return np.mean(l)
    
    
    def mean4():
        return np.array(l).mean()
    
    
    def mean5():
        return reduce(lambda x, y: x + y / float(len(l)), l, 0)
    
    def mean6():
        return pd.Series(l).mean()
    
    
    
    for func in [mean1, mean2, mean3, mean4, mean5, mean6]:
        print(f"{func.__name__} took: ",  timeit.timeit(stmt=func, number=NUMBERS_OF_TIMES_TO_TEST))
    

    and the results:

    mean1 took:  0.17030245899968577
    mean2 took:  0.002183011999932205
    mean3 took:  0.09744236000005913
    mean4 took:  0.07070840100004716
    mean5 took:  0.022754742999950395
    mean6 took:  1.6689282460001778
    

    so clearly the winner is: sum(l) / len(l)

    How do I instantiate a Queue object in java?

    Queue is an interface; you can't explicitly construct a Queue. You'll have to instantiate one of its implementing classes. Something like:

    Queue linkedList = new LinkedList();
    

    Here's a link to the Java tutorial on this subject.

    How to change navbar/container width? Bootstrap 3

    Container widths will drop down to 940 pixels for viewports less than 992 pixels. If you really don’t want containers larger than 940 pixels wide, then go to the Bootstrap customize page, and set @container-lg-desktop to either @container-desktop or hard-coded 940px.

    How do I tidy up an HTML file's indentation in VI?

    As tylerl explains above, set the following:

    :filetype indent on
    :set filetype=html
    :set smartindent
    

    However, note that in vim 7.4 the HTML tags html, head, body, and some others are not indented by default. This makes sense, as nearly all content in an HTML file falls under those tags. If you really want to, you can get those tags to be indented like so:

    :let g:html_indent_inctags = "html,body,head,tbody" 
    

    See "HTML indenting not working in compiled Vim 7.4, any ideas?" and "alternative html indent script" for more information.

    Check if any ancestor has a class using jQuery

    You can use parents method with specified .class selector and check if any of them matches it:

    if ($elem.parents('.left').length != 0) {
        //someone has this class
    }
    

    wamp server does not start: Windows 7, 64Bit

    Check your apache error log. I had this error "[error] (OS 5)Access is denied. : could not open transfer log file C:/wamp/logs/access.log. Unable to open logs" Then I rename my "access.log" to other name, you can delete if you don't need/never see your access log. Then restart your apache service. This happen because the file size too big. I think if you trying to open this file using notepad, it will not open, I tried to open that before. Hope it help.

    How to get data by SqlDataReader.GetValue by column name

    Log.WriteLine("Value of CompanyName column:" + thisReader["CompanyName"]); 
    

    Is it possible to use a batch file to establish a telnet session, send a command and have the output written to a file?

    I figured out a way to telnet to a server and change a file permission. Then FTP the file back to your computer and open it. Hopefully this will answer your questions and also help FTP.

    The filepath variable is setup so you always login and cd to the same directory. You can change it to a prompt so the user can enter it manually.

    :: This will telnet to the server, change the permissions, 
    :: download the file, and then open it from your PC. 
    
    :: Add your username, password, servername, and file path to the file.
    :: I have not tested the server name with an IP address.
    
    :: Note - telnetcmd.dat and ftpcmd.dat are temp files used to hold commands
    
    @echo off
    SET username=
    SET password=
    SET servername=
    SET filepath=
    
    set /p id="Enter the file name: " %=%
    
    echo user %username%> telnetcmd.dat
    echo %password%>> telnetcmd.dat
    echo cd %filepath%>> telnetcmd.dat
    echo SITE chmod 777 %id%>> telnetcmd.dat
    echo exit>> telnetcmd.dat
    telnet %servername% < telnetcmd.dat
    
    
    echo user %username%> ftpcmd.dat
    echo %password%>> ftpcmd.dat
    echo cd %filepath%>> ftpcmd.dat
    echo get %id%>> ftpcmd.dat
    echo quit>> ftpcmd.dat
    
    ftp -n -s:ftpcmd.dat %servername%
    del ftpcmd.dat
    del telnetcmd.dat
    

    Compiling with g++ using multiple cores

    distcc can also be used to distribute compiles not only on the current machine, but also on other machines in a farm that have distcc installed.

    Hive query output to file

    @sarath how to overwrite the file if i want to run another select * command from a different table and write to same file ?

    INSERT OVERWRITE LOCAL DIRECTORY '/home/training/mydata/outputs' SELECT expl , count(expl) as total
    FROM ( SELECT explode(splits) as expl FROM ( SELECT split(words,' ') as splits FROM wordcount ) t2 ) t3 GROUP BY expl ;

    This is an example to sarath's question

    the above is a word count job stored in outputs file which is in local directory :)

    How to use std::sort to sort an array in C++

    you can use,

     std::sort(v.begin(),v.end());
    

    PHP is not recognized as an internal or external command in command prompt

    Is your path correctly configured?

    In Windows, you can do that as described here:

    http://www.computerhope.com/issues/ch000549.htm

    Combine two or more columns in a dataframe into a new column with a new name

    For inserting a separator:

    df$x <- paste(df$n, "-", df$s)
    

    How to check for file lock?

    What I ended up doing is:

    internal void LoadExternalData() {
        FileStream file;
    
        if (TryOpenRead("filepath/filename", 5, out file)) {
            using (file)
            using (StreamReader reader = new StreamReader(file)) {
             // do something 
            }
        }
    }
    
    
    internal bool TryOpenRead(string path, int timeout, out FileStream file) {
        bool isLocked = true;
        bool condition = true;
    
        do {
            try {
                file = File.OpenRead(path);
                return true;
            }
            catch (IOException e) {
                var errorCode = Marshal.GetHRForException(e) & ((1 << 16) - 1);
                isLocked = errorCode == 32 || errorCode == 33;
                condition = (isLocked && timeout > 0);
    
                if (condition) {
                    // we only wait if the file is locked. If the exception is of any other type, there's no point on keep trying. just return false and null;
                    timeout--;
                    new System.Threading.ManualResetEvent(false).WaitOne(1000);
                }
            }
        }
        while (condition);
    
        file = null;
        return false;
    }
    

    Escaping quotes and double quotes

    Escaping parameters like that is usually source of frustration and feels a lot like a time wasted. I see you're on v2 so I would suggest using a technique that Joel "Jaykul" Bennet blogged about a while ago.

    Long story short: you just wrap your string with @' ... '@ :

    Start-Process \\server\toto.exe @'
    -batch=B -param="sort1;parmtxt='Security ID=1234'"
    '@
    

    (Mind that I assumed which quotes are needed, and which things you were attempting to escape.) If you want to work with the output, you may want to add the -NoNewWindow switch.

    BTW: this was so important issue that since v3 you can use --% to stop the PowerShell parser from doing anything with your parameters:

    \\server\toto.exe --% -batch=b -param="sort1;paramtxt='Security ID=1234'"
    

    ... should work fine there (with the same assumption).

    Install a .NET windows service without InstallUtil.exe

    You can always fall back to the good old WinAPI calls, although the amount of work involved is non-trivial. There is no requirement that .NET services be installed via a .NET-aware mechanism.

    To install:

    • Open the service manager via OpenSCManager.
    • Call CreateService to register the service.
    • Optionally call ChangeServiceConfig2 to set a description.
    • Close the service and service manager handles with CloseServiceHandle.

    To uninstall:

    • Open the service manager via OpenSCManager.
    • Open the service using OpenService.
    • Delete the service by calling DeleteService on the handle returned by OpenService.
    • Close the service and service manager handles with CloseServiceHandle.

    The main reason I prefer this over using the ServiceInstaller/ServiceProcessInstaller is that you can register the service with your own custom command line arguments. For example, you might register it as "MyApp.exe -service", then if the user runs your app without any arguments you could offer them a UI to install/remove the service.

    Running Reflector on ServiceInstaller can fill in the details missing from this brief explanation.

    P.S. Clearly this won't have "the same effect as calling: InstallUtil MyService.exe" - in particular, you won't be able to uninstall using InstallUtil. But it seems that perhaps this wasn't an actual stringent requirement for you.

    What is the meaning of git reset --hard origin/master?

    In newer version of git (2.23+) you can use:

    git switch -C master origin/master
    

    -C is same as --force-create. Related Reference Docs

    Convert named list to vector with values only

    Use unlist with use.names = FALSE argument.

    unlist(myList, use.names=FALSE)
    

    How to restore to a different database in sql server?

    1. make a copy from your database with "copy database" option with different name
    2. backup new copied database
    3. restore it!

    $(window).width() not the same as media query

    Try this

    if (document.documentElement.clientWidth < 767) {
       // scripts
    }
    

    For More Reference click here

    What is the use of "assert"?

    As summarized concisely on the C2 Wiki:

    An assertion is a boolean expression at a specific point in a program which will be true unless there is a bug in the program.

    You can use an assert statement to document your understanding of the code at a particular program point. For example, you can document assumptions or guarantees about inputs (preconditions), program state (invariants), or outputs (postconditions).

    Should your assertion ever fail, this is an alert for you (or your successor) that your understanding of the program was wrong when you wrote it, and that it likely contains a bug.

    For more information, John Regehr has a wonderful blog post on the Use of Assertions, which applies to the Python assert statement as well.

    Interface vs Abstract Class (general OO)

    Interface:

    Does not contain Impleamentations Interface can inherit from a number of interfaces(Multiple inheritance supported) Members are automatically public May contain properties, methods, events and indexers

    Abstract Class:

    May/mayn't contain Implementations; At least one member will not be implemented. A Class may inherit from a single Base class; multiple inheritance not allowed. Members have access modifiers May contain fields, properties, constructors, destructors, methods, events and indexers

    These are the key differences between Abstract Class and Interfaces.

    Get bottom and right position of an element

    You can use the .position() for this

    var link = $(element);
    var position = link.position(); //cache the position
    var right = $(window).width() - position.left - link.width();
    var bottom = $(window).height() - position.top - link.height();
    

    Check string for nil & empty

    you can use this func

     class func stringIsNilOrEmpty(aString: String) -> Bool { return (aString).isEmpty }
    

    How to display a json array in table format?

    DEMO

    var obj=[
            {
                id : "001",
                name : "apple",
                category : "fruit",
                color : "red"
            },
            {
                id : "002",
                name : "melon",
                category : "fruit",
                color : "green"
            },
            {
                id : "003",
                name : "banana",
                category : "fruit",
                color : "yellow"
            }
        ]
        var tbl=$("<table/>").attr("id","mytable");
        $("#div1").append(tbl);
        for(var i=0;i<obj.length;i++)
        {
            var tr="<tr>";
            var td1="<td>"+obj[i]["id"]+"</td>";
            var td2="<td>"+obj[i]["name"]+"</td>";
            var td3="<td>"+obj[i]["color"]+"</td></tr>";
    
           $("#mytable").append(tr+td1+td2+td3); 
    
        }   
    

    How to remove all callbacks from a Handler?

    In my experience calling this worked great!

    handler.removeCallbacksAndMessages(null);
    

    In the docs for removeCallbacksAndMessages it says...

    Remove any pending posts of callbacks and sent messages whose obj is token. If token is null, all callbacks and messages will be removed.

    WAMP error: Forbidden You don't have permission to access /phpmyadmin/ on this server

    The simple solution to this would be to find phpmyadmin.conf file and then find below code inside it,

    <Directory "c:/wamp/apps/phpmyadmin3.5.1/">
    
    Options Indexes FollowSymLinks MultiViews
    
    AllowOverride all
    
        Order Deny,Allow
    
    Deny from all
    
    Allow from 127.0.0.1
    
    </Directory>
    

    Change "Deny from all" to "Allow from all".

    OR

    Follow below link to get better understanding on how to do it,

    WAMP says Forbidden You don't have permission to access /phpmyadmin/ on this server Windows 7 or 8

    Enjoy :)

    How to draw a rounded Rectangle on HTML Canvas?

    So this is based out of using lineJoin="round" and with the proper proportions, mathematics and logic I have been able to make this function, this is not perfect but hope it helps. If you want to make each corner have a different radius take a look at: https://p5js.org/reference/#/p5/rect

    Here ya go:

    CanvasRenderingContext2D.prototype.roundRect = function (x,y,width,height,radius) {
        radius = Math.min(Math.max(width-1,1),Math.max(height-1,1),radius);
        var rectX = x;
        var rectY = y;
        var rectWidth = width;
        var rectHeight = height;
        var cornerRadius = radius;
    
        this.lineJoin = "round";
        this.lineWidth = cornerRadius;
        this.strokeRect(rectX+(cornerRadius/2), rectY+(cornerRadius/2), rectWidth-cornerRadius, rectHeight-cornerRadius);
        this.fillRect(rectX+(cornerRadius/2), rectY+(cornerRadius/2), rectWidth-cornerRadius, rectHeight-cornerRadius);
        this.stroke();
        this.fill();
    }
    

    _x000D_
    _x000D_
    CanvasRenderingContext2D.prototype.roundRect = function (x,y,width,height,radius) {_x000D_
        radius = Math.min(Math.max(width-1,1),Math.max(height-1,1),radius);_x000D_
        var rectX = x;_x000D_
        var rectY = y;_x000D_
        var rectWidth = width;_x000D_
        var rectHeight = height;_x000D_
        var cornerRadius = radius;_x000D_
    _x000D_
        this.lineJoin = "round";_x000D_
        this.lineWidth = cornerRadius;_x000D_
        this.strokeRect(rectX+(cornerRadius/2), rectY+(cornerRadius/2), rectWidth-cornerRadius, rectHeight-cornerRadius);_x000D_
        this.fillRect(rectX+(cornerRadius/2), rectY+(cornerRadius/2), rectWidth-cornerRadius, rectHeight-cornerRadius);_x000D_
        this.stroke();_x000D_
        this.fill();_x000D_
    }_x000D_
        var canvas = document.getElementById("myCanvas");_x000D_
        var ctx = canvas.getContext('2d');_x000D_
    function yop() {_x000D_
      ctx.clearRect(0,0,1000,1000)_x000D_
      ctx.fillStyle = "#ff0000";_x000D_
      ctx.strokeStyle = "#ff0000";  ctx.roundRect(Number(document.getElementById("myRange1").value),Number(document.getElementById("myRange2").value),Number(document.getElementById("myRange3").value),Number(document.getElementById("myRange4").value),Number(document.getElementById("myRange5").value));_x000D_
    requestAnimationFrame(yop);_x000D_
    }_x000D_
    requestAnimationFrame(yop);
    _x000D_
    <input type="range" min="0" max="1000" value="10" class="slider" id="myRange1"><input type="range" min="0" max="1000" value="10" class="slider" id="myRange2"><input type="range" min="0" max="1000" value="200" class="slider" id="myRange3"><input type="range" min="0" max="1000" value="100" class="slider" id="myRange4"><input type="range" min="1" max="1000" value="50" class="slider" id="myRange5">_x000D_
    <canvas id="myCanvas" width="1000" height="1000">_x000D_
    </canvas>
    _x000D_
    _x000D_
    _x000D_

    System.web.mvc missing

    Add the reference again from ./packages/Microsoft.AspNet.Mvc.[version]/lib/net45/System.Web.Mvc.dll

    Named placeholders in string formatting

    Based on the answer I created MapBuilder class:

    public class MapBuilder {
    
        public static Map<String, Object> build(Object... data) {
            Map<String, Object> result = new LinkedHashMap<>();
    
            if (data.length % 2 != 0) {
                throw new IllegalArgumentException("Odd number of arguments");
            }
    
            String key = null;
            Integer step = -1;
    
            for (Object value : data) {
                step++;
                switch (step % 2) {
                    case 0:
                        if (value == null) {
                            throw new IllegalArgumentException("Null key value");
                        }
                        key = (String) value;
                        continue;
                    case 1:
                        result.put(key, value);
                        break;
                }
            }
    
            return result;
        }
    
    }
    

    then I created class StringFormat for String formatting:

    public final class StringFormat {
    
        public static String format(String format, Object... args) {
            Map<String, Object> values = MapBuilder.build(args);
    
            for (Map.Entry<String, Object> entry : values.entrySet()) {
                String key = entry.getKey();
                Object value = entry.getValue();
                format = format.replace("$" + key, value.toString());
            }
    
            return format;
        }
    
    }
    

    which you could use like that:

    String bookingDate = StringFormat.format("From $startDate to $endDate"), 
            "$startDate", formattedStartDate, 
            "$endDate", formattedEndDate
    );
    

    SQL Statement using Where clause with multiple values

    Select t1.SongName
    From tablename t1
    left join tablename t2
     on t1.SongName = t2.SongName
        and t1.PersonName <> t2.PersonName
        and t1.Status = 'Complete' -- my assumption that this is necessary
        and t2.Status = 'Complete' -- my assumption that this is necessary
        and t1.PersonName IN ('Holly', 'Ryan')
        and t2.PersonName IN ('Holly', 'Ryan')
    

    Why is exception.printStackTrace() considered bad practice?

    As some guys already mentioned here the problem is with the exception swallowing in case you just call e.printStackTrace() in the catch block. It won't stop the thread execution and will continue after the try block as in normal condition.

    Instead of that you need either try to recover from the exception (in case it is recoverable), or to throw RuntimeException, or to bubble the exception to the caller in order to avoid silent crashes (for example, due to improper logger configuration).

    Excel VBA, error 438 "object doesn't support this property or method

    The Error is here

    lastrow = wsPOR.Range("A" & Rows.Count).End(xlUp).Row + 1
    

    wsPOR is a workbook and not a worksheet. If you are working with "Sheet1" of that workbook then try this

    lastrow = wsPOR.Sheets("Sheet1").Range("A" & _
              wsPOR.Sheets("Sheet1").Rows.Count).End(xlUp).Row + 1
    

    Similarly

    wsPOR.Range("A2:G" & lastrow).Select
    

    should be

    wsPOR.Sheets("Sheet1").Range("A2:G" & lastrow).Select
    

    Visual Studio can't 'see' my included header files

    Delete the .sdf file that is in your solution directory. It's just the Intellisense database, and Visual Studio will recreate it the next time you open that solution. This db can get corrupted and cause the IDE to not be able to find things, and since the compiler generates this information for itself on the fly, it wouldn't be affected.

    Creating SVG elements dynamically with javascript inside HTML

    Change

    var svg   = document.documentElement;
    

    to

    var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
    

    so that you create a SVG element.

    For the link to be an hyperlink, simply add a href attribute :

    h.setAttributeNS(null, 'href', 'http://www.google.com');
    

    Demonstration

    python pandas dataframe to dictionary

    Simplest solution:

    df.set_index('id').T.to_dict('records')
    

    Example:

    df= pd.DataFrame([['a',1],['a',2],['b',3]], columns=['id','value'])
    df.set_index('id').T.to_dict('records')
    

    If you have multiple values, like val1, val2, val3,etc and u want them as lists, then use the below code:

    df.set_index('id').T.to_dict('list')
    

    Can you append strings to variables in PHP?

    PHP syntax is little different in case of concatenation from JavaScript. Instead of (+) plus a (.) period is used for string concatenation.

    <?php
    
    $selectBox = '<select name="number">';
    for ($i=1;$i<=100;$i++)
    {
        $selectBox += '<option value="' . $i . '">' . $i . '</option>'; // <-- (Wrong) Replace + with .
        $selectBox .= '<option value="' . $i . '">' . $i . '</option>'; // <-- (Correct) Here + is replaced .
    }
    $selectBox += '</select>'; // <-- (Wrong) Replace + with .
    $selectBox .= '</select>'; // <-- (Correct) Here + is replaced .
    echo $selectBox;
    
    ?>
    

    Extract hostname name from string

    in short way you can do like this

    var url = "http://www.someurl.com/support/feature"
    
    function getDomain(url){
      domain=url.split("//")[1];
      return domain.split("/")[0];
    }
    eg:
      getDomain("http://www.example.com/page/1")
    
      output:
       "www.example.com"
    

    Use above function to get domain name

    Uploading files to file server using webclient class

    when you manually open the IP address (via the RUN command or mapping a network drive), your PC will send your credentials over the pipe and the file server will receive authorization from the DC.

    When ASP.Net tries, then it is going to try to use the IIS worker user (unless impersonation is turned on which will list a few other issues). Traditionally, the IIS worker user does not have authorization to work across servers (or even in other folders on the web server).

    Can I access a form in the controller?

    To be able to access the form in your controller, you have to add it to a dummy scope object.

    Something like $scope.dummy = {}

    For your situation this would mean something like:

    <form name="dummy.customerForm">
    

    In your controller you will be able to access the form by:

    $scope.dummy.customerForm
    

    and you will be able to do stuff like

    $scope.dummy.customerForm.$setPristine()
    

    WIKI LINK

    Having a '.' in your models will ensure that prototypal inheritance is in play. So, use <input type="text" ng-model="someObj.prop1"> rather than <input type="text" ng-model="prop1">

    If you really want/need to use a primitive, there are two workarounds:

    1.Use $parent.parentScopeProperty in the child scope. This will prevent the child scope from creating its own property. 2.Define a function on the parent scope, and call it from the child, passing the primitive value up to the parent (not always possible)