Lamunan perihal karir Dosen Muda di Indonesia

Bercermin kembali atas perjalanan karir di dunia akademik khususnya pendidikan tinggi dalam rangka mengambil hikmah dari perjuangan demi membangun kompetensi dan bertahan agar (masih ingin) tetap hidup selama ini, Saya coba untuk menuangkan kembali suara-suara di kepala ke dalam tulisan di ruang maya yang sudah lama terbengkalai.  Mudah-mudahan ada manfaat positif bagi kesehatan jiwa saya.

Saya merasakan kegelisahan yang sama ketika membaca tulisan tentang mati suri penelitian di perguruan tinggi (di Indonesia). Apalagi berkaca pada kontribusi ilmiah yang sudah saya berikan yang ternyata memicu tekanan batin karena (berdasarkan penilaian pribadi) sepertinya kok masih merasa belum pantas memasang label insan akademik. Walaupun demikian, berikut ini secuil mimpi atau lamunan di tengah malam sebagai tanggapan atas tulisan tersebut.

Idealnya, atau situasi di universitas yang penelitiannya (tampak) tidak mati suri :

peran dalam kegiatan sehari-hari:
mahasiswa S1 merealisasikan solusi (kontribusi dunia nyata): jr. engineer
mahasiswa S2 merancang solusi (kontribusi teknologi): sr. engineer
tenaga kerja yang melakukan penelitian itu mahasiswa S3 (kontribusi ilmiah): trainee scientist
post-doc (asisten akademik) jadi pengelola kegiatan penelitian (project management, partner relation): sr. scientist
profesor (dosen ybs.) jadi pencari dana penelitian/mengajar/kelembagaan: pemimpin tim

plus 3 staf pendukung: admin/sekretaris, dukungan teknis, dan logistik/transport

Pendanaannya untuk S1 dan S2 dari kerjasama dengan mitra industri, S3 dan Post-doc dari beasiswa & dana penelitian
kalau sudah bisa mandiri, mitra industri itu bisa berasal dari spin-off atas luaran penelitian sehingga pembiayaannya lebih sustainable

atau ada semacam skema pendanaan/investasi/patron untuk pengembangan selama 5+5 tahun ketika mengawali karir sebagai akademia untuk pengembangan kapasitas dan kemandirian serta dapat berkembang secara berkesinambungan

target luaran/publikasi ilmiahnya jadi :
S1 : poster/demo
S2 : workshop,challenge,industry track, produk
S3 : main track, journal
PD : journal, book chapter, transfer teknologi/spinoff
Prof : review paper, position paper, textbook (editor), HAKI

ketika peran2 di atas dilakukan oleh dosen seorang diri maka ketika dibagi 5 hari kinerjanya jadi 5 kali lebih lambat karena dilakukan sekuensial. belum lagi overhead karena context switching.

atau kalau dilakukan berkelompok sesama dosen, maka ukuran kelompoknya 3-5 orang, untuk setiap proyek, masing2 mengambil peran yang saling melengkapi sehingga semua mendapat keuntungan kredit atas prestasi.

Setelah membaca sampai sini, apakah terbesit ide bahwa saya yang sudah gila? sekolah saja belum berhasil malah bahas topik ini

#JuliNgeblog Der siebte Tag : Pokemon Go Frenzy and GeoJSON

Hari ketujuh latihan menulis harian masih membahas tentang Pokemon GO. Kalau kemarin masih adaptasi dengan aturan main maka hari ini sudah mulai agak serius. Memasuki level 5 pemain sudah bisa memilih mau bergabung dengan Tim (merah, biru, kuning) dan mengakses Gym (Arena).

Permainan ini juga sedang ramai di Austria khususnya di Wina. Hari ini saya coba mencari grup komunitas pemain ini dan ternyata ada! berikut saya coba jabarkan grup mana saja yang paling relevan :

  • Pokemon GO Österreich. grup ini untuk seluruh Austria, jadi bukan hanya pemain yang tinggal di Wina saja. Grup yang khusus warga Wina sendiri tidak ada.

PGOOe

PGOWB.jpg

PGOWR.jpg

PGOWG

Saya sendiri tergabung di Tim Biru. Alasannya? waktu menangkap Pokemon pertama, saya tak sengaja memilih Squirtle (Schiggy). Walau cuma sebentar, tadi sore saya sempat merasakan jadi Gym Leader.

IMG-20160707-WA0009.jpg

Gambar di atas diambil jam 5 sore. Jam 9 menjelang magrib saya cek dari apartemen ternyata sudah tidak lagi berlogo Arena dan Pokemonnya dalam kondisi kritis. Entah apakah dikalahkan pemain lain dari tim yang sama atau dikalahkan pemain dari tim lain. Kemungkinan besar yang kedua.

Hal lainnya yang saya ingin bahas adalah ketika saya perlu membuat peta lokasi Arena dan akhirnya memutuskan untuk membuat berkas GeoJSON di gist Github. Enaknya menggunakan github adalah berkas GeoJSON otomatis akan dibuatkan pratampilnya berupa peta dan marker yang interaktif.

Adapun untuk menambahkan lokasi tidak perlu menyunting langsung berkasnya tetapi ada aplikasi yang membuat antarmuka interaktif sehingga bisa dengan mudah membuat perubahan bahkan langsung terhubung dengan gist github dan bisa mengonversi ke berbagai format lain.

geojsonio.jpg

Sekian dulu cerita saya hari ini. Sampai jumpa besok! mudah-mudahan sudah tidak lagi membahas Pokemon. 😀

update: ternyata handy yang saya gunakan hanya ada GPS dan accelerometer. tidak ada kompas/orientation sensor sehingga agak sulit menentukan lokasi yang akurat dan tidak bisa menggunakan fitur augmented reality. Selain itu hari ini diwarnai server yang sering mati. Mungkin karena banyak yang menggunakan aplikasi yang non-resmi sehingga melebihi kapasitas yang diperkirakan. (I wonder if it’s true considering this game is the second title from the developer with the same genre and scale, but who knows..).

#JuliNgeblog Der sechste Tag : Pokemon Go

Topik yang seru hari ini adalah Pokemon Go. berawal dari petra yang membuat status di fb dan tips instalasi langsung dari .apk walau di playstore belum tersedia.

Jadi ceritanya, pulang sholat Ied di KBRI langsung googling dan unduh apk dari apkmirror. Setelah instal agak bingung gimana cara mainnya. Yang tampil cuma terrain biru tanpa ada peta dan dikira belum ada apa-apa (karena memang belum resmi rilis di Austria).

Setelah sampai kampus untuk rapat mingguan, saya iseng coba jalankan aplikasinya lagi. Setelah terhubung ke jaringan WLAN kampus (eduroam), ternyata langsung muncul. Kebetulannya lagi, di depan kampus ada dua Pokemon Stop. Berhubung ruang kerja di lantai 2 dan GPS di hp nggak seakurat handy yang dulu jadi kadang-kadang posisi bergeser dan akhirnya bisa menangkap beberapa Pokemon dan mengumpulkan beberapa PokeBall dari Pokemon Stop.

Satu trik yang bisa dipakai adalah sambil naik tram atau bus. Karena Pokemon Stop biasanya ada di pinggir jalan dan jalur tram/bus ada di dekat-dekat trotoar, Saya sempat mengumpulkan beberapa barang bahkan sempat menangkap satu spesies ketika tram sedang berhenti.

Screenshot_2016-07-06-20-09-26

Sayangnya, di sekitaran apartemen tidak ada objek yang menarik (mural/dekorasi di dinding) sehingga tidak ada Pokemon Stop. Sepertinya mesti dilanjut lagi besok sambil berangkat ke kampus.

Beberapa hal yang kurang nyaman dari aplikasi ini mungkin permintaan tanggal lahir di awal, lalu pemilihan username yang seringkali gagal dengan alasan sudah tidak tersedia. Selain itu sepertinya cukup menyenangkan.

Sekian dulu kabar hari ini, sampai jumpa besok!

