Let’s Encrypt on Google App Engine

Let’s Encrypt is free automated, and open certificate authority brought to you by the non-profit Internet Security Research Group (ISRG). it is a pretty awesome initiative to provide free SSL certificates to make creating a secure website easier.

 

Let’s Encrypt is a free, automated, and open Certificate Authority.

Here’s how to use it with App Engine. I used Google Cloud Shell to run these commands.

1.Download letsecrypt script  client using git clone:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

so you will have folder containing files like this:

1-clone

2.Generate certificate using letsencrypt:

sudo ./letsencrypt-auto -a manual certonly

3.Challenge and response verification the ownership of your domain.

You’ll see something like this on your console terminal:

mhyusufibrahim@myproject-999999:~/letsencrypt$ sudo ./letsencrypt-auto -a manual certonlySaving debug log to /var/log/letsencrypt/letsencrypt.log

Please enter in your domain name(s) (comma and/or space separated) (Enter ‘c’ to cancel): http://www.mydomain.com

Obtaining a new certificate Performing the following challenges: http-01 challenge for  http://www.mydomain.com

3.revisi

NOTE: The IP of this machine will be publicly logged as having requested this certificate. If you’re running certbot in manual mode on a machine that is not your server, please ensure you’re okay with that. Are you OK with your IP being logged?

(Y)es/(N)o: Y

Make sure your web server displays the following content at

http://www.mydomain.com/.well-known/acme-challenge/nuHnBaCxYzkvcUQkOEjLhpYgY_umLjdCr4gRkby1YCM

before continuing:

nuHnBaCxYzkvcUQkOEjLhpYgY_umLjdCr4gRkby1YCM.qvOvSw_BDrdsxvw_X_ce5IgulKkYBS4BMWrUiaqY4iY

If you don’t have HTTP server configured, you can run the following command on the target server (as root): mkdir -p /tmp/certbot/public_html/.well-known/acme-challenge cd /tmp/certbot/public_html printf “%s” nuHnBaCxYzkvcUQkOEjLhpYgY_umLjdCr4gRkby1YCM.qvOvSw_BDrdsxvw_X_ce5IgulKkYBS4BMWrUiaqY4iY > .well-known/acme-challenge/nuHnBaCxYzkvcUQkOEjLhpYgY_umLjdCr4gRkby1YCM # run only once per server: $(command -v python2 || command -v python2.7 || command -v python2.6) -c \ “import BaseHTTPServer, SimpleHTTPServer; \ s = BaseHTTPServer.HTTPServer((”, 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \ s.serve_forever()” ——————————————————————————-

Press Enter to – NOTE: The IP of this machine will be publicly logged as having requested this certificate. If you’re running certbot in manual mode on a machine that is not your server, please ensure you’re okay with that. Are you OK with your IP being logged?

(Y)es/(N)o: y

Press Enter to Continue

Waiting for verification…Cleaning up challenges

IMPORTANT NOTES: – Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/http://www.mydomain.com/fullchain.pem. Your cert will expire on 2017-09-26. To obtain a new or tweaked version of this certificate in the future, simply run letsencrypt-auto again. To non-interactively renew *all* of your certificates, run “letsencrypt-auto renew” – If you like Certbot, please consider supporting our work by: Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

3.Get your private key.

sudo openssl rsa -inform pem -in /etc/letsencrypt/live/www.mydomain.com/privkey.pem -outform pem | less

5.rsaprivkey

4.Get your public key certificate.

sudo less /etc/letsencrypt/live/http://www.mydomain.com/fullchain.pem

6.pubkey.png
Don’t forget to press enter to scroll down the text

 

Keep in mind that /etc/letsencrypt is not persisted through Cloud Shell restarts, so if you need to keep your private key, you can copy it to your home directory or save it.

5.Upload the certificate to the Google Cloud.

App Engine -> Settings -> SSL Certificate

8.webINterface

10.uploadcert

11.savecert12.savedCert

The final result

15.result.png

Advertisements

Installing and Unistalling SpaceVim / SpaceVim on UBuntu Linux (Or just Linux in General)

I just Installed /SpaceVim on my Ubuntu 14.04 Laptop but I realized that It was wrong because my VIM IDE turned to unfamiliar IDE for me, and the worse case was my previous setting and configurations in my .vimrc are no longer working.

Here is the SpaceVim installation step:

curl -sLf https://spacevim.org/install.sh | bash

spacevim

Installation result (Open the VIM first), beautiful but I think it’s better to use it later…

spacevim100

And here is how to uninstall / remove  SpaceVim from your LInux Computer:

curl -sLf https://spacevim.org/install.sh | bash -s — uninstall

remove-spaceVIM

Finally I get my standard VIM back…

myvim1.png

Laravel PHPUnit: Check form submit redirection

I just made a Laravel  UnitTest to test and make sure that my create function is working and redirects user to the right url after form post submitted , this is how I make it work:


public function testSurveysCreateSuccess()
    {
        $form = [
            'name' => 'New Survey',
            'type' => 'Lecturer',
            'description' => 'It\'s a text'
        ];

        $url =  '/admin/courses/'.$this->course->id.'/surveys';

        $response = $this->actingAs($this->user)->call('POST', $url, $form);
        $this->assertEquals(302, $response->status());
        $redirect_to = $response->getTargetUrl();

        $this->assertEquals($redirect_to, $this->baseUrl.$url);
    }

Cara pengajuan kepemilikan kartu kredit Bank

Kepemilikan kartu kredit saat ini sudah tidak dapat lagi dihindari terutama untuk mereka yang bekerja dan berbisnis menggunakan teknologi berbasis teknologi informasi komputer, kebutuhan kartu kredit mulai dari membayar tagihan server, cloud hosting hingga membayar berbagai layanan online dan offline banyak yang mensyaratkan penggunaan kartu kredit sebagai sarana pembayaran yang disarankan (atau kadang satu-satunya layanan pembayaran yang ditawarkan).

Mungkin beberapa orang belum faham bagaimana cara mengajukan kepemilikan kartu kredit ke Bank yang ada di Indonesia, cara termudah untuk mendapatkan kepemilikan kartu kredit adalah dengan menghubingi marketing kartu kredit yang telah berpengalaman untuk mengurus pengajuan kartu kredit dan tentunya dapat membantu anda dalam menyiapkan berbagai persayaratan dan juga memberikan anda masukan bagaimana dan apa yang harus dikatakan kepada surveyor kartu-kredit bila nanti mereka menelpon maupun mendatangi kantor dan rumah anda.

Berikut persyaratan dan informasi umum yang diminta oleh Bank dalam mengajukan kepemilikan kartu-kredit oleh karyawan:

  • KTP
  • NPWP
  • No HP yang aktif
  • No Kantor
  • No Keluarga yang tidak serumah
  • Nama lengkap Ibu kandung
  • Pendidikan terakhir
  • Status kepemilikan rumah
  • Alamat tempat tinggal (Alamat bila berbeda sesuai KTP)
  • Lama menempati rumah tersebut
  • Alamat Kantor
  • No Telp Kantor
  • Slip Gaji Tiga bulan terakhir
  • Posisi di perusahaan
  • Lama bekerja diperusahaan (Biasanya min 2 tahun)

Tips Pengajuan kartu kredit

  • Untuk no keluarga yang tidak serumah pastikan mereka diberitahu bila akan dihubungi oleh Bank terkait pengajuan Kartu kredit anda.
  • Pastikan anda sudah bekerja minimun lebih dari 2 tahun untuk kantor current company.
  • Gaji diatas 4 Juta.
  • Selalu ada orang dirumah dan di kantor supaya ada yang menjawab pertanyaan-pertanyaan surveyor kartu kredit yang datang ke rumah maupun untuk menjawab telepon.

 

 

Bank Tempat Penukaran Uang ke Pecahan Kecil Recehan untuk Lebaran

Saat mendekati lebaran biasanya tempat penukaran uang recehan ramai dipenuhi masyarakat yang ingin menukarkan uangnya ke pecahan kecil misalnya pecahan 1000, 2000, 5000, 10000, nah opsi yang paling mudah adalah dengan menggunakan jasa penukaran uang dipinggir jalan, hanya saja penukaran uang recehan dipinggir jalan tentunya tentunya uang yang kita tukarkan bukan senilai yang kita berikan, misal uang 100rb paling kalo di tukar hanya cair 90rb atau 95rb saja.

pernukaran uang

 

Kebetulah hari ini saya juga berniat menukarkan uang ke nominal kecil/receh setelah melakukan googling dan tanya sana sini akhirnya saya tahu bahwa Bank BI sudah menunjuk beberapa Bank untuk melayani penukaran uang ke nominal kecil

Nah supaya lebih irit dan tidak kehilangan sejumlah nilai uang saat di tukarkan ada baiknya kita pergi ke Bank saja untuk menukarkan uang kita dengan uang recehan, adapun bank-bank umum yang melayani penukaran uang pecahan kecil / receh adalah sebagai berikut:

Menukarkan uang di Bank Umum

  • Bank Mestika,
  • Bank BCA,
  • Bank Mandiri,
  • Bank Sumut,
  • Bank BNI,
  • Bank Mega,
  • Bank BRI,
  • Bank Permata,
  • Bank Danamon,
  • Bank CIMB Niaga,
  • Bank Mandiri Syariah,
  • Bank BRI Syariah,
  • Bank BNI Syariah,
  • Bank Maybank,
  • Bank Muamalat.

Menukarkan Uang di BPR, Selain 15 bank umum itu, BI juga bekerja sama dengan 14 Bank Perkreditan Rakyat (BPR) untuk melayani penukaran uang pecahan kecil kebutuhan Ramadan dan Lebaran. Ke 14 BPR itu yakni :

  • BPR Disky Surya Jaya,
  • BPR Duta Paramarta,
  • BPR Guna Rakyat,
  • BPR Hombar Makmur,
  • BPR Karyabhakti Ugahari,
  • BPR Laksana Abadi Sunggal,
  • BPR Mitra Sumber Makmur,
  • BPR Milala, BPR NBP13,
  • BPR NBP18,
  • BPR NBP22,
  • BPR NBP25,
  • BPR Prima Madani,
  • BPR Prima Tata Patumbak.

