Install an experimental fork of Homebrew for Linux

1. Reference: https://github.com/Homebrew/linuxbrew

2. Installation

2.1 Pre-requisites:

2.1.1 Debian or Ubuntu:

sudo apt-get install build-essential curl git ruby libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev

2.1.2 Fedora:

sudo yum groupinstall 'Development Tools' && sudo yum install curl git ruby bzip2-devel curl-devel expat-devel ncurses-devel

3. Homebrew Install:

git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew

4. Edit .bashrc ( sudo nano ~/.bashrc ) or .zshrc and add the following 2 lines at the end of the file:

export PATH="$HOME/.linuxbrew/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/.linuxbrew/lib:$LD_LIBRARY_PATH"

5. and restart the terminal.

6. Usage:

basic package install with brew:

brew install $WHATEVER_YOU_WANT

7. Full example help/usage:

brew [info | home | options ] [FORMULA...]
brew install FORMULA...
brew uninstall FORMULA...
brew search [foo]
brew list [FORMULA...]
brew update
brew upgrade [FORMULA...]
brew pin/unpin [FORMULA...]
Troubleshooting:
brew doctor
brew install -vd FORMULA
brew [--env | --config]
Brewing:
brew create [URL [--no-fetch]]
brew edit [FORMULA...]
open https://github.com/Homebrew/homebrew/wiki/Formula-Cookbook
Further help:
man brew
brew home

8. Available packages to be used with brew:

– you can browse the formula directory on GitHub
– or type brew search for a list (in the terminal window)
– or visit braumeister.org to browse packages online.

Creating a zip archive under linux that is windows compatible

zip -9 -y -r -q file.zip folder/

-9 Indicates the slowest compression speed (optimal compression, ignores the suffix list)
-y Store symbolic links as such in the zip archive, instead of compressing and storing the file referred to by the link
-r Travel the directory structure recursively
-q Quiet mode
folder Refers to the folder to be zipped

zip package needs to firstly be installed:

sudo apt-get install zip

Samsung Galaxy S3 (I9300) one click ROOT with ExynosAbuse Android APK

ExynosAbuse is an android application that uses an exploit to gain root privileges and install SuperSU (v0.99) on your Samsung Galaxy S3 – Exynos4 chip based device.

It doesn’t require anything else, and it will grant the user full root privileges without asking and without using any special permissions.

Even though, this is not something you should take lightly (as the hack could be used by third-party apps with malicious purposes), it is the fastest, simplest way to date, to get root access on a Samsung Exynos4 type device running factory stock roms. (Finally a simple method of using Titanium Backup without flashing custom images, bootloaders, unlocking device, etc.)

samsung_galaxy_s3_i9300_root_access

ExynosAbuse App ScreenShot

The current version of the app is 1.20 and starting with version1.10, it has the options to disable the exploit (disclaimer: this may break your camera), re-enable the exploit (if you need the camera) and to disable the exploit at boot (before any Android app runs). These options do require root (SuperSU or Superuser) to be installed as well. While this will help protect you, these are workarounds, not actual fixes.

All you need to do is download the app from the links provided below (or the original forum threads), install it (make sure you have enabled “installing from unknown sources”), and click the “Root device” button.

Samsung has been informed of this vulnerability, and it is likely that a fix will be available in the near future, but until then, if you were looking for a 1 click ROOT your Galaxy S3 procedure, this is it.

The method has been tested and works on the following devices (check the forum thread below, as it will be updated with new devices):

  • Samsung Galaxy S2 GT-I9100
  • Samsung Galaxy S3 GT-I9300
  • Samsung Galaxy S3 LTE GT-I9305
  • Samsung Galaxy Note GT-N7000
  • Samsung Galaxy Note 2 GT-N7100
  • Samsung Galaxy Note 2 LTE GT-N7105
  • AT&T Galaxy Note 2 SGH-I317
  • Verizon Galaxy Note 2 SCH-I605
  • Samsung Galaxy Tab Plus GT-P6210
  • Samsung Galaxy Note 10.1 GT-N8000, GT-N8010, GT-N8013, GT-N8020

Notes:

  • to check that your device has a Exynos4 CPU, use Antutu Benchmark android app and go to the Info Tab > Device Info and look under Basic Information.
  • take into account, that rooting the phone may also void your warranty, so use carefully.

Download: ExynosAbuse-v1.20.apk

QR Code (scan code to download app):

