Recent Updates Toggle Comment Threads | Keyboard Shortcuts

  • Tuan Pembual 17:41 on 21 August 2018 Permalink | Reply
    Tags: , , COSCUP, , , ,   

    Taipei, openSUSE Asia Summit, Power of Community 

    When you’re planning a trip to Asia, Taipei probably isn’t be the first destination that comes to mind, as it’s often ignored in favor of more popular tourist spots like Tokyo or Hong Kong. But don’t ignore a trip to Taiwan’s big city — it’s an inexpensive, quirky metropolis with some of the best night markets in all of Asia. This is the second time i’ve visited Taipei for openSUSE Asia Summit.

    FYI, The last openSUSE.Asia Summit was held in Tokyo, Japan.

    Here we go. Me and the famous Mr. gecko!!

    Thursday 9 Aug, Day -1 (Travel to Taiwan)

    This time, 14 people came from Indonesia to join openSUSE Asia Summit 2018 in Taipei. We divided to 3 groups. One group flight from Juanda Surabaya (Darian, Aftian, Joko, Rania). One group at morning flight from CGK (Haris, Edwin, Estu). Last group with afternoon flight from CGK (Kukuh, Didiet, Rifki, Yan Arief) And 3 others people; Tonny, Iwan Tahari, Siska join a separate flight.

    My group is the first team landing in Taiyuan Airport. At international arrival gate, Franklin Weng pick us up to hostel, but we decided to visited Frank office before going to Hostel. We meet Eric Sun and their team. Artistic team who create video for opening ODF Reader on Android. The video created using Blender Software.

    22.00 we arrive at hostel. Many thanks to Frank for deliver us. :D. A few hours later, 2 more groups arrived at hostel. We are stay at same hostel. A comfort dormitory with share room. First Hostel, not far from Daan Park. Let call it a day and sleep all the night.

    Friday 10 Aug, Day 0 (openSUSE Board and Community Meetup)

    Today we plan join meetup at Taiwan SUSE Office after Friday Prayer. We visited Taiwan Grand Mosque, not far from Daan Park and our hostel. Before Friday Prayer, we take breakfast at Sakura Canteen (with Indonesian Food), next to Taiwan Grand Mosque. After praying, we going to SUSE office by walk. We came late to SUSE office, after lost direction. What a day!

    Main discussion on SUSE Office

    We meet openSUSE boards, SUSE Beijing and SUSE Taiwan, openSUSE Japan, openSUSE Taiwan; Ana Martinez and Simon, Sunny and team, Alcho and team, Takeyama and team, Sakana etc. You can watch meetup video from Sakana here.

    (More …)

    Advertisements
     
  • Tuan Pembual 10:39 on 16 August 2018 Permalink | Reply
    Tags: Academy, , , , ,   

    openSUSE Asia Summit 2018, Jogja dan Binar dalam Dunia Kode Sumber Terbuka 

    openSUSE Asia Summit 2018 selesai digelar kemarin. Rangkaian acara total digelar sejak 8-13 Agustus di National Taiwan University of Science and Technology, Taipei. Tulisan saya dalam Bahasa Inggris dapat dibaca pada tautan ini.

    Sebagai Summit kedua di Taiwan, openSUSE Asia Summit 2018 berlangsung sangat ramai, banyak kawan-kawan lama dari beberapa summit lainnya ikut hadir. Acara Summit kali ini lebih spesial karena merupakan kolaborasi tiga acara COSCUP X GNOME.Asia Summit X openSUSE Asia Summit.

    Saya kebagian sesi hari pertama, Sabtu 11 Agustus pukul 14.30. Materi yang saya bawakan berjudul: How Jogja Become City of GNU/Linux User Friendly. Slide presentasi saya dapat diakses di tautan ini.

    Dalam sesi ini, saya menceritakan sejarah komunitas GNU/Linux di Jogja ketika awal-awal saya berkenalan dengan GNU/Linux dalam rentang tahun 2009-2015 bahkan era sebelum saya datang ke Jogja.

    Era komunitas GNU/Linux di Jogja mulai pudar sejak periode Startup mulai menggeliat di Jogja, sekitaran tahun 2015. Dalam catatan ini saya melihat bahwa teknologi berkode sumber terbuka tidak lagi dalam tatanan bagaimana berkenalan. Namun sudah menuju bagaimana teknologi ini dapat dimanfaatkan secara maksimal.

    Di bagian akhir cerita, saya menceritakan Apa itu Binar Academy dan bagaimana Binar Academy memanfaatkan GNU/Linux dan teknologi bersumber kode terbuka lainnya dalam proses akademi. Beberapa hal malah merupakan keharusan menggunakan teknologi tersebut dalam proses akademi.

    Beberapa teknologi yang kita gunakan di Binar Academy:

    • Sistem operasi, Ervien, salah satu mentor dan saya menggunakan opensuse 42.3 dalam keseharian, beberapa mentor lainnya menggunakan Ubuntu 16.04 dan Linux Mint.
    • Bahasa pemograman, Ruby on Rails, Vue JS, Kontlin,
    • Metabase, Mattermost
    • Database, mysql, postgresql
    • Webserver, NGINX
    • AWS Platform, Heroku
    • Gitlab dan Gitlab-CI

    Harapannya adalah semakin banyak orang, lembaga, perusahaan yang memanfaatkan GNU/Linux dan teknologi bersumber kode terbuka lainnya.

    Terimakasih untuk openSUSE dan Binar Academy yang menjadi sponsor perjalanan saya.

    Estu

     
  • Tuan Pembual 23:45 on 10 August 2018 Permalink | Reply
    Tags: Jepang, , , TAC, ,   

    Cara Lain Mengurus Visa Taiwan (2) 

    openSUSE Asia Summit 2015

    (Ki-Ka) Utian Ayuba, Franklin Weng, M. Edwin Zakaria

    Dulu pernah nulis “Mengurus Visa Taiwan“. Tulisan itu saya gunakan ketika mengurus Visa Taiwan untuk menghadiri openSUSE Asia Summit 2015.

    Tahun ini kembali openSUSE Asia Summit 2018 diadakan di Taiwan. Namun mengurus visa menjadi lebih mudah. Ini karena berdasarkan pengumuman dari https://niaspeedy.immigration.gov.tw/nia_southeast/languageAction!confirm, Pemegang paspor Indonesia yang pernah punya visa US, UK, Schengen, Korea, Jepang, Australia, waiver Jepang bisa masuk Taiwan tanpa visa. Aturan ini berlaku meski visa sudah kadaluarsa namun harus kurang dari 10 tahun dan atau sudah ganti passport. Cara mendapatkan visa Taiwan cukup mengurus Taiwan TAC (Travel Authorization Certificate).

    Syarat-syarat mengurus TAC:

    • Paspor dengan masa berlaku lebih dari 6 bulan
    • Pernah memiliki salah satu dari visa Amerika, Kanada, Inggris, Jepang, Australia, Selandia Baru, Korea ,dan negara-negara Schengen. Nomor visa harus dimasukkan dalam form.
    • Perkiraan tanggal keberangkatan dan nomor penerbangan (tidak perlu booking tiket dulu). Nomor penerbangan bisa merujuk dari mesin pencari.
    • Recana hotel tempat menginap. Tidak perlu sama dengan dokumen yang nanti disertakan ketika berangkat.

    Untuk visa, saya memiliki dua visa yang bisa dijadikan syarat. Visa Schengen tahun 2015 ketika menghadiri GUADEC 2015 dan Visa Jepang, Okt 2017 lalu ketika menghadiri openSUSE Asia Summit 2017. Namun saya memutuskan menggunakan Visa Jepang karena visa masih tertempel di passport saya yang masih berlaku. Visa schengen tertempel di passport lama saya.

    Lanjut mengisi form dari https://niaspeedy.immigration.gov.tw/nia_southeast/. Kemudian memasukkan data diri semacam nama, alamat, data dokumen pendukung (nomor visa dapat ditemui pada halaman visa pojok kanan atas). Setelah data lengkap, begitu submit langsung approved dan muncul TAC yang nanti dicetak dan dibawa bersama passport dan tiket pesawat.

    Saya iseng juga menyempatkan menelepon kantor TETO Jakarta dan petugas mengatakan prosedur saya sudah benar.

    Tambahan lagi, kita juga bisa sekalian mengisi dokumen kedatangan versi online. Biar g rempong nulis-nulis depan imigrasi. Tautan pengisian bisa dirujuk ditautan: https://acard.immigration.gov.tw/nia_acard

    Semoga bermanfaat.

    Estu~

     
  • Tuan Pembual 13:28 on 7 August 2018 Permalink | Reply
    Tags: , , , ,   

    openSUSE.ID goes to Taipei 

    Perhelatan openSUSE Asia Summit 2018 tinggal menghitung hari. Perhelatan ini akan berlangsung pada 10 – 12 Agustus di National Taiwan University of Science and Technology, Taipei. Acaranya akan cukup wah sekali karena merupakan kolaborasi tiga acara. COSCUP X GNOME.Asia Summit X openSUSE Asia Summit.

    Tahun ini kembali openSUSE.ID mengirim kontingen untuk memeriahkan acara. Ada 9 Pembicara dari Indonesia di openSUSE Asia Summit. Dan ada beberapa pembicara lain yang hadir untuk GNOME.Asia Summit 2018.

    Daftar kontingen openSUSE Asia Summit beserta materi yang akan dibawakan adalah:

    • Mohammad Edwin | Maintaining the Good Spirit – openSUSE Indonesia Community Experience
    • Kukuh Syafaat | openSUSE Leap & Flatpak
    • Yan Arief Purwanto | Having fun with KDE: create a Plasmoid
    • Estu Fardani | How Jogja Become City of GNU/Linux User Friendly
    • Didiet Agus Pambudiono | Deployment of multi node web server, database server and storage session server with Ansible
    • Ahmad Romadhon Hidayatullah | Working and Contributing to Open Source Project via Graphic Design in openSUSE Tumbleweed
    • Rahman Yusri Aftian | Nusantara Metode Input at openSUSE
    • Tonny Adhi Sabastian | Single Sign On Services with Free/Open Source Software at Universitas Indonesia – Updating to CAS 5
    • Mohammad Rifki Affandi Z | Build your cloud file hosting using Nextcloud on openSUSE Leap 15.0
    • Darian Rizaludin
    • Joko Susilo
    • Ahmad Haris
    • Siska Iskandar
    • Iwan S Tahari

    Tiket pesawat udah dibeli, Visa udah diurus, penginepan juga sudah dipesan. Tapi materi salindia masih draft semua. :D. Sampai bertemu di Taipei.

    Terimakasih untuk openSUSE dan Binar Academy yang menjadi sponsor perjalanan saya.

    Estu

     
  • Tuan Pembual 15:26 on 4 June 2018 Permalink | Reply
    Tags: Codec, , Pacman, VLC   

    Dukungan Video MP4/H.264 di openSUSE Leap 15.0 

    openSUSE Asia Summit 2015

    Setelah memasang Leap 15.0 di x260, ternyata saya tidak bisa memainkan gif ataupun video dari Facebook. Peramban yang saya gunakan adalah Firefox 60.0.1. Di lain sisi, memutar youtube tidak ada masalah. Dari hasil pengecekan https://www.youtube.com/html5 didapat bahwa format MP4/H.264 belum didukung oleh sistem operasi dan peramban.

    Membaca wiki openSUSE ditautan https://en.opensuse.org/SDB:Firefox_MP4/H.264_Video_Support, masalah ini dapat diatasi dengan:

    1. Pasang repo packman,
    2. Pasang libav, sekalian memasang VLC
      $ sudo zypper in vlc libavcodec56 libavcodec57 libavformat56 libavformat57 libavdevice56 libavdevice57
      
    3. Restart firefox, dan test kembali dukungan video di https://www.youtube.com/html5

    Selesai. Horeee.

    Estu~

     
  • Tuan Pembual 21:28 on 22 May 2018 Permalink | Reply
    Tags: ,   

    Setelah Rilis Uluwatu 

    foto: Jan Peter

    Setelah Rilis?

    Uluwatu sudah dirilis 2 Mei silam. Dirilis dengan harapan semoga menjadi yg terbaik, mesti tak anyal, hanya beberapa jam setelah rilis. Pengembang sepakat mengajukan minor rilis untuk beberapa perbaikan. Perjalanan menyenangkan buat saya, selaku Manajer Rilis; nano nano, deg deg an, depresi semua bercampur.

    BlankOn masih menghadapi masalah lama. Pekerjaan rumah merapikan service pengaturan lumbung. Peta ini mengarah kepada perubahan menggunakan reprepro menuju dak. Saya sendiri belum yakin sejauh mana ini akan dioprek. Tapi sepertinya akan menjadi mainan saya 2-4 bulan kedepan.

    Dengan tulisan ini dirilis, saya mengundurkan diri dari Manajer Rilis Uluwatu, dan berpindah tim ke bagian riset Proyek BlankOn.

    Kemana setelah ini?

    Beberapa rencana kedepan yang terbayang, beberapa selipan ide:

    • Menghidupkan kembali tautan rsync untuk lumbung arsip
    • Melakukan rilis minor tiap tgl 2 tiap bulan, jahitan akan menggunakan nomor, kode rilis akan dipilih setelah ada manajer baru.
    • Kembali membuka pembaharuan arsip-dev
    • Merapikan repo update dan repo security
    • Melakukan pemetaan DNS,  kembali terpusat.
    • Melakukan pemetaan web, khususnya yang jalan di waljinah. mematikan semua layanan, dan kemudian menghidupkan satu persatu yang dibutuhkan dan dipakai.
    • Meruwat Manokwari untuk berjalan beriring dengan pembaruan GNOME.

    Mungkin itu saja.

    Selamat Hari Kebangkitan Nasional.

     
  • Tuan Pembual 15:49 on 18 May 2018 Permalink | Reply
    Tags: , ElasticBeanstalk, Metabase   

    Binar dalam Metabase 

    Metabase is the easy, open source way for everyone in your company to ask questions and learn from data.

    Di Binar Academy, kami menggunakan metabase sebagai mesin untuk mengolah data dari hasil Academy. Metabase dapat dipasang dalam berbagai cara. Namun ketika saya diminta untuk memasang Metabase di lingkungan produksi, baru sadar bahwa stack yang dibutuhkan adalah java. Dan ini membutuhkan resource mesin yang lumayan. Untuk lingkungan development, sebelumnya kita menggunakan Heroku. Dipilihlah untuk menggunakan teknologi container.

    Dari halaman dokumentasi, Metabase mampu dipasang pada layanan ElasticBeanstalk. Mari kita coba. Ya Binar Academy menggunakan layanan AWS untuk semua platform infrastruktur. Untuk pemasangan Metabase di ElasticBeanstalk(selanjutnya disingkat EB) saya mencoba menggunakan EB CLI, namun sepertinya terlalu overkill. Saya kembali menggunakan konfigurasi dari dashboard web.

    Beberapa langkah yang saya lakukan dalam konfigurasi Metabase:

    Memasang metabase di ElasticBeanStalk.

    Saya menggunakan panduan dari sini. Beberapa catatan dalam pemasangan:

    • EC2 yang digunakan EB: t2.micro
    • RDS Postgres: t2.micro

    Setelah Metabase selesai dipasang, kita akan mendapatkan publik url berupa domain, sebagai contoh: prod-metabase.xxxxxx.ap-southeast-1.elasticbeanstalk.com.

    Setting Up Metabase

    Silahkan akses domain yang didapat. Saya merujuk dokumentasi resmi untuk melakukan konfigurasi.

    • Setup Admin Account, beserta credential
    • Setup Email untuk notifikasi, saya menggunakan Google Apps, konfigurasinya hampir sama ketika konfigurasi email Mattermost.
    • Setup database internal Metabase (RDS) dan Database Raw Data, (DB Aplikasi, Google Analytic)
    • Invite Team, dengan memasukkan email team.

    Setting Domain dan HTTPS

    Domain yang didapat merupakan domain costum dari ElasticBeanstalk. Ingin diarahkan ke metabase.domain.id. Caranya:

    • Login ke Domain Management, pilih DNS
    • Buat sebuah CNAME baru dengan isian
      name: metabase
      value: {{enter-your-subdomain}}.elasticbeanstalk.com.
    • Simpan dan tunggu propagasi domain berjalan

    Untuk HTTPS, saya menggunakan SSL dari LetsEncrypt. Untuk pembuatannya, saya generate dari mesin lain yang sudah ada certbotnya.

    $ sudo service nginx stop
    $ sudo certbot certonly --standalone -d metabase.domain.id
    $ sudo service nginx start
    

    Kemudian downlaod dua file ini dari sertifikat ke laptop lokal.

    • fullchain.pem
    • privkey.pem

    Unggah dua file tadi ke IAM mengunakan AWS CLI dalam format berikut:
    aws iam upload-server-certificate –server-certificate-name [berikan nama ssl ke iam] –certificate-body file://[path to fullchain.pem] –private-key file://[path to privkey.pem]

    $ aws iam upload-server-certificate --server-certificate-name [berikan nama ssl ke iam] --certificate-body file://[path to fullchain.pem] --private-key file://[path to privkey.pem]
    $ cd /path/to/ssl
    $ aws iam upload-server-certificate --server-certificate-name metabase.domain.id --certificate-body file://fullchain.pem --private-key file://privkey.pem
    

    Load ssl ke metabase:

    • Buka Elastic Beanstalk dan pilih aplikasi Metabase.
    • Pilih Enviroment metabase
    • Kemudian pilih bagian Load Balancing. Pilih Add Listener. Kemudian isi jendela pop up seperti berikut:
      Listener Port: 443
      Listener Protocol: HTTPS
      Instance Port: 80
      Instance Protocol: HTTP
      SSL Sertificate: metabase.domain.id (sesuai dengan nama yang ditulis ketika Unggah SSL)
    • Simpan.

    Silahkan uji akses costum domain dengan HTTPS. Semoga sukses 😀

    Dah itu aja.

    Estu~

     

     
  • Tuan Pembual 15:43 on 17 May 2018 Permalink | Reply
    Tags: , ,   

    Memasang Mattermost di AWS 

    Rencana Desain

    Bagi yang belum mengenal mattermost, bisa membaca postingan saya sebelumnya.

    1 Mesin EC2 free tier (1Core1GB) AWS
    OS Ubuntu 16.04
    IP Publik Static (Elastic IP)

    Stack:

    • Nginx (as proxy)
    • Mattermost-server
    • Postgresql
    • SSL letsencrypt

    Security Group outbond:

    • 443, 80 (open)
    • Ping (open)
    • 8065 (port mattermost sementara)

    Instalasi saya pecah menjadi beberapa bagian

    Persiapan Mesin

    1. Buat mesin, sesuai spesifikasi diatas
    2. Login ssh dan mulai masang-masang

    (More …)

     
  • Tuan Pembual 11:25 on 3 May 2018 Permalink | Reply
    Tags: ,   

    Menjadi BlankOn 

    Hai, saya Estu.

    Kali ini sedang mencoba menjadi manager rilis BlankOn XI dengan nama kode Uluwatu. Rilis kali ini pengerjaan dimulai 8 Feb 2017.

    Apa yang terjadi dalam kurun waktu menuju Uluwatu?

    Setelah rilis BlankOn X Tambora, hampir semua koordinator tim mengundurkan diri, tak luput beberapa pengembang veteran pun ikut gantung papan ketik.

    Saya sendiri mungkin hanya sebagian pengembang lawas yang masih ikut. Mari bikin tim baru. Kenyataan pertama yang dari dulu sudah menjadi momok adalah baru sadar bahwa tidak ada dokumentasi yang memadai pada Infrastruktur dan aplikasi utama. Kedua hal itu biasanya merupakan tugas turunan untuk menjadi pawang mesin dan pawang aplikasi tanpa tau bagaimana kedua hal itu dibangun. Momok itu baru sadar ketika beberapa service tidak berjalan baik.

    Selama perjalanan menjahit Uluwatu, ada beberapa kejadian yang menjadi catatan saya.

    Milestone:

    1. Perawatan Mesin BlankOn
      • Waljinah, penambahan hardisk | Maret 2017
      • Perawatan Rani, penambahan hardiks | Maret 2017
      • Perawatan Alynne, penambahan CPU dan RAM | April 2017
    2. Laporan kerusakan pada lumbung Tambora | April 2017
      • Backup service, Alynne install ulang
    3. Rekontruksi Pabrik CD, Pabrik Paket (IRGSH), dan Pabrik Repo | Maret – Juni 2017
      • Inisiasi ananda | mesin baru di Digital Ocean untuk riset rekontruksi
    4. Alynne gagal hidup dan bekerja akibat MotherBoard yg rusak | Desember 2017
    5. Penyalahgunaan Maskot Boni untuk komersial

    Pada rilis Uluwatu ini, tidak banyak yang berubah dari segi isi dan fitur. Beberapa hanya menaikan versi aplikasi. Namun beberapa kerjaan selesai yang saya anggap sebuah pencapaian dalam rilis kali ini ada banyak, diantaranya:

    1. Dokumentasi bagaimana membangun layanan BlankOn.
      Rilis kali ini saya ikut membidani rekontruksi infra BlankOn akibat beberapa catatan kejadian diatas.

      • Dokumentasi Pabrik Repo menggunakan reprepro
      • Dokumentasi Pabrik CC, service yg menjahit ISO BlankOn
      • Dokumentasi Pabrik Paket (irgsh server dan irgsh worker)
      • Isu-isu yang sering muncul di layanan dan bagaimana menangani
    2. Pemindahan Repository dari dev.boi yg menggunakan bzr ke github dengan scm git.
    3. Pemindahan Wiki oleh tim Dokumentasi dari Trac di dev.bo ke github pages.
      • Tim Dokumentasi kali ini memberikan lompatan yg besar. Karena mayoritas anggota bukan dari latar belakang IT, setelah bergabung. Belajar bagaimana menulis dokumentasi dalam format Markdown dan menggungahnya ke github melalui baris-baris perintah git.
    4. Perilisan Kode Etik berkomunikasi
    5. Pendaftaran Sponsor dan Mitra dirilis
    6. Kegiatan Translasi GCompris edisi Bahasa Indonesia
    7. Kegiatan Pameran di Habibie Festival dan Libroffice Conference Indonesia

    Beberapa catatan lain.

    9 Februari 2018, kami kehilangan kawan, sahabat, jiwa muda di tim pengembang BlankOn.
    Muhammad Rafi, koordinator Humas, berpulang setelah seminggu dirawat pasca kecelakaan.
    Sebuah kehilangan yang sangat besar bagi kami. Semoga dilapangkan jalannya, Amin.

    Diawal bulan Mei ini, setelah melalui perjalanan panjang, pasang surut. Tim Pengembang sepakat.
    “Merilis BlankOn XI Uluwatu”

    Selamat rilis kawan, tetap semangat menuju kemandirian perangkat lunak bersumber terbuka.
    Mohon maaf belum dapat menjadi manager rilis yang baik.

    Tabik
    Estu – tuanpembual

     
  • Tuan Pembual 15:18 on 23 April 2018 Permalink | Reply
    Tags: Cloud, , Messaging,   

    Mattermost, Slack Alternative 

    2018-01-23 16.42.36

    Mattermost, ketika mendengar kata ini, yang kebayang disaya adalah termos air. 😀

    Mattermost sendiri adalah open source private cloud messaging sebagai alternative dari Slack. Kode sumber mattermost dapat diakses di https://github.com/mattermost. Lengkap dengan server dan client side.

    Beberapa limitasi slack gratis yang kerasa adalah hanya menyimpan 10ribu chat terakhir dan batasan total file dan total ukuran file yang diunggah.

    Mattermost sendiri sebagai private cloud messaging bisa digunakan lewat beberapa cara. Diantaranya:

    1. Beli layanan dengan beberapa service tambahan menarik lainnya
    2. Install dan konfigurasi Mattermost server di server sendiri

    Saya memilih memasang di mesin sendiri. Ada beberapa pilihan pemasangan lain, seperti memasang di heroku, memasang menggunakan Puppet, Chef atau Ansible. Bahkan memasang mattermost-server dalam Docker.

    Sementara setelah membaca beberapa tautan di halaman unduhan, saya sepertinya akan memasang di AWS saja.

    Sempat nyoba di heroku tapi kurang berhasil. Nyoba di aws 3-4 kali baru sukses. Panduan pemasangan akan saya tulis setelah ini. Iya nyobanya banyak, karena masih meraba-raba bagaimana konfigurasi yang paling cocok digunakan di kasus saya.

    Untuk aksesnya bisa dari browser ke domain yang sudah diatur dari mattermost server. Untuk versi ponsel pintar android sudah ada jg di Google Play.

    Dah itu aja dulu pengenalannya.

    Lanjut nulis install-install.

    Estu~

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel