Nikon System

Hampir sebagian besar dari foto yang selama ini saya hasilkan, merupakan hasil dengan nikon system . Kalau anda bertanya mengapa saya memakai system ini tidak system yang lain, alasan saya adalah karena saya terlanjur memilih system ini seperti yang anda ketahui, semangkin lama seseorang menggunakan sebuah system semangkin sulit untuk merubah system yang anda pakai.

Sejalan dengan waktu (hampir kira-kira 20 tahun mengenal hobby fotografi), sekarang saya menggunakan system nikon dengan lensa mulai dari 15mm-500mm, dengan berapa body Analog & Digital (FF / APS)

Secara keseluruhan gambaran system yang saya pergunakan:

Body Analog:

  • nikon F4
  • nikon F3 Pinslide
  • nikon F801
  • nikon FM2n
  • nikon FG20

Body Digital:

  • nikon D50 (APS)
  • nikon D850 (FF)
  • nikon D500 (APS)

Lensa:

  • Zeiss Distagon 15mm/2.8 ZF2
  • nikkor AF 20mm/2.8
  • Samyang TS 24mm f3.5 ED AS
  • Mamiya-Sekor 35mm/3.5 N , Zorkendorf PC
  • nikkor AF 35mm/2.0D
  • Voigländer Ultron 40mm/2.0 SL
  • nikkor 50mm /1.8 AiS
  • Olympus Zuiko Macro Auto 50mm f3.5 dengan olympus OM – Nikon F adapter
  • Olympus Zuiko Macro Auto1:1 85mm f4 dengan olympus OM – Nikon F adapter
  • Olympus Zuiko Macro Auto1:1 135mm f4.5 dengan olympus OM – Tube Leitax Nikon F adapter
  • nikkor AF 85mm/1.8
  • nikkor 85mm/2.0 AiS
  • nikkor AF macro 105mm/2.8
  • nikkor 135mm/2.0 AiS
  • EL APO Nikkor 135mm/5.6
  • nikkor 400mm/3.5 AiS
  • nikkor 500mm/4.0 P
  • nikkor AFD 80-200mm/2.8
  • zoom nikkor 35-105mm/3.5-4.5 AI-S
  • nikkor AFS 17-55mm/2.8 DX

Telekonverter:

  • TC 14B
  • TC 301

Assesorie:

  • Blitz SB 24, SB15, SB700
  • SD 7 Blitz powerpack
  • SU 4 Blitzsensor
  • SK17 TTL blitzkabel
  • Kenko makro tube (modifikasi)
  • PB4 (modifikasi) dengan lensa EL APO Nikkor 135mm/5,6 & PS4
  • Zorkendorf PC adapter dengan lensa Mamiya 35mm/3,5 sebagai PC lensa
  • Berbagai Adapter dan Filter

Bersamaan dengan waktu berjalan, cuma lensa nikkor AFD 80-200mm/2,8 (D850) & nikkor AFS 17-55mm/2.8 (D50/D500) sebagai lensa zoom yang masih saya pakai, selebihnya saya lebih suka untuk memakai lensa fix lens ( terutama 35mm, 85mm & 20mm), kalau saya hanya bisa membawa 1 lensa maka saya memilih untuk keluar dengan lensa 40mm.

Draw your Diagram with PlantUML

Ref:

[plantuml]
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
[/plantuml]

Installing RIDE on Rasbian Bullseye 64 OS

prepare wxpython installation:

sudo apt-get update
sudo apt-get install libgtk-3-dev

Install wxpython for build on Pi:

sudo pip install -U wxpython

Remark this process can take hours for buiding installer!

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting wxpython
  Using cached https://files.pythonhosted.org/packages/b0/4d/80d65c37ee60a479d338d27a2895fb15bbba27a3e6bb5b6d72bb28246e99/wxPython-4.1.1.tar.gz
Requirement already satisfied, skipping upgrade: pillow in /usr/lib/python3/dist-packages (from wxpython) (5.4.1)
Requirement already satisfied, skipping upgrade: six in /usr/lib/python3/dist-packages (from wxpython) (1.12.0)
Requirement already satisfied, skipping upgrade: numpy in /usr/lib/python3/dist-packages (from wxpython) (1.16.2)
Building wheels for collected packages: wxpython
  Running setup.py bdist_wheel for wxpython ... done
  Stored in directory: /home/andie/.cache/pip/wheels/54/32/da/dc5c828a12bc9a1ca58d5555f1076fd7d2984ae9c0e03eb510
Successfully built wxpython
Installing collected packages: wxpython
  The scripts helpviewer, img2png, img2py, img2xpm, pycrust, pyshell, pyslices, pyslicesshell, pywxrc, wxdemo, wxdocs and wxget are installed in '/home/andie/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed wxpython-4.1.1

Install RIDE:

sudo pip install robotframework-ride

now you can start it via terminal:

nohup ride.py &

How to used Robotframework for file download from Internet

Pada umumnya pengguna Robotframework, menggunakan Web interface Library ( SeleniumLibrary , Browser Library ) untuk automatisasi download data dari Internet.

File download with Robotframework

Sebenarnya banyak cara lain yang lebih mudah digunakan untuk tujuan tersebut.

Methode 1:

mengunakan Standard libraries (Run Process) dengan menggunakan download tools yang tersedia pada umumnya seperti CURL atau WGET
${download_status}    run Process    curl    -O    ${download_uri}    >    ${download_target}    shell=True
    log many    ${download_status.rc}    ${download_status.stdout}    ${download_status.stderr}
Directory Should Not Be Empty    ${download_folder}
File Should Exist    ${download_target}

Methode 2:

menggunakan HTTP RequestsLibrary dengan Keyword: GET On Session
Create Session    download    ${HOST}    verify=False    debug=1
${response}    Get On Session    download    ${MSI}
log many    ${response}
Create Binary File    ${download_target}    ${response.content}
Directory Should Not Be Empty    ${download_folder}
File Should Exist    ${download_target}

Kelemahan dan Problem yang ada akan hadapi dengan menggunakan
Methode 1. adalah hanya akan befungsi untuk plain text data , atau juga data yang tidak dengan format biner.

Untuk data-data dengan format biner, contohnya *.MSI anda akan mendapat Problem seperti ini, pada saat mencoba untuk menggunakan data tersebut.

Windows *.MSI data rusak dalam process download .

Hanya dengan Methode 2. anda akan mendapatkan File biner (*.MSI) tanpa kerusakan.

Semoga informasi ini berguna untuk pengguna Robotframework dimana saja.

Vintage Lens 2 on Nikon DSLR

