Do not hoping too much if there is a pocket camera that claims to have 4K feature, because it could be 4K capabilities are not optimal, most camera only able to record video for 5 minutes then overheat. For example, The Sony RX100 V camera that has a price of thousands USD just the same thing, and it records a video for 5 minutes or more batteries can be exhausted if used to record video with 4K quality. The Panasonic LX10 camera is limited to just 15 minutes to record 4K video and some 4K cameras not more than 20fps.

Note also whether the camera captures all areas of the sensor is used or cropped (only partly), because it will affect the catch and field of the view become less wide if cropped as happened in the camera Panasonic LX10.

The point is not to get dazzled first, explore the 4K camera's capabilities first and do not be rash to buy if not too need 4K, buy a cheaper even though his fps maximum 1080p is also enough or buy a second hand 4K camera, because not too much people see youtube videos with 4K quality, most of them see youtube with smartphones.

The 4K feature in the pocket camera I think is still a gimmick, just to attract people to buy even more expensive. Or be careful with 4K features in cheap actioncam, may 4K feature is only 15fps or bitrate quality and the lens is very bad, so 4K feature becomes useless.

Let us not be fooled, read and see the product review first before buying. Hope be useful.


This morning I discovered something new, sometimes when I looked at someone else's youtube video, there was something yellow on a video bar. I think it's automated by a decisive youtube system. short story, this morning I tried to see my youtube video settings and compare one with the other.
In the past I do not understand why every time we upload a video, sometimes there are ad-breaks settings. and I understand that videos that last less than 10 minutes have no ad-breaks option, and videos that have a duration of more than 10 minutes have ad-breaks settings.

So we can set ad-breaks and place some ads in our videos with a certain duration (as shown) as we want and there seems to be no limit to how many ads we place, even if the ads will appear on every ad-breaks or not it's the youyube authority itself, as I know not all ad-breaks contain ads, sometimes zonk hehehe

Well, this can we use to increase our ad revenue on youtube. with ad-breaks tricks is our chance to increase revenue from ads that appear in our videos become larger. but do not get too blind by placing ad-breaks every minute like the picture above hehehe. we should also pay attention to the convenience of the person who saw our video and returned to it as I wrote above that not all ad-breaks will contain advertisements, but if you want to get rich quick it's up to Tou to try.
Well, this easy to be interesting info for temen-temen all.
Good luck.

Google reCaptcha Application In Php Codeigniter

reCAPTCHA is a free CAPTCHA service that helps digitize books, newspapers and radio broadcasts in the past. CAPTCHAs are usually used to avoid bots and spam attacks on a website.

Google inc. The largest internet company has made CAPTCHA services to facilitate the developers to secure / avoid spam attacks on websites built.

On this article we will applicate CAPTCHA into a PHP framework that is CodeIgniter. We only need 2 php files, create a new file named recaptcha.php in folder Application/config and write the following code:

defined('BASEPATH') OR exit('No direct script access allowed'); 
* Recaptcha configuration settings
* recaptcha_sitekey: Recaptcha site key to use in the widget
* ‎
* recaptcha_secretkey: Recaptcha secret key which is used for communicating between your server to Google's
* ‎
* lang: Language code, if blank "en" will be used
* ‎
* recaptcha_sitekey and recaptcha_secretkey can be obtained from
* ‎
* ‎ Language code can be obtained from
* ‎
$config['recaptcha_sitekey'] = "6Le89gYUAAAAAIENtNE52gZXRZbtLAOA7caL2vQY";
$config['recaptcha_secretkey'] = "6Le89gYUAAAAACwspqCQaB17kqgaUd1juP7eURwP"";
$config['lang'] = "id";

At the code on the top have 3 config is :
$config['recaptcha_sitekey'] $config['recaptcha_secretkey'] $config['lang']

To get sitekey and secretkey you can register at following link: select reCAPTCHA V2, then input your website domain. After that create a new file named Recaptcha.php in folder Application/libraries, write this following code:

* CodeIgniter NO Captcha ReCAPTCHA a.k.a reCAPTCHA Version 2.0 library
* ‎
* This library is based on official reCAPTCHA library for PHP
* ‎
* *
defined('BASEPATH') OR exit('No direct script access allowed');
class ReCaptcha {
     private $signup_url = "";
     ‎private $_siteVerifyUrl = "";
     ‎private $_secret, $_sitekey, $_lang;
     ‎private $_version = "php_1.0";
     ‎function __construct() {
     ‎     $this->ci = & get_instance();
     ‎     $this->ci->load->config('recaptcha', TRUE);
          ‎if ($this->ci->config->item('recaptcha_secretkey', 'recaptcha') == NULL || $this->ci->config->item('recaptcha_secretkey', 'recaptcha') == "") {
          ‎die("To use reCAPTCHA you must get an API key from <a href='" . $this->signup_url . "'>" . $this->signup_url . "</a>");
          ‎if ($this->ci->config->item('recaptcha_sitekey', 'recaptcha') == NULL || $this->ci->config->item('recaptcha_sitekey', 'recaptcha') == "") {
          ‎die("To use reCAPTCHA you must get an API key from <a href='" . $this->signup_url . "'>" . $this->signup_url . "</a>");
          ‎$this->_secret = $this->ci->config->item('recaptcha_secretkey', 'recaptcha');
          ‎$this->_sitekey = $this->ci->config->item('recaptcha_sitekey', 'recaptcha');
          ‎if ($this->ci->config->item('lang', 'recaptcha') == NULL || $this->ci->config->item('lang', 'recaptcha') == "") {
          ‎$this->_lang = 'en';
          ‎} else {
          ‎$this->_lang = $this->ci->config->item('lang', 'recaptcha');

* Function to convert an array into query string
* ‎
* @param array $data Array of params
* ‎
* @return String query string of parameters
private function _encodeQS($data) {
     $req = "";
     ‎foreach ($data as $key => $value) {
     ‎     $req .= $key . '=' . urlencode(stripslashes($value)) . '&';
     ‎return substr($req, 0, strlen($req) - 1);

* HTTP GET to communicate with reCAPTCHA server
* ‎
* @param string $path URL to GET
* ‎
* @param array $data Array of params
* ‎ @return string JSON response from reCAPTCHA server
private function _submitHTTPGet($path, $data) {
     $req = $this->_encodeQS($data);
     ‎$response = file_get_contents($path . $req);
     ‎return $response;

‎ /**
* ‎Function for rendering reCAPTCHA widget into views
* ‎
* Call this function in your view * @return string embedded HTML
‎public function render() {
     $return = '<div class="g-recaptcha" data-sitekey="' . $this->_sitekey . '"></div>
     ‎<script src="' . $this->_lang . '" async defer>
     ‎return $return;

* Function for verifying user's input
* ‎
* @param string $response User's input
* ‎
* @param string $remoteIp Remote IP you wish to send to reCAPTCHA, if NULL $this->input->ip_address() will be called
* @return array Array of response
public function verifyResponse($response, $remoteIp = NULL) {
     if ($response == null || strlen($response) == 0) {
     ‎// Empty user's input
     ‎$return = array( 'success' => FALSE, 'error_codes' => 'missing-input' );
     ‎$getResponse = $this->_submitHttpGet( $this->_siteVerifyUrl, array( 'secret' => $this->_secret, 'remoteip' => (!is_null($remoteIp)) ? $remoteIp : $this->ci->input->ip_address(), 'v' => $this->_version, 'response' => $response ) );
     ‎$answers = json_decode($getResponse, TRUE);
     ‎if (trim($answers ['success']) == true) {
     ‎// Right captcha!
     ‎$return = array( 'success' => TRUE, 'error_codes' => '' );
     ‎ } else {
     ‎// Wrong captcha!
     ‎$return = array( 'success' => FALSE, 'error_codes' => $answers['error-codes'] );
     ‎‎} return $return;
‎  }

Then we will running and testing our reCAPTCHA, create a new controller named Contact.php in folder Application/controllers and the following code is below:
defined('BASEPATH') OR exit('No direct script access allowed');
class Contact extends CI_Controller {
    public function __construct() {
    ‎//load library
    ‎public function index() {
    ‎     $data = array( 'recaptcha_html' => $this->recaptcha->render() );
    ‎//set form validation
    ‎$this->form_validation->set_rules('username', 'Username', 'required');
    ‎$this->form_validation->set_rules('password', 'Password', 'required');
    ‎$this->form_validation->set_rules('g-recaptcha-response', '<strong>Captcha</strong>', 'callback_getResponseCaptcha');
    ‎//set message form validation
    ‎$this->form_validation->set_message('required', '{field} is required.');
    ‎$this->form_validation->set_message('callback_getResponseCaptcha', {field} {g-recaptcha-response} must filled. ');
    ‎if($this->form_validation->run() == TRUE) {
    ‎//if valid condition
    ‎ }
    ‎} public function getResponseCaptcha($str) {
    ‎$response = $this->recaptcha->verifyResponse($str);
    ‎if ($response['success']) { return true; } else {
    ‎$this->form_validation->set_message('getResponseCaptcha', '%s is required.' );
    ‎return false;

Create a new file named recaptcha.php in folder Application/views and write the following code:

<div class="container">
<form class="form-signin" accept="utf-8" action="<?php echo base_url() ?>contact">
<h2 class="form-signin-heading">Please sign in</h2>
‎<div class="form-group">
‎<label for="inputEmail" class="sr-only">Username</label>
‎<input type="text" name="nama" class="form-control" id="nama" placeholder="Masukkan Username Anda" value="<?php echo set_value('username') ?>" autocomplete="off">
‎<?php echo form_error('username'); ?>
‎<div class="form-group">
‎<label for="inputPassword" class="sr-only">Password</label>
‎<input type="password" name="nama" class="form-control" id="nama" placeholder="Masukkan Username Anda" value="<?php echo set_value('password') ?>" autocomplete="off">
‎<?php echo form_error('password'); ?>
‎<div class="form-group">
‎<?php echo $recaptcha_html;?>
‎<?php echo form_error('g-recaptcha-response'); ?>
‎<div class="checkbox">
‎<input type="checkbox" value="remember-me"> Remember me
‎<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>

Now run and test your project in localhost

Install And Setting Github Desktop At The First Time

GitHub Desktop is a desktop GUI version of Github web, the biggest and the most popular Git repository. What are the features, the following advantages and disadvantages? Check it out!

First, I'm is one of the most people not too much to use GUI for Git becoause already used Visual Studio Code which has a built in Git tool, it is enough for simple use like pull, push, commit etc. However, I also use GUI for repo Git management if needed, have tried SourceTree, Tower, and while it is using GitKraken. All of them is good, although there are have advantages and disadvantages.

And GitHub Desktop 1.0 was just released. Even as a whole, just 3 month this software is built from Beta version by Github. Somewhat late though, because the market is already using another GUI, and some even offer more complete integration  than just Github.


Please download this software on the official website, Unfortunately, there is only a version of Windows and Mac OS only. Although many report in the community of users, Github Desktop can run on Linux.

First Time Setting

There is a short wizard when the software is first run, standard like other Git Management GUI software. For example asked user and Git email, or Login to Github account.
Then whether to voluntarily telemetry to Github or not:

The initial appearance is really clean, there are three section menu. Create a new git repo, read an existing one or clone from Github.

Adding local repositories is also easy, just browse and Add Repository

Good interface:

There is a list of stash files that should be committed, following the history.

Advantages and disadvantages

The advantages:
- Free, 
- Native integration to Github platform,
- Net interface, 
- Simple and easy to understand
- Light

- Not too native, because using Electron as base
- Just support Github platform, others GUI can be used for Gitlab, Bitbucket etc. 
- Can't make Group Project, if managing much more repo going complicated

Macro Photography With Xiaomi Mi5 Smartphone

As I promised to further review what is in the Xiaomi Mi5 smartphone, more and more I explore the features of the Xiaomi Mi5 camera because of the many cool features of this smartphone should we explore completely. And this time I tried to explore Macro Photography feature. Little explanation of what the macro photography, macro photography is photography at a very close distance to get high detail of a small object but does not require additional magnifying tool.

On Xiaomi Mi5 smartphone has manual focus feature where we can adjust focus distance of the object which we will take just like a DSLR camera, how to enable the manual focus feature only needs to be entered into Modes and then select Manual, then there are four choices: White Balance, Focus, Exposure time, ISO. Select Focus and set the value to the smallest. hold up your smartphone to the object and adjust the distance between the object and the smartphone to get precisely focus.I

I suggest to take more than one photo at different distances between the object and the smartphone to get a good result, select the best and the precise focus and then zoom the photo in 1:1 as original object and see the results. You will be amazed. The opposite of macro photography are Infinity, Infinity is a photography technique used to obtain the focus at far object so that other nearest objects being blurred. I will write the next article about it.

For more details and the steps to do macro photography techniques please look at the following video :

Xiaomi Mi5 Review: Manual Focus Camera Feature

To reduce my thirst and curiosity with the Xiaomi MI5 camera features, a little review and test the Xiaomi MI5 camera will show you why I really wanted to have this one. The first feature that I explore is the manual focus. Manual Focus generally is a featur of DSLR camera, some professional photographer prefer to use the manual focus than auto focus (AF) because is easy to targeting the object focus and only focus on the object.

As I write in Xiaomi Mi5 Purple Unboxing, Xiaomi has bundled a manual focus feature in their MI5 smartphone. Not too difficult to use this feature, You just need to enter modes and choose Manual, on the focus menu, adjust the focus by sliding and snap to object to get the desired focus. I have some examples of the photos and I compare between the original photo and after zooming, the results is incredible.

That picture is the original photo, is the photo of a fly were I take from the top. Unbelievable result when I zoom in the photo, the result You can see at the main picture of this article.

Another photo zooming result is awesome too. To get the best photo You must take more than one snap then choose the best one. I will post another awesome photo in my next article.

Available Space

Pasang iklan di sini...
081235172529 (WA Only)

Available Space

Pasang iklan di sini...
081235172529 (WA Only)