Pernahkah kalian mengalami Kartu Smartfren tidak bisa Nelpon & SMS tapi bisa Internetan? Kalau pernah, jangan buru-buru menjudge bahwa handphone kalian bermasalah atau kartu anda sudah tidak bisa lagi dipakai. Ternyata memang tidak sedikit yang mengalami Kartu Smartfren tidak bisa Nelpon & SMS tapi bisa Internetan. Saya sendiri pernah mengalami hal demikian, waktu itu saya pikir kartu saya sudah diblokir oleh smartfren. Setelah saya mencari informasi di google, saya menemukan kasus serupa. Ternyata penyebab Kartu Smartfren tidak bisa Nelpon & SMS tapi bisa Internetan itu karena belum…Continue Reading “Cara Mengatasi Kartu Smartfren tidak bisa Nelpon & SMS tapi bisa Internetan”
Hallo! mengutip dari situsnya atom.io Atom is a text editor that’s modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file. Beberapa fitur dari atom yaitu: Tweak its UI with CSS and add new features with HTML or Javascript Node.js integration Cross-platform support: Windows, Linux, and OS X. A built-in package manager Smart autocompletion Split Atom interface into multiple panes File system browser Find and replace Support themes Cara install text editor…Continue Reading “Step by Step Install Text Editor Atom di Linux Mint”
Jika kamu telah menginstal beberapa versi PHP (misalnya PHP 7.1 dan PHP 5.6 keduanya). PHP 7.1 berjalan sebagai default PHP untuk Apache dan CLI. Eh, karena ada kebutuhan develop yang perlu menggunakan PHP 5.6. Maka kamu tidak perlu menghapus PHP 7.1. Kamu cukup mengganti versi PHP ke default yang digunakan untuk Apache dan command line. Sebagai contoh, server kamu memiliki PHP 7.1 dan PHP 5.6 yang diinstal oleh kedua versi tersebut. Sekarang contoh berikut akan membantu kamu beralih di antara kedua versi. Dari PHP 5.6…Continue Reading “Cara Pindah / Ganti Versi PHP di Linux Mint”
Berikut ini merupakan cara meng-encrypt MD5 di Javascript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 |
/* * JavaScript MD5 * https://github.com/eksyam/JavaScript-MD5 * * Copyright 2011, Sebastian Tschan * https://blueimp.net * * Licensed under the MIT license: * https://opensource.org/licenses/MIT * * Based on * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message * Digest Algorithm, as defined in RFC 1321. * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet * Distributed under the BSD License * See http://pajhome.org.uk/crypt/md5 for more info. */ /* global define */ ;(function ($) { 'use strict' /* * Add integers, wrapping at 2^32. This uses 16-bit operations internally * to work around bugs in some JS interpreters. */ function safeAdd (x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF) var msw = (x >> 16) + (y >> 16) + (lsw >> 16) return (msw << 16) | (lsw & 0xFFFF) } /* * Bitwise rotate a 32-bit number to the left. */ function bitRotateLeft (num, cnt) { return (num << cnt) | (num >>> (32 - cnt)) } /* * These functions implement the four basic operations the algorithm uses. */ function md5cmn (q, a, b, x, s, t) { return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b) } function md5ff (a, b, c, d, x, s, t) { return md5cmn((b & c) | ((~b) & d), a, b, x, s, t) } function md5gg (a, b, c, d, x, s, t) { return md5cmn((b & d) | (c & (~d)), a, b, x, s, t) } function md5hh (a, b, c, d, x, s, t) { return md5cmn(b ^ c ^ d, a, b, x, s, t) } function md5ii (a, b, c, d, x, s, t) { return md5cmn(c ^ (b | (~d)), a, b, x, s, t) } /* * Calculate the MD5 of an array of little-endian words, and a bit length. */ function binlMD5 (x, len) { /* append padding */ x[len >> 5] |= 0x80 << (len % 32) x[(((len + 64) >>> 9) << 4) + 14] = len var i var olda var oldb var oldc var oldd var a = 1732584193 var b = -271733879 var c = -1732584194 var d = 271733878 for (i = 0; i < x.length; i += 16) { olda = a oldb = b oldc = c oldd = d a = md5ff(a, b, c, d, x[i], 7, -680876936) d = md5ff(d, a, b, c, x[i + 1], 12, -389564586) c = md5ff(c, d, a, b, x[i + 2], 17, 606105819) b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330) a = md5ff(a, b, c, d, x[i + 4], 7, -176418897) d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426) c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341) b = md5ff(b, c, d, a, x[i + 7], 22, -45705983) a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416) d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417) c = md5ff(c, d, a, b, x[i + 10], 17, -42063) b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162) a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682) d = md5ff(d, a, b, c, x[i + 13], 12, -40341101) c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290) b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329) a = md5gg(a, b, c, d, x[i + 1], 5, -165796510) d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632) c = md5gg(c, d, a, b, x[i + 11], 14, 643717713) b = md5gg(b, c, d, a, x[i], 20, -373897302) a = md5gg(a, b, c, d, x[i + 5], 5, -701558691) d = md5gg(d, a, b, c, x[i + 10], 9, 38016083) c = md5gg(c, d, a, b, x[i + 15], 14, -660478335) b = md5gg(b, c, d, a, x[i + 4], 20, -405537848) a = md5gg(a, b, c, d, x[i + 9], 5, 568446438) d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690) c = md5gg(c, d, a, b, x[i + 3], 14, -187363961) b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501) a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467) d = md5gg(d, a, b, c, x[i + 2], 9, -51403784) c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473) b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734) a = md5hh(a, b, c, d, x[i + 5], 4, -378558) d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463) c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562) b = md5hh(b, c, d, a, x[i + 14], 23, -35309556) a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060) d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353) c = md5hh(c, d, a, b, x[i + 7], 16, -155497632) b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640) a = md5hh(a, b, c, d, x[i + 13], 4, 681279174) d = md5hh(d, a, b, c, x[i], 11, -358537222) c = md5hh(c, d, a, b, x[i + 3], 16, -722521979) b = md5hh(b, c, d, a, x[i + 6], 23, 76029189) a = md5hh(a, b, c, d, x[i + 9], 4, -640364487) d = md5hh(d, a, b, c, x[i + 12], 11, -421815835) c = md5hh(c, d, a, b, x[i + 15], 16, 530742520) b = md5hh(b, c, d, a, x[i + 2], 23, -995338651) a = md5ii(a, b, c, d, x[i], 6, -198630844) d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415) c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905) b = md5ii(b, c, d, a, x[i + 5], 21, -57434055) a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571) d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606) c = md5ii(c, d, a, b, x[i + 10], 15, -1051523) b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799) a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359) d = md5ii(d, a, b, c, x[i + 15], 10, -30611744) c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380) b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649) a = md5ii(a, b, c, d, x[i + 4], 6, -145523070) d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379) c = md5ii(c, d, a, b, x[i + 2], 15, 718787259) b = md5ii(b, c, d, a, x[i + 9], 21, -343485551) a = safeAdd(a, olda) b = safeAdd(b, oldb) c = safeAdd(c, oldc) d = safeAdd(d, oldd) } return [a, b, c, d] } /* * Convert an array of little-endian words to a string */ function binl2rstr (input) { var i var output = '' var length32 = input.length * 32 for (i = 0; i < length32; i += 8) { output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF) } return output } /* * Convert a raw string to an array of little-endian words * Characters >255 have their high-byte silently ignored. */ function rstr2binl (input) { var i var output = [] output[(input.length >> 2) - 1] = undefined for (i = 0; i < output.length; i += 1) { output[i] = 0 } var length8 = input.length * 8 for (i = 0; i < length8; i += 8) { output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32) } return output } /* * Calculate the MD5 of a raw string */ function rstrMD5 (s) { return binl2rstr(binlMD5(rstr2binl(s), s.length * 8)) } /* * Calculate the HMAC-MD5, of a key and some data (raw strings) */ function rstrHMACMD5 (key, data) { var i var bkey = rstr2binl(key) var ipad = [] var opad = [] var hash ipad[15] = opad[15] = undefined if (bkey.length > 16) { bkey = binlMD5(bkey, key.length * 8) } for (i = 0; i < 16; i += 1) { ipad[i] = bkey[i] ^ 0x36363636 opad[i] = bkey[i] ^ 0x5C5C5C5C } hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8) return binl2rstr(binlMD5(opad.concat(hash), 512 + 128)) } /* * Convert a raw string to a hex string */ function rstr2hex (input) { var hexTab = '0123456789abcdef' var output = '' var x var i for (i = 0; i < input.length; i += 1) { x = input.charCodeAt(i) output += hexTab.charAt((x >>> 4) & 0x0F) + hexTab.charAt(x & 0x0F) } return output } /* * Encode a string as utf-8 */ function str2rstrUTF8 (input) { return unescape(encodeURIComponent(input)) } /* * Take string arguments and return either raw or hex encoded strings */ function rawMD5 (s) { return rstrMD5(str2rstrUTF8(s)) } function hexMD5 (s) { return rstr2hex(rawMD5(s)) } function rawHMACMD5 (k, d) { return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d)) } function hexHMACMD5 (k, d) { return rstr2hex(rawHMACMD5(k, d)) } function md5 (string, key, raw) { if (!key) { if (!raw) { return hexMD5(string) } return rawMD5(string) } if (!raw) { return hexHMACMD5(key, string) } return rawHMACMD5(key, string) } if (typeof define === 'function' && define.amd) { define(function () { return md5 }) } else if (typeof module === 'object' && module.exports) { module.exports = md5 } else { $.md5 = md5 } }(this)) |
simpan scipt di atas dengan nama md5.js load di file html anda <script src="md5.js"></script> panggil function md5 seperti berikut var hash = md5("value"); contoh demo: https://github.com/eksyam/JavaScript-MD5
Berikut merupakan perintah di terminal untuk mengubah permission folder 755 & file 644:
1 2 |
find -type f | while read LINE; do chmod -v 644 $LINE; done find -type d | grep -v '^\.$' | while read LINE; do chmod -v 755 $LINE; done |
Digit pertama dari Status Code Response HTTP/1.1 mendefiniskan class response. Ada 5 nilai untuk digit pertama tadi: 1xx: Informasi – Permintaan diterima, proses berlanjut 2xx: Sukses – Aksi berhasil diterima, dipahami, dan diterima 3xx: Redirection – Tindakan lebih lanjut harus dilakukan agar lengkap permintaannya 4xx: Client Error – Request mengandung sintaks yang buruk atau tidak terpenuhi 5xx: Server Error – Server gagal untuk memenuhi request yang tidak valid
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
"100" : Continue "101" : Switching Protocols "200" : OK "201" : Created "202" : Accepted "203" : Non-Authoritative Information "204" : No Content "205" : Reset Content "206" : Partial Content "300" : Multiple Choices "301" : Moved Permanently "302" : Found "303" : See Other "304" : Not Modified "305" : Use Proxy "307" : Temporary Redirect "400" : Bad Request "401" : Unauthorized "402" : Payment Required "403" : Forbidden "404" : Not Found "405" : Method Not Allowed "406" : Not Acceptable "407" : Proxy Authentication Required "408" : Request Time-out "409" : Conflict "410" : Gone "411" : Length Required "412" : Precondition Failed "413" : Request Entity Too Large "414" : Request-URI Too Large "415" : Unsupported Media Type "416" : Requested range not satisfiable "417" : Expectation Failed "500" : Internal Server Error "501" : Not Implemented "502" : Bad Gateway "503" : Service Unavailable "504" : Gateway Time-out "505" : HTTP Version not supported |
Berikut merupakan command-command yang dapat anda gunakan untuk menjalankan perintah MySQL di Command Prompt atau Terminal Linux anda:
Setelah saya mengganti image splashscreen di project cordova, terus saya build muncul pesan sebagai berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
* What went wrong: Execution failed for task ':processReleaseResources'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/../../android-sdk-linux/build-tools/23.0.3/aapt'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 3.324 secs Error: /home/../../platforms/android/gradlew: Command failed with exit code 1 Error output: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':processReleaseResources'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/../../android-sdk-linux/build-tools/23.0.3/aapt'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. |
Apakah kalian mengalami kejadian seperti itu? kalau iya, coba jalankan perintah berikut:
1 |
cordova clean |
Setelah itu build ulang, kasus saya solve, mudah-mudahan kalian juga solve! 🙂
Bagi anda yang suka berwisata, pulau dewata bali merupakan destinasi wisata yang layak dan rekomended dijadikan pilihan saat liburan, selain kaya akan wisata yang beragam bali juga merupakan tujuan para wisatawan asing ketika berkunjung ke Indonesia. Sebenarnya untuk dapat berlibur ke Bali sendiri tak harus menunggu waktu liburan panjang. Kala itu saya mengambil cuti kerja yang hanya 3 hari, namun benar-benar bisa mengexplore keindahan yang ada di pulau Bali tersebut. Berwisata sendiri tak harus mahal, kita juga bisa berwisata dengan low budget, misalnya ala backpacker…Continue Reading “4 Tips Memilih Hotel Saat Berwisata Ke Pulau Dewata Bali”
Suatu hari waktu saya menyelesaikan tugas negara (baca: ngoding), saya menemukan masalah kecil tapi harus di selesaikan, masalah tersebut yaitu bagaimana caranya mendapatkan angka diantara string dengan menggunakan bahasa pemrograman php. Nah, mungkin tuan-tuan sekalian juga pernah mengalami hal demikian? Jika benar tuan-tuan ingin mendapatkan angka diantara string, maka tuan-tuan dapat menggunakan regular expressions dengan escape sequence \d Sebagai contoh, berikut source code yang bisa tuan-tuan coba:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php function get_numerics ($str) { preg_match_all('/\d+/', $str, $matches); return $matches[0]; } $one = 'foo bar 4 baz (5 qux quux)'; $two = 'bar baz 2 bar'; $three = 'qux bar 12 quux (3 foo)'; $four = 'foo baz 3 bar (13 quux foo)'; print_r(get_numerics($one)); print_r(get_numerics($two)); print_r(get_numerics($three)); print_r(get_numerics($four)); ?> |
Hasilnya seperti berikut ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Array ( [0] => 4 [1] => 5 ) Array ( [0] => 2 ) Array ( [0] => 12 [1] => 3 ) Array ( [0] => 3 [1] => 13 ) |
Bagaimana tuan-tuan?
Apakah komputer saya 32 bit atau 64 bit? Bagaimana caranya melihat apakah komputer saya 32 bit atau 64 bit? Bagaimana pula mengetahui OS saya 32 bit atau 64 bit? Apakah saya menjalankan OS 32 bit pada CPU 64 bit? Pertanyaan demikian merupakan beberapa pertanyaan umum yang sering di tanyakan. Cara mengetahui apakah komputer kita 32 bit atau 64 bit cukup sederhana. Sebelum kita melihat cara bagaimana mengetahui komputer kita 32 bit atau 64 bit, sebaiknya kita bahas dulu perbedaan keduanya. System 32 bit vs 64…Continue Reading “Cara Mengetahui Komputer / System Operasi 32 Bit atau 64 Bit di Linux”
Siapa sangka, hanya menyelam di kolam bisa memberikan sensasi seperti menyelam di dasar laut. Yups, di kolam umbul ponggok yang terletak di desa ponggok kecamatan polanharjo klaten ini kita bisa merasakan sensasi seperti menyelam didasar laut, btw inget loh, hanya sensasi! Saya sendiri sering kesana, walaupun perjalanan yang saya tempuh dari yogyakarta lumayan lama yaitu berkisar satu setengah jam. Hanya saja dulu setiap kesana tidak pernah melakukan pengambilan gambar didalamnya, karena naluri narsisnya maka pengen juga mengambil gambar ketika menyelam di dasar umbul ponggok ini,…Continue Reading “Umbul Ponggok, Kolam Peninggalan Belanda di Klaten”
Perbedaan bidang kehidupan terkadang menggunakan konsep yang sama. Seperti halnya dalam per-film-an, banyak sekali konsep-konsep pemrograman komputer digunakan dalam film. Dengan menonton film tersebut dapat membantu programmer untuk memahami beberapa konsep pemrograman. Berikut 10 Film Bagus untuk Programmer memahami Konsep Pemrograman beserta konsep-konsep pemrograman yang mereka gunakan: 1. The Matrix (1999) Konsep : online/offline, recursion, loop, matrix, dll. 2. Loopers (2012) Konsep : Loop 3. Tron: Legacy (2010) 4. Next (2007) Konsep : Recursion 5. Final Destination 1, 2, 3, 4, 5 Konsep : if else jump OR
1 2 3 4 5 6 7 8 |
Somebody sb = new Somebody(); try{ makeDead(sb); } exception(e) { //not dead; } finally { changeMethodAndMakeDead(sb) } |
6….Continue Reading “10 Film Bagus untuk Programmer memahami Konsep Pemrograman”
Pernahkan anda melihat video menggunakan Linux? lalu anda bertanya bagaimana caranya orang-orang merekam layar mereka menjadi video di Distro Linux. Dan anda ingin mencoba untuk melakukan hal yang sama? Baiklah, anda tidak perlu bertanya-tanya lagi. Karena kali ini saya ingin menunjukkan bagaimana cara merekam layar monitor anda di linux. Kita akan menggunakan Simple Screen Recorder untuk tujuan kita kali ini. Pertama kita install terlebih dahulu Simple Screen Recorder di Linux. Install Simple Screen Recorder Simple Screen Recorder tersedia di Ubuntu Software Center. Jadi, kita dapat menginstallnya melalui Software Center atau dengan…Continue Reading “Cara Merekam Layar Monitor di Linux dengan Simple Screen Recorder”
Perintah find adalah tool unix yang memungkinkan user untuk menemukan file yang terletak di sistem file melalui kriteria seperti nama file, kapan file terakhir diakses, kapan status berkas terakhir diubah, izin file, pemilik, group , ukuran, atau bahkan jumlah inode. Contoh perintah Find di Linux: Cari file “foo.bar” yang ada di suatu tempat di filesystem
1 |
$ find / -name foo.bar -print |
Jika file ditemukan maka path letak file tersebut akan dicetak sebagai output. Pada kebanyakan platform -print adalah opsional, namun, pada beberapa sistem Unix tidak akan menjadi output tanpa itu. Mencari file yang…Continue Reading “Mencari file menggunakan perintah find di Linux”