Lensa macro kedua yang saya pergunakan dengan kamera DSLR, adalah Olympus Zuiko Macro Auto1:1 85mm f4.

Olympus sebagai produsen Fotografi optik juga terkenal, dengan Produk (lensa macro) yang mempunyai kwalitas yang sangat baik , lensa ini menarik untuk saya karena jarak ke motiv yang sangat nyaman untuk pemotretan, dan kalau digunakan langsung dengan nikon D50 & Dandelion Chip Tube saya (22mm). saya dapat menggunakan on Body Flash untuk pemotretan macro saya.

Lensa: Olympus OM Zuiko 1:1 Macro Lens 80 mm f/4

Assesori: Adapter Lensa Olympus OM ke Nikon F MountDandelion chipping Tube.

Contoh hasil foto dengan D50 & D850

Using Olympus Zuiko OM Macro Lens on Nikon DSR Camera

Dalam artikel ini saya mencoba untuk menjabarkan mengapa saya menggunakan lensa olympus macro untuk membuat slide copy dengan nikon DSR kamera saya.

Seiring dari migrasi PC saya dari windows XP ke MAC, saya menemui hal yang agak mengganggu dalam kegiatan fotografi saya, sebelum berpindah ke MAC semua slide Analog saya selalu saya digitalisasi dengan Film Scanner (Canon Canoscan 2700) , scanner ini mesih menggunakan SCSI2 interface untuk dihubungkan dengan PC, setelah migrasi ke MAC , ternyata sangat sulit untuk mencari Driver serta Adapter untuk menghubungkan USB ke SCSI2, karena itu saya mencari solusi bagaimana mendigitalisasi film atau slide saya.

Beberapa waktu yang lalu saya temukan solusi yang menarik untuk digitalisasi Slide dan Negativ saya dengan Lensa Macro (Olympus OM Zuiko Auto Macro 50mm/F3.5 ).

Transfer Slide to digital with Nikon PB4 and PS4 on D850 & Zuiko 50mm Macro lens

Mengatur fokus dengan Live view mode pada D850 mudah dan nyaman. Waktu digitalisasi juga lebih cepat dibandingkan dengan menggunakan film scanner.

Berikut ini lensa Olympus Zuiko OM yang saya gunakan:

  • Olympus Zuiko Macro Auto 50mm f3.5
  • Olympus Zuiko Macro Auto 1:1 80mm f4 & Close-up Lens 80mm Macro f=170 mm
  • Olympus Zuiko MC Auto-Macro 135 mm f4.5
  • Telescopic Auto Tube 65–116 (with Leitax nikon converted & original olympus om zuiko)

ini adalah adapter yang saya gunakan:

  • Olympus OM – Nikon F Adapter

SAT to IP with Kodi(LibreElec)

Kali ini saya akan mengungkapkan pengalaman saya menggunakan Raspberry Pi dengan KODi OS (LibreElec) sebagai Media Player untuk signal TV Satelit ke IP.

Solusi ini saya pilih karena reciever SAT to IP yang saya miliki tiba-tiba rusak. Dan jenis reciever ini tidak lagi diproduksi oleh Devolo.

Devolo SAT > IP Reciever

Semulanya TV system saya terhubung sebagai berikut:

  • system semula: TV Satelit Antena -> Devolo SAT-IP Server -> Router -> Devolo SAT-IP Reciever -> TV(hdmi-in)
  • Problem dalam system: TV Satelit Antena -> Devolo SAT-IP Server -> Router -> Devolo SAT-IP Reciever(tidak berfungsi) -> TV(hdmi-in)
  • Solusi: TV Satelit Antena -> Devolo SAT-IP Server -> Router -> Raspberry pi 3b (KODI OS) -> TV(hdmi-in)

Ide ini timbul karena selama ini saya dapat langsung menikmati Program TV SAT to IP Program lewat SAT > IP apps (dengan IPHONE & IPAD).

SAT > IP App

Berikut Ini sketsa solusi Implementasi hardware IPTV dan SAT to IP :

Home Entertainment with Sat to IP / SATIP

Mulailah saya mencari spesifikasi SAT>IP yang saya temukan di halaman ini: https://www.satip.info/resources/channel-lists/

Untuk mencoba apakah channel list ini dapat dipergunakan di KODI, saya melakukan ujicoba sebagai berikut:

Saya coba untuk menggunakan m3u files yang saya dapatkan di atas, untuk diupload di VLC Viewer sebagai Mediaplayer List:

VLC Media Player m3u
VLC Media Player m3u

VLC Media Player Sat Program

VLC Media Player Sat Program Access OK

Solusi ini dengan VLC ternyata berfungsi dengan baik, sekarang saatnya saya mencoba untuk menggunakan m3u file tersebut sebagai konfigurasi tv di KODI.

Persiapan untuk konfigurasi KODI:

  • Instalasi OS KODI di raspberry pi 3b
  • Konfigurasi KODI dengan  PVR IPTV Simple Client Addon
  • Konfigurasi PVR IPTV Simple Client untuk menggunakan M3U file yang saya sebutkan di atas.
  • Sebagai Remote control saya dapat menggunakan Kodi Remote App dengan iphone.

Setelah konfigurasi selesai maka KODI dapat saya pakai untuk menjadi SAT to IP reciever menggantikan Devolo SAT-IP Reciever yang tidak lagi berfungsi .

Lebih murah dan mempunyai lebih banyak fungsi dibandingkan dengan Devolo SAT-IP Reciever, saya juga dapat menikmati IP TV langsung dengan TV saya selain SAT to IP, dengan KODI. Serta menikmati Program TV lewat Apps dari sender tertentu.

Selain itu saya juga dapat menikmati Siaran Internet TV dari Sender yang ada di Indonesia secara langsung lewat Internet tanpa satelit.

How To install Docker on Raspberry PI

Berikut ini sedikit ulasan bagaimana process instalasi docker pada Raspberry Pi

Lakukan update sebelum memulai instalasi pada Raspberry pi anda:

sudo apt update && sudo apt upgrade

check Rasbian os version:

cat /etc/os-release

Download Skript instalasi docker dengan Curl:

curl -fsSL https://get.docker.com -o get-docker.sh

Start instalasi docker:

sh get-docker.sh

Konfigurasi Raspberry user pengguna docker:

sudo usermod -aG docker <run user for docker>
sudo usermod -aG docker pi

check apakah User dapat menggunakan docker:

id -a | grep docker

listing seperti ini harus tampil di konsole anda:

....., 995(docker), ......

Untuk mencoba apakah anda sekarang dapat menggunak kan docker , anda dapat mencoba untuk menampilkan semua process yang online di docker dengan komand ini :

docker ps -a

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Setelah itu instalasi docker-compose:

