Blog posts from Q&A (qa)
Q&A: Apa itu SMTP? dan bagaimana cara protokol SMTP bekerja?
SMTP (Simple Mail Transfer Protocol) merupakan sebuah protokol yang ditujukan untuk mengirim surat elektronik (email). Namun, protokol ini hanya ditujukan untuk mengirim pesan sesama client/perangkat pengirim dan server email saja; untuk melihat daftar email yang diterima sebuah client/perangkat perlu untuk menggunakan protokol POP (Post Office Protocol), IMAP (Internet Mail Access Protocol), atau mengakses situs HTTP/HTTPS yang dimiliki/dioperasikan oleh server email tersebut. Sebelum sang client (alias User-Agent/UA) dapat mengirim surat melalui SMTP, client tersebut harus menghubungi dan mengecek apakah server email asal (sender Mail Transfer Agent/MTA) aktif dan bersedia untuk mengirim email. Jika server/MTA tersebut membalas permintaan sang client/UA dengan status "220 Ready for Mail", maka client tersebut sudah dipastikan dapat mengirim email selama permintaan-permintaan client berikutnya tidak terganggu akibat masalah dalam jaringan yang menghubungkan sang client/UA dengan server/MTA. Kemudian, client tersebut akan mengirimkan perintah EHLO kepada server email pengirim. Dalam kasus ini saya menggunakan perintah EHLO daripada HELO untuk menggunakan fitur-fitur yang ada di dalam protokol Extended SMTP, termasuk fitur autentikasi yang sering digunakan dalam banyak aplikasi dan layanan email saat ini. Jika server tersebut meminta sang client untuk menyebutkan data credentials (misal: alamat email dan password, atau token OAuth2) di dalam respons 250 dari server (misal: "250 AUTH LOGIN PLAIN DIGEST-MD5"), maka sang client akan mengirimkan data-data yang diminta dan server tersebut akan memverifikasinya. Oke, anggap saja bahwa proses autentikasi tersebut telah usai. Client tersebut akan mulai untuk memasukkan data-data berikut (secara berurutan): 1. Alamat pengirim email, menggunakan perintah MAIL FROM 2. Alamat penerima email, menggunakan perintah RCPT TO 3. Isi pesannya, baik head (misal: metadata) dan body, menggunakan perintah DATA Jika pesan tersebut sudah siap dikirim dari server, maka sang server akan memberikan kode status 250 kepada sang client. Server pengirim tersebut akan menjadwalkan pengiriman surat tersebut kepada server penerima (kecuali sang client memutuskan untuk mengirim perintah RSET sebelum surat tersebut dikirim dari server), dan jika server dan/atau alamat penerima tersebut tidak ditemukan, maka server pengirim tersebut berhak untuk memberitahu sang client bahwa pengiriman surat tersebut gagal, biasanya melalui email khusus dari program "mailer daemon" yang dijalankan oleh server pengirim tersebut. Protokol SMTP juga dapat digunakan untuk memverifikasi jika alamat yang dituju ada, dengan menggunakan perintah VRFY, dan mengecek apakah koneksi server tersebut masih aktif dengan menggunakan perintah NOOP. Terakhir, jika client tersebut ingin memutuskan hubungan terhadap server pengirim, maka client tersebut dapat mengirimkan perintah QUIT untuk melakukannya. Referensi https://www.samlogic.net/articles/smtp-commands-reference.htm https://www.ionos.com/digitalguide/e-mail/technical-matters/smtp-auth/
Q&A: Jelaskan fungsi dan cara kerja ARP dan ICMP
ARP (Address Resolution Protocol) ARP merupakan sebuah protokol link-layer yang berfungsi untuk mencari alamat fisik (bagian) perangkat komputer yang terhubung dengan sebuah jaringan (seperti Network Interface Card dan Wireless NIC) berupa alamat MAC berdasarkan alamat IP yang disetel atau diterima perangkat tersebut (misal: melalui DHCP). Dalam protokol IPv6 protokol ini digantikan dengan Neighbor Discovery Protocol (NDP). Namun, hal ini tidak berarti bahwa ARP hanya dapat digunakan di dalam jaringan protokol IPv4 saja. Pencarian alamat MAC melalui ARP ini dapat dilakukan dengan mengirim sebuah paket request kepada broadcast address global 255.255.255.255 atau broadcast address jaringan tersebut. Jika ada sebuah perangkat yang memang memiliki alamat IP yang dicari, maka perangkat tersebut akan mengirimkan paket reply yang berisi informasi alamat MAC yang dicari. Perangkat-perangkat komputer juga sering meng-cache hasil pencarian alamat MAC melalui ARP ini untuk beberapa waktu, sehingga mereka dapat menghemat waktu yang diperlukan untuk mencari alamat MAC kembali saat mengirim paket dengan alamat IP yang sama dengan paket-paket sebelumnya. ICMP (Internet Control Message Protocol) ICMP berfungsi sebagai protokol pendukung jaringan komputer yang berfungsi untuk mengirim informasi operasional atau kendala pada jaringan-jaringan Internet. Meskipun nama ICMP sendiri berasal dari kata Internet, ICMP ini masih dapat digunakan di dalam jaringan lokal (LAN) tanpa adanya hubungan ke WAN atau Internet. Beberapa contoh informasi yang dikirimkan melalui ICMP adalah pesan-pesan error yang sering kita temukan seperti Destination host unreachable, Destination port unreachable, Destination network unknown, dan bahkan PING (Echo reply). Karena itu, protokol ini sering digunakan di dalam program ping, traceroute, dan program-program diagnostik jaringan lainnya untuk mengecek kendala-kendala dalam sebuah jaringan komputer. Seluruh paket informasi yang diberikan melalui ICMP dilakukan secara sukarela. Jika misalnya perangkat A berhasil mengirim data ke perangkat B melalui router C, router tersebut tidak harus mengirim pesan ICMP kepada perangkat A yang mengirimnya. Bahkan, ICMP sendiri tidak memerlukan koneksi TCP/IP atau UDP untuk mengirim informasi tersebut, sehingga protokol ini masuk ke dalam kategori Internet-layer dalam daftar protokol yang sering digunakan untuk berkomunikasi di dalam Internet.
Q&A: Apa yang anda ketahui mengenai Intranet dan Extranet serta berikan contohnya!
Intranet Intranet merupakan sebuah jaringan komputer yang hanya dikhususkan untuk kepentingan internal, misalnya untuk kepentingan pribadi, organisasi, atau perusahaan, sehingga akses dari dan terhadap jaringan tersebut dibatasi dengan alasan-alasan keamanan. Berikut ini adalah contoh kasus nyata di mana Intranet dapat digunakan dalam kehidupan sehari-hari. Saya memiliki sebuah perangkat Raspberry Pi yang terhubung dengan sebuah printer dan jaringan Wi-Fi, di mana perangkat tersebut dapat memungkinkan saya untuk mencetak dokumen langsung dari laptop dan ponsel saya tanpa menghubungkannya ke dalam printer tersebut (melalui CUPS, Bonjour/Avahi, SMB, dan AirPrint). Saya tidak mau orang lain yang berada di luar jaringan Wi-Fi saya dapat mengaksesnya dan menggunakannya, karena hal tersebut dapat memboroskan penggunaan kertas HVS, tinta printer, serta listrik di rumah saya. Karena itu, saya memutuskan untuk mengatur Firewall untuk memblokir akses masuk dari perangkat komputer yang berada di luar jaringan Wi-Fi saya terhadap perangkat Raspberry Pi tersebut. Karena itu perangkat Raspberry Pi dan perangkat lainnya yang terhubung secara langsung dengan Wi-Fi saya masuk di dalam sebuah jaringan Intranet. Kemudian, Anda secara tidak sadar juga menggunakan Intranet saat Anda hendak melakukan screen sharing ke sebuah Smart TV berbasis Apple AirPlay dan Google Chromecast. Koneksi screen sharing berbasis Miracast tidak tergolong sebagai koneksi Intranet karena Miracast menggunakan koneksi Wi-Fi Direct yang bersifat Personal Area Network / PAN. Anda pastinya tidak mau jika seseorang dari jarigan luar melakukan koneksi screen sharing tanpa seizin Anda. Karena itu, perangkat router Anda secara otomatis memblokir akses ke LAN dari WAN, sehingga Smart TV Anda secara otomatis berada di dalam Intranet milik Anda. Extranet Sedangkan, Extranet merupakan sebuah jaringan komputer yang secara khusus dirancang agar dapat diakses oleh pengguna di luar jaringan tersebut (misal: WAN) dengan batasan dan syarat tertentu. Sebuah perangkat Extranet dapat dipasang di dalam jaringan Intranet yang sudah ada untuk membuka akses bagi sebagian pengguna WAN/Internet untuk mengunjungi dan menggunakan sistem/aplikasi dan informasi di dalamnya. Jarigan Extranet saat ini sudah sering digunakan di dalam remote working khususnya dalam masa pandemi seperti ini, di mana banyak perusahaan memasang perangkat server VPN (Virtual Private Network) yang dapat memudahkan para pekerja untuk mengakses informasi yang berada di Intranet perusahaan tanpa harus berada di dalam kantor. Perangkat server VPN inilah yang berfungsi membuka akses Intranet menjadi Extranet bagi perusahaan tersebut. Selain itu, Anda sebagai Binusian mungkin sudah mengenal beberapa situs intranet yang hanya dapat diakses di dalam perangkat-perangkat komputer yang terpasang di dalam sistem jaringan komputer di dalam kampus-kampus BINUS. Meskipun bukan merupakan server VPN, situs ini masih dapat dikategorikan sebagai salah satu jaringan Extranet karena mahasiswa Binus lainnya masih dapat mengakses sistem tersebut tanpa harus menggunakan salah satu perangkat komputer di dalam lingkungan kampus.
Who owns Android?
Note: This was posted as an answer on Quora. Android was originally founded by Andy Rubin in 2003 under the company name Android, Inc. It is correct that he previously worked for Apple and Microsoft, however he quit Apple, Inc. at about 15 years before the original iPhone was launched. At 2005, Google finished their acquisition of Android, Inc. Hence, Google becomes the author of Android. Two years after the acquisition of Android, Google launched the Open Handset Alliance (OHA), which lists companies, especially mobile device manufacturers, which ships some of their devices with Google’s Android OS (with Google Play Services). This leads to the fact that Android is not just owned by Google, but also all members of the Open Handset Alliance (including Samsung, Lenovo, Sony and other companies who makes Android devices). As the core parts of Android are open sourced, anyone may obtain these parts freely as regulated by the license. As a result, many variants of Android are also made available, which lead to creation of custom ROMs and inspires Google to create the “Be Together, Not the Same” motto of Android. https://www.youtube.com/watch?v=0Cz6drXxrMI Outside of Google and the Open Handset Alliance, there are also some companies and communities responsible for developing custom Android ROMs, which includes: Amazon: not an OHA member, while responsible in making the OS for Amazon Fire devices which are also based on Android.BlackBerry: joined as an OHA member, while they were responsible in porting the Android runtime for QNX and BlackBerry 10.Jide Technologies: responsible for Remix OS, which ports and modifies Android OS for usage in PCs.LineageOS: the community revival of the popular CyanogenMod custom ROMs.OpenMobile WorldWide: responsible in providing Android services and OpenMobile ACL Android runtime for Samsung’s Tizen (and probably BlackBerry’s QNX and BlackBerry 10 as well). In conclusion, Android can actually be owned by anyone. You could grab the Android Open Source Project source code and do something with it. I feel that your question is incomplete though, as someone could own an Android OS the same way as owning a copy of Windows. Hopefully, this answer makes you understand about the diversity of Android OS, even though Google is currently the largest owner of Android.
Q&A: What are the pros and cons of Android and iOS that most people are not aware of?
Android If you think that Google invented Android, you are absolutely wrong. Andy Rubin, an ex-Apple employee, founded Android, Inc. and Android as an open source OS before Google purchased and acquired Android. Advantages of Android Open source, anyone can take the source code of some AOSP (Android Open Source Projects) Applications and Components. That's why BlackBerry 10 and Jolla devices can also run Android Apps, and Android manufacturers are allowed to customize the UI/OS such as Xiaomi's MiUI, Samsung's TouchWiz, HTC Sense UI etc. Runs on many devices, since it's allowed to be ported for other phones/devices. Owned by Google, which means that there are many Google-integrated features in Android (such as Contacts backup, Gmail, Google Drive, etc.) Customization. This is one of the biggest factors of the switch from iOS/others to Android. You can choose many different types of Launchers/Home Screens, Keyboards (Even though this can be customized since iOS 8), Status bar, and more. Variants. Manufacturers can easily integrate Android with some new features on the phone, such as fingerprint and eye scanner. There are also some Android variants, one of them is CyanogenMod. App installation and updates. Most Google Apps in Android can be updated without updating the OS. Android users just simply update it in Google Play Store (or others). Many apps can also be installed/updated without Google Play Store, by just installing the app in .APK format. This is useful for enterprises to create company-specific apps for Android. External storage support. This is another factor of the switch to Android. iPhones does not have support for memory cards (Micro SD cards), and the only way to connect with PC/Mac is through iTunes (And iTunes is not available in Linux distributions). Some manufacturers may have their own app to connect their Android devices to computers, such as Kies3 by Samsung. First setup and updates. Android may not need any software (such as iTunes) to setup your phone and delivering updates. iOS setup must require iTunes. Android updates will also not deleting your apps and your data, so it's easier to update than iOS. Price. Prices of Android phones are vary, depending on your needs. Many of them are cheaper than iPhones and iPads, while some of them have features what iOS devices (iDevices) does not have. Disadvantages of Android Google Play Services. This is a Google's trick: As I mention earlier, Android is open source, but it's limited to AOSP apps. Google Play apps and Services are not open source. Manufacturers must comply with Google's standard (and pay to Google) to allow Google Play Services and Apps to be bundled with their Android builds. Google Play Services is also important to many Google APIs on Android, and this is the reason why apps with Google Maps API and other Google APIs may fail in BlackBerry 10 and Sailfish OS. Different screen sizes and resolutions can cause problems with app development. This can take time to developers to develop an Android App. Bloatware. Many Android Apps are bloatwares, including unnecessary Google Apps. Manufacturers may include "Exclusive" apps that you may not use. And, there are many Google Apps that you also may not use. Bloatwares can take up many of device memory. Fortunately, many of them can be disabled through Settings. Update lifecycle. This depends of the manufacturers' decision. Android One phones receive updates for several years, Nexus phones are often to be updated quickly and used to test the beta versions of Android. Samsung's high-end devices received updates about a year after Google's official release, while old and low-end Android devices may not receive updates at all. This is because some manufacturers are modifying and porting the new versions of Android for their devices, and that's a long process. Different versions. Since updates are released slowly, there are many different Android versions of all Android devices around the world. Currently, Android 4.x is more used than Lollipop (5.x), Marshmallow (6.x) and Android N (7.x). This may cause difficulties with developers to create apps and fix bugs. Compatibility with older versions of Android. Currently, Google Apps supports from Android Jellybean to Android N. Meanwhile, Google is also developing a compatibility layer for some features (such as Material Design for KitKat and below). Developers must choose which Android will be supported, since lower versions means less APIs and functions, as well as some things that are deprecated today. Security. Some bugs on Linux kernel in Android phones may open backdoors to security flaw. Furthermore, there are some malicious Android apps that can threat the OS itself. iOS If you think that iOS is the first smartphone OS, that’s another mistake. Before iOS, there are some smartphone/PDA OS before it, such as BlackBerry, Palm WebOS, Windows Mobile and even Apple’s Newton OS for their Newton Messagepad PDAs. Please note that iOS is originally a trademark of Cisco Systems, Inc. not Apple, Inc. Advantages of iOS Just works. If you don't care about customization, and random process of setting up your phone, iOS may be perfect for you. If you notice, there are far less steps for you to set up an email account, calendar, even installing Apps from the App Store can be done in a tap. In Google Play, users are asked to understand the App permissions (for non-Marshmallow devices). Software lifecycle. In iOS, it's far easier for iPhones to update (rather than Android devices, unless you are using latest Android phones). This also benefit for developers so they can integrate new iOS features easily. App size. Most of apps whose have both iOS and Android versions are different in memory size. In fact, iOS apps are “lighter” than Android apps. This happens due to diverse Android phones that are need to be supported, with new Material Design libraries for Android as well. Continuity. If you previously owned other Apple products (such as a Macbook), a new feature in iOS, MacOS (OS X), WatchOS and Apple tvOS, which allows you share content from an Apple device to another Apple device, including photos, clipboards, notes and more. Again,this is a new feature and requires latest version of those Apple OSes I mentioned above. User Interface. Even though Android's Material Design is good, iOS keep the UI as simple as possible. The aim of iOS to create a mobile OS which “Just works”. Security. By restricting other third-party content on iOS, iOS is more secure than Android. Even though there was some bugs in iOS, Apple fix those bugs on later versions. Disadvantages of iOS Apple ID. Most of iOS apps may require Apple ID for services such as Continuity, Apple Pay, Apple Watch integration, App Store, Game Center and even the iTunes. If you already have the Apple ID you won’t worry about this Restrictions. Unlike Android, iOS wants to monopoly your activities by their services. For example, you cannot install an iOS app just by download and install the packages like what Android does. Then, some of iOS apps are default for specific tasks, such as Safari for browsing and iTunes/Apple Music for playing music, even though Jailbreak is available for iOS. Meanwhile, this can improve the security of iOS as iOS apps are regulated in the App Store guidelines, and constantly reviewed by Apple. iTunes dependency. Every time you are updating to the latest iOS version, there’s always one more step: connect with iTunes for your computer. In Android, the updating process is straightforward and does not delete any of your previously installed updates. Price. iOS, alongside with other Apple OSes, are closed source. This means that to enjoy iOS you must have either the iPhone, iPad, or even the iPod Touch. In some countries, those devices are expensive due to taxes applied in their government. The iOS-capable devices are “the same”. This statement is even used in new Android marketing campaign, “Be together, not the same”. Unless a custom case is applied for iPhones, someone may incidentally steal your iPhone because it looks the same with each other. Storage. iPhones, iPod Touch and iPads are limited in storage. There are no external storage, weird iCloud problems, and other web storage apps available (such as Dropbox and Google Drive). Meanwhile, this should not be a problem because based on my experience, a 8GB iPod Touch (4th Generation, iOS 4) can be filled with almost 50 apps and Jailbreak, and less photos.
Q&A: Which were the first browsers that claimed to have at least partial HTML5 support?
Since most of the HTML5 components are come from previous versions (such as from basic HTML to HTML 4.01), HTML4-capable browsers still can support it. Since the HTML5 is released in 2012–2014, there were few browsers who claimed to have HTML5 support. According to Which Browsers Support HTML5? Chrome 10 had the highest score in The HTML5 test - How well does your browser support HTML5?, which is 301 out of 400 (now 300, since the maximum score increases to 555) should have more HTML5 compatibility. Firefox 4.0 has 249 out of 400 (now 215 out of 555). Opera 11.10 comes the next, with score 212 out of 555. Safari 5.1 scored 224 out of 555. The last browser to have good HTML5 support is Internet Explorer 10. It scores 265 out of 555. You can find the data in Which Browsers Support HTML5?, including for tablet and mobile OSes, as well as others such as game consoles, Kindle and smart TVs.
Q&A: Are there any easter eggs in iOS apps?
I think this site may help: 5 Genius Easter Eggs Hidden on Your iPhone
Q&A: What are some types of maps? How are they used?
There are many different types of maps used, from citizens to analysts. By default, Google Maps have these types: By default, Google Maps show streets and places. This is commonly called as city maps and tourist maps, and they are used for travelling daily. Traffic layer is a feature to show recent traffic conditions. On some areas this feature may be unavailable. Public Transit maps are used to find bus routes, train stations, Subway/Metro/Underground/MRT stations, monorail and others. Satellite maps shows the Earth image from satellites. In Google maps, the image is “static”, which mean the image is updated less frequently. Live satellite maps are commonly used in governments, where there is a need to control a country from criminal actions and other activities. Terrain maps provide less detail on transport and roads, since the map is special for activities such as trekking, mountain climbing and some geological analysis. Weather maps are used for weather and climate analysis. There are types of weather maps, such as a map to show the wind direction, cloud, precipitation (rain), temperature and so on. For normal users, they are likely to get information from websites and apps instead of these weather maps. Special purpose maps are maps which shows parts of an area, such as water pipes, drainage, electric cables, gas pipes and so on. This is commonly used for technical purposes and this may be used inside a company. Evacuation maps are generally maps which shows emergency routes for incidents such as tsunami, earthquake, volcanic activities, and so on. For general uses, this information may be replaced with signs in a place.
Q&A: Will anything replace iOS or Android in the near future?
Currently and previously there are many alternatives to iOS and Android, but they are having problems with gaining developers' interest and user base. Symbian OS. If you have a Nokia smart feature phone with Nokia Ovi App Store instaled it means that the feature phone is powered by Symbian. Symbian also powers many feature phones around the world. MeeGo. This OS is also preinstalled in some Nokia phones (before acquired by Microsoft). Now, MeeGo's source code are used for some projects such as Tizen and Sailfish OS. Tizen. This OS is built by companies such as Samsung and Intel, as well as the Linux foundation. Currently, this OS is preinstalled in some Samsung smartphones in India, most of Samsung Gear smartwatches and recent Samsung Smart TVs. Tizen is based from MeeGo, plus Samsung's Bada and Linux's LiMo. Sailfish OS. Made by Jolla, a company which is founded by former Nokia employees, uses MeeGo's source code as the core of the OS. Sailfish OS can also run some Android apps, but with limited support because of lack of Google Play Services and other Google Play apps, such as the Google Play Store. Microsoft Windows Mobile (version < 7) and Windows Phone (version 7 and up). Windows Mobile powers most of the PDA devices before the release of iPhone, but Windows Phone powers Nokia's Lumia smartphones. The main differences are the User Interface and how the app is installed. For Windows Mobile, you can just run the normal .exe files, while in Windows Phone the apps are Windows 8 Apps and Universal Windows 10 Apps. One of the main problems that may cause a lack of interest on this OS is limited third-party app support and the only office suite (Microsoft Office) that now requires a subscription fee. Ubuntu Phone (formerly Ubuntu Touch). Made by Canonical and some contributors, and brings the entire Ubuntu into a smartphone. Ubuntu Touch has a unique feature called Scopes, which would compete with Google Now Cards to show current information nearby. Meanwhile, the lack of app support and a home screen may cause users to refrain from using it. BlackBerry OS 4-7.1 and BlackBerry 10. BB OS 4-7.1 are based on Java, but BB10 is based on QNX (QT, C++ and Java) which is developed by BlackBerry. QNX also powers the BlackBerry PlayBook devices. BlackBerry 10 UI is similar to Sailfish OS and MeeGo. Same with Sailfish OS, BB10 can run Android Apps without Google Play Services. KDE Plasma Mobile. This is a new project by KDE, which aims to support native Linux apps as well as Tizen, Android, and other Mobile OS' apps. This project is experimental, but it is a good idea to be implemented later. Firefox OS and B2G OS. Firefox OS is developed by Mozilla for some smartphones, meanwhile B2G OS is developed by Mozilla volunteers and contributors. B2G OS is created due to the statement that Mozilla stops Firefox OS for smartphones in 2016. Firefox OS now runs on a Panasonic Smart TV, while B2G OS runs on Firefox OS-powered smartphones and some Android devices. There are many technical differences between these OSes, but it's still an interesting project to create "The Web is the Platform". As you can see, there are many alternatives that may take over iOS and Android. Each of these OSes have their potential. These OSes may be (re)used as an alternative when one of iOS and Android falls.