#JuliNgeblog Der fünfte Tag : Eid Mubarak

Memasuki hari kelima yang akan berakhir kurang dari satu jam menurut zona waktu lokal, Saya sepertinya tidak akan menulis banyak. Berdasarkan penanggalan Hijriah mengacu pada Islamic Center kota Wina, saat tulisan ini ditulis sudah masuk tanggal 1 Syawal 1437H. Oleh sebab itu, izinkan saya mengucapkan:

Selamat Hari Raya Idulfitri 1437H!

Hari ini diwarnai gangguan koneksi internet bahkan sampai sebelum tulisan ini diterbitkan. Hal ini juga yang membuat saya agak malas menulis hal yang sudah saya rencanakan. Akhirnya, sudah dua kali topik dalam rencana gagal ditulis. Setidaknya, rencana topik bisa jadi antisipasi kalau-kalau alasan malas menulis karena tidak ada ide topik. 😀

Idulfitri tahun ini di Wina sedikit berbeda. Sejak diberlakukannya Islamgesetz di Austria, organisasi Warga Pengajian Austria yang mengelola Masjid Assalam menyatakan diri sebagai Moscheegemeinde di bawah payung organisasi IGGÖ (Islamic Glauben Gemeinshaft in Österreich). Hal yang menariknya adalah tahun-tahun sebelumnya, IGGÖ tidak mengumumkan kapan jatuhnya 1 Syawal. Baru tahun ini IGGÖ mengumumkan tanggal 1 Syawal yaitu hari ini tanggal 5 Juli 2016 sesuai dengan negara-negara lain di Eropa.

Tahun-tahun sebelumnya Wapena mengikuti Islamic Center kota Wina yang juga mengikuti Saudi Arabia untuk penanggalan 1 Syawal. Oleh sebab itu tahun ini pengurus wapena memutuskan untuk tetap mengikuti Islamic Center yang ternyata memutuskan 1 Syawal jatuh pada tanggal 6 Juli 2016 karena kemarin Hilal tidak terlihat.

5 menit menjelang tanggal 6 Juli 2016. Besok pagi sholat Ied diadakan di KBRI Wina pukul 8.30 dan saya masih ada rapat lab siangnya karena kepala Lab akan berlibur.

Sampai jumpa besok!

(gambar disalin dari islamic center of Vienna)

#JuliNgeblog Der vierte Tag: Struggling against procrastination

Selamat hari senin! memasuki hari keempat latihan menulis, godaan untuk procrastination kembali menyerang. Masalah kehabisan ide sudah diantisipasi dengan membuat jadwal topik tulisan hingga hari ke-31 walau masih ada dua-tiga hari yang belum ada topik. Masalah monotonisitas sudah diantisipasi dengan merencakan tema/gaya yang berbeda setiap harinya. Ketika kedua hal tersebut sudah diantisipasi, ternyata masih ada saja alasan yang muncul untuk tidak menyelesaikan tulisan hari ini. Read More

#JuliNgeblog Der dritte Tag : Ramadhan in Wien

Tulisan kali ini ditulis setelah sahur. Jam di pojok layar menunjukkan pukul tiga lewat lima menit. Pertanda sudah masuk waktu mulai puasa hingga nanti buka jam sembilan sore.

Ya, puasa di belahan bumi eropa yang sedang dalam musim panas memang sedikit lebih panjang ketimbang puasa di tanah air. Tahun ini adalah tahun ke-empat sejak saya menjejakkan kaki di tanah yang penuh cerita sejarah masa lampau ini. artinya, ini kali keempat saya menikmati puasa dengan durasi sekitar 18 jam. Enam jam lebih lama dibanding biasanya.

Setelah kemarin menulis hal yang terlalu teknis sehingga mungkin sulit dinikmati oleh khalayak. Kali ini saya akan mencoba membuat tulisan yang lebih santai. Walaupun hari ini masuk tanggal ke-28 ramadhan, Sepertinya masih belum terlalu basi untuk membahas tentang bulan yang sering dikenal sebagai “bulan puasa”. Read More

#JuliNgeblog Der zweite Tag : Delegate Mouse Event Signal on QLabel

Selamat datang kembali!

Tulisan hari kedua sudah mulai masuk ke topik yang teknis. Persoalannya adalah ketika mau menangkap sinyal tetikus (press, release, move) untuk menggambar. Ketika menggunakan delphi dulu, prosedur untuk menangani event tetikus bisa dibuat terpisah dari komponen yang menjadi tempat terjadinya event. Misalnya, ketika ada event mouse di atas komponen Image, maka prosedur penanganannya bisa dibuat sebagai method dari objek Form. Salah satu contoh skenarionya adalah ketika terjadi sesuatu di komponen ini, maka akan disimpan perintah menggambar dan proses penggambaran di komponen yang bisa menggambar bisa didekorasi dengan penunjuk objek apa yang akan digambar tanpa mengganggu kondisi yang sudah ada (misal. rubberband).

dip

Masalah muncul ketika mau menerapkan cara serupa pada konteks Qt di python (PyQt atau PySide). Pada konteks ini, kelas yang memiliki buffer untuk menggambar ada di QImage. Agar gambar di objek ini dapat ditampilkan, Objek QImage perlu dipasang di Objek QLabel. Penanganan event mouse dilakukan di QLabel. Pendekatan untuk menangani proses semacam ini adalah dengan membuat kelas turunan QLabel atau QWidget untuk kebutuhan yang berbeda yang tentu saja merepotkan. Saya perlu satu komponen kecil yang bisa dipakai untuk beberapa konteks penggambaran yang berbeda tapi memiliki mekanisme yang sama (prosedur penanganan ada di objek lain).

Setelah membaca manual, ternyata membuat sinyal event cukup mudah:

  1. deklarasikan objek sinyal internal
  2. lempar sinyal sesuai dengan keadaan yang diinginkan (dalam hal ini, setiap terjadi mouse event)

Penjelasan lebih lanjut dapat dilihat di kode berikut :

class QMLabel(QtGui.QLabel):
	mousePressed = QtCore.Signal(QtGui.QMouseEvent)
	mouseMove = QtCore.Signal(QtGui.QMouseEvent)
	mouseReleased = QtCore.Signal(QtGui.QMouseEvent)

	def __init__(self, parent):
		super(QMLabel, self).__init__(parent)
		self.setMouseTracking(True)

	def mousePressEvent(self, event):
		self.mousePressed.emit(event)
		super(QMLabel, self).mousePressEvent(event)

	def mouseMoveEvent(self, event):
		self.mouseMove.emit(event)
		super(QMLabel, self).mouseMoveEvent(event)

	def mouseReleaseEvent(self, event):
		self.mouseReleased.emit(event)
		super(QMLabel, self).mouseReleaseEvent(event)

Di kode tersebut, saya membuat tiga event yang akan dilempar (didelegasikan). Pada setiap kode penangan event, saya lempar sinyal internal (prosedur emit).

Cara menggunakan kelas ini sama seperti ketika menggunakan komponen lain. rinciannya bisa dilihat di kode berikut :

class PickWidget(QtGui.QWidget):
	postAction = QtCore.Signal()
	def __init__(self, parent):
		super(PickWidget, self).__init__(parent)

		#offline buffer
		self.trackimage = QtGui.QImage(660, height, QtGui.QImage.Format_RGB32)

		self.tracklabel = QMLabel(self)
		self.tracklabel.setPixmap(QtGui.QPixmap.fromImage(self.trackimage))
		self.tracklabel.adjustSize()

		self.tracklabel.mousePressed.connect(self.mousepress)
		self.tracklabel.mouseReleased.connect(self.mouserelease)
		self.tracklabel.mouseMove.connect(self.mousemove)

	def mousepress(self, event):
		pass

	def mouserelease(self, event):
		pass

	def mousemove(self, event):
		pass

Sekian dulu catatan kali ini. Mudah-mudahan bermanfaat bagi saya sendiri kalau sewaktu-waktu lupa atau untuk anda kalau bertemu dengan persoalan yang sama.

Wassalam,