sudo apt-get install libffi-dev libssl-dev
sudo apt install python3-dev
sudo apt-get install -y python3 python3-pip
sudo pip3 install docker-compose

check instalasi docker-compose:

docker-compose --version
docker-compose version 1.29.2, build unknown

Tolong diperhatikan informasi ini, untuk anda yang menggunakan Docker untuk bekerja: https://www.docker.com/blog/do-the-new-terms-of-docker-desktop-apply-if-you-dont-use-the-docker-desktop-ui/ 

Penggunaan docker tidak lagi licensi free (gratis) untuk pekerjaan profesional, untuk lebih jelas silahkan baca lebih detail di Informasi diatas!

T2 adapter with dandelion chip

ini adalah modifikasi yang terakhir saya lakukan untuk menggunakan Exa Bellow Tessar 50mm/f2,8 saya dengan Zörk Mini Macro

Pada dasarnya Zörk Mini Macro bisa diadaptasikan ke semua kamera bajonet dengan T2 Mount, karena itu saya mengadaptasikan T-mount adapter saya dengan menambahkan dandelion chips sehingga dapat menggunakan langsung lensa Tersebut di Body Kamera Nikon untuk pemotretan Macro.

Zörk Mini Macro: (nikon F – M39)

Perbandingan Mini Macro adapter dengan dan tanpa chips (di kiri dengan, di kanan tanpa):

Lensa: M42 Exa Bellow Tessar 50mm/f2,8 Jena DDR

Komponen yang dipakai (dari kiri ke kanan):

  • T2 adapter nikon F dengan dandelion chip
  • Zoerk Mini Makro Tubus dengan T2
  • M42 Tube
  • Lensa Tessar Below (Sunk Tessar) 50mm F2,8 , Carl Zeiss Jena DDR (M42), Rana dari F2,8 -F22, bisanya saya gunakan dengan rana 5,6 atau 8 untuk pemotretan macro dengan (D50/ D850)

Exif info di Nikon NX Studio:

Exif infos from Dandelion Chips

Contoh hasil foto dengan Nikon D850 :

contoh hasil foto dengan Nikon D50:

(c) Andie Tanadi

Migrasi Pi OS dari SD card ke M2-SSD pada Pi 4 8G

seiring dengan keluarnya Raspberry pi4 8G , saya memigrasikan seluruh sistim development saya ke Raspbian 64 OS,

ini adalah hardware yang saya gunakan:

  • Raspberry Pi 4 Computer Modell B, 8GB RAM
  • Argon ONE M.2 Case für Raspberry Pi 4
  • Kingston M.2 SSD A400 240GB
  • Raspberry Pi USB-C Netzteil 5,1V / 3,0A, EU

Alasan saya memigrasikan dari SD card 64G ke SSD 240 adalah karena kebutuhan tempat untuk code saya, juga kecepatan boot dan operasi dari Pi yang saya pergunakan.

Referensi info untuk migrasi bisa anda lihat dengan detail di sini:

Vintage Lens 1 on Nikon DSLR

Exa Bellow Tessar 50mm/f2,8 adalah salah satu lensa macro yang terbaik, yang pernah dibuat oleh firma Exakta.

Lensa ini terdapat dalam 2 model pertama dengan Exakta Bajonet (lens body chrom) dan , kedua dengan M42 Bayonet(lens body black).

Dengan rana mulai dari 2,8 sampai 22, yang menarik adalah jumlah daun rana yang lebih banyak(12 element) dari lensa macro jaman sekarang serta kontur rana yang bulat!. Ini membuat bokeh yang sangat baik untuk lensa yang relativ sudah lama diproduksi ini.

yang menarik adalah dengan solusi dandelion chipping tube, saya dapat menggunakan lensa ini di nikon DSLR saya (D50) .Lensa : M42 Exa Bellow Tessar 50mm/f2,8 Jena DDR

Lensa: M42 Exa Bellow Tessar 50mm/f2,8 Jena DDR

Assesori: Zörk Mini Macro dengan nikon F bajonet, Dandelion chipping Tube.

Contoh Foto Macro dengan Below Tessar:

Requirements based Testing with Robotframework

Contoh Struktur Persyaratan dengan RIDE

Dalam artikel ini saya ingin sedikit berbagi pengalaman saya dalam penerapan test automatisasi dengan Robotframework dalam bentuk pengujian bersyarat (Requirements based Testing)

Sebelum itu mari kita lihat dan pahami , apa arti Pengujian berbasis Persyaratan (Requirements based Testing) secara umum.

Apa itu Pengujian Berbasis Persyaratan?
Pengujian berbasis persyaratan adalah pendekatan pengujian di mana kasus pengujian, kondisi, dan data berasal dari persyaratan. Ini termasuk tes fungsional dan juga atribut non-fungsional seperti kinerja, keandalan atau kegunaan.

Tahapan dalam Pengujian berdasarkan Persyaratan:

  • Menentukan Kriteria Penyelesaian Test :
  • Pengujian selesai hanya jika semua pengujian fungsional dan non-fungsional selesai.
  • Desain Kasus Uji: Kasus uji memiliki lima parameter yaitu:
    • keadaan awal atau prasyarat,
    • penyiapan data,
    • masukan,
    • hasil yang diharapkan,
    • hasil aktual.
  • Jalankan Test: Jalankan kasus uji terhadap sistem yang sedang diuji dan dokumentasikan hasilnya.
  • Verifikasi Hasil Test: Verifikasi apakah hasil yang diharapkan dan aktual cocok satu sama lain.
  • Verifikasi Cakupan Test: Periksa apakah pengujian mencakup aspek fungsional dan non-fungsional dari persyaratan.
  • Lacak dan kelola Kesalahan Software: Setiap
    Kesalahan yang terdeteksi selama proses pengujian melewati siklus hidup Kesalahan dan dilacak hingga penyelesaiannya. Statistik
    Kesalahan dipertahankan yang akan memberi kita status keseluruhan proyek.

Persyaratan Proses pengujian:

  • Pengujian harus dilakukan tepat waktu.
  • Proses pengujian harus menambah nilai siklus hidup perangkat lunak (software), oleh karena itu harus efektif.
  • Menguji sistem secara menyeluruh tidak mungkin dilakukan sehingga proses pengujian juga harus efisien.
  • Pengujian harus memberikan status keseluruhan proyek, oleh karena itu harus dapat dikelola. Dan biasanya untuk tujuan ini digunakan Test Management Tools (salah satu contohnya adalah Mantis / TestLink/ HP-ALM-Quality Center / Jira Plugin XRAY)

Contoh Desain Kasus Uji dengan Robotframework:

