Categories
internet Technology

How to Create Twitter Bot using OAuth

Twitter has announced to shut down the Basic Authentication API on August 31st and recommend Twitter application developers to migrate their apps to OAuth Authentication. What about bots? That’s the same. If you have bot created using Basic Authentication, then you should migrate your bot to OAuth. Here’s how, but first..

What is OAuth?

OAuth is a new authentication method that doesn’t use plain username & password to authenticate. OAuth uses a pair of tokens to check your credentials, therefore you don’t need to worry about leaking your password. These tokens are unique per user and per application. For further info about OAuth, check http://oauth.net/

So how?

Categories
Blogs

A Little Bug at WordPress

I’m developing a theme for wordpress now. The theme use the javascript color picker, like the WordPress default theme, Kubrick. There’s a button that will be the anchor for the Color Picker when it’s shown. I’m using DIV-type color picker, not the Window-type one, which means that the color picker is shown at a DIV element, not a new pop-up window. So much like Kubrick.

When I tried it up in Firefox, the color picker DIV is not shown up right under the button. The Error Console said that “error in parsing value top, bla bla bla”, means that the top property for the color picker DIV has a wrong value. FYI at Opera, that error doesn’t occur.

Wordpress Color Picker Bug

And then I try to take a look at the javascript file, colorpicker.js which is located inside wp-include/js directory. After some times, I found something missed at the function PopupWindow_showPopup that manages how will the DIV be shown.

At line 295, it said:

document.getElementById(this.divName).style.top = this.y;

See? The command to set the “top” property is incomplete. At Firefox, it needs a “px” if you want to change a size or dimension of an element. After I put the “px”, it works fine.

But of course, that’s not a suitable solution since I’ll release this theme, so the user of this theme (I hope there will be some users 😀 ) will have to change that file too. Fortunately, I can override that function. Owkey, but that makes my script seems so long. 😦

Actually, I’d like to report this little bug to WordPress team, but I find that’s not easy, so much things to do, instead of just send email to Matt and say “Hi, Matt, I found a bug at WordPress here, maybe you can fix it.” So I changed my mind at write it out here. And hopefully they will read this. 😛

Oh, yes… the post above is written in English. Bad grammar or tenses? ^:)^

Categories
Agama & Tuhan

God is a Programmer

DISCLAIMER: Sesuai dengan janji saya di postingan sebelumnya, kali ini saya akan mengemukakan teori saya tentang siapa itu Tuhan. Tidak ada dalil yang saya ambil, karena ini memang hasil pemikiran saya sendiri. Dan jika Anda kira saya ini sesat lantaran pemikiran saya ini, ketahuilah bahwa saya semakin percaya tentang Tuhan setelah memikirkan ini.

Apakah Anda tahu apa kira-kira tujuan Tuhan menciptakan makhluk-makhlukNya? Untuk beribadah pada-Nya? Ya, itu kata kitab suci. Tapi apa untungnya bagi Dia? Dia toh sudah Maha Segalanya, tanpa kita sembah, bahkan tanpa kita ada pun, Dia tetap Tuhan, meski entah menuhani apa.

Lantas, apa sebenarnya tujuan Dia? Sebelum membahas tentang tujuanNya, saya akan membahas tentang bagaimana Dia menciptakan dan mengatur kita, apakah Dia akan terus menerus memantau perkembangan kehidupan makhluknya seperti yang saya tulis di postingan sebelumnya? Well, that must be joke. Indeed. Mungkin yang lebih tepat menggambarkan bagaimana Dia menjadi Tuhan adalah komentar dari Nabi Danalingga di postingan tersebut.

Kalo saya jadi Tuhan. Saya ciptakan saja hukum yang mengatur kehidupan ciptaan saya. Lantas saya tinggal ongkang-ongkang kaki menikmati tontonan menarik dari ciptaan saya.

Pemikiran saya ternyata hampir mirip dengan beliau!! B-) Saya berpikir bahwa Tuhan itu adalah seseorang, eh, sesuatu, eh, Dzat yang telah merencanakan segala hal sebelum menciptakan makhluk-makhluknya. Ah, mudahnya, dia adalah seorang programmer, sementara kehidupan ini adalah program yang tengah berjalan. Segala sesuatu yang telah, sedang, dan akan terjadi telah diprogram sebelumnya, pada saat Zaman Azali alias Developing Mode. Kala itu Tuhan tengah sibuk dengan IDE serta blok-blok kode, serta meng-compile serta men-debug kode buatannya, sebelum Dia menjalankannya, tepat pada saat waktu dimulai dalam istilah kita.

Jadi, mirip dengan postingan saya yang lain, sesuai dengan quote dari game Prince of Persia, You Cannot Change Your Fate, fate alias takdir, adalah alur bagaimana program kehidupan ini berjalan dari awal dimulainya waktu, sampai nanti program berakhir atau istilahnya Kiamat. Semuanya telah diperkirakan serta dihitung dengan Maha Tepat. Jadi jangan terlalu bangga dengan istilah “mengubah takdir”, sebab usaha Anda mengubah alur program itu, sudah diatur oleh Tuhan dalam kode programNya.

Oleh karena itulah, ada beberapa ayat di Kitab Suci, entah yang mana, saya lupa, yang kira-kira memiliki arti bahwa kita tidak bisa melakukan apapun tanpa bantuan Tuhan. Ya, itu betul, sebagai sebuah object dalam sebuah program, Anda tidak bisa tiba-tiba melenceng dari flow yang sudah diatur Tuhan. Seandainya pun terjadi, hal itu (melencengnya alur karena “usaha” Anda) adalah sebuah event yang sudah diperkirakan akan terjadi oleh sang Programmer. Hanya sang Programmer yang bisa mengubah dan mengatur bagaimana sebuah object (makhlukNya) berperilaku (behavior), bagaimana sebuah kejadian (event) terjadi dalam alur takdir.

Hal itulah yang, menurut saya, dimaksud dalam sebuah ayat yang mengatakan bahwa kita ini sesungguhnya sama sekali tidak berdaya. Ya, kita hanya bisa mengikuti alur program (takdir) Tuhan, tanpa tahu bagaimana kira-kira nantinya alur program membawa Anda.

var nazieb = new Human(); //create a new human
with(nazieb) {
.setSex(“male”); //set the sex to male
.setAge(60); //set the age to 60
.setJodoh(angelndutz); //set the “Jodoh” to another Human variable, angelndutz
.setWealth(100000); //set the wealth to 100000

.learn(“blog”); //make the object learn about blog
.meet(bloggers); //meet the object with “bloggers” group
.doAction(“post about God”); //make the object post something about God

.decWealth(“90000”); //decrease the wealth of the object by 90000
.setFeel(sad); //make the object feels sad
.think(“suicide”); //and make the object think about suicide

.listen(“religion”,”motivation”); //make the object listen about religion and motivation
.cancel(“suicide”); //cancel the object’s will to suicide
.doAction(“change my fate!!!”); //make the object do something to “change his fate”

.incWealth(“1000000”); //then increase the wealth by 1000000
.setFeel(happy); //set the feels to be happy
.think(“I’ve changed my fate successfully!!”); //make object thinks that he has changed the fate

.die(); //finally, destruct the object
}

Kira-kira begitulah contoh sederhana kode yang dibuat Tuhan untuk saya. Jadi ketika saya berpikir bahwa saya telah berhasil mengubah nasib saya, sesungguhnya hal itu sudah diprediksi oleh Tuhan, bahkan Dia sendiri-lah yang membuat saya melakukan usaha “mengubah takdir” itu.

Kemudian, apakah tujuanNya menciptakan super-program ini? Nah, sebenarnya saya tidak punya sebuah pemikiran yang jelas soal itu, hanya sebuah pemikiran yang jauh lebih ngawur: Bahwa sebenarnya Programmer kita ini adalah seorang peserta lomba membuat program di mana kehidupan ini sebenarnya adalah program yang tengah dinilai oleh juri lomba tersebut. :-j

Hmmm, jadi bagaimana? Apakah Anda tadi diprogram untuk membaca postingan ini? Atau Anda telah diprogram untuk melakukan fast reader? 😛 Lantas bagaimana lanjutan alur program Anda? Berkomentar setuju? Tidak setuju? Atau misuh-misuh? Do your part..