Karena Twitter for BlackBerry Itu Terlalu Mainstream
Hasil kemaren kesasar di https://dev.twitter.com/
Hasil kemaren kesasar di https://dev.twitter.com/
Masih kepikiran masalah sampah di jalanan. Bukan sampah daun atau debu yang memang sudah seharusnya ada di sana sih, tapi ini sampah yang sengaja dibuang orang ke jalan.
Banyak oran yang udah nganggap jalan raya dan selokan itu adalah tempat sampah, karena mungkin berpikir nanti juga akan disapu oleh petugas kebersihan. Nah, coba di Bandung, petugas kebersihannya ditugaskan menyapu sampah daun-daunan saja, jangan nyapu sampah buangan manusia, sampai sampah-sampah buangan manusia menumpuk di jalan. Nanti ketika sampah menumpuk di jalan, mungkin akhirnya banyak yang nyadar tentang pentingnya tidak membuang sampah sembarangan.
Beberapa waktu lalu saya dapat email di akun Google, dengan subject email Gmail New Policy. Berikut isi dari email tersebut:
With the new year policy, all accounts not registered/verified will be suspended by the end of the month. We are sorry for the in conveniences but with the increase in accounts daily, we are trying to serve you better.
Lalu ada link bertuliskan Verify Account.
Ketika awal membaca email ini, saya kaget dan cukup paranoid, karena memang pesannya cukup meyakinkan bagi orang yang sedang kaget dan ditambah lagi, beberapa bulan lalu saya sudah kehilangan akun Google utama saya karena dibanned oleh Google. Tapi untungnya saya adalah orang yang lumayan akrab dengan dunia IT, saya bisa agak tenang menghadapi ini, hehe.
Pertama, saya lihat siapa pengirimnya. Ternyata pengirimnya adalah info@info.net ! Nggak ada unsur Google-nya. Mana ada Google mengirim email resmi dengan email tersebut. Alhamdulillah, hanya phising email.. : D
Dan saya coba buka link verifikasi akun palsu ini, lalu langsung terbuka halaman login Gmail, namun di address bar tertulis alamat http://photobolha.com.br/site/Login.html, sebuah website Brazil.
Halamannya tersebut serupa dengan halaman login Gmail. Kalo orang yang nggak tahu dan panik, kemungkinan besar akan langsung saja mengetikan username-nya dan password-nya. Halaman betul-betul serupa, kecuali alamat di address bar saja. Phising memang kejam kawan!
Pesannya adalah, jika mendapat email-email atau apapun semacam itu, cobalah untuk tenang, dan ingat-ingat kita pernah melakukan apa saja dengan akun tersebut. Lalu coba secara teliti perhatikan, apakah ada kejanggalan atau tidak. Modus phising ini cukup populer dan cukup ampuh. Saya pun pernah melakukannya, dan memang efektif : D
Banyak jenis modus phising ini, selain email, ada phising website, phising PIN message di Blackberry, phising phone, phising mail, dan lain-lain. Intinya, dalam berinternet, kita harus selalu waspada, terlebih apabila sesuatu yang kita jaga itu sangat berharga atau rahasia.
*definisiku tentang phising: memalsukan sesuatu yang asli atau resmi dengan yang palsu atau tidak resmi.
Posted with WordPress for BlackBerry.
Saya sering liat sepatu dan sandal berserakan. Keliatannya banyak orang sudah mulai biasa dengan keadaan tersebut, makanya tetap mempertahankannya, bahkan sudah nggak sungkan untuk menginjaknya sembarangan, walau benar sepatu dan sandal itu untuk diinjak. Hmm.
Posted with WordPress for BlackBerry.
Kemarin saya sempat menulis ini di Twitter saya di @ibad_satria, yaitu beberapa hal yang sifatnya trivial mengenai email, khususnya google mail alias gmail.
permohonan maaf saya kepada pemilik email djoko@yahoo.com, salmankan@gmail.com atau sejenisnya, dan baba@gmail.com dan sejenisnya, saya telah memakai alamat emailnya. Mohon maaf apabila nanti akan ada bot yang melakukan spamming.
Dipikir-pikir, bahasa pemrograman Scala sudah semakin populer saat ini di Indonesia. Banyak keunggulan dari bahasa dan paradigma Scala ini dibandingkan dengan bahasa dan paradigma pemrograman lain. Paradigma pemrograman ini adalah fungsional. Kelebihan yang bisa dilihat secara langsung dari paradigma fungsional ini adalah line of code bisa jauh lebih sedikit dibandingkan line of code paradigma pemrograman lainnya alias ringkas.
Contoh:
Untuk mencari jumlah dari angka 1 sampai 10, dalam Java, kita perlu membuat fungsi sebagai berikut:
int menjumlahkanDari1Ke10() {
int val = 0;
for(int i = 1; i <= 10; i++) {
val += i;
}
return val;
}
kurang lebih 7 lines of code.
Sedangkan di Scala:
def menjumlahkanDari1Ke10() = (1 to 10).toList.foldLeft(0)(_+_)
Hmm..Cukup dengan 1 line of code saja.
Fitur lain yang luar biasa, menurut saya:
1. Actor, untuk concurency. Yang kelihatannya sudah pasti thread-safe
2. Trait, padanannya interface class di Java
3. dll
Ok, it’s wrap.
Kupikir banyak anak IF ITB termasuk saya yang mempelajari Scala memiliki rasa penyesalan atas pemrograman fungsional ini, kenapa dulu ketika kuliah di tingkat 1, pemrograman fungsional kurang serius : D
Sejak beberapa waktu lalu saya menemukan keanehan di fungsi bawaan Scala, foldRight. Berikut:
Pertama saya buat list berukuran kecil yang bernama babaPendek:
var babaPendek = 1 to 10 toList babaPendek: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Lalu saya buat list berukuran besar bernama babaPanjang:
var babaPanjang = 1 to 10000 toList babaPanjang: List[Int] = List(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, ...
Kita cobakan babaPendek dengan foldLeft:
babaPendek.foldLeft("ah")(_+_)
res6: java.lang.String = ah12345678910
Lalu babaPanjang dengan foldRight:
babaPendek.foldRight("ah")(_+_)
res7: java.lang.String = 12345678910ah
Tidak ada masalah menggunakan fungsi foldLeft dan foldRight pada list babaPendek. Lalu kita cobakan fungsi foldLeft dan foldRight pada list babaPanjang:
babaPanjang.foldLeft("ah")(_+_)
res8: java.lang.String = ah12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229...
Ternyata sukses!
Lalu foldRight pada list babaPanjang:
babaPanjang.foldRight("ah")(_+_)
java.lang.StackOverflowError
at scala.collection.immutable.List.foldRight(List.scala:45)
at scala.collection.LinearSeqOptimized$class.foldRight(LinearSeqOptimized.scala:120)
at scala.collection.immutable.List.foldRight(List.scala:45)
at scala.collection.LinearSeqOptimized$class.foldRight(LinearSeqOptimized.scala:120)
at scala.collection.immutable.List.foldRight(List.scala:45)
at scala.collection.LinearSeqOptimized$class.foldRight(LinearSeqOptimized.scala:120)
.......................................
at scala.collection.immutable.List.foldRight(List.scala:45)
at scala.collection.LinearSeqOptimized$class.foldRight(LinearSeqOptimized.scala:120)
Ternyata foldRight ga bekerja pada list yang berukurang besar, gagal! Nggak tahu kenapa : D
Solusi dari saya untuk menggantikan fungsi foldRight pada list yang berukuran besar, gunakan:
babaPanjang.reverse.foldLeft("ah")(_+_)
Setelah cari-cari di internet kenapa-kenapanya foldRight bermasalah pada list berukuran besar, ternyata implementasi foldRight menggunakan rekursif, sedangkan foldLeft tidak, alias hanya pakai loop biasa.
Udah sih, aman pakai reverse.foldLeft untuk menggantikan foldRight
Teambox dan Redmine adalah project management tool yang saya sudah cukup akrab dengan mereka. Keduanya merupakan tool yang baik untuk berkoordinasi dengan anggota tim dalam sebuah project. Tapi keterbatasan cukup berakibat pada tim saya. Redmine, project management tool yang simple tapi powerful, ternyata membutuhkan server untuk hosting. Sedangkan Teambox, walau cloud, masih dibatasi oleh maksimal 3 buah project. Sedangkan saya sedang menghadapi lebih dari 3 project : D
Baru kemarin saya diperkenalkan oleh anggota tim sebuah task management tool, Asana. Dari user interface-nya saja sudah eye-catching. Dan ketika melihat ke dalam, ternyata sangat simple, mudah dimengerti. Dibandingkan dengan tools yang sebelumnya kami gunakan, Asana ini paling nyaman untuk digunakan.
Dan satu catatan, Asana ini tidak khusus didedikasikan untuk software development project, tapi juga untuk holiday project ataupun arisan project pun pas untuk digunakan, karena sistem navigasinya cukup mudah bagi orang awam sekalipun. Itu menurut saya. Terlebih, saya paling suka dengan fitur comment, mirip Facebook, hehe.
Sayangnya, untuk aplikasi mobile, Asana belum menyediakan untuk Blackberry.
Tapi sebenarnya email atau google docs pun bisa kita optimalkan jika hanya sekadar koordinasi yang sederhana.
kekurangan: mesti selalu online
tim gw ada yang di jogja. Makanya online itu udah kewajiban
Ini kopas dari kaskus Gan!
:
Ya Tuhan, kalau dia memang jodohku,
dekatkanlah….
Tapi kalau bukan jodohku,
maka jodohkanlah…
Jika dia tidak berjodoh denganku,
maka jadikanlah kami jodoh…
Kalau dia bukan jodohku,
jangan sampai dia dapat jodoh yang lain selain aku…
Kalau dia tidak bisa dijodohkan denganku,
jangan sampai dia dapat jodoh yang lain, biarkan dia tidak
berjodoh sama seperti diriku,
Dan saat dia telah tidak memiliki jodoh,
jodohkanlah kami kembali…
Kalau dia jodoh orang lain,
putuskanlah, Jodohkanlah denganku..
Jika dia tetap menjadi jodoh orang lain,
biar orang itu ketemu jodoh dengan yang lain dan kemudian
Jodohkanlah kembali dia denganku…
sumber:ilovekaskus
nuhun bad,,,
malem ini mu bdoa minta jodoh,,
heheehehehehe…
izin repos, Gan 😀
ahahaha
itu bukan doa
itu ngarep mode “oo”
Banyak sekali di antara developer web yang melakukan developing web di atas platform windows, walaupun web akan running di sistem unix. Memang tidak begitu masalah, karena saat ini sudah banyak tools dan software yang flexible yang cross platform. Saya pun termasuk orang yang sering mengerjakan aplikasi web pada Windows kemudian di-deploy di atas web host unix.
Hal tersebut sangat wajar dan memungkinkan. Akan tetapi, ada hal – hal yang perlu diperhatikan jika melakukkan hal ini. Saya pernah mengalami suatu kejadian yang membingungkan akibat bekerja di dua sistem yang berbeda ini.
Teman proyek saya memberikan skema database lengkap untuk proyek web yang sedang dikerjakan. Saya pun melakukan import ke dalam phpmyadmin pada komputer saya. Dan ketika dilihat – lihat, konvensi penamaan tabel – tabel pada database adalah seperti contoh berikut:
Tbl_MhsBaru, Tbl_KeuMhsBaru.
Sungguh sangat membingunkan, karena style penamaannya tidak konsisten. Style-nya, antara java coding style, dan apa style gitu.. (hehe). Pokoknya penamaan semacam ini bukan best practice.
Yang lebih membingunkan adalah ketika saya mulai masuk ke dalam fase coding, saya mulai menggabungkan code dan database. Contoh code:
$query = "SELECT tbl_mhsbaru.nama
FROM tbl_mhsbaru
WHERE tbl_mhsbaru.no_reg=$no_reg";
Kebiasaan saya adalah menulis variabel dalam huruf kecil, kecuali pada bahasa java. Huruf besar digunakan untuk menamai class saja.
Ketika dijalankan di sistem Windows tempat saya melakukan developing, code di atas tidak ada masalah. Masalah terjadi ketika dicoba di web host yang sistemnya unix. Code di atas error pada saat eksekusi, dan mengeluarkan pesan bahwa tabel tbl_mhsbaru tidak terdaftar di dalam database.
Cukup lama saya melakukan troubleshooting, kebingungan. Sekitar setengah jam kemudian saya baru menyadari kalau ternyata tabel tbl_mhsbaru memang tidak ada di dalam database. Yang terdaftar di dalam database adalah tabel Tbl_MhsBaru, karena sistem unix itu case sensitive. Jadi perlu diperhatikan hal – hal semacam ini.
Lebih baik memberi nama pada database maupun tabel di dalamnya huruf kecil semua dan mudah untuk dibaca dan ditulis ulang.
Reply