*** Settings ***
Documentation     *Kriteria Penyelesaian Test:*
...               Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl. ) ein POST- Request mit dem Request-Body nach [gem_SGD_ePA#Tab_KeyDerivation-Request] eintrifft, so MUSS die RVE des SGD
...               - das Zertifikat im Datenfeld *Certificate* gemäß TUC_PKI_018 prüfen und
...               dabei Ergebnisse nach \ \ berücksichtigen.
...
...               - die Kodierung und die Signatur der ""PublicKeyECIES"" prüfen (vgl. \ und ).
...               Falls eine der Prüfungen ein nicht-positives Ergebnis liefert, so MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#] dem Client antworten und die weitere Requestverarbeitung abbrechen.
...
...               Die RVE des SGD MUSS die Informationen aufbereiten und an das für den Request avisierte SGD-HSM übergeben (vgl.). Liefert das SGD-HSM ein OK, so MUSS die SGD die Antwort den HTTP-POST-Request mit folgender Nachricht beantworten:
...               {
...               \ ""Status"" : ""OK"",
...               \ ""EncryptedMessage"" : ""... Base64-kodiertes Chiffrat. Das Chiffrat wurde vom SGD-HSM erzeugt ...""
...               }
...               Anderenfalls (SGD-HSM meldet einen Fehler) MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#] \ dem Client antworten.


*** Test Cases ***
A_17898-1
    [Documentation]    *Definisi Test:*
    ...    - Am SGD ePA trifft über die HTTPS-SGD-Schnittstelle (vgl. A_17889) ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_KeyDerivation-Request] ein: die RVE des SGD prüft das Zertifikat im - Datenfeld ""Certificate"" gemäß TUC_PKI_018 \ und berücksichtigt dabei Ergebnisse nach A_17896.
    ...    - Die RVE des SGD prüft die Kodierung und die Signatur der ""PublicKeyECIES"" (vgl. A_17900 und A_17901).
    ...
    ...    *Hasil Test:*
    ...    - Beide Prüfungen liefern ein positives Ergebnis.
    ...    - Die RVE des SGD bereitet die Informationen auf.
    ...    - Die RVE des SGD übergibt die aufbereiteten Informationen an das für den Request avisierte SGD-HSM.
    ...    - Das SGD-HSM liefert ein OK.
    ...    - Die SGD beantwortet den HTTP-POST-Request mit folgender Nachricht:{\ ""Status"" : ""OK"",\ ""EncryptedMessage"" : ""... Base64-kodiertes Chiffrat. Das Chiffrat wurde vomSGD-HSM erzeugt ...""}"
    [Tags]    A_17898    gemSpec_SGD_ePA    owner-at    prio-1
    [Setup]    Enable Strict Validation
    sgd-clientjavaWF.Vorbedingungen für Überprüfung
    sgd-clientjavaWF.Schritt1
    sgd-clientjavaWF.Schritt2
    sgd-clientjavaWF.Schritt3
    sgd-clientjavaWF.Schritt4
    sgd-clientjavaWF.Schritt6

Kriteria Penyelesaian Test dapat anda implementasikan dalam fungsi [Documentation] pada Robotframework Test.

Verifikasi Cakupan Test dapat anda implementasikan dalam fungsi [Tags] pada Robotframework Test.

Verifikasi Hasil Cakupan Test akan dihasilkan oleh Robotframework Test Report dan Test Log, yang didalamnya menggambarkan jalur dan urutan Test anda.

Anda tidak membutuhkan Aplikasi atau Software extra untuk mengimplimentasikan Kriteria yang saya sebutkan di atas.

Hasil dan dokumentasi dari Test anda akan anda dapatkan selalu dari hasil akhir automatisasi Test anda dengan Robotframework.

Extension tube with dandelion chip

Asal usul ide ini sebenarnya telah lama timbul dibenak saya.

Asal informasi modifikasi lensa Nikkor Manual dengan chips dari internet.

Asal informasi bagaimana memasang chips ini pada lensa Nikon AI-S dari Internet

Asal informasi bagaimana mengatur rana dan F lensa pada chips lewat Nikon Body

Untuk anda yang tertarik untuk membeli chip ini silahkan menghubungi langsung Ebay seller ini 

Seperti anda ketahui saya adalah kolektor beberapa kamera dan lensa analog Nikon. Seiring dengan perubahan waktu , saya mencari solusi untuk menggunakan lensa dan assesori Nikon saya di body Kamera DSLR saya (D50, D850).

Kalau anda menggunakan lensa AI, AIS , Bellow dan Macro Tube maka di display body kamera akan menunjukkan “F – -“ dan kamera tidak dapat mengambil foto, untuk “Profesional Level” model kamera nikon DSLR memiliki setting manual Lens dimana anda bisa memasukkan data focus length & rana terbesar lensa.

Kebanyakan lensa Nikkor AI, AIS tidak dapat berfungsi secara full di Body “Entry level” Model dari Nikon DSLR (contoh D50).

Sebenarnya ini adalah “Marketing Triks” Produser nikon untuk membatasi fungsi kamera terhadap lensa atau assesori tertentu untuk bisa dipakai dibody DSLR.

Solusi saya adalah memasang dandelion chip , sehingga body DSLR dapat di overide seolah olah mengetahui data maximal rana dan Focal length , sehingga bisa dipakai di entry Level DSRL (D50). Seperti jika anda menggunakan lensa Ais-P (45mm f/2.8 P, 500mm f/4 P dan 1200-1700mm f/5.6-8 P) ) atau seperti lensa-lensa dari Voigländer SLII dan Carl Zeiss ZF.2.

Tentu saja Focus lensa harus dilakukan manual.

Fungsi:

Tanpa harus memodifikasi, assesori aslinya sehingga tidak mengurangi nilai koleksi PB4 & Lensa.

Migrating CodedUI Test to Robotframework for Testing Sharepoint 2019 Websolution

just one sample migrating ATDD Test from Coded UI to Robotframework.

Before Test Structure:

CodedUI Unit Test Structure

Comparison Unit Test & ATDD Test Structure:

Structure Comparison C# and Python with Selenium API

Reason for Migration from CodedUI to Robotframework:

  1. CodedUI is now deprecated.
  2. Test Tools and Ways of testing didn’t fullfill the requirement for doing ATDD test (E2E test) scopes.
  3. Long test run .
  4. Needs of proper test logging
  5. Test run should be independance from SW build.
  6. Only IE as browser is supported.

Proposed Robotframework ATDD Structure:

Robotframework ATDD Structure

Project / Test & Development enviroment Limitation:

  1. Test Object: Sharepoint 2019 customisation
  2. OS used for test object and testing: Microsoft Windows 10 OS
  3. Build and test requrement tools: Microsoft TFS
  4. Diffrent targets and build environment for: Development, Integration and Preproduction.

Needed Infrastukture and Software for Testing with Robotframework:

  1. Python 3.x
  2. Robotframework
  3. Robotframework SeleniumLibrary
  4. Robotframework Whitelibrary
  5. Test editor Notepad ++ with Robotframework plugin
  6. Test should be able to run as Selenium Hub trigger from MS TFS which consuming Robotframework xUnit reports as test run results.

Benefit of using Robotframework:

  1. Test run faster than CodedUI
  2. Test cases are written as Keyword Driven test, instead of Unit Test, these speed up the test cases creation and migration also simplify reusable of test cases.
  3. No need using Visual Studio for creating test sases, you can use simple text editor r write tests.
  4. Test results are more understandable for non-technical team members ( Test Manager, Project Manager, Environment Team, Solution Team)
  5. Using RF Tag functionally and RF Report (Rebot) custom report can be created without any additional effort,
  6. Report implementations of build on TFS over Xunit report flag on Robot runner.
  7. Tests can run independently outside build tool.

Starting the MIgration Steps:

  1. Separating & creating all needed sharepoint UI keywords in UI Keyword resources.
  2. Separating & creating all needed sharepoint 2019 application workflow as Keyword resources.
  3. Creating template of sharepoint masterpage sites mapping as keyword resources.
  4. Defining needed static and dynamic variables regarding to TCs and target test enviroment as variable resources
  5. Creating RF runner files as batchfile for each target deployment enviroment (development, integration, or regresion)
  6. Creating test suites regarding requirement (sanity test, fuctional test or regresion test)
  7. Creating folder structure to map sharepoint functional requirement implementation
  8. Creating folder structure for test reports, test suites and test runner.
  9. Tagging related test suites regarding requirement coverage

Reports & Logs:

Upgrade Raspbian Stretch to Buster

Check your current OS version:

uname -a

cat /etc/debian_version

Prepare

Get up to date.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Verify nothing is wrong. Verify no errors are reported after each command. Fix as required (you’re on your own here!).

dpkg -C
apt-mark showhold

Optionally upgrade the firmware.

sudo rpi-update  

Prepare apt-get

Update the sources to apt-get. This replaces “stretch” with “buster” in the repository locations giving apt-get access to the new version’s binaries.

sudo sed -i 's/stretch/buster/g’ /etc/apt/sources.list    
sudo sed -i 's/stretch/buster/g’  /etc/apt/sources.list.d/raspi.list 

Verify this caught them all. Run the following, expecting no output. If the command returns anything having previously run the sed commands above, it means more files may need tweaking. Run the sed command for each.

grep -lnr stretch /etc/apt  

Speed up subsequent steps by removing the list change package.

sudo apt-get remove apt-listchanges

Do the Upgrade

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y

cleanup old outdate packages.

sudo apt-get autoremove -y && sudo apt-get autoclean

Verify with:

cat /etc/os-release.

Update Firmware

You have come this far, might as well get the latest firmware:

sudo rpi-update    

Have fun with your new updated Pi! 😉

Installing Ride on Pi Zero

Installing Ride v1.7.4 on Raspberry Pi Zero with Raspbian is a Challenge, especially during preperation and installation of wxPython for pi Zero

Base setup from pi Zero:

  • Rasbian buster lite
  • python 3.7x

Do SW update before installing :

sudo apt-get update
sudo apt-get upgrade
sudo apt get dist-upgrade

Do Install pip3 for my pi zero:

sudo apt-get install python3-pip

Prepare installation before installing wxPython on pi Zero:

sudo apt-get install dpkg-dev build-essential swig python-dev libwebkit-dev libjpeg-dev libtiff-dev checkinstall freeglut3 freeglut3-dev libgtk2.0-dev  libsdl1.2-dev libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libgconf2-dev libglapi-mesa libosmesa6 libglu1-mesa-dev libglu1-mesa mesa-common-dev
sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
sudo apt-get install python3.7-dev
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev

sudo apt-get install gtk+-3.0 gtk+3.0-dev
sudo pip3 install pathlib2

Now install wxPython, it can take long (+/- 24 Hours) by pi Zero!

sudo pip3 install wxPython

If it’t passed you can install Ride !

sudo pip3 install --upgrade robotframework-ride

You can start the Ride now as remote sessions:

Ride.py &

Raspberry Pi & Robotframework

Raspberry Zero W connected directly to Mac with OTG mode

Why using Robotframework on Raspberry pi?

As Raspberry pi user , sometimes I have problems after doing OS update with some application I currently workout on pi, mean do “sudo apt-get update” , “sudo apt-get upgrade” & do “Reboot” everythings goes Wrong 🙁 !.

I have been using Robotframework since 2006, and would like to show you how simple to run a Regresion Test with Robotframework Framework on SBC like Rasberry Pi and Co’s. Robotframe work need only python ecosystem, which are out of the box delivered by Raspbian OS. And also it needs minimal resource of space in SD card.

As a sample I will start with installation of Robotframework , please check before if you have python pip installer installed on your Rasbian before starting with the installation!

Start Installation of Robotframework on Pi

sudo apt-get install python3-pip
sudo pip3 install robotframework
Installation run OK

Check Robotframework runner:

robot --version

Robotframework runner OK

You can used nano or Test IDE Ride for writing Tests .

Installing Robotframework-RIDE test IDE:

sudo pip3 install robotframework-ride

Start RIDE on Mac with ssh conection to pi:

ride.py & 

Running Robotframework-RIDE for testing Temperature Sensore Interface on Pi

now you can start writing your Test, please refer to Robotframework manual for more Information.

Let check the SD card used for Robotframework Installation, just 1% from 16 GB SD card!

Used pi space after Robotframework Installation

Wish you happy Testing and Try Out!

Panorama Kamera

Pada dasarnya panorama kamera terbagi dalam 3 jenis:

  • kamera Kamera konvensional dimana Format lensa yang dipakai lebih besar dari pada besar film format . Contohnya: Fuji 6X17 , Linhof Teknorama , VPan, atau kamera yang terbaru dari Hasselblad VPan dengan format film 24X68 mm 
  • Kamera dengan lensa yang berputar pada sumbu tertentu . contohnya : Horizon 202, Noblex atau Widelux. 
  • Terakhir adalah Slitze Kamera dimana dengan kombinasi perputaran film dan celah cahaya pada proses pemotretan terbentuk panorama foto.Contohnya Roundshot, atau AlfaRotor -kamera