ExynosAbuse APK v1.20 QR Code scan

ExynosAbuse APK v1.20

Sources – XDA developers forum threads:

Youtube and Vimeo responsive – elastic videos with CSS and HTML


The idea behind responsive videos is to create a box with the proper ratio (4:3, 16:9, etc.), then make the video inside that box stretch to fit the dimensions of the box.

The main trick with elastic videos is to make use of the padding property which is the magic that styles a box with an intrinsic ratio. This is because we’re using it to set the padding to a percentage value, based on the width of the containing block.

First you will need to add the following CSS code to your wordpress theme style sheet. You can do this inside of your theme options, if your themes allows for custom CSS code to be added, or if not, then you will need to use the built-in wordpress editor to add this code at the bottom of your style.css or stylesheet.css default css file associated with your theme (go to Appearance > Editor > Styles (Stylesheet(style.css) or if supported Appearance > Edit CSS option).

CSS code for responsive / elastic Youtube embed

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

Second, you will have to take each iframe Youtube video or Vimeo embed code that you want to make responsive and wrap it around with HTML code as illustrated below.

HTML source code for responsive / elastic Youtube embed

</pre>
<div class="video-container"><center>
 <iframe src="http://www.youtube.com/embed/KQ6zr6kCPj8?rel=0" frameborder="0" width="560" height="315"></iframe></center></div>
<pre>

At this point, the responsive YouTube iframe embedings are working, your videos should be responsive / elastic, and ready to view on Tablet devices and Mobile handsets. To verify this works use a test post and copy/paste the code above and hit Preview. Next, click on the browser “Restore Down” button in the top right corner of your screen, and begin re-sizing the browser window so that you can see in real-time how the iframe containing the video adjust to the new canvas dimensions.

Inspiration and much thanks to John from avexdesigns , and the original master  – Thierry –  from alistapart.

If you’ve enjoyed this post and found it useful, spread the love and share the knowledge.

Thank you!

Display wordpress page generation/load time statistics

You might have seen blogs around that display statistics about the time it took for the page to be generated / loaded . If you’re interested in implementing such a functionality in your own blog I’ll present you below with the way to achieve that along with the source code that does that. The majority of the work is based on Viper007Bond original post, but we’ve added a small enhancement to it.

We’ll be displaying the total time it took for the page to be generated considering php and mysql queries, and to do that we first need to define a variable inside the wp-config.php in order for that to work. Therefor open your wp-config.php file and add the following line to it:

define( 'SAVEQUERIES', true );

Now that that’s done, we’ll be moving on to the actual calculations and display of the load time information. Typically you’d add the code and have the information be displayed in your theme’s footer.php file. So take a look inside your wordpress theme directory and look for the file called footer.php and open it for edit and in-between the

<?php ?>

tags paste the code snippet below:

if (current_user_can('level_10'))
{
global $wpdb;

// Get the total page generation time
$totaltime = timer_stop( false, 22 );

// Calculate the time spent on MySQL queries by adding up the time spent on each query
$mysqltime = 0;
// if there are indeed mysql queries then
if ($wpdb-&gt;queries != null)
foreach ( $wpdb-&gt;queries as $query )
$mysqltime = $mysqltime + $query[1];

// The time spent on PHP is the remainder
$phptime = $totaltime - $mysqltime;

// Create the percentages
$mysqlper = number_format_i18n( $mysqltime / $totaltime * 100, 2 );
$phpper = number_format_i18n( $phptime / $totaltime * 100, 2 );

// Output the stats
echo 'Page generated in ' . number_format_i18n( $totaltime, 4 ) . " seconds ( {$phpper}% PHP, {$mysqlper}% MySQL )";
}

At this point you are good to go. Save your footer.php file and refresh any page of your blog.

At the bottom, in the footer section of your theme, you will see the newly added text that will read something like:

Page generated in 0.1352 seconds ( 94.00% PHP, 6.00% MySQL )

Now, consider the fact that the above code will only display this information for users that are admins, and not for regular users. Should you wish to display this information to everyone, simply delete the highlighted lines in the code snipped displayed above.

Also, take into account, that by enabling SAVEQUERIES (Save queries for analysis) in your config.php, there will be a small performance penalty involved, since this is mostly used for debugging purposes (but still…it’s COOL 🙂 ).

Oh, and by the way, if you’re wondering how to have code with highlighted syntax on your blog, then feel free to checkout the SyntaxHighlighter Evolved plugin.