DEVELOPMENT

  • ANDROID VERSIONS

    AUTHOR: // CATEGORY: Android, Development, IT, Mobile

    No Comments

    The development of the Android operating system was started in 2003 by Android, Inc. Later on, it was purchased by Google in 2005. The beta version of Android OS was released on November 5, 2007, while the software development kit (SDK) was released on November 12, 2007.

    The first Android mobile was publicly released with Android 1.0 of the T-Mobile G1 (aka HTC Dream) in October 2008.

    Google announced in August 2019 that they were ending the confectionery scheme, and they use numerical ordering for future Android versions.

    The first Android version which was released under the numerical order format was Android 10.

    Android versions, name, and API level

    Code nameVersion numbersAPI levelRelease date
    No codename1.01September 23, 2008
    No codename1.12February 9, 2009
    Cupcake1.53April 27, 2009
    Donut1.64September 15, 2009
    Eclair2.0 – 2.15 – 7October 26, 2009
    Froyo2.2 – 2.2.38May 20, 2010
    Gingerbread2.3 – 2.3.79 – 10December 6, 2010
    Honeycomb3.0 – 3.2.611 – 13February 22, 2011
    Ice Cream Sandwich4.0 – 4.0.414 – 15October 18, 2011
    Jelly Bean4.1 – 4.3.116 – 18July 9, 2012
    KitKat4.4 – 4.4.419 – 20October 31, 2013
    Lollipop5.0 – 5.1.121- 22November 12, 2014
    Marshmallow6.0 – 6.0.123October 5, 2015
    Nougat7.024August 22, 2016
    Nougat7.1.0 – 7.1.225October 4, 2016
    Oreo8.026August 21, 2017
    Oreo8.127December 5, 2017
    Pie9.028August 6, 2018
    Android 1010.029September 3, 2019

    Android Version 1.0 to 1.1: No codename

    Android officially publish its Android version 1.0 in September 2008. It is the initial version of Android operating system. It supports Web browser to show HTML and XHTML web pages, camera, access web email server (POP3, IMAP4, and SMTP). This version contains Google Calendar, Google Maps, Google Sync, Google Search, Google Talk, Instant messaging, Media player, Notifications appear in the status bar, wallpaper, YouTube video player, Alarm Clock, Calculator, Dialer, Pictures (Gallery), Wi-Fi and Bluetooth support.

    Android version 1.5: Cupcake

    On April 27, 2009, the Android updated to 1.5 with the codename of the dessert item (Cupcake). It has Linux kernel 2.6.27. It supports third-party virtual keyboard, Video recording and playback in MPEG-4, Copy and paste feature, Animated screen translations, auto-rotation option, ability to upload a video to YouTube, upload photos to Picasa, check phone usage history.

    Android version 1.6: Donut

    On September 15, 2009, Android 1.6 was released with the name Donut. It contains numerous new features such as voice and text entry search, bookmark history, contacts, web, “speak” a string of text, faster camera access, user can select multiple photos for deletion, support text-to-speech engine, WVGA screen resolutions.

    Android version 2.0 to 2.1: Eclair

    On October 26, 2009, Android 2.0 was released, whose codename was Eclair. It was based on Linux kernel 2.6.29. It contains the several new features as expanded account sync, Microsoft Exchange email support, Bluetooth 2.1, ability to tap a Contact photo and select to call, SMS, ability to search all saved SMS, MMS messages, delete the oldest message automatically when the defined limit is reached, Minor API, bug fixes.

    Android version 2.2 to 2.2.3: Froyo

    On May 20, 2010, Android 2.2 (Froyo) was released based on Linux kernel 2.6.32. It contains several features as speed, memory, performance optimization. JIT compilation, Integration of Chrome’s V8, JavaScript engine into the Browser application, support Android Cloud to Device Messaging service, Adobe Flash support, security updates, and performance improvement.

    Android version 2.3 to 2.3.7: Gingerbread

    On December 6, 2010, the Android 2.3 (Gingerbread) was released based on Linux kernel 2.6.35. It includes the following changes: support for extra-large screen size and resolutions, updated user interface design with increased simplicity and speed, enhanced copy/paste functionality, select a word by press-holding, support Near Field Communication (NFC), headphone virtualization, new Download Manager.

    It has improved bug fixes for Nexus S, voice or video chat using Google Talk, network performance for Nexus S 4G, Gmail application, battery efficiency, fixed a voice search bug, Google Wallet support for Nexus S 4G.

    Android version 3.0 to 3.2.6: Honeycomb

    On February 22, 2011, Android 3.0 (Honeycomb) was launched for the first tablet for Android-based on Linux kernel 2.6.36. It contains the features like “holographic” user interface for tablet, added system Bar, simplified multitasking tapping Recent Application in system Bar, redesign the keyboard making fast typing, quick access to camera exposure, hardware acceleration, support for multi-core processor, UI refinements, connectivity for USB accessories, support for joysticks and gamepads, high-performance Wi-Fi lock, improved hardware support, Google Books, fixed data connectivity issues when coming out of Airplane mode.

    Android version 4.0 to 4.0.4: Ice Cream Sandwich

    On October 19, 2011, Android 4.0.1 (Ice Cream Sandwich) was launched, which was based on Linux kernel 3.0.1. It was the last version of officially support Adobe System Flash player. It introduces the numerous new features: refinements to “Holo” interface with new Roboto font family, separation of widgets in a new tab, integrated screenshot capture, improved error correction on the keyboard, improved copy and paste functionality, build-in photo editor, fixed minor bugs, improvement to graphics, spell-checking, better camera performance.

    Android version 4.1 to 4.3.1: Jelly Bean

    On June 27, 2012, Google announced Android 4.1(Jelly Bean) in the Google I/O conference. It is based on Linux kernel 3.0.31. It updates to following features: smoother user interface, enhance accessibility, expandable notification, fixed bug on Nexus 7, one-finger gestures to expand/collapse notifications, lock screen improvement, multiple user accounts (tablets only), new clock application, Bluetooth low energy support, volume for incoming call, 4K resolution support, native emoji support, bug fixes for the Nexus 7 LTE.

    Android version 4.4 to 4.4.4: KitKat

    On September 3, 2013, Google announced Android 4.4 (KitKat). Initially, its code name was “Key Lime Pie”. Google started on Google’s Nexus 5 on October 31, 2013. The minimum required amount of RAM should available to Android is 340 MB. The other devices with less than 512 MB of RAM must report themselves as “low RAM” devices. It includes several new features as clock no longer display bold hours, wireless printing capability, WebViews are based on Chromium engine, sensor batching, built-in screen recording feature, better application compatibility, camera application loads Google+ Photo instead of Gallery.

    Android version 5.0 to 5.1.1: Lollipop

    Android 5.0 “Lollipop” was initially named “Android L” on June 25, 2014. It was officially introduced on November 12, 2014. Lollipop provides several features like redesigned user interface, support for 64-bit CPUs, support for print previews, material design, Project Volta for battery life improvement, multiple user accounts, audio input, and output through USB devices, join Wi-Fi networks, support for multiple SIM cards, device protection, high-definition voice calls, native Wi-Fi calling support.

    Android version 6.0 – 6.0.1: Marshmallow

    Android 6.0 “Marshmallow” was disclosed under the codename “Android M” on May 28, 2015, for Nexus 5 and Nexus 6 phones, Nexus 9 tablet.

    On October 5, 2015, Android lunches “Marshmallow” for all android devices. It contains the various new features as App Standby feature, introduce the Doze mode to save battery life, native fingerprint reader support, run-time permission requests, USB-C support, Unicode 7.0 & 8.0 emoji support.

    Android version 7.0 to 7.1.2: Nougat

    Android 7.0 “Nougat” was the major release for the Android operating system. Its initial codename was “Android N”. It was first released as a developer preview on March 9, 2016, with factory images for the Nexus device.

    On August 22, 2016, the final preview built was released with following features: file-based encryption, zoom in the screen, multi-window support, new Data Saver mode, JIT compiler makes 75 percent faster app installation, picture-in-picture support, support manager APIs, circular app icons support, send GIFs directly from the default keyboard, battery usage alerts.

    Android version 8.0 to 8.1: Oreo

    Android 8.0 “Oreo” was the 8th major release of the Android operating system. It was first released for developer preview on March 21, 2017. The final developer preview was released on July 24, 2017.

    On August 21, 2017, its stable version was released with several features: picture-in-picture support, support for Unicode 10.0 emoji (5.0), restructured settings, adoptive icons, notification channels, notification dots, 2 times faster boot time, Google Play Protect, Integrated printing support, Neural network API, shared memory API, Android Oreo Go Edition, autofill framework, automatic light, and dark themes.

    Android version 9.0: Pie

    Android 9.0 “Pie” was the ninth major version of the Android operating system. It was first announced and preview launched by Google on March 7, 2018. It was officially released on August 6, 2018. It has the following features: the clock has moved to the left of the notification bar, the “screenshot” button has been added, battery percentage always shown on display.

    Android version 10:

    Android 10 is the tenth extensive version of the Android operating system. Android 10 has developed under the codename “Android Q”. It was initially announced by Google on March 13, 2019 and its first beta version was released on same day and its second beta was released on April 3, 2019.

    The stable version of Android 10 was released on September 3, 2019. It contains features like new permissions to access location in the background, floating setting panel, support for an AV1 video codec, support for biometric authentication, support the WPA3 Wi-Fi security.

    Reference: https://www.javatpoint.com/android-versions

  • EXCEL: EXPORT .CSV FILE WITH JAPANESE CHARACTER

    AUTHOR: // CATEGORY: Development, IT, PC, Windows

    No Comments

     

    To fully retain the characters while saving it on a CSV format and to somehow be able to import/re-use the data in the future.

    You can follow these steps.

    1. In Microsoft Excel, open the *.xlsx file.
    2. Select Menu | Save As.
    3. Enter any name for your file.
    4. Under “Save as type,” select Unicode Text.
    5. Click Save.
    6. Open your saved file in Microsoft Notepad.
    7. Replace all tab characters with commas (“,”).
    • Select a tab character (select and copy the space between two column headers)
    • Open the “Find and Replace” window (Press Ctrl+H) and replace all tab characters with comma .

    Replace Tabs with commas in Notepad

    1. Click Save As.
    2. Name the file, and change the Encoding: to UTF-8.
    3. Change the file extension from .txt to .csv.
    4. Click Save.
    5. Open the .csv file in Excel to view your data.

    Credit:

    https://stackoverflow.com/questions/24087432  /excel-xlsx-file-saving-as-csv-file-korean-and-japanese-cracking-badly

  • HOW TO DISABLE DIRECTORY BROWSING IN WORDPRESS

    AUTHOR: // CATEGORY: Development, Wordpress

    No Comments

    By default when your web server does not find an index file (i.e. a file like index.php or index.html), it automatically displays an index page showing the contents of the directory. This could make your site vulnerable to hack attacks by revealing important information needed to exploit a vulnerability in a WordPress plugin, theme, or your server in general. In this article, we will show you how to disable directory browsing in WordPress.

    An example of directory index browsing in WordPress

    Why You Need to Disable Directory Browsing in WordPress

    Directory browsing can be used by hackers to find out if you have any files with known vulnerabilities, so they can take advantage of these files to gain access. For the comprehensive security of our sites, we use Sucuri for WordPress security. They have a simple dashboard which allows us to do this and perform many other WordPress security strengthening steps with in few clicks.

    Directory browsing can also be used by other people to look into your files, copy images, find out your directory structure, and other information. This is why it is highly recommended that you turn off directory indexing and browsing.

    Video Tutorial

    If you don’t like the video or need more instructions, then continue reading.

    To disable directory browsing in WordPress all you need to do is add a single line of code in your WordPress site’s .htaccess file located in the root directory of your website. To edit the .htaccess file you need to connect to your website using an FTP client.

    Once connected to your website, you will find a .htaccess file in your site’s root directory. .htaccess is a hidden file, and if you can not find it on your server, you need to make sure that you have enabled your FTP client to show hidden files.

    You can edit your .htaccess file by downloading it to your desktop and opening it in a text editor like Notepad. Now at the end of your WordPress generated code in the .htaccess file simply add this line at the bottom:

    1 Options -Indexes

    Now save your .htaccess file and upload it back to your server using your FTP client. That’s all you need to do. Directory browsing is now disabled on your WordPress site and people trying to locate a directory index on your website will be redirected to WordPress 404 page.

    Credits:
    http://www.wpbeginner.com/wp-tutorials/disable-directory-browsing-wordpress/

  • HOW TO FORCE DOWNLOAD FILES

    AUTHOR: // CATEGORY: Development, Wordpress

    No Comments

    How to Force Download of Mp3 Files Instead of Streaming

    For example, you’re running a mp3 site on wordpress and hosting audio files on your own server. By default when an user click on a mp3 file link, it automatically play the audio instead of downloading. This could make your site user annoying as he have to right click on the file and choose Save As to download it. In this article, we will show you how to Force Download of Mp3 files instead of Streaming without plugins.

    You can disable this streaming feature in WordPress by add some lines of code in your WordPress site’s .htaccess file located in the root directory of your wordpress install. To edit the .htaccess file you need to login into your hosting and navigate to File Manager.

    Once navigated to your file manager, you will find a .htaccess file in your site’s root directory. .htaccess is a hidden file by default, so if you can’t find it on your server, you need to make sure that you have enabled your file manager to show hidden files.

    You can edit your .htaccess file by downloading it to your pc or code edit feature on your server. After open it at the end of your WordPress generated code in the .htaccess file simply add these lines at the bottom as shown in the image below:

    force download mp3 instead of play wordpress

    You can change or add any other file type based on your need (example: pdf, mp4, doc)

    Now save your .htaccess file. That’s all you need to do. Streaming feature is now disabled on your WordPress site and people can download mp3 files hosting on your blog by just click on it.

    We hope this article will help you to learn How to force download after a click on the mp3 file link. For questions and feedback you can leave a comment below or join us on our forum.

    Credits:
    http://wpcage.com/force-download-mp3-files-instead-of-streaming/

  • OVERRIDE LINK COLOUR

    AUTHOR: // CATEGORY: Development

    No Comments

    So you want a single link to be in a different colour and if CSS is being stubborn then try this:

    <a href=“http://www.ahmedv.com” style=“background-color: white; color: orange;”>your link text here</a>

    Credits:
    https://www.sitepoint.com/community/t/override-link-color-for-one-link/1141

  • HOW TO DUPLICATE PAGES WITHOUT A PLUGIN

    AUTHOR: // CATEGORY: Development, Wordpress

    No Comments

    Duplicating posts is a very useful functionality when you work with a lot of similar posts (for example products in online shop). Especially if the posts have the same custom fields values, but the different post title and content.

    It means that you do not have to re-enter custom fields, post tags and categories each time.

    This is the example:

    Duplicate post link in post row actions.

    When you click the «Duplicate» link, the post will be cloned, but it won’t be published, it will be saved as a draft and you will be redirected to the post edit admin page.

    This is enough easy to do, so, look at the following code, insert it into your theme functions.php file (or into the another file if you know what to do).

    /*
     * Function creates post duplicate as a draft and redirects then to the edit post screen
     */
    function rd_duplicate_post_as_draft(){
    	global $wpdb;
    	if (! ( isset( $_GET['post']) || isset( $_POST['post'])  || ( isset($_REQUEST['action']) && 'rd_duplicate_post_as_draft' == $_REQUEST['action'] ) ) ) {
    		wp_die('No post to duplicate has been supplied!');
    	}
     
    	/*
    	 * get the original post id
    	 */
    	$post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) );
    	/*
    	 * and all the original post data then
    	 */
    	$post = get_post( $post_id );
     
    	/*
    	 * if you don't want current user to be the new post author,
    	 * then change next couple of lines to this: $new_post_author = $post->post_author;
    	 */
    	$current_user = wp_get_current_user();
    	$new_post_author = $current_user->ID;
     
    	/*
    	 * if post data exists, create the post duplicate
    	 */
    	if (isset( $post ) && $post != null) {
     
    		/*
    		 * new post data array
    		 */
    		$args = array(
    			'comment_status' => $post->comment_status,
    			'ping_status'    => $post->ping_status,
    			'post_author'    => $new_post_author,
    			'post_content'   => $post->post_content,
    			'post_excerpt'   => $post->post_excerpt,
    			'post_name'      => $post->post_name,
    			'post_parent'    => $post->post_parent,
    			'post_password'  => $post->post_password,
    			'post_status'    => 'draft',
    			'post_title'     => $post->post_title,
    			'post_type'      => $post->post_type,
    			'to_ping'        => $post->to_ping,
    			'menu_order'     => $post->menu_order
    		);
     
    		/*
    		 * insert the post by wp_insert_post() function
    		 */
    		$new_post_id = wp_insert_post( $args );
     
    		/*
    		 * get all current post terms ad set them to the new post draft
    		 */
    		$taxonomies = get_object_taxonomies($post->post_type); // returns array of taxonomy names for post type, ex array("category", "post_tag");
    		foreach ($taxonomies as $taxonomy) {
    			$post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs'));
    			wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false);
    		}
     
    		/*
    		 * duplicate all post meta just in two SQL queries
    		 */
    		$post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id");
    		if (count($post_meta_infos)!=0) {
    			$sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) ";
    			foreach ($post_meta_infos as $meta_info) {
    				$meta_key = $meta_info->meta_key;
    				$meta_value = addslashes($meta_info->meta_value);
    				$sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'";
    			}
    			$sql_query.= implode(" UNION ALL ", $sql_query_sel);
    			$wpdb->query($sql_query);
    		}
     
     
    		/*
    		 * finally, redirect to the edit post screen for the new draft
    		 */
    		wp_redirect( admin_url( 'post.php?action=edit&post=' . $new_post_id ) );
    		exit;
    	} else {
    		wp_die('Post creation failed, could not find original post: ' . $post_id);
    	}
    }
    add_action( 'admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft' );
     
    /*
     * Add the duplicate link to action list for post_row_actions
     */
    function rd_duplicate_post_link( $actions, $post ) {
    	if (current_user_can('edit_posts')) {
    		$actions['duplicate'] = '<a href="admin.php?action=rd_duplicate_post_as_draft&amp;post=' . $post->ID . '" title="Duplicate this item" rel="permalink">Duplicate</a>';
    	}
    	return $actions;
    }
     
    add_filter( 'post_row_actions', 'rd_duplicate_post_link', 10, 2 );

    But what if this code works only for posts, not for pages or any registered post types? Do not worry, all we need to do is to change the last filter to this:

    add_filter('page_row_actions', 'rd_duplicate_post_link', 10, 2);

    Credits to: http://rudrastyh.com/wordpress/duplicate-post.html#comment-294

  • WORDPRESS MENU ITEM LIMIT

    AUTHOR: // CATEGORY: Development, Wordpress

    No Comments

    So I had a request to add a super big menu in WordPress, and some sub menu’s and then after configuring the menu and clicking save half my menu disappeared. Apparently there is a limit that is set.

    This limit is not imposed by WordPress but by your web hosting server because of some security reasons. In PHP, there is a thing called post vars that controls menu items. By default maximum post vars are much limited as most of the websites require only a few menu items.

    It is very easy to increase number of post vars using php.ini

    All you need to do is adding a piece of code in your php.ini file. Keep in mind that different web hosts support different kind of methods and we have listed all here;

    Increasing max_input_vars

    To increase input_vars add the following code in your php.ini file

    max_input_vars = 3000;

    Note – Create a text file name php.ini and add this code to that file and place this file in your WordPress root. If your host doesn’t support custom php.ini file get their support to add this code ot php.ini file

    If your server is using Suhosin

    If your hosting server has Suhosin running, it will affect your WordPress menu limit and you need to add the following code in your php.ini file;

    suhosin.post.max_vars = 5000

    suhosin.request.max_vars = 5000

    Other methods

    If above given workarounds don’t work, you can also try some other;

    1.Add php.ini in wp-admin folder

    Create a php.ini file with the below given code and put it into wp-admin folder

    max_input_vars = 3000;

    This is the one that worked for me!

    2.Add .user.ini file

    Create a file .user.ini and add the following code to it and try placing it in WordPress root or in wp-admin folder;

    max_input_vars = 5000;

    Hopefully one of the method should work for you.

    Credits to:

    http://webcusp.com/solved-how-to-increase-wordpress-menu-items-limit/

    Read more at:

    The WordPress Menu Item Limit or: Help! Half my menu items just disappeared!

  • HOW TO CREATE A FILE LIST AT A COMMAND PROMPT

    AUTHOR: // CATEGORY: Development, Windows

    No Comments

    How to Create a File List at a Command Prompt

    1. Click Start, point to Programs, and then click MS-DOS Prompt (or Command Prompt in Windows NT).
    2. At a command prompt, locate the drive that contains the folder whose contents you want to list. For example, if you want to create a text file that contains a list of the contents of a folder on drive C, type the following command at a command prompt, and then press ENTER:
      c:
    3. At a command prompt, locate the folder whose contents you want to list. For example, if you want to create a text file that contains a list of the contents in the Windows folder on drive C, type the following commands at a command prompt, and press ENTER after you type each command:
      cd\
      cd windows
    4. Type the following command at a command prompt, and then press ENTER, where filename is the name of the text file that you are creating:
      dir > filename.txt

      For example, if you want to create a file named Windowsfolderlist.txt, type the following command at a command prompt, and then press ENTER:

      dir > windowsfolderlist.txt

      NOTE: The text file that you create is located in the folder that you are in when you follow these steps. In the earlier example, the Windowsfolderlist.txt file is located in the Windows folder.

    5. Use a text editor, such as Notepad, to view or print this file.

    Try other commands like:

    dir source /s >> destination.txt

    e.g. dir c:\ /s >> “c:\users\<username>\desktop\list.txt”

    Or tree /A /F > tree.txt

    Happy Extracting

    Credits:
    https://support.microsoft.com/en-us/kb/196158

    http://www.sevenforums.com/general-discussion/215864-how-can-i-list-folders-sub-folders-file-names-into-txt-file.html

  • CITRIX – GOOGLE CHROME – LAUNCH.ICA FILE

    AUTHOR: // CATEGORY: Development, Mac OS X, Windows

    No Comments

    Presenting Problem

    You click to launch your applications in Google Chrome and the application does not launch. Instead, you see a launch.ica file downloaded from Google Chrome or the launch.ica file is opened up by some incompatible program on your computer (such as by another web browser or a Microsoft Office application).

    Background

    The launch.ica file is a Citrix file used by your web browser to virtualize your Citrix applications. This file is usually downloaded silently from Chrome and opened automatically by the Citrix application installed on your local computer. However, a recent update to Chrome has changed this usual process.

    Google released the Version 42.0 update to Chrome on April 15, 2015. As a part of this update, Chrome now handles certain web content differently. For Citrix , Instead of downloading and automatically launching the launch.ica file like in the past, Chrome now just downloads the file instead. Depending on other local settings, your computer may try to automatically open the launch.ica file with an incompatible program as well.

    Most users have Chrome set to update automatically, hence your Chrome may have already updated to the latest version without your knowledge.

    Solution

    To resolve, we need to tell Google Chrome to continue to automatically open the launch.ica files instead of just download them.

    1. Attempt to launch a Citrix application
    2. When you see the launch.ica file appear at the bottom of your web browser, click on the little arrow next to it and choose Always open files of this type

      • Google Chrome - Version 42.0.2311.90 Update.png

    3. Restart Google Chrome
    4. Log back into Citrix and launch your application again

    Additional Steps

    If the above changes did not resolve your issue, then the Google Chrome update may have affected the default program that your computer uses to open .ica file types. As a result, you need to adjust the default program that opens .ica files on your local computer.

    For Windows Users:

    1. Launch the Control Panel
    2. Open the Default Programs menu (this is under Programs if you are in Category View)
    3. Choose to Associate a file type or protocol with a program
    4. Find the .ica file type and choose to Change program…
    5. Browse to C:\Program Files (x86)\Citrix\ICA Client (you can paste this in the Open with… window)
      • Depending on your computer settings, the appropriate directory might be C:\Program Files\Citrix\ICA Client if the (x86) directory doesn’t exist
    6. Select wfcrun32 from the above directory to set the Citrix Connection Manager as the default program to launch .ica files
    7. Restart Google Chrome
    8. Log back into Citrix and launch your application again

    For Mac Users:

    1. Locate the launch.ica file downloaded from Chrome (typically in your Downloads folder)
    2. Right-click (control + click) on the launch.ica file and select Open With > Other
    3. Browse to your Applications
    4. Select the Citrix Receiver,check the Always Open With checkbox, and click Open

    Credits: https://harborcloud.zendesk.com/entries/81554985-Google-Chrome-Click-to-launch-an-application-and-see-a-launch-ica-file

  • HOW TO RESET A WORDPRESS PASSWORD FROM PHPMYADMIN

    AUTHOR: // CATEGORY: Development, Open Source, Wordpress

    No Comments
    How to Reset a WordPress Password from phpMyAdmin

    Knowing how to reset your WordPress password from phpMyAdmin is one of the essential things you should know about because for some reason if your site is hacked, or something else, you are no longer able to login to your admin panel using the login information, and you are not able to reset the password via email, this method can be very useful. We have helped three users with the same issue therefore we have decided to do this writeup.

    Every WordPress blog uses a MySQL Database which can be accessed through your phpMyAdmin even if you are not using cPanel hosting. Follow the following steps to reset your WordPress password:

    Video Tutorial

    If you don’t like the video or need more instructions, then continue reading.

    Step 1 – Identify the Name of your Database

    It is always good to know the name of your WordPress Database. Sometimes you might be running multiple installations within the same database, then you will need to know exactly where to look for to reset the password. The best place to look is your wp-config.php file which is located in your root WordPress Directory. In there you will find the name of your database.

    Step 2 – Locating Database and Editing the Fields

    In your cPanel or other admin panel, you will need to access your MySQL database and then browse it via phpMyAdmin.

    phpMyAdmin in cPanel

    Once you are in phpMyAdmin, you will need to select the correct database on the left hand side. Look for the name that you found in your wp-config.php and click on that. You will see a list of tables with a prefix wp_ for the most part.

    If you changed your prefix during installation, then you would be looking for that specific prefix “for ex: wp673_”.

    You will look for the table wp_users, click on it and then click on the Browse Tab.

    phpMyAdmin Browse

    Click on the Pencil (Edit) Icon to reset your Password.

    phpMyAdmin Edit

    Now you will see a field that looks like this:

    phpMyAdmin Edit field

    Edit the user_pass field value. You will notice that there are a lot of random characters in the password field. Due to security reasons, WordPress stores the passwords as MD5 Hash rather than Plain text.

    This means that you will not be able to enter plain text as the password. You would need to use one of the MD5 generators online to generate your password.

    Recommended Tool: JavaScript MD5

    Simply type your password in that tool and generate MD5 results. Copy and paste the code you get from the converter into your phpMyAdmin field and click Go to save changes.

    You have now successfully changed your WordPress Password from phpMyAdmin.

    All credits to http://www.wpbeginner.com/beginners-guide/how-to-reset-a-wordpress-password-from-phpmyadmin/