Kamera yang akan saya bahas di sini adalah beberapa kamera yang saya pernah miliki dan juga pergunakan untuk memotret ,tentunya pendapat tentang kelemahan serta kelebihan panorama kamera tersebut merupakan pendapat saya pribadi yang kadang kala mungkin tidak sama dengan rekan penggemar fotografi yang lain.

FT 2

Kelebihan : 

  • Film format : 24 X 120 mm 
  • Jenis kamera : panorama dengan sumbu berputar
  • lensa 50mm 
  • Sudut pemotretan: 130 derajat 
  • Kecepatan rana : 1/100, 1/200, 1/400 sec 
  • Diagfragmm : 5.0 
  • Film format yang lebih panjang dari pada kamera yang lainnya. 
  • Kamera ini dibuat sangat sederhana sehingga mudah di perbaiki sendiri Kamera ini tidak memerlukan batteri alias “kamera manual” 

Kekurangan : 

  • Film yang dipergunakan film 135 biasa tetapi harus di gulung khusus dalam roll yang tersedia pada kamera, tanpa roll ini kamera ini tidak dapat dipakai untuk memotret. 
  • Pembatasan pada kecepatan pencahayaan kadang kala sangat mengganggu dalam pangambilan gambar, pada umumnya saya memakai film asa 100-200 Karena format film yang tidak lazim.
  • Film yang di hasilkan hanya dapat di cetak sendiri atau di labor foto tertentu saja. 

Kamera ini meskipun lebih murah dari kamera yang lainnya ,tetapi sangat jarang di temui di pasaran karena sudah tidak di produksi lagi.

Pan2493


  • Film format : 24 X 93 mm
  • Jenis kamera : panorama 
  • lensa : Schneider Augolon 47mm/8 mm 
  • Sudut pemotretan: 94 derajat
  • Kecepatan rana : 1s – 1/500 sec Diagfragmm : 8 – 32 

Kelebihan : 

  • Dapat menggunakan Flash, Flashsyncron sampai 1s – 1/500 s
  • Menggunakan film biasa 
  • Tidak membutuhkan Battery
  • Kekurangan : 
  • Harga yang mahal . (pesanan Khusus yang dibuat spesial hanya di produksi 10 Kamera, kamera saya adalah kamera ke 8 yang dibuat.)
  • Waterpas yang relatif kecil sehingga sangat sulit untuk mengatur horison kamera.


Noblex 135s

  • Film format : 24 X 66 mm
  • Jenis kamera : panorama dengan sumbu berputar
  • lensa 29 mm 
  • Sudut pemotretan: 136 derajat
  • Kecepatan rana : 1/30,1/60,1/125, 1/250, 1/500 sec Diagfragmm : 4,5-16 

Kelebihan : 

  • Satu-satunya kamera yang mempunyai kecepatan rana 1/500 sec sehingga dapat dipakai untuk memotret benda atau moment yang cepat bergerak. 
  • Mempunyai kemampuan multi exposing ,sehingga anda dapat mencahayai negatif yang sama berkali-kali.Kemampuan ini sangat berguna bila anda perlu memotret dengan pencahayaan yang lebih lama dari 1/30sec 
  • Sangat mudah untuk memasukkan film Lensa Tessar dari kamera ini sangat tajam sekali ,sehingga anda dapat memakai diagfragma 4,5 tanpa khawatir akan kwalitas gambar anda. 
  • Kemampuan pada model S dan U untuk menkoreksi perspektif. sejauh 4mm Sangat mudah untuk dipakai 

Kekurangan : 

  • Harga yang mahal .
  • Membutuhkan batteri sebagai sumber tenaga. 
  • Waterpas yang relatif kecil sehingga sangat sulit untuk mengatur horison kamera. 
  • Tombol pengaturan rana yang sangat kecil sehingga ,kadang kala menyakitkan pemakai, tidak bisa terhitung berapa kali saya harus memutuskan kuku jari tangan saya dalam menggunakan kamera ini.

Perbedaan antara Docker, containerd, CRI-O dan runc

Sedikit berbagi sumber informasi tentang pemahaman thema yang saya sebut di judul atas.

Sumber Informasi asli saya dapatkan di sini: https://www.kreyman.de/index.php/others/linux-kubernetes/232-unterschiede-zwischen-docker-containerd-cri-o-und-runc

Munculnya Docker memicu ledakan popularitas kontainer. Sejak itu, semakin banyak alat dan standar yang dirancang untuk membantu mengatur penggunaan teknologi ini.

Sayangnya, cukup sulit untuk mengikuti perkembangan. “Pertempuran” antara perusahaan teknologi besar juga membingungkan bagi banyak dari kita.

Dalam artikel ini, saya akan membahas semua nama besar yang pernah Anda dengar dan mencoba menguraikan jargon teknis untuk Anda dan menjelaskan bagaimana ekosistem kontainer akan bekerja sama pada tahun 2021.

Dan jika Anda berpikir bahwa Anda adalah satu-satunya yang tidak mengerti semua ini, jangan khawatir … Anda tidak sendirian!

Pahami Docker

Ada perbedaan antara Docker (dalam bentuk perusahaan), Docker-Containern, Docker-Images, dan Development Tools Docker yang biasa kita gunakan:

Joe Beda Twitter

Sumber:  https://twitter.com/jbeda

Seperti yang Anda lihat, Anda bukan satu-satunya yang bingung. Joe Beda , co-developer Kubernetes, setuju.

Ini adalah kesempatan sempurna untuk menjernihkan beberapa kebingungan dan membantu Anda memahami kapan itu Docker, containerd, atau CRI-O. Ini sangat penting jika Anda ingin membahas topik Kubernetes.

Penting bagi Anda untuk mengingat hal-hal berikut:

Wadah tidak lagi dikaitkan secara permanen dengan nama Docker. Ada beberapa alat kontainer yang tersedia. Docker adalah salah satunya, dan Docker (perusahaan) mendukung beberapa tetapi tidak semuanya.

Jika Anda masih berpikir bahwa container hanyalah Dockers, baca terus! Sekarang kita akan melihat lebih dekat pada ekosistem kontainer.

Garis besar ekosistem kontainer

Ekosistem kontainer terdiri dari banyak teknologi, istilah khusus, dan perusahaan pesaing. Untungnya, perusahaan terkadang menegosiasikan gencatan senjata yang rapuh untuk menyepakati standar tertentu. 

Standar ini membantu untuk mencapai interoperabilitas antara alat yang berbeda dan menghindari ketergantungan pada perusahaan atau proyek tertentu (teknologi). Standar dasar yang harus diikuti:

  • Container Runtime Interface (CRI) mendefinisikan API antara Kubernetes dan Container Runtime.
  • Open Container Initiative (OCI) mendefinisikan standar untuk image dan container.

