Monday, December 28, 2015

How To Make Program to Corrupt File (Java)

Sometime we intentionally want our file to be corrupted e.g. to test software reliability. So, I made a program in Java that intentionally corrupt file. Please be careful to use this program as this program will make your file corrupt and cannot be reverted. Please backup your file before making it corrupt.

OK, the logic is very simple. For each byte in the file, I simply put any random character (ASCII character is from 0 to 255). Here is the complete Java program:

import java.io.RandomAccessFile;
import java.util.Random;

/**
 *
 * @author arwankhoiruddin
 */
public class CorruptFile {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        String FILEPATH = args[0];

        System.out.println("File to corrupt: " + FILEPATH);
        System.out.println("File corruption process started");
     
        try {
            RandomAccessFile file = new RandomAccessFile(FILEPATH, "rw");
            Random r = new Random();
            for (int i=0; i                
                String dt = "" + (char) r.nextInt(255);
                file.seek(i);
                file.write(dt.getBytes());
            }
            file.close();
         
            System.out.println("File " + FILEPATH + " has now been corrupted. Enjoy!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}


Sunday, December 27, 2015

Tips Berwisata di Saat Liburan Panjang bagi Pembenci Macet dan Keramaian

Saya adalah seorang yang tidak suka pada macet dan tempat wisata yang terlalu ramai. Saya tidak suka macet karena macet bikin waktu serasa cuma habis di jalan. Saya tidak suka tempat wisata yang terlalu ramai karena tujuan berwisata adalah menikmati alam dan menikmati quality time bersama keluarga. Di tempat wisata yang terlalu ramai, waktu biasanya akan dihabiskan untuk nyari tempat parkir, nyari tempat kosong untuk berteduh atau bermain, dan susah sekali untuk bisa menikmati tempat wisatanya sendiri karena justru yang terlihat adalah ramainya.

Pada liburan panjang seperti ini (natal dan tahun baru di akhir minggu ditambah dengan liburan anak sekolah), kondisi jalan dan tempat wisata mainstream sungguh sangat tidak menarik. Di mana-mana jalanan macet, dan di tempat-tempat wisata, terlalu banyak orang yang berkunjung.

Untuk menyiasati, ada beberapa hal yang bisa dilakukan:
1. Jangan lewat jalan yang biasa dilewati orang. Carilah jalan alternatif (lebih baik gunakan aplikasi peta seperti google map atau waze. Mencari jalur alternatif sendiri tanpa bantuan aplikasi kadang justru akan menghabiskan waktu ketika menemui jalan buntu).

2. Carilah objek wisata baru yang belum terlalu banyak diketahui orang. Objek wisata baru berarti (a) kemungkinan belum ada retribusi masuk (b) parkir gratis (c) tempat belum terkelola dengan baik, atau (d) siap-siap kecewa karena ternyata kondisinya tidak seperti yang diharapkan. Minggu kemarin, saya dan keluarga mendengar ada air terjun baru yang ditemukan beberapa kilo dari rumah. Setelah mendaki gunung lewati lembah, melewati jalan naik turun dan hutan jati yang sangat lebat, ditemani dengan puluhan nyamuk yang setia mengikuti dan menggigit kita sepanjang jalan, akhirnya sampailah kita pada ujung jalan yang dimaksud, dan... akhirnya perjalanan panjang kami sia-sia karena airnya tidak mengalir, saudara-saudara. Hahahaha....

3. Berjalan saja ke jalan-jalan yang belum pernah kita lewati, ikuti feeling. Berlibur tidak harus ke tempat wisata. Menurut saya, mengetahui jalan-jalan baru, tempat-tempat baru, berkenalan dengan orang baru (dan yang jelas, makan di tempat baru) merupakan wisata yang lebih me-refresh.

Itu sedikit tips dari saya. Sebelum saya tutup, ada beberapa pesan dari saya:

1. Wisata itu untuk menikmati, bukan untuk selfie. Sudah banyak sekali korban manusia dan tempat-tempat indah yang jadi korban selfie yang tidak bertanggung jawab.

2. Wisata itu merefresh pikiran, bukan mem-"bunek"-kan pikiran karena jalan macet dan antre wahana yang lama.

Matur nuwun.

Friday, December 25, 2015

Install Python 3 and use VirtualEnv (OS X)

  1. Install xcode: $ xcode-select --install
  2. Install homebrew: $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. Create .bash_profile: $ touch ~/.bash_profile
  4. Put this line inside .bash_profile: export PATH=/usr/local/bin:$PATH
  5. Install python3: $ brew install python3
  6. Create virtual environment. To make it easily found, create it under home: $ cd ~ && pyvenv arwan
  7. Activate the virtual environment created: $ source arwan/bin/activate
  8. Now you can start working in the new virtual environment. Note that it is worth to look at requirements.txt to see required packages on certain projects.