Mungkinkah Flash diujung tanduk? Bisa iya bisa tidak. Tapi, kabar paling menarik yang muncul beberapa hari yang lalu adalah beralihnya Twitch dari Flash ke HTML5.

Bagi pengguna Twitch.tv dan pengguna peramban web non-Chrome, keputusan ini pasti sangat menguntungkan. Mereka jadi tidak perlu repot-repot memasang Flash hanya untuk berjibaku di Twitch.

“Videonya sendiri masih berada pada kendali penuh Flash,” tulis Twitch. “Namun, hal ini penting untuk mengantisipasi penggunaan HTML5 player secara penuh.”

Alasan yang sangat bijak, sudah banyak cibiran dari netizen bagaimana buruknya Flash. Dari performanya yang buruk sampai banyaknya kerentanan yang ditemukan. Seperti Flash zero-day yang terjadi beberapa hari lalu, di mana dalam rentang sekian hari terdeteksi kerentanan pada Flash. Bahkan salah satu perusahaan Italia, Hacking Team, menyebut bug atau kerentanan ini sebagai “bug Flash paling indah selama empat tahun ini”.

flash

Harapan

Sebagai netizen pengguna peramban Firefox, tanpa sandboxing seperti Google Chrome, Flash merupakan teknologi yang tidak aman.

Keputusan untuk menjadi anti-Flash pun masih sulit dilakukan. Masih cukup banyak situs-situs yang memakai Flash, seperti fitur upload pada Projects.co.id yang masih menggunakan *.swf. Ini hanya salah satu contoh.

HTML5 harus segera menjadi lingkungan teknologi web default. Para pengembang sudah seharusnya mulai beralih ke teknologi HTML5 secara penuh.

YouTube bakal sediakan iklan 360-derajat? What!

Jujur ini sangat menarik. Pertama kali, fitur video 360-derajat dirilis sekitar pertengahan bulan Maret 2015. Dan saya baru tahu beberapa pekan lalu ketika kakak saya menyodorkan video klip bjork berjudul “stonemilker”.

iklan 360

Melalui blog AdWords, YouTube memberi kejutan baru kepada para penggunanya khususnya untuk para pengiklan: iklan 360-derajat. Iklan berupa video yang biasa kita lihat disela-sela menikmati video YouTube (biasa disebut TrueView) bisa berupa video 360-derajat, di mana akan memberikan kesan lebih interaktif dan sangat menarik mata.

Pengiklan pertama yang memanfaatkan layanan ini adalah Bud Light—salah satu merk bir ternama di Amerika. Para penonton bisa menggeser iklan tersebut dengan mouse atau memutar dan menggeser ponsel pintar untuk melihat “sisi lain” iklan.

Sebagai catatan, untuk menikmati video 360-derajat pengguna harus menggunakan peramban web Chrome dan/atau dengan ponsel Android dan iOS.

Fitur ini memberikan banyak manfaat yang bisa dinikmati para pengiklan, penonton, maupun pemilik video. Para pengiklan akan mendapatkan calon pembeli yang potensial, karena akan semakin banyak unsur produk yang bisa dipakai untuk menggaet pembeli produk atau jasa mereka. Para penonton pun akan lebih terhibur, mereka bisa menikmati iklan yang ditayangkan dengan cara lebih interaktif. Bagi pemilik video, impresi klik atau view akan semakin meningkat, dollar pun lebih banyak mengalir.

Kira-kira produk lokal apa ya yang bakal menjadi pengguna iklan 360-derajat pertama? Mungkin popok bayi? Dengan gambar para ibu yang sedang memasangkan popok ke bayi-bayi mereka?

Gentoo adalah satu-satunya* proyek open-source yang membuat saya sangat ingin berkontribusi di dalamnya. Salah satu usaha yang saya lakukan adalah menjadi penerjemah laman wiki.gentoo.org ke dalam Bahasa Indonesia.

Daftar laman yang sedang dan sudah diterjemahkan:

Dalam Proses

Selesai

Daftar di atas akan terus diperbarui. Pembaca bisa terus melacak proses penerjemahan wiki.gentoo.org ke Bahasa Indonesia melalui laman ini.

Saya yakin masih ada kalimat atau kata “aneh” pada hasil terjemahan, monggo kirimkan kalimat atau kata yang dimaksud beserta perbaikannya melalui surel saya: ramdziana[AT]protonmail[DOT]com. Atau langsung saja menjadi penerjemah di wiki.gentoo.org dengan mengikuti petunjuk Help:Translating/id.

* untuk saat ini.

I use Ruby 2.0.0 and I found “strange” error when I didn’t use “https” on my http request.

This was my first code, working fine but didn’t cool:

uri = URI(my_url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri, headers)
request.set_form_data(form_post) unless form_post.nil?
response = http.request(request)

My second code, seems cool, but I tried to not use_ssl:

uri = URI(my_url)
request = Net::HTTP::Post.new(uri.request_uri, headers)
request.set_form_data(form_post) unless form_post.nil?
res = Net::HTTP.start(uri.hostname, uri.port) do |http|
    http.request(request)
end

Taraa, the problem came

/usr/lib64/ruby/2.0.0/net/protocol.rb:153:in `read_nonblock': end of file reached (EOFError)
	from /usr/lib64/ruby/2.0.0/net/protocol.rb:153:in `rbuf_fill'
	from /usr/lib64/ruby/2.0.0/net/protocol.rb:134:in `readuntil'
	from /usr/lib64/ruby/2.0.0/net/protocol.rb:144:in `readline'
	from /usr/lib64/ruby/2.0.0/net/http/response.rb:39:in `read_status_line'
	from /usr/lib64/ruby/2.0.0/net/http/response.rb:28:in `read_new'
	from /usr/lib64/ruby/2.0.0/net/http.rb:1412:in `block in transport_request'
	from /usr/lib64/ruby/2.0.0/net/http.rb:1409:in `catch'
	from /usr/lib64/ruby/2.0.0/net/http.rb:1409:in `transport_request'
	from /usr/lib64/ruby/2.0.0/net/http.rb:1382:in `request'
	from ./urimg:45:in `block in my_function'
  from /usr/lib64/ruby/2.0.0/net/http.rb:852:in `start'
	from /usr/lib64/ruby/2.0.0/net/http.rb:582:in `start'
	from ./urimg:43:in `my_function'
	from ./urimg:93:in `<main>

Guess what?? Just add an use_ssl, the problem gone!

res = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => uri.scheme == 'https') do |http|

That’s why I called it “strange”, because the problem should not look like that.

Slot conflict biasanya hadir ketika pengguna akan memasang paket yang mempunyai USE Flags berlawanan dengan paket yang lain.

Hal yang baru saja saya alami adalah ketika ingin memasang paket unbound. Unbound membutuhkan paket openssl dengan USE Flagstanpa bindist, padahal openssh memerlukan openssl dengan bindist. Galat yang muncul akan seperti ini:

# emerge -av unbound

Calculating dependencies... done!
[ebuild  N     ] net-dns/dnssec-root-20110630::gentoo  USE="{-test}" 2 KiB
[ebuild   R    ] dev-libs/openssl-1.0.1l-r1::gentoo  USE="tls-heartbeat zlib -bindist* -gmp -kerberos -rfc3779 -static-libs {-test} -vanilla" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="(sse2)" 0 KiB
[ebuild  N     ] net-dns/unbound-1.5.1-r2::gentoo  USE="ecdsa -debug -dnstap -gost -python (-selinux) -static-libs {-test} -threads" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7" 4,693 KiB

Total: 3 packages (2 new, 1 reinstall), Size of downloads: 4,694 KiB

# required by media-video/openshot-1.4.3[ffmpeg]
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-libs/openssl:0

  (dev-libs/openssl-1.0.1l-r1:0/0::gentoo, ebuild scheduled for merge) pulled in 
  by dev-libs/openssl:0[-bindist] required by
      (net-dns/unbound-1.5.1-r2:0/0::gentoo, ebuild scheduled for merge)
                             ^^^^^^^^                                                                                                                    
                             
      (dev-libs/openssl-1.0.1l-r1:0/0::gentoo, installed) pulled in by
         >=dev-libs/openssl-0.9.6d:0[bindist=] required by
         (net-misc/openssh-6.7_p1:0/0::gentoo, installed)

Sebenarnya, galat (error) muncul akibat paket openssh yang menggunakan USE Flags bindist. Segala paket dengan USE Flags bindist akan menjadi dependensi paket yang ber-USE Flags bindist pula, dan sebaliknya. Dalam kasus ini:

openssh (bindist) -> openssl (bindist) -> unbound (-bindist)

openssl akan selalu konflik dengan unbound, selama kebutuhan USE Flags bindist berbeda (unbound tidak memerlukan bindist, openssl masih memakai bindist, openssh pakai bindist).

Untuk menyelesaikan konflik ini, saya hanya perlu meng-emerge ulang openssh dan openssl tanpa USE Flags bindist.

openssh (-bindist) -> openssl (-bindist) -> unbound (-bindist)

Edit: Bukan CFLAGS tapi USE Flags