Force Akismet to Load From HTTPS
On your akismet.php around line 40, find:
define( 'AKISMET__PLUGIN_URL', plugin_dir_url( __FILE__ ) );
replace it with:
define( 'AKISMET__PLUGIN_URL', str_replace('http', 'https', plugin_dir_url( __FILE__ )) );
#EOF
Sade Olutola
Stranger Things

Product Placement
taylor price
Lint Roller? I Barely Know Her
Cosimo Galluzzi
Show & Tell
The Stonewall Inn
No title available

ellievsbear
YOU ARE THE REASON
Cosmic Funnies
official daine visual archive

tannertan36
ojovivo
2025 on Tumblr: Trends That Defined the Year
🩵 avery cochrane 🩵

pixel skylines

izzy's playlists!
Misplaced Lens Cap
seen from Norway
seen from United States
seen from Portugal

seen from Malaysia
seen from United States

seen from United Kingdom
seen from United States
seen from United Kingdom
seen from Türkiye
seen from United States

seen from United States

seen from Brazil
seen from United States

seen from Singapore

seen from United States
seen from United Kingdom
seen from Poland

seen from United States
seen from United Kingdom

seen from United States
@codehorizon
Force Akismet to Load From HTTPS
On your akismet.php around line 40, find:
define( 'AKISMET__PLUGIN_URL', plugin_dir_url( __FILE__ ) );
replace it with:
define( 'AKISMET__PLUGIN_URL', str_replace('http', 'https', plugin_dir_url( __FILE__ )) );
#EOF
Detect UIColor Dark or Light Block
BOOL (^isDark)(UIColor *) = ^(UIColor *color){ const CGFloat *component = CGColorGetComponents(color.CGColor); CGFloat brightness = ((component[0] * 299) + (component[1] * 587) + (component[2] * 114)) / 1000; if (brightness < 0.75) return YES; return NO; };
Centos 7 Upgrade
Karena Centos terkenal dengan kesibukannya yang membuat mereka tidak sempat mengimpor, menguji, dan membuat ulang upgrade tool dari RHEL, mari kita upgrade Centos dengan tool Red Hat.
wget http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-33.el6.x86_64.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.13-1.el6.noarch.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-33.el6.x86_64.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/python-rhsm-1.9.7-1.el6.x86_64.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm sudo yum localinstall preupgrade-assistant-* sudo preupg sudo yum localinstall redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm python-rhsm-1.9.7-1.el6.x86_64.rpm sudo rpm --import http://isoredirect.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7 sudo redhat-upgrade-tool --network 7.0 --instrepo http://mirror.centos.org/centos/7.0.1406/os/x86_64/ --force sudo shutdown -r now
Note: Percobaan upgrade dari Centos 6.5
EOF.
Menampilkan Daftar Fonts di iOS
http://stackoverflow.com/questions/8090916/fonts-on-ios-device/24324467#24324467
Objective-C
for (NSString *familyName in [UIFont familyNames]){ NSLog(@"Family name: %@", familyName); for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@"-- Font name: %@", fontName); } }
Swift
for familyName:AnyObject in UIFont.familyNames() { println("Family Name: \(familyName)") for fontName:AnyObject in UIFont.fontNamesForFamilyName(familyName as String) { println("-- Font Name: \(fontName)") } }
EOF.
Golang Hash256
hash := sha256.New() hash.Write([]byte(message)) hashedMsg := hash.Sum(nil) //Convert to string hashedMsgString := hex.EncodeToString(hashedMsg)
EOF
Golang dengan Monit
Bagi saya, idealnya, ketika sebuah aplikasi diluncurkan, developer tak perlu lagi selalu memeriksa apakah aplikasi itu masih berjalan atau sudah tumbang. Untuk mencapai tahap ini saya bisa membuat script + cron yang akan memeriksa kondisi aplikasi secara berkala. Atau pada pengalaman saya, di beberapa lingkungan sudah ada utilitas pendukungnya. Seperti uWSGI yang bisa dipakai oleh Python.
Dan monit adalah hadiah dari surga untuk developer yang malang dan suka jalan-jalan. Setidaknya yang lebih memilih berlama-lama di depan TextMate atau X-Code ketimbang mengetik di terminal dengan vi atau hanya sekedar ps aux | grep -i "kapanlibur" di bash shell.
Go (Golang)
Menjalankan sebuah aplikasi Go bisa dengan beberapa cara, dengan go run atau dengan executable binary yang dihasilkan dari go build. Selanjutnya untuk mempermudah hidup, saya membuat 2 script.
start.sh
#!/bin/bash /usr/local/go/bin/go run /go/*.go & echo $! > /tmp/golang/brow.pid
dan stop.sh
#!/bin/bash pid=`cat /tmp/golang/brow.pid` kill -9 $pid
Monit
Pada mesin Ubuntu 12.04, tambahkan konfigurasi monit di (sudo) vi /etc/monit/conf.d/golang.cfg
check process brow with pidfile /tmp/golang/brow.pid start program = "/bin/sh /brow/start.sh" with timeout 60 seconds stop program = "/bin/sh /brow/stop.sh" if cpu > 60% for 2 cycles then alert if cpu > 80% for 5 cycles then restart if totalmem > 200.0 MB for 5 cycles then restart
Lalu jalankan
$ (sudo) monit -t $ (sudo) monit start all
Selanjutnya pesan tiket satu arah dan berkemaslah.
EOF.
Galat Clang "Argument Unused During Compilation" Pada Mavericks
Ketika menjalankan Go pada MacOS Mavericks saya mendapati galat sebagai berikut:
clang: error: argument unused during compilation: '-fno-eliminate-unused-debug-types' clang: error: argument unused during compilation: '-fopenmp'
Clang adalah C/C++/Objective-C/Objectice-C++ compiler yang dibuat di atas LLVM yang disponsori oleh Apple.
Untuk memperbaiki galat ini, tambahkan
$ export CC=clang $ cc -v Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) Target: x86_64-apple-darwin13.0.0 Thread model: posix
EOF.
Memperbarui WordPress Lewat Command Line
Jika butuh adrenalin tambahan, jangan backup basis data & filenya sebelum melakukan update.
$ cd /tmp $ wget http://wordpress.org/latest.tar.gz $ tar -xvf latest.tar.gz $ cd /your/blog/brow/ $ cp -avr /tmp/wordpress/* . $ rm -rf /tmp/wordpress /tmp/latest.tar.gz
Lalu buka http://your-blog-brow.com/wp-admin/upgrade.php
EOF
Galat Insecure World Writable Dir pada TextMate Bundle
Saya pecinta editor text TextMate dari Macromates. Selain ringan, dan bersih, kekayaan bundle-nya menjadikan ia sebagai editor text utama di mesin saya.
Adakalanya ketika mengupgrade atau downgrade sistem operasi, menginstall ulang TextMate, atau Anda tak sengaja salto ke belakang tiga kali ketika mengetik kode; bundle TextMate mengeluarkan peringatan seperti ini ketika diakses:
warning: Insecure world writable dir
Karena peringatannya jelas sekali maka solusinya juga sejelas ini:
$ chmod -R o-w ~/Library/Application\ Support/TextMate/
EOF
Deklarasi Array
Array adalah salah satu struktur data fundamental di semua bahasa pemrograman, ya hampir semuanya. Python tidak mengenal array, tapi ia punya list yang lebih umum dan bisa menjadi array dengan mudah.
Python
list_tapi_array_bro = ['Jennifer Lawrence', 'Julia Stiles', 'Bruce Wayne']
Java
String[] arrayBro = {"Jennifer Lawrence", "Julia Stiles", "Farhat Abbas"};
Objective-C
NSArray *arrayBro = [NSArray arrayWithObjects:@"Jennifer Lawrence", @"Julia Stiles", @"Tony Stark", nil];
Tapi saya lebih suka yang ini:
NSArray *arrayBro = @[@"Jennifer Lawrence", @"Julia Stiles", @"Tony Stark"];
Go
arrayBro := [3]string{ "Jennifer Lawrence", "Julia Stiles", "John Lennon" }
PHP
$array_bro = array('Jennifer Lawrence', 'Julia Stiles', 'Rhoma Irama');
Dan sekali lagi, saya lebih menyukai yang sederhana, tapi ini hanya berjalan di versi 5.4 ke atas.
$array_bro = ['Jennifer Lawrence', 'Julia Stiles', 'Rhoma Irama'];
Note
Pada bahasa pemrograman yang tipe datanya kuat dan statis, array hanya berisi satu jenis tipe data. Sedangkan yang tipe datanya tidak kuat atau punya pengecekan dinamis, isinya bisa campur ya gitu deh.
Periksa dulu kuat atau lemahnya, statis atau dinamisnya pengecekan tipe data bahasa pemrograman Anda.
Biasanya deklarasi array tidak hanya dalam satu cara, banyak jalan menuju ke Roma. Tentu saja di Roma espressonya murah dan enak.
EOF.
Debug Core Data
Tambahkan -com.apple.CoreData.SQLDebug 1 pada Arguments Passed On Launch di menu Edit Scheme > Run {Your App}.app
EOF.
Ukuran Text Otomatis UILabel di iOS 6.0
Tambahkan kode berikut untuk mengeset ukuran text UILabel agar bisa melar dan mengkerut secara otomatis
labelBro.minimumScaleFactor = {UkuranMin}/{UkuranPas}; labelBro.adjustsFontSizeToFitWidth = YES;
Lengkapnya seperti ini:
float pas = 17.0f; float minim = 10.0f; UILabel *labelBro = [[UILabel alloc] initWithFrame:cgrectFrameBro]; labelBro.text = @"Text"; labelBro.font = [UIFont fontWithName:@"Helvetica Neue" size:pas]; labelBro.minimumScaleFactor = minim/pas; labelBro.adjustsFontSizeToFitWidth = YES;
Untuk iOS 6.0 ke bawah, ganti minimumScaleFactor dengan minimumFontSize yang isinya ukuran minimum, bukan scale. Karena minimumScaleFactor hanya tersedia di iOS 6.0 ke atas.
Tapi ya bro, masak hari gini masih mikirin iOS versi lama, jangan kayak Android lah.
EOF.
Tentang Block
Block adalah closure dalam lingkungan Objective-C. Tak masalah jika belum pernah mendengarnya, mungkin kenalannya dengan ekspresi lambda atau fungsi anonim. Ya semacam itulah.
Dalam Objective-C block ada di mana-mana. Di NSURLConnection, dalam dispatch_async, Apple sangat menyukai block. Sintaksnya memang busuk tapi block sangat berguna.
Contoh paling kelihatan adalah implementasi callback. Dalam Objective-C callback bisa diwujudkan lewat dua cara:
Yang cetha wela-wela; delegate way, dan
Yang lebih sederhana; block.
Coba lihat metode NSURLConnection sendAsynchronousRequest ini
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { // }];
Alih-alih memakai delegate untuk connection:didReceiveResponse: connection:didReceiveData: connection:didFailWithError: connectionDidFinishLoading: ia memakai block untuk menangkap respon, data, serta galat. Cukup elegan.
Busuk tapi ajaib. Karena semua variabel dalam scope yang sama dengan block akan dipertahankan meskipun sudah dilempar keluar dan kembali lagi. Bagus untuk developer pelupa. Jika ia membutuhkan beberapa obyek sebelumnya, kemungkinan besar obyek itu masih ada di block, hal yang susah dilakukan oleh delegate.
Membuat Block
Ini adalah sintaks busuk dari block, diambil tanpa izin dari http://fuckingblocksyntax.com/
variabel lokal
kembalian (^namaBlock)(tipeParameter) = ^kembalian(parameter,...) {...};
properti
@property (nonatomic, copy) kembalian (^namaBlock)(tipeParameter);
parameter metode
- (void)metodeDenganBlock:(kembalian (^)(tipeParameter))namaBlock {...}
argumen untuk memanggil metode
[obyek metodeDenganBlock: ^kembalian (parameter,...) {...}];
typedef
typedef kembalian (^namaType)(tipeParameter); namaType namaBlock = ^(parameter,...) {...}
EOF.
Cocoapods
Package manager adalah salah satu hal terbaik yang pernah ada dalam dunia pustaka. Di Ubuntu ada apt-get, Python punya pypi, Ruby dengan gem, npm pada NodeJS, Golang go get, bahkan PHP pun sudah memiliki composer. Bisa ditebak dari namanya, cocoapods, adalah package manager untuk lingkungan Objective-C.
Instalasi
$ sudo gem install cocoapods
Konfigurasi
Buat berkas Podfile dalam direktori proyek X-Code.
$ cd /Your-X-Code-Project/ $ nano Podfile
Tambahkan pustaka yang akan digunakan. Sebelumnya, cantumkan konfigurasi minimum sistem operasi yang akan digunakan.
platform :ios, '7.0' pod "AFNetworking", "~> 2.0"
Unleash the Batpod!
Update cocoapods dengan perintah:
$ pod install
Buka berkas .xcworkspace untuk memulai proyek.
Note: Updating the Pod
$ sudo gem update cocoapods
EOF.
Cek iPhone 5 Dalam Konstanta
Yang saya sukai dari Objective-C adalah kemampuan konstantanya menerima fungsi sederhana. Ini adalah contoh bagaimana memasukkan fungsi untuk mengecek apakah gawai itu adalah iPhone 5 atau bukan.
#define IPHONE_5 ([[UIDevice currentDevice]userInterfaceIdiom] == UIUserInterfaceIdiomPhone) && ([[UIScreen mainScreen] bounds].size.height == 568)
Untuk memanggilnya cukup sertakan dalam kondisional sederhana.
if(IPHONE_5){ .... }
EOF
Mengatasi Koneksi Socket yang Terbatas
Koneksi yang tersedia untuk Socket server di Python sangat tergantung dengan konfigurasi sistem operasi yang digunakan.
socket.listen(backlog) Listen for connections made to the socket. The backlog argument specifies the maximum number of queued connections and should be at least 1; the maximum value is system-dependent (usually 5).
Dalam lingkungan mesin Ubuntu bisa dicek maksimal koneksi dengan perintah ini
sudo sysctl -a | grep somaxconn
Nilai default dari mesin Ubuntu 12.04 adalah 128
net.core.somaxconn = 128
Untuk mengubah nilai maksimal koneksi socket bisa dengan mengedit file /etc/sysctl.conf dan tambahkan baris ini pada akhir file net.core.somaxconn = 32768. Pada pengalaman saya, agar konfigurasi dipatuhi Ubuntu, mesin perlu direstart, digoyang-goyang, dan dipuk-puk.
PS: sudo sysctl -p /etc/sysctl.conf
EOF
Memperindah Kode
Saya suka kode yang indah, indentasi yang rapi, tapi cukup malas untuk mendisiplinkan diri setiap mengetik kode (kecuali ketika mengencani Python tentu saja).
Berikut ini adalah sarana penunjang kemalasan saya.
Objective-C & X-Code
BB Uncrustify plugin X-Code untuk merapikan kamar yang berantakan.
Go & TextMate
Go Tmbundle TextMate bundel dari dari Alan Quatermain untuk membuat hati berbunga-bunga dengan ⌃Œƒ + ⇧ + H.
PHP & TextMate
Wee PHP Beautifier dengan ⌃Œƒ + ⌥ + ⌘ + p kode busuk dengan "tanda tanya" itu menjadi cukup enak dilihat.
Java Android & Eclipse
Cukup buka preference dan set Java > Code Style > Clean Up dan Java > Code Style > Formatter. Lalu bisa diakses via jalan cepat ke surga ⌘ + ⇧ + F.
EOF