Maksimum penukaran uang per-hari:

“Tiap-tiap masyarakat per harinya dapat menukarkan uang pecahan kecil dengan nilai Rp.3.250.000,”

Demikian Bank-bank umum dan BPR yang bisa digunakan sebagai pilihan kita menukarkan uang, semoga bermanfaat dan selamat berpuasa…

Golang: Collection of structs

This post intended to be my personal note regarding struct collection (map with structs inside):

Link: https://play.golang.org/p/Tj3cpLu-mu

package main

import (
	"fmt"
)

type Animalia struct {
	fart bool
}

type Person struct {
	Animalia // Embedding as extend replacement
	Name, Address string
}

func (p Person) print() {
	if p.Animalia.fart {
		fmt.Println(p.Name, p.Address)
	}
}

type Human interface {
	print()
}

func humanCheck(h Human) {
}

func main() {
	person := Person{
		Animalia{
			true,
		},
		"Yusuf",
		"Jalan No.90",
	}

	person.print()

	// Collection
	people := map[int]Person{
		1: { Animalia{true}, "jhoni", "Jl. Kehidupan no.90"},
		2: { Animalia{true}, "Rhey", "Jl. Kehidupan no.99"},
		3: { Animalia{true}, "Rhona", "Jl. Girang no.77"},
	}

	for _, person := range people {
		humanCheck(person)
		person.print()
	}
}

Output

structoutput1.png

Menambahkan Rekening tujuan dan Transfer Uang Tunai dengan CIMB Clicks

Dibawah ini adalah cara untuk transfer dari CIMB Niaga ke bank lain atau ke sesama bank CIMB Niaga :

1.login
Login ke Akun CIMB Clicks anda
2.pilihRekeningTujuan
Pilih menu transfer

 

3. pilih rekening
Pilih rekening sumber dan tujuan
5.transferInfo
Biarkan apa adanya dan next
6.transferInfo
Masukan MPin anda yang dikirim ke hp via sms lalu submit

8.resendMpin

10.success
Informasi transaksi
11.menuAddNewAccountDestination
bila belum ada no rkening tujuan maka daftarkan dulu dengan klik “Favorites account Transfer”
12.1.To Other CIMB Niaga Accounts - Rekening Ponsel
Favorites account Transfer untuk sesama CIMB Niaga
12.2.To Other CIMB Niaga Accounts - Rekening Ponsel
Menambah Tujuan rekening sesama CIMB Niaga

13.0.tambahFavoriteAcoount

13.1.addFavBankLain
List Favorites account Transfer untuk beda bank / selain cimb niaga
13.2.addFavBankLain.png
Tambahkan No rekening tujuan dan Pilih Bank nya

16.saatLogoutadanotifikasi berhasil

22.tutorialLogin
cek manual tentang login di sini

Google App Engine: Setting up GAE Local Development Server

In this blog post I’m going to show you about install and setting up Google Cloud SDK in Local computer environment for Go / Golang web development, my current computer runs Ubuntu 14.04 as primary os but I’m quite sure that the following steps run on the latest Ubuntu as well.

Requirements :

  1. Ubuntu 14.04 or later
  2. Python 2.7.x or later
  3. Java 1.7 or later
  4. Git

Let’s start the journey :

Download Google Cloud SDK
Download Google Cloud SDK
Extract Google Cloud SDK to local folder
Extract Google Cloud SDK to local folder
Install Google Cloud SDK to local system
Install Google Cloud SDK to local system
Choose yes to improve Google Cloud SDK
Choose yes to improve Google Cloud SDK
Update environment variables / bashrc path
Update environment variables / bashrc path
Update environment variables / bashrc path
Update environment variables / bashrc path
Restart / Reload Bash
Restart / Reload Bash
GCLOUD Init and Login
GCLOUD Init and Login
GCLOUD Init and Login to browser
GCLOUD Init and Login to browser
GCLOUD Init and Login to browser
GCLOUD Init and Login to browser
GCLOUD Init and Login to browser
GCLOUD Init and Login to browser
Give Permission
Give Permission
Give Permission
Give Permission

22.WebLoggedIn

Terminal Logged in
Terminal Logged in
Select Project
Select Project
Check Development App Server
Check Development App Server
Generate ssh Public Key
Generate ssh Public Key
SSH Public Key
SSH Public Key
GitLab Settting
Gitlab Setting
GitLab Settting
GitLab Settting
GitLab SSH Pub key
GitLab SSH Pub key
Install GIT
Install GIT
Clone Code From Repository
Clone Code From Repository
Run development server
Run development server
Runs application
Runs application
Local Web Application
Local Web Application
Admin Server
Admin Server