Better Sound Clarity With ALSA
1The Problem
ALSA default SRC is using flat (linear) mixing when sampling audio into 48KB. To make it worse, the sound was already been sampled by Pulseaudio. Double extra lost precision.
The Solution
Add a line to “.asoundrc” to enable “samplerate_best”:
$ cat >> ~/.asoundrc << PUTUS defaults.pcm.rate_converter "samplerate_best" PUTUS
If your player use ALSA only, just replay audio and you will hear the difference. I’m disabling Pulseaudio remixing also by adding this line to “/etc/pulse/daemon.conf”:
disable-remixing = yes
And kill pulseaudio, or just logout and login back if you don’t know how.
A Tip
You could use “speexrate_best” instead of “samplerate_best”. Some user on the Internet said it was more light. But, I’ve found out in my laptop that speex consume slightly higher CPU rate than libsamplerate. Anyway, just check using “top”, no science about it. You might have different result.
Please consider these three factors that matter:
- You have a constraint on CPU usage. Using more CPU cause battery to dry faster.
- Your hardware is not that good. Using low dynamics gears will not propagate better result.
- Your hearing is not that sensitive.
The Story
Imagine this, a person has a Sennheiser PX-100, customized with PX-202 ear pad. Removed all the nasty MP3 and use only FLAC, Musepack, AAC+ and OGG — last one is because that person is fond of Free Software and free standard. The person only plays songs ripped from original CD the person bought over the years.
Usually I would suggest that person to use patched OSS4, enabling Production quality. The problem is over the year Ubuntu making OSS4 less compatible. Too much compiling would shy that people away from GNU/Linux. Thankfully, ALSA also have the right software mixing.
Install Ubuntu Studio 12.04 From Debootstrap
2Detailed explanation in Bahasa here.
Create base system:
$ sudo mkfs.reiserfs /dev/mapper/Linux_LVM-UbuntuLucid -l "Ubuntu 12.04" $ sudo mount /dev/mapper/Linux_LVM-UbuntuLucid /mnt/ $ sudo debootstrap precise /mnt/ http://kambing.ui.ac.id/ubuntu/
Mount some system filesystems and go to the created:
$ sudo mount /dev/ /mnt/dev -o bind $ sudo mount none /mnt/dev/pts -t devpts $ sudo mount none /mnt/proc -t proc $ sudo mount none /mnt/sys -t sysfs $ sudo chroot /mnt /bin/bash
Adding good repositories. Note that because 12.04 is already stable, I just use KAMBING only:
# cat >> /etc/apt/sources.list << PUTUS deb http://kambing.ui.ac.id/ubuntu precise main restricted universe multiverse deb-src http://kambing.ui.ac.id/ubuntu precise main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu precise-security main restricted universe multiverse deb-src http://kambing.ui.ac.id/ubuntu precise-security main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu precise-updates main restricted universe multiverse deb-src http://kambing.ui.ac.id/ubuntu precise-updates main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu precise-proposed main restricted universe multiverse deb-src http://kambing.ui.ac.id/ubuntu precise-proposed main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu precise-backports main restricted universe multiverse deb-src http://kambing.ui.ac.id/ubuntu precise-backports main restricted universe multiverse PUTUS
Update and upgrade:
# apt-get update && apt-get dist-upgrade
Some localization stuffs:
# apt-get install language-pack-id # dpkg-reconfigure tzdata
And some filesystems related:
# apt-get install lvm2 reiserfsprogs ntfs-3g xfsprogs
Adding a user. Note that since 12.04, Ubuntu complies with upstream. Admin group shall not “admin”, but “sudo” like other distros. Meh, been using “sudo” since ages.
# adduser jp # adduser jp sudo
End of generic things to do. Starting from here is the real Ubuntu Studio.
Ubuntu Studio for Recording
There are different kind of artists and I’m doing this for recording my “Singing in Bathroom for Audiophiles”. I don’t need to make any video clip yet. Contrary to popular beliefs, GNU/Linux have tons of tools that could equipped us in a path to become great musician.
Install the default desktop first:
# apt-get install ubuntustudio-desktop
Install the audio producing recipee:
# apt-get install ubuntustudio-audio ubuntustudio-audio-plugins ubuntustudio-control
Oh, in case you are using LMMS, the one-in-all music studio, it isn’t included in those meta. Install it manually:
# apt-get install lmms
Yawn, this is easy.
Finalizing
Next step is finalizing the installation by install the Linux kernel. I know that many people said that it is best to install linux-rt package for a realtime kernel. My laptop is using Core2 Duo and 2 GB of memory. That’s enough to make the system not choking. Unless I have a serious need for live performance, I don’t think realtime is necessary. Just install the low latency instead:
# apt-get install linux-lowlatency-pae
One Last Word
There are tons of Youtube videos for creating music with GNU/Linux. For instance, I am using Ardour + Fluidsynth + LADSPA + Rakarrack for experimenting. The JACK sound server made it easy to connect them one another in realtime.
There are also many people using LMMS. I think LMMS is compelling because it has plugins like VST, Fluidsynth and so on built-in. That’s why you would have about 200MB+ packages installed. Idk, I haven’t use LMMS actively and in the process of learning.
What I like from Ubuntu Studio 12.04 is all devices on my laptop are detected. It also have integrated LADISH, a session manager for recording with JACK. In Ladish, a set of application stacks that runs called a Studio. That’s why default installation would complain about no Studio found. That’s because we haven’t create any LADISH configuration yet.
Meh, I’m using qjackctl for controlling JACK and not LADISH. I’m not a pro, so I just need something that simple. But, LADISH might be what you need if you have tons of LADSPA and post-processing application.
Now, in order to have clarity (dynamics vs. loudness), you can’t expect it from internal mic in your laptop. You won’t catch the fart sound nor the sound of water splashing! A decent digital recorder like Zoom H4N, for example, would come in handy. Software will never have the ability to process something that originally less detailed.
Oh, btw, the best of Audacity is it has the ability to eliminate white noise and normalizing a sound. White noise is a pattern of noise that can be use to extract your recorded sound so you may have clearer sound. When recording from el-cheapo device in non-accoustic environment, we might want to lower down the volume to prevent clipping and any nasty noise. After that, we can normalize the sound volume.
Go and spread the fart.
Sekilas Tentang BBM
6Saya memutuskan untuk keluarga menggunakan BBM non-subsidi. Walaupun kendaraan yang dimiliki termasuk yang masih diperbolehkan menggunakan Premium. Setelah ditinjau-tinjau, penggunaan BBM non-Premium sepertinya menarik; mesin lebih bersih, pembakaran lebih bersih dan irit, dan idealisme sebagai warga negara yang baik.
Dari pilihan yang ada, saya melihat malah harga Shell lebih murah dibandingkan Pertamina (Pertamax dan Pertamax Plus). Yang anehnya lagi, Pertamax dan Pertamax Plus hanya beda seratus rupiah. Ya, sudah, produk luar negeri saja yang dipilih. Apalagi, perbedaan antara Shell Super dengan Pertamax itu cukup jauh (Rp 9800,00 dan Rp 10.600,00).
Dan lagi-lagi kegalauan menimpa. Biaya bensin meningkat dua kali lipat. Hal ini membuat harga Premium terlalu berpengaruh untuk dilewatkan. Jujur, hanya poin idealisme yang membuat harga non-Premium terasa begitu menarik. Mungkin seandainya pemerintah menaikkan harga Premium, harga non-Premium masih masuk akal. Tentu saja, sebenarnya yang tidak masuk akal adalah harga Premium yang jauh dari harga pasar.
Tetapi, kembali saya berpikir untuk tidak menjadi orang yang egois. Kenaikan Premium berimplikasi kepada kehidupan keluarga yang lain. Dan ini sebenarnya sebuah PR yang tidak gampang.
Kebetulan, saya mengenal beberapa orang yang berpenghasilan di bawah sejuta. Dan mereka sebagian besar sudah berkeluarga. Untuk orang-orang seperti ini, sudah pasti harus banyak berputar otak agar dapat tinggal di Jakarta dengan layak. Salah satunya adalah mengurangi dana transportasi.
Jujur, semenjak MTV bilang think global act local dan saya belajar mengenai homeostasis, saya pun lebih memilih menggunakan kendaraan umum. Saya jadi tahu kira-kira biaya yang harus dikeluarkan. Dari rumah saya, saya harus bayar Rp 3.500,00 (atau Rp 4.000,00) sampai Kampung Melayu. Lalu, Rp 2.000,00 sampai ke Tebet. Terakhir, naik kereta Komuter Rp 6.000,00 sampai ke Depok (UI) atau kalau beruntung Rp 1.500,00 untuk kereta Ekonomi. Total untuk sekali jalan saya harus mengeluarkan uang kira-kira sebesar Rp 11.000,00. Dan itu belum dikali dua untuk biaya pulang.
Bandingkan dengan menggunakan motor. Motor yang irit (terutama motor bebek) menyebabkan dengan tangki dua liter sudah cukup untuk seminggu. Bayangkan, sepuluh ribu rupiah cukup untuk seminggu. Inilah sebabnya bagi mereka biaya kredit motor terasa jauh lebih irit.
Dan saya pun bersyukur kepada para penyedia kredit motor. Mereka menyediakan solusi optimal buat orang-orang. Dengan uang muka lima ratus ribu rupiah, bahkan ada yang tanpa uang muka, orang bisa membawa pulang sepeda motor. Itu sebabnya, orang lebih suka membeli sepeda motor dibandingkan naik kendaraan umum.
Akhir-akhir ini saya mendengar akan ada pembatasan motor. Itu sebabnya saya menulis ini. Saya cemas, bagaimana dengan orang-orang yang demikian? Tega sekali orang bilang bahwa motor terlalu banyak tanpa tahu penyebabnya mengapa. Padahal, motor itu adalah salah satu faktor penghematan bagi banyak orang.
Ah, saya pun jadi tidak tega memarahi orang-orang bermotor. Saya hanya bisa bilang kepada mereka, tolong lebih berhati-hatilah dalam bermotor. Jangan jadi preman di jalanan!
Saya sempat marah juga kepada supir-supir Angkot. Mereka sudah tiga kali menaikkan harga. Dari Rp 2.700,00, naik ke Rp 3.000,00, lalu terakhir ke Rp 3.500,00. Kenaikan ini dikarenakan kenaikan harga minyak dunia dulu. Lalu, sesuai dengan iklan salah satu partai, harga BBM diturunkan tiga kali. Sayangnya, ongkos tetap bercokol di harga Rp 3.500,00. Dan, DPRD tetap bungkam.
Saya suka bercakap-cakap dengan supir Angkot (menurut PMP ini sebenarnya tidak boleh tapi tampaknya mereka jago menyetir). Mereka juga mengeluhkan tentang biaya operasional, terutama setoran. Dulu, setoran hanya sembilan puluh ribu sampai seratus dua puluh ribu rupiah. Sekarang, rata-rata sudah berkisar tiga ratus ribuan. Dengan kemacetan dan jumlah Angkot yang banyak, mereka terkadang mengeluhkan jumlah rit (satu rit itu kalau tidak salah satu kali jalan) mereka harus ditambah. Atau, mereka harus mengetem (mangkal di suatu tempat).
Dan kembali nurani saya berkata, “Ya, Tuhan, saya sudah khilaf menyalahkan mereka.”
Kalau saya boleh berpikir, seandainya pemerintah boleh menyubsidi kendaraan umum, itu adalah sarana yang lebih baik. Lebih baik pengelolaan kendaraan umum kembali dipegang pemerintah daripada pihak swasta. Lalu, per bulan dikeluarkan laporan keuangan untuk publik. Apalagi, kita sudah punya mekanisme UU Keterbukaan Informasi Publik.
Hmm… mimpi kali, yah?
Untungnya nanti ada pemilihan Gubernur DKI Jakarta. Saya mau tahu, apakah ada pasangan yang berani memperjuangkan transportasi publik yang lebih baik?
Sabame, Satu Barang Rame-rame
2Lennart Poettering menulis tentang Fedora semenjak versi 17 telah membuang ConsoleKit dan tergantung seluruhnya kepada systemd. Menurut Beliau, salah satu fitur yang ada akibat ini adalah multiseat didukung langsung oleh Fedora.
Multiseat adalah sebuah teknologi supaya satu komputer bisa dipakai untuk lebih dari satu orang. Kalau versi komersialnya yang saya tahu namanya n-Computing. Yang menarik dari tulisan ini adalah ternyata sekarang sudah tidak sesusah dahulu. Omong-omong dulu, saya pernah coba. [Wogh, Iang gw lupa bikin laporannya, ha... ha... ha.... Btw, nyesel naro gambar di Geocities, skrinsutnya pada ilang
]
Problem dulu itu adalah karena XServer harus mendefinisikan secara eksplisit perangkat keras yang digunakan. Akibatnya, satu bangku (seat) harus menggunakan 1 instan X. Mahal sekali harganya.
Nah, dari penjelasan di Phoronix, satu PC (Core i5 memori 3 GB) bisa menghidupi 8 bangku. Ini mungkin bisa jadi solusi murah untuk menjangkau banyak orang. Sayang, saya tidak punya kartu kredit, jadi saya tidak dapat memesan barang ini untuk dicoba. Tetapi, sepertinya ini bisa dipasang untuk produk yang sudah ada. Menarik sekali.
Catatan untuk nanti.
:%s/pattimura/rote/g
3Berhubung Jahitan 5 sudah keluar, saya memutuskan untuk memperbaharui sistem ke Rote. Saya belum mencoba 12.04 karena saya pikir semua orang punya waktu untuk itu. Lagipula, saya lebih suka BlankOn.
Omong-omong, saya tidak menyarankan metode saya karena ini memerlukan pengetahuan apt-get dan cari-mencari paket.
Catatan:
- Perubahan merek Blankon menjadi BlankOn, dari blangkon hijau menjadi lambang 01 agar lebih universal.
- Penggunaan Manokwari.
- Kernel dan semua versi lebih baru. [Captain Obvious]
Catatan Kekurangan:
- Tidak tersedia skrip debootstrap sehingga agak sulit diuji di sistem baru (virtual atau partisi lain).
- Tidak jelas ini berdasarkan Ubuntu versi berapa akibatnya PPA saya masih Lucid. Bahkan, ada yang saya matikan agar tidak bentrok. Informasi tidak tersedia di situs Blankon. Saya tidak tahu harus memanfaatkan PPA yang mana.
Catatan Tambahan:
- Tambahkan arsip.blankonlinux.or.id karena suka ada berkas yang belum tersinkron.
Setelah memperbaharui:
- GNOME kosong dengan panel BlankOn.
- GDM pindah ke versi 3.
- Paket “blankon-desktop” tidak dapat terpasang.
- Paket “blankon-desktop-desktop” membutuhkan paket dari Pattimura.
- GNOME sepertinya kehilangan tematik BlankOn.
- Sistem ini sudah dari Blankon versi 4/5, sudah banyak konfigurasi.
- Paket virtual untuk memasang BlankOn belum lengkap.
- SIstem tercampur PPA, do-release-upgrade tidak berjalan.
- Modal nekat….
My Personal Note About Secure Boot and Why It Makes UEFI Looks Evil (While It Isn’t)
0A friend of mine posted a trolling rant about not using GNU/Linux because it rejects UEFI secure boot. This post making me not able to sleep. So, here I am to write this down my own personal note. I hope I could get to sleep after this.
First of all, the whole UEFI is great. In my late experience with EFI shows that it was the answer for new standard in booting up systems. Curently we still have the BIOS style partitioning or we could say, the Master Boot Record. MBR originally supports four partition only. But, the partition can be lengthened by using a partition called Extended Partition which could held another partition inside of it.
Nowadays harddisk becomes cheap and MBR becoming less interesting. It only supports 2 TB at most. Then, how about our SAS storage with hundreds of TB (almost Pita). Then, came GPT partition scheme which became a part of (U)EFI specification. The interesting thing about (U)EFI is that you must spare a FAT32 partition on the begining of disk containing binaries (firmwares) that needed to boot the system.
We used to be using bootloader that resides on the special part of MBR. It might be GRUB, BURG, LILO, syslinux, etc. But, because of the advent of (U)EFI, all became unnecessary. MBR is no longer there. Luckily, GRUB 2 tries to emulate that by making its own EFI-compatible binary that would bootstrap to its GRUB system. This binary/firmware copied into the special partition FAT32, into the special EFI directory.
Because of that, in my experience of XServe 3.1 machine, I could install new OS on that machine without having a “bless” or any third-party bootstrapping. All I need to do is just put my GRUB firmware there and it boots fine. Well, the hardware did have a long delay. I guess it tried to search all disks that could have EFI partition.
Now, this isn’t even what I want to talk about. It’s just that I want to emphasis that UEFI as a whole is not a bad thing. Not until suddenly Microsoft propose “secure boot” into it.
Selling Dead Donkey
I put that mark there because there isn’t any security about it but a false sense one. I might say it was like selling a dead donkey. It’s an old story about a man sought to buy a dead donkey from a farmer. He then made tickets to sell for people with that donkey as the reward. Long story short, the tickets were sold and there was a winner. The winner then complained about the dead donkey when the person sought the prize. He then apologized and refunded the ticket he sold to the winner with compensation. More explanation in Google.
There is nothing secure about mandating a key put on commodity hardwares. It will eventually leaked like DRM.
Consider this all parts come from China. Btw, I’m talking about how easy to emulate parts when hardwares nowadays are using generic spare parts. Not any other meaning. With some low-level programming on commodity hardware, one can extract the keys. Hackers love the challanges and Crackers making advantage from their discoveries.
In the end you must made at least one of these two choices.
First, you could make a back door to update the keys. A back door on a public specification? I know I don’t need to explain this why this would not work. Big companies may making secret ingridients that made the specification not U anymore.
Second, you would ditch the a generation of hardwares that comes with the compromized key. Can you do that to your enterprise customer? Meh, you might pretend and hide any CVE related to that. Or, is that already a part of business? ;-(
Making Admins Having More “Free Time”
Then comes the part where I have a problem with this secure boot: It takes extra time to configure UEFI board because of the burden in my work of field. I mean which dude/miss sysadmin that don’t create customized system and deploy it on many machines on an advance data center? We all have our own recipees.
I know what I do when a server arrives. I delete the original and customize the inside with my own OS and configuration. I would install it with preconfigured services that I know and with only known ports open. Well, at least at initial launch we audited the ports. Hahaha… (just saying that so I would not felt like a snotty brat bragging)
How is it possible to do it with every system locked with keys? I have to disable secure boot one machine at a time. Well, if it was a maintainance mode, I may have one or two machines. But, what if it was a time when we refresh the whole system?
A friend told us that in his place, he let the vendor managed all. His organization bought a solution which came with supports. A great story how he can have a couple hours of free support in a week. Unfortunately, he was from State and here I am on a third world country with… (I want to say it, but not polite)
When people in State protesting about their rights, they know what they said. And their laws protect their interest. But, when it comes to a third world country like mine, we only sighted and hoping to get something like a post from a blog or forum. Support is not a viable option here. Once you bought a product, you’re on your own.
Or, is there any hidden support?
A Problem With Third World Country
Like ST12, I buy Windows XP and install it on an new empty laptop to tell how sucks it is (not really compared to Vista). Later, I was found out that my legal OS is “illegal”. At that time, my perceived word of “OEM” means it would install on blank windows. Why was it was sold at the first place? Or, is it a part of offer that I didn’t knew that the seller was selling it to me instead offering me as an upgrade option?
Imagine if secure boot was implemented on commodity hardwares sold in our country like peanuts. People would not know what’s happens. The hardware suddenly couldn’t install older operating system and its competing. Then, they would complained. Realize about that, the seller at Mangga Dua tried to help by disable the secure boot and we all live happily ever after. Well, not really, why should I pay more for the feature that I would not use and hinder me? I feel like helping to flourish secure boot while not using it.
Many would fall victim more of it if Windows 8 still mandating that secure boot is active and could not be disabled. Meaning, every future commodity hardware would have secure boot defaulted.
We can’t like our friends in Europe that can push away monopolies and have an option. We can’t be like our friends in State where they can poke Customer Support easily. In those countries people choose FOSS because they prefer it and personally know the value of it. We can only have anything that thrown at us.
This isn’t fair and against humanity. Our digital divide would be increasingly far.
In my country, people still have GNU/Linux because it is a gratis software, not as a creative tool for customizing solution. We aren’t at that stage yet but we are trying to. And this is why secure boot would add another barrier in order us to grow.
Some folks said that many GNU/Linux vendors could put their keys on the hardwares as a part of UEFI. Some big vendors like Red Hat, Novell, Canonical, etc. could easily defend their products. But, what about Blankon? Who would sponsor Blankon to put the keys into the UEFI board once it is on commodity hardware?
Again, it would be a new obstacle that FOSS community in my country to tackle. We might get through with it. With casualties and so on. And then, a big company add an extra layer to current secure boot (and call it “enhanced”). Then, we could only limited to a few hardwares.
Can we protest it? Can we have a support to guide the convert? In my country support is bromance. None exists. Even if there is one, it would be non-official. Of course, there is a viable pirated version of OS.
This really saddened me. I can buy original softwares; in fact, I have MSDN AA privilege. But, not that many people have the same opportunity. I thought FOSS could provide a competing solution that viable for people. People would not forced to break the law anymore, at least not from my field (IT). That’s why I chose to use FOSS in the first place.
All In All
This is getting soap drama. But, sadly that’s the reason why secure boot is evil. Not only it gives a false sense of security, it also pose a social problem to third world country, at least my country.
I know that secure boot isn’t enforced, but this is my note for you who thinks that secure boots is OK. It isn’t.
Pilihan Perkakas Kantoran
0Saya menulis ini karena media Twitter begitu terbatas. Berikut alasan panjang saya mengapa memilih LibreOffice 3.5 ketimbang OpenOffice.org 3.3. Pengalaman saya bukan absolut dan setiap kebutuhan memerlukan pemilihan yang berbeda. Anda bisa memilih sebaliknya.
OpenOffice.org (OOo) seperti XFree86, memilih untuk mempertahankan fitur-fitur lama dan stabil. Hal ini dikarenakan OOo dikendalikan secara penuh oleh SUN Microsystem (SUN). Kendali yang otoriter ini tidak begitu terasa sampai ketika Oracle mengambil alih SUN. Banyak pengembang inti yang merasakan bahwa kendali kerja OOo semakin ketat dan tertutup.
Merasa frustrasi dan dipicu oleh beberapa pencabangan proyek FOSS di bawah Oracle, beberapa pengembang inti keluar dan membuat sebuah percabangan baru yang dinamakan LibreOffice. Melalui pengembangan yang terbuka, banyak pihak yang tertarik untuk bergabung. Salah satunya adalah sebuah komunitas tambalan OOo yang tidak pernah masuk ke OOo karena dianggap terlalu progresif (waduh saya lupa namanya).
LibreOffice berhasil memberikan versi-versi 3.4 stabil dan fitur-fitur baru. Walhasil, LibreOffice sekarang lebih diminati dibandingkan dengan OOo. Karena kalah, Oracle akhirnya menyerahkan OOo ke Apache Project dan untuk kemudian dilisensikan dengan lisensi Apache.
Sejujurnya, saya tidak tahu perkembangan Apache OpenOffice.org karena proyek ini masih masuk inkubasi Apache. Setidaknya, mungkin di masa depan mereka akan berkembang (mengingat Apache memiliki kemampuan meramu sistem-sistem enterprise). Tapi, untuk saat ini mereka masih dalam masa inkubasi.
Banyaknya pihak yang bergabung ke LibreOffice mengakibatkan banyak fitur baru yang bermunculan. Salah satunya adalah kemampuan membuka diagram Visio dan penampilan yang lebih konsisten dengan DocX. Kalau saya boleh berpendapat, saat ini LibreOffice seperti Xorg 6.9 menuju 7.0. Dalam jangka waktu yang tak begitu lama, mereka akan memiliki fitur-fitur yang lebih canggih.
Beberapa perkembangan yang ada dalam LibreOffice:
- Penyuntingan daring dokumen bersama.
- Perombakan internal LibreOffice agar tak begitu tergantung kepada Java.
- Javascript untuk menampilkan dalam web. (editor versi web seperti Google Docs)
Secara progres, LibreOffice memang masih berkembang. Tapi, setiap kebutuhan tidak memerlukan perkembangan terbaru. Saran saya, gunakan yang memenuhi kebutuhan Anda.
Cicip Instagram di Android
2Berhubung Intragram telah dirilis ke Android, saya termasuk yang ingin mencobanya. Katanya ini adalah sebuah aplikasi Hipster untuk berfoto-foto ria.
Saya menggunakan Bakpia untuk Nexian Journey. Aplikasi ini berjalan lancar. Namun, hati-hati sehabis mengambil foto. Jangan menggerakkan kamera dulu sebelum tampil tampilan untuk memotong gambar. Bila rotasi otomatis berjalan, aplikasi langsung mati saat tak sengaja mengubah kemiringan telepon saat gambar sedang diproses.
Konsep Instagram saya lihat sederhana: 1) jepret; 2) beri efek vintage; dan 3) publikasikan. Aplikasi ini terhubung ke beberapa sosial media lainnya seperti Tumblr, Facebook, Twitter, dan lain sebagainya. Saya sendiri menyambungkan foto saya ke Tumblr dan Twitter saya.
Contoh foto yang telah saya jepret secara iseng:
- Adorable pets from Borneo.
- Play stiff, a survival tool for geek against socialites.
- Loves Kroncong before it was Protol.
Yak, saya tertarik untuk menggunakan ini untuk ilustrasi dibandingkan harus menggambar dengan My Paint. Soalnya tetikus saya masih analog dan sulit untuk digerakkan.
Fix KMOD vs module-init-tools Gentoo Upgrade
0Recently Gentoo refused to upgrade, it said:
[blocks B ] sys-apps/kmod ("sys-apps/kmod" is blocking sys-apps/module-init-tools-3.16-r1)
[blocks B ] sys-apps/module-init-tools ("sys-apps/module-init-tools" is blocking sys-apps/kmod-7)
Total: 161 packages (143 upgrades, 1 downgrade, 6 new, 11 reinstalls), Size of downloads: 899,585 kB
Conflict: 32 blocks (2 unsatisfied)
I let it slip this few weeks because I don’t have enough time to resolve it and I thought that Gentoo would someday resolve it. Unfortunately, until this time of writing, it has not resolved. So, I have to figure out what was the problem.
It seems that module-init-tools is being obsoleted by its upstream maintainer in favor of KMOD. According to MikeTBob in Linux Forum and toralf in Gentoo forum, the fix is to remove module-init-tools and to install KMOD:
$ emerge -C module-init-tools && emerge -avU kmod
Still, this doesn’t worked out for me. But a post from ssuominen in the same thread suggested that the problem might from Bug #409017. According to this bug, many current profile is still linked to old profile in
/usr/portage/profiles/default/linux/amd64/10.0
After investigating a bit, I found out that my make.conf was altered with this line:
PORTDIR_OVERLAY=/usr/local/portage
I don’t know who put that there, but after investigating a bit, I found out that “/usr/portage” was last time synced in 6 July 2011. Whoa… kind of old. And all this time I was using “/usr/local/portage”. I’m still investigating why this would happens. But, now I have found my solution. I have to select current profile. The list are:
$ eselect profile list Available profile symlink targets: [1] default/linux/amd64/10.0 [2] default/linux/amd64/10.0/selinux [3] default/linux/amd64/10.0/desktop [4] default/linux/amd64/10.0/desktop/gnome [5] default/linux/amd64/10.0/desktop/kde [6] default/linux/amd64/10.0/developer [7] default/linux/amd64/10.0/no-multilib [8] default/linux/amd64/10.0/server [9] hardened/linux/amd64 [10] hardened/linux/amd64/selinux [11] hardened/linux/amd64/no-multilib [12] hardened/linux/amd64/no-multilib/selinux
Look, nothing is selected. We should select one. Yours may vary. But, I choose KDE Desktop profile:
$ eselect profile set 5
Voila, now I can carry on life.
BONUS: Fix This Mess
I don’t satisfied with “just work” solution. I need to have consistent portage directory. At this point, I would like to have only one legitimate portage directory. These later methods might not be the best method and I am not encouraging you to do the same as I. But, in case you too want to have the consistent portage dir, let’s do this.
First, remove the line
PORT_DIR=/usr/local/portage
from “make.conf”. I think this was added by layman in some point in 6 July 2011, or not…. Anyway, that’s that.
Next, update the portage tree again.
$ eix-sync
I’m using EIX and you should too. But if not, use the traditional one
$ emerge --sync
In my case, it took quite a while for the tree to be synced completed.
If anything goes right, none of the profile is selected, just like the above. Then, reselect the profile:
$ eselect profile set 5
Let’s double check that it lead to “/usr/portage” and not “/usr/local/portage”:
$ ls -al /etc/make.profile lrwxrwxrwx 1 root root 60 Apr 3 07:48 /etc/make.profile -> ../usr/portage/profiles/default/linux/amd64/10.0/desktop/kde
Yup, it’s there. Now, make a leap of faith:
$ rm -rf /usr/local/portage
Considering that “distfiles” is in “/usr/portage”, I think the “/usr/local/portage” is no longer needed.
Just a bonus, emerge have new parameter “–autounmask-write” to add certain packages USE parameters automatically in “/etc/portage/package.use” in order to upgrade. Add that parameter to write changes needed.
Now, I can really carry on with my life.
Menggunakan UIStyle
3Menyambung tulisan sebelumnya, tulisan ini dibuat sebagai catatan untuk menggunakan gaya tulis UIStyle.
Pemformatan
Cara memformat:
- Tebal:
\textbf{tulisan yang tercetak tebal} - Garis bawah:
\underline{tulisan yang akan tercetak dengan garis bawah} - Miring:
\textit{tulisan yang akan tercetak miring}
Referensi
| Kode | Hasilnya |
| \cite{REF.ID} | Menghasilkan referensi ke Daftar Referensi, karena UI menggunakan sitasi APA, jadinya [n]. Misalnya: Menurut [1] …. |
| \ref{LABEL} | Menghasilkan nomor tabel/gambar. |
| \pic~\ref{LABEL} | Menghasilkan nama gambar dan nomornya. Misalnya: … terlihat pada Gambar 2.1 bahwa JP keren…. |
| \tab~\ref{LABEL} | Menghasilkan nama tabel dan nomornya. Misalnya: … pada Tabel 2.1 ditemukan indikasi bahwa JP keren…. |
Gambar
Cara menyematkan gambar di tulisan:
\begin{figure}
\centering
\includegraphics[width=0.50\textwidth]
{LOKASI}
\caption{KETERANGAN_GAMBAR}
\label{LABEL}
\end{figure}
Yang tercetak tebal dapat diganti misalnya menjadi:
- LOKASI diganti menjadi pics/fotodiri.png
- KETERANGAN_GAMBAR diganti menjadi Suspek Orang Keren
- LABEL diganti menjadi figs:orangKeren
Tabel
Contoh-contoh tabel yang diambil dari bab2.tex dari UIStyle.
Sederhana
\begin{table}
\centering
\caption{Contoh Tabel}
\label{tab:tab1}
\begin{tabular}{| l | c r |}
\hline
& kol 1 & kol 2 \\
\hline
baris 1 & 1 & 2 \\
baris 2 & 3 & 4 \\
baris 3 & 5 & 6 \\
jumlah & 9 & 12 \\
\hline
\end{tabular}
\end{table}
Contoh-contoh setelah ini bersumber dari Wikibooks.
Satu baris menempati beberapa kolom
\begin{table}
\centering
\caption{An Example of Rows Spanning Multiple Columns}
\label{row.spanning}
\begin{tabular}{|l|l|*{6}{c|}}
\hline % create horizontal line
No & Name & \multicolumn{3}{|c|}{Week 1} & \multicolumn{3}{|c|}{Week 2} \\
\cline{3-8} % create line from 3rd column till 8th column
& & A & B & C & A & B & C\\
\hline
1 & Lala & 1 & 2 & 3 & 4 & 5 & 6\\
2 & Lili & 1 & 2 & 3 & 4 & 5 & 6\\
3 & Lulu & 1 & 2 & 3 & 4 & 5 & 6\\
\hline
\end{tabular}
\end{table}
Satu kolom menempati beberapa baris
\begin{table}
\centering
\caption{An Example of Columns Spanning Multiple Rows}
\label{column.spanning}
\begin{tabular}{|l|c|l|}\hline
Percobaan & Iterasi & Waktu \\
\hline
Pertama & 1 & 0.1 sec \\ \hline
\multirow{2}{*}{Kedua} & 1 & 0.1 sec \\
& 3 & 0.15 sec \\
\hline
\multirow{3}{*}{Ketiga} & 1 & 0.09 sec \\
& 2 & 0.16 sec \\
& 3 & 0.21 sec \\
\hline
\end{tabular}
\end{table}
Gabungan keduanya
\begin{table}
\centering
\caption{An Example of Spanning in Both Directions Simultaneously}
\label{mix.spanning}
\begin{tabular}{cc|c|c|c|c|}
\cline{3-6}
& & \multicolumn{4}{|c|}{Title} \\ \cline{3-6}
& & A & B & C & D \\ \hline
\multicolumn{1}{|c|}{\multirow{2}{*}{Type}} &
\multicolumn{1}{|c|}{X} & 1 & 2 & 3 & 4\\ \cline{2-6}
\multicolumn{1}{|c|}{} &
\multicolumn{1}{|c|}{Y} & 0.5 & 1.0 & 1.5 & 2.0\\ \cline{1-6}
\multicolumn{1}{|c|}{\multirow{2}{*}{Resource}} &
\multicolumn{1}{|c|}{I} & 10 & 20 & 30 & 40\\ \cline{2-6}
\multicolumn{1}{|c|}{} &
\multicolumn{1}{|c|}{J} & 5 & 10 & 15 & 20\\ \cline{1-6}
\end{tabular}
\end{table}
Penanda Untuk Dikerjakan Nanti
Untuk menandakan di dokumen bahwa kita belum selesai:
\todo{Kira-kira setelah Skyrim level 45, bagian ini akan dilengkapi dengan Uji Anova.}
Hasilnya adalah sebuah kotak merah berisi berlabel TODO yang berisi.
Malas Itu Indah (Uhuk… maksudnya makro)
Untuk menyingkat frasa-frasa yang sering keluar atau seperti semacam makro di M$ Word, UIStyle menggabungkan semuanya itu di berkas “laporan_setting.tex”. Isinya:
- Singkatan-singkatan seperti \saya
- Makro untuk judul tulisan, judul bab, judul Inggrisnya, tipe tulisan, nama penulis, npm, fakultas, bidang studi.
- Makro lembar pengesahan.
- dan sebagainya.
Kita bisa menambahkan makro untuk kata-kata yang sering kita tulis untuk menyingkat pengetikan. Contohnya:
\newcommand{\kp}{komputasi pervasif}
\newcommand{\Kp}{Komputasi pervasif}
\newcommand{\jp}{\textit{JP Keren}}
\newcommand{\JP}{Jan Peter Alexander Rajagukguk}
\newcommand{\TIK}{Teknologi Informasi dan Komputer}
Nanti di bab mana pun dapat digunakan menjadi:
Dalam \kp, terdapat arsitektur yang berusaha menjawab penggunaan media sosial sebagai sarana broker. Sistem \jp~ menggunakan sebuah model arsitektur yang dikembangkan oleh \JP. Dari hasil penelitian \saya, diketemukan bahwa \jp bisa dipakai untuk menjawab kebutuhan geofisika dengan solusi \TIK. Sarana \TIK yang dikembangkan oleh \JP ini menjawab kebutuhan akan 1) komunikasi dengan latensi rendah; (2) pemetaan layanan yang disediakan oleh sebuah peralatan dengan orang; dan (3) pencarian layanan yang dibutuhkan.
Oh, ternyata singkatan TIK bukan Teknologi Informasi dan Komputer (sejujurnya saya pun baru tahu setelah menulis entri ini). Misalnya ada 200 kali penyebutan dan tersebar di bab-bab lain, tentunya akan terasa sulit untuk mengganti manual. Nah, dengan adanya makro ini, cukup diganti di berkas ”laporan_setting.tex” menjadi:
\newcommand{\TIK}{Teknologi Informasi dan Komunikasi}
Saya pribadi menggunakan ini untuk beberapa istilah yang menggalaukan jiwa (antara mau taat menggunakan Bahasa Indonesia dengan baik dan benar berdasarkan referensi dari Kateglo versus kemauan dosen yang terbiasa dengan istilah asing dan minta supaya istilah dikembalikan ke bentuk asli supaya tidak pusing membaca) sehingga mengakibatkan kita harus berjam-jam menyunting dokumen.
\newcommand{\fw}{bingkai kerja} %% ini bisa diganti nantinya menjadi \textit{framework}
\newcommand{\ms}{media sosial} %% kalau ini mungkin bisa jadi \textit{social media}
\newcommand{\ts}{tetikus} %% kalau ini \textit{mouse}
\newcommand{\email}{surel} %% kalau ini antara surel dan \textit{email}
Tapi, untungnya para pembimbing saya, sih, sejauh ini (S1 dan S2) tidak mempermasalahkan tulisan. Beliau-Beliau lebih suka mempermasalahkan hasil kerja saya tepat waktu dan terbukti secara empiris. Jadinya lancar-lancar saja. Tapi, mungkin bisa lain lumbung lain tikus.
Ya, sudah, selamat berkarya.
Komentar Terbaru