FreeCodeCamp first part

FreeCodeCamp adalah suatu tempat belajar yang sangat menyenangankan, diperoleh gratis dan mudah untuk dipahami.

Untuk pertama kali masuk pada FreeCodeCamp kita akan diberi sejumlah petujuk tentang langkah bagaiman cara masuk FreeCodeCamp. Setelah masuk dalam FreeCodeCamp kita harus bergabung dengan komunitas yang menggunakan FreeCodeCamp, dsinilah tempat berdiskusi segala macam hal tentang “coding”.

Membuat code portofolio kita sehingga orang akan tahu seberapa jauh kemampuan kita dalam melakukan dan menyelesaikan suatu pekerjaan.

Kita juga perlu bergabung dengan komunitas yang berada satu kota dengan kita untuk memudahkan kita dalam berkomunikasi, berdiskusi, meminta bantuan menyelesaikan latihan dsb.

Dan  kita harus selalu belajar, mencoba dan menyelesaikan masalah dalam coding.

Kategori:Tak Berkategori

Embed Peta dari CartoDB

5 Maret 2015 1 komentar

Belum lama ini saya mendapatkan pemberitahuan jika peta dari https://cartodb.com/ bisa di-tanam (embed) pada blog wordpress gratisan, seperti blog ini.

Caranya cukup mudah:

  1. Buat peta dan visualisasi di CartoDB
  2. Klik tombol share di sudut kanan atas seperti di bawah ini

    Share Button

    Share Button

  3. Kemudian, akan muncul jendela seperti di bawah ini:

    Get Simple URL

    Get Simple URL

  4. Selanjutnya, akan terbuka tab baru di browser Anda.
  5. Anda dapat menambahkan peta Anda tersebut di post blog Anda dengan cara Add Media –> Insert From URL, lalu copy URL dari tab yang terbuka tadi. Dan tekan Insert to Post.

Contoh hasilnya, bisa dilihat di peta di bawah ini:

Peta di atas merupakan peta visualisasi tornado yang terjadi di Amerika Serikat dalam suatu rentang waktu. Peta ini saya buat ketika mengikuti online course dari CartoDB, berjudul Online Mapping for Beginners

Selamat mencoba🙂

Membuat Plugins QGIS di Windows

13 Juni 2013 9 komentar