Diagram di bawah menunjukkan bagaimana Docker , Kubernetes , CRI , OCI , containerd dan runc cocok bersama dalam ekosistem ini:

Penjelasan Hubungan antara docker, CRI-O, containerd und runc Sumber Informasi: www.tutorialworks.com
  1. Ini adalah alat yang digunakan untuk menjalankan kontainer dalam pengembangan atau produksi.
  2. CRI ( Container Runtime Interface) adalah Kubernetes API (Application Programming Interface). CRI mendefinisikan cara Kubernetes berinteraksi dengan runtime container yang berbeda. Karena standar dalam spesifikasi, Anda dapat memilih implementasi CRI mana yang ingin Anda gunakan atau mungkin Anda tulis sendiri.
  3. Anda dapat memilih sendiri runtime yang sesuai dengan spesifikasi Container Runtime Interface (CRI). containerd dikembangkan oleh Docker. Plug-in CRI adalah plug-in yang terintegrasi secara bawaan dalam containerd dan diaktifkan secara default (dari versi 1.1). Ini memungkinkan Anda untuk menjalankan Kubernetes dengan containerd sebagai runtime container. CRI-O adalah proyek open source dan alternatif untuk containerd dan didukung oleh sejumlah perusahaan terkenal.
  4. OCI adalah spesifikasi standar industri terbuka yang berisi dua spesifikasi: spesifikasi runtime (runtime-spec) dan spesifikasi gambar (image-spec)
  5. runC adalah alat yang sesuai dengan OCI untuk membuat dan menjalankan container. runc digunakan untuk membuat dan menjalankan container sesuai dengan spesifikasi OCI.
sumber info: https://www.kreyman.de/index.php/others/linux-kubernetes/232-unterschiede-zwischen-docker-containerd-cri-o-und-runc

Docker

Kami akan mulai dengan Docker karena ini adalah alat kontainer paling populer saat ini. Bagi banyak orang, nama “Docker” sendiri merupakan sinonim dari kata “container”.

Docker memulai seluruh revolusi containerisasi ini. Docker telah menciptakan alat yang sangat ergonomis dan mudah digunakan untuk bekerja dengan container, yang juga disebut Docker.

Proyek untuk mengoperasikan wadah dengan Docker
Sumber: www.tutorialworks.com


  1. Administrasi dari Pengguna / administrator dan memulai container dengan CLI Docker.
  2. containerd menggunakan image, mengelola jaringan dan penyimpanan, dan menggunakan runc untuk menjalankan container
  3. runc menangani Low Level “Stab” process untuk membuat dan menjalankan proses container 

docker  dapat diinstal pada sistem operasi klien atau pada sistem operasi server. docker  berisi sejumlah alat yang menyederhanakan pekerjaan pengembang dan insinyur DevOps. Dengan  CLI buruh pelabuhan Anda dapat membuat image container, mengambilnya dari repositori, membuat container, memulai dan mengelolanya.

Docker terdiri dari tiga proyek:

docker-cli – adalah utilitas baris perintah yangberinteraksidengan Anda menggunakan perintah docker .

containerd –  adalah daemon Linux yang mengelola dan memulai container. Ini mengunduh gambar dari repositori, mengelola penyimpanan dan jaringan, dan memantau eksekusi kontainer.

Runc – adalah runtime container tingkat rendah yang benar-benar membuat container dan menjalankan. Ini termasuk  libcontainer , implementasi berbasis Go asli untuk membuat container.

Saat Anda menjalankan wadah dengan docker , Anda sebenarnya menjalankannya dari daemon docker, containerd, dan kemudian runc .

Dockershim: Docker di Kubernetes

Penting untuk dicatat bahwa Kubernetes hanya dapat melayani runtime container yang mendukung Container Runtime Interface (CRI). Namun, Docker tidak dapat secara langsung mendukung standar ini. Oleh karena itu, Kubernetes menyertakan komponen yang disebut dockershim, yang diperlukan untuk bekerja dengan Docker.

Di masa mendatang (dari versi 1.23) Kubernetes akan menghentikan dukungan untuk Dockershim dan juga Docker dan hanya akan bekerja dengan Container Runtime s yang mendukung Container Runtime Interface (CRI) – containerd atau CRI-O . ( FAQ Penghentian Dockershim )

Namun, ini tidak berarti bahwa Kubernetes tidak akan dapat menjalankan container berformat Docker. Baik containerd maupun CRI-O dapat menjalankan gambar berformat Docker (berformat OCI). Anda tinggal melakukannya tanpa harus menggunakan perintah docker atau daemon Docker.

Shim – Secara teknis, shim adalah komponen dalam sistem perangkat lunak yang bertindak sebagai jembatan antara berbagai API atau sebagai lapisan kompatibilitas. Terkadang shim ditambahkan saat Anda ingin menggunakan komponen pihak ketiga. Anda membutuhkan sedikit kode lem untuk membuatnya bekerja.

Docker-Images

Apa yang disebut banyak orang sebagai Docker Image sebenarnya adalah Image yang dikemas dalam format Open Container Initiative (OCI) .

Jika Anda ingin mengunduh gambar dari Docker Hub atau repositori lain, Anda dapat melakukannya dengan perintah  buruh pelabuhan atau dengan utilitas podman, atau dengan alat lain yang mendukung spesifikasi format gambar OCI.

Container Runtime Interface (CRI)

CRI adalah API yang digunakan Kubernetes untuk mengontrol berbagai runtime container untuk membuat dan mengelola container.

CRI menyederhanakan penggunaan runtime container yang berbeda untuk Kubernetes (atau lebih tepatnya kubelet ). Alih-alih mendukung setiap kemungkinan runtime container secara terpisah, hanya standar CRI yang didukung yang digunakan. Dalam hal ini, tugas manajemen kontainer sepenuhnya terletak pada runtime kontainer.

Sumber: www.tutorialworks.com

Jadi, jika Anda lebih suka menggunakan containerd untuk menjalankan container Anda, jangan ragu untuk melakukannya. Atau, jika Anda lebih suka menggunakan CRI-O maka Anda dapat menggunakan ini dengan aman. Ini karena spesifikasi CRI diimplementasikan di kedua runtime.

Sebagian besar waktu, jika Anda adalah pengguna akhir, bagaimana Anda mengimplementasikannya tidak menjadi masalah. Implementasi CRI dirancang agar dapat dipasang dan diubah dengan mulus.

Untuk informasi Anda: Red Hat (proyek OpenShift) menggunakan CRI-O dan bertanggung jawab atas pemeliharaannya (keamanan, perbaikan bug, dll.). Sementara containerd terus dibungkus oleh Docker.

Runtime container mana yang digunakan di Kubernetes?

The kubelet (sebuah berjalan agen pada setiap node) bertanggung jawab untuk berinteraksi dengan runtime wadah dalam arsitektur Kubernetes. Tugas utama kubelet adalah mengirimkan instruksi start/stop ke runtime container.

Opsi berikut digunakan untuk mengonfigurasi runtime container:  –container-runtime dan  –container-runtime-endpoint. Anda dapat mengetahui Container Runtime mana yang sudah terinstal di infrastruktur Kubernetes Anda menggunakan rantai perintah berikut:

kubectl mendeskripsikan simpul <node_name>

sumber info: https://www.kreyman.de/index.php/others/linux-kubernetes/232-unterschiede-zwischen-docker-containerd-cri-o-und-runc

containerd

containerd adalah runtime container tingkat tinggi yang berasal dari Docker dan mengimplementasikan spesifikasi CRI. ontainerd menarik gambar dari repositori, mengelolanya dan kemudian meneruskannya ke runtime bawahan, yang benar-benar membuat dan menjalankan proses kontainer.

containerd  telah dihapus dari proyek Docker untuk membuat Docker lebih modular. Jadi Docker menggunakan containerd untuk dirinya sendiri.Saat Anda menginstal Docker, containerd juga   diinstal secara otomatis. Selain itu, ontainerd menggunakan pluginnya sendiri untuk mendukung CRI di Kubernetes.

CRI-O

CRI-O adalah runtime container tingkat tinggi lainnya yang mengimplementasikan Container Runtime Interface (CRI). CRI-O adalah alternatif untuk  containerd dan bekerja dengan cara yang sama.

CRI-O dikembangkan dengan dukungan Red Hat, IBM, Intel dan SUSE sebagai wadah runtime untuk Kubernetes. CRI-O menawarkan kemungkinan untuk memulai, menghentikan, atau memulai ulang container, sama seperti containerd.

Inisiatif Kontainer Terbuka (OCI)

OCI adalah sekelompok perusahaan teknologi yang mempertahankan spesifikasi untuk format gambar kontainer dan eksekusi kontainer.

Gagasan di balik OCI adalah Anda dapat memilih di antara berbagai runtime yang sesuai dengan spesifikasi. Masing-masing runtime ini memiliki sub-implementasi yang berbeda.

Misalnya, Anda memiliki satu runtime yang kompatibel dengan OCI untuk host Linux Anda dan satu untuk host Windows Anda. Ini adalah keuntungan memiliki standar yang dapat diterapkan oleh banyak proyek yang berbeda.

runc

runc  adalah runtime kontainer yang kompatibel dengan OCI. Ini mengimplementasikan spesifikasi OCI dan menjalankan proses container.

runc  disebut sebagai  implementasi referensi  OCI.

Apa itu implementasi referensi?

Implementasi referensi adalah perangkat lunak yang telah mengimplementasikan semua persyaratan spesifikasi atau standar. Biasanya software pertama yang dikembangkan dari spesifikasinya. Dalam kasus OCI, runc menawarkan   semua fungsi yang diharapkan dari runtime yang sesuai dengan OCI, meskipun setiap orang dapat mengimplementasikan runtime OCI mereka sendiri jika mereka mau.

runc  menawarkan semua fungsi tingkat rendah untuk wadah dan berinteraksi dengan fitur Linux tingkat rendah yang ada seperti ruang nama dan grup kontrol. runc menggunakan fungsi-fungsi ini untuk membuat dan menjalankan proses container.

Ada juga beberapa alternatif untuk runc :

  • crun adalah runtime kontainer yang ditulisdalam  C (sebaliknya, runc ada di Go )
  • kata-Runtime berasal dari proyek Katacontainers , yang mengimplementasikan spesifikasi OCI sebagai VM ringan individual (virtualisasi perangkat keras)
  • gVisor berasal dari Google dan dapat membuat wadah dengan kernelnya sendiri. Ini mengimplementasikan OCI dalam runtime-nya yang disebut runc .

Kesimpulan

Dalam artikel ini kita melihat bahwa Docker hanyalah sebagian kecil dari keseluruhan ekosistem container. Ada standar terbuka: CRI dan OCI serta proyek seperti  containerdrunc  dan  CRI-O . Kami akan segera melihat banyak implementasi baru dari runtime container dengan dukungan untuk standar CRI dan OCI.

Semoga artikel ini bisa memberi sedikit pencerahan tentang gelapnya dunia container.

Pengarang: Tom Donohue

Posting blog ini adalah terjemahan dari bahasa Jerman. Anda dapat menemukan artikel asli di tautan ini . (https://www.kreyman.de/index.php/others/linux-kubernetes/232-unterschiede-zwischen-docker-containerd-cri-o-und-runc)

Homebridge sebagai jembatan antara HomePod dan IOT device ( Philip HUE, TP-Link, Shelly)

Kebanyakan alat IOT device atau sensor , mempunyai Interface dengan Android, tapi jarang sekali yang out off the box mempunyai implementasi untuk dipakai dengan Apple Home,

Dengan menggunakan Pi Zero W sebagai Homebridge Server anda dapat menhubungkan IoT devices anda dengan Apple Home sehingga, data data sensor dan Applikasi hardware anda bisa difungsikan lewat siri, yang anda perlukan hanyalah menciptakan konfigurasi Homebride yang cocok untuk IoT device anda dan memakai atau mengimplementasikan Homebridge plugin yang cocok untuk IoT device anda!

Hardware untuk IOT:

  • raspberry zero WH
  • DS1820 temperature sensor
  • IPHONE/IPAD
  • HomePod
  • Fritz Router
  • TP-Link HS110 Switch
  • Pi Camera 8MP ver2.1
  • Philips HUE HUb
  • Lampu Philips HUE
  • Eve heater

Software :

  • NodeJs
  • homebridge & needed plugin
  • onewire scripts

Weekend projekt ini hanya perlu waktu 2 Jam untuk implementasi

Dengan Plugin untuk Homebridge saya sudah menghubungkan  PiCamera, One Wire Temperatur Sensor, Lampu Philips HUE , EVE heater switch , serta TP-Link Switch HS110 sehingga bisa digunakan dengan siri.

Hardware yang anda perlukan:

Regresion Test Tools:

  • Ride sebagai Test Case Tools
  • Hasil Test dalam bentuk HTM(xml)
  • Robotframework dapat di gunakan untuk berbagai OS and Hardware (Wins, Mac, Linux, Unix)!

#WasMichMotiviert