Kali ini saya akan menulis mengenai tutorial membuat plugin di QGIS di Windows. Kenapa di Windows? Karena, kadang-kadang kita menemui kesukaran yang tidak ditemukan di OS lain. Contoh saja, penanganan path. Sebelum memulainya, saya mengasumsikan sudah memiliki QGIS terinstall di komputer Anda. Untuk tutorial kali ini, saya menggunakan Sistem operasi Windows 7 SP1 64bit ASLI. Untuk kali ini akan dibuat plugin yang menampilkan “Hello ” + nama masukan ketika suatu tombol ditekan. Sederhana bukan?

  1. Menginstal Plugin Builder
    Untuk permulaan, sebaiknya menggunakan Plugin BuilderPlugin Builder merupakan plugin pada QGIS untuk membuat plugin secara lebih mudah. Untuk menginstalnya, cukup buka QGIS, lalu ke menu bar Plugins –> Fetch Python Plugins, dan fetch plugin ini dari repositori resmi QGIS. Jangan lupa di-enable setelah dipasang.
  2. Membuat Plugin dengan Plugin Builder.
    Pada langka ini, Anda cukup menjalankan Plugin Builder dan isi field yang dibutuhkan. Lalu tekan OK.

    Plugin Builder

    Plugin Builder

  3. Simpan plugin Anda di tempat yang dikehendaki.
    Saran dari saya, simpanlah dari direktori plugin milik QGIS. Lokasinya (biasanya) ada di C:\Users\user\.qgis\python\plugins. Setelah anda menekan OK, akan muncul tampilan seperti di bawah ini:

    Plugin Builder Result

    Plugin Builder Result

    Bisa dilihat, pada screenshot tersebut, ada beberapa langkah yang harus dilakukan sebelum plugin kita bisa digunakan. Jika Anda langsung mencoba meng-enable plugin Anda di QGIS, akan muncul pesan error.

  4. Penambahan Path
    Pada gambar di langkah ke tiga, disebutkan bahwa Anda harus mengompile ui file dan resources file menggunakan pyuic4 dan pyrcc4. Kedua command secara default tidak ditemukan di command line Windows. Untungnya, QGIS sudah memiliki kedua buah command ini, yang diperlukan hanyalah menambahkan path ke sistem Anda. Path yang saya maksud adalah direktori kedua buah command ini. Untuk di komputer saya misalnya, terletak di : “C:\Program Files (x86)\Quantum GIS Lisboa\bin”.
  5. Kompilasi ui file dan resource file
    Setelah menambahkan path, hal yang dilakukan selanjutnya adalah mengompile ui file dan resource file. Untuk ui file, bisa dilakukan dengan command sebagai berikut:

    pyuic4 -o ui_helloplugins.py ui_helloplugins.ui
    

    Sedangkan untuk resource-nya bisa dicompile dengan:

    pyrcc4 -o resources_rc.py resources.qrc
    

    Hal yang perlu diperhatikan adalah ketika mengompilasi resources.qrc, pastikan dikompile e resources_rc.py. Hal ini dikarenakan Plugin Builder mengimport resources_rc secara default di file helloplugin.py (untuk kasus saya). Anda tentu saja bisa menggantinya dengan nama yang lebih fantastik menurut Anda.

  6. Coba
    Setelah dikompile, coba buka QGIS, enable plugin Anda, coba jalankan, dan lihat apa yang muncul. Seharusnya, akan muncul tampilan seperti berikut:

    Hello Plugins First Sight

    Hello Plugins First Sight

  7. Mengubah User Interface (UI)
    Tentu saja, jendela kosong dari plugin tersebut kurang menarik. Mari kita ubah UI plugin kita. Caranya adalah dengan menggunakan QT Designer. Anda bisa mendapatkannya di http://www.riverbankcomputing.com/software/pyqt/download. Setelah diinstal akan muncul beberapa program baru, beberapa diantaranya adalah QT Designer (yang digunakan untuk mengedit UI) dan QT Linguist (yang dipergunakan untuk translasi).
    Untuk mengeditnya, jalankan Designer, dan buka file ui plugin kita. Penggunaannya cukup mudah, dengan drag and drop. Karena kita akan membuat plugin yang menuliskan “Hello ” + nama, maka saya butuh sebuah line edit, push button, dan sebuah label.  Silahkan berkreasi. Contoh hasil di saya:

    QT Designer

    QT Designer

    Setelah selesai, jangan lupa di-save dan dikompile lagi ui file nya seperti langkah sebelumnya.

  8. Menuliskan kode
    Langkah selanjutnya adalah menuliskan kode yang akan menuliskan “Hello ” + nama ketika ditekan tombolnya. Yah, karena ini bukan masalah ke teknis ngodingnya, jadi bisa dilihat saja contoh kode saya di : https://github.com/ismailsunni/HelloPluginQGIS/blob/master/helloplugindialog.py#L28

  9. Hasil
    Dan beginilah hasil dari plugin Hello Plugin saya:

    Hello Plugin Result

    Hello Plugin Result

Nah, selesai sudah contoh membuat plugin QGIS di sistem operasi Windows. Tidak jauh berbeda ketika melakukan developing di Linux. Selamat mencoba.

Mencoba QGIS-Master (2.0)

13 April 2013 1 komentar

Saya pertama kali menggunakan QGIS 1.8, dan sampai sekarang versi 1.8 adalah versi yang terbaru. Namun (mungkin) pertengahan tahun ini akan dirilis versi 2.0. Kita bisa mencicipi terlebih dahulu QGIS versi yang akan datang ini dengan menginstal versi masternya. Silahkan buka pranala ini. Untuk Windows, silahkan download OSGeo4W dan run administrator.

Saya bukan masih baru dalam dunia GIS ini, termasuk dalam penggunaan QGIS ini. Baru-baru ini saya mencoba (dalam training singkat di kantor) QGIS versi master yang akan dirilis sebagai versi 2.0.

Saya tidak cukup tahu banyak tentang QGIS ini, terutama penggunaan dalam sehari-harinya. Mungkin untuk beberapa API atau plugin-nya, saya cukup tahu. Maklum, tidak pernah makan asam garam-nya, langsung loncat ke kodingannya.

Nah, beginilah kurang lebih hasil coba-coba saya.

QGIS Master Screenshot

QGIS Master Screenshot

Saya mencoba labeling-system pada QGIS Master ini. Nampaknya menyenangkan.

Labeling QGIS Master

Labeling QGIS Master

Mencoba Map Composer.

Map Composer QGIS-Master

Map Composer QGIS-Master

Hasil pembuatan peta. Lumayan lah, untuk seorang yang tidak bisa mencampur warna.

Map result

Map result

Kategori:GIS Tag:,

[Python] Comparing NaN, Inf, None, 0, 1,…

What is the result of this code snippet:

my_list = [1, 2, 3, 9, 1]
my_list.sort()

Yes, you are right, the result will be like this:

[1, 1, 2, 3, 9]

Hmm, that’s easy. What’s about if you’re asked which is bigger of None and NaN? Or True and NotImplemented? Or Ellipsis (What the hell is this Ellipsis?).
Just try it:

my_weird_list = [True, False, 0, -1, 1, 100, float('nan'), float('inf'), -float('inf'), NotImplemented, Ellipsis, None]
print my_weird_list.sort()

What will be the output? If your answer is None, you are right because sort() method return None #Kidding🙂

Let’s print the my_weird_list. And, here we go :

[None, -inf, -1, False, 0, True, 1, 100, nan, inf, NotImplemented, Ellipsis]

For your note, int(True) == 1, so 1 and True is the same value when you compared them.

The good thing (for me at least), None is less than anything, even -inf. And, there is bigger value than inf.🙂

The other thing is, the position of nan in the sorted list. If you compare nan with anything it always give False. Even when nan == nan. It will return True if you use != operator.

 

So, it’s true that False is bigger (better?) than None or nothing.

Kategori:Python Tag:,

Installing PyCharm 2.7 on Ubuntu

One of the best IDE for Python is PyCharm and I use it currently. The newest version is 2.7. I want to upgrade my PyCharm from 2.6.3 to 2.7. It’s actually an easy step to do it. But, somehow I forgot how to do it on Ubuntu. So, I create this post.

  1. Get your PyCharm from here.
  2. Extract it
  3. Run bin\pycharm.sh

Until this step, you can already use your PyCharm. But, for easiness, it’s would be better to create PyCharm launcher. These are the steps:

  1. Run PyCharm from command line, just like the 3rd step above
  2. Go to Tools–>Create Desktop Entry
  3. Click Ok
  4. Quit your PyCharm session

And, taraaa… You can launch PyCharm from desktop launcher.

If you want to install it on Windows, it will be much easier. Just install it like another application’s installation.

 

Update

If you don’t have any project, you can go to Configure–>Create Desktop Entry

Those steps above also apply for Intellij IDEA

 

InaSAFE – 2012 Black Duck Open Source Rookies of the Year

I’m very happy today. Beside Internazionale got 4 new promising players, Mateo Kovacic, Zdravko Kuzmanovic, and Ezequiel Schelotto in the last 24 hours. I got news from Tim Sutton that InaSAFE become one of the winners of the 2012 Black Duck Open Source Rookies of the Year. This is a program is organized by Black Duck Software. You can read the details about this program here.

Am I happy? Of course. I’ve never known that there is some awards like this. I remember that I just “stumbled” joining this InaSAFE project. But by the time, I like it. I don’t think there will be prize or something else. I’ve felt very pleased to know that InaSAFE got this award and I’m one of the team behind it. I know, I haven’t done much thing, but still, I’m very pleased.

Open Source Rookie of the Year

Open Source Rookie of the Year

Open Source Rookie of the Year - Recipients

Open Source Rookie of the Year – Recipients

Thanks Black Duck !! Thanks InaSAFE team

If you want to know more about InaSAFE, you can visit one of these links below:

  1. http://inasafe.org/
  2. https://github.com/AIFDR/inasafe
  3. https://www.ohloh.net/p/inasafe

Note: the images are taken from http://www.blackducksoftware.com/open-source-rookies

%d blogger menyukai ini: