<?xml version="1.0" encoding="UTF-8" ?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" version="2.0"> <channel> <title><![CDATA[MC Project]]></title> <description><![CDATA[Global digital products and freelance services. Focuses on development, production and distribution of programming scripts, application source code, plugins, themes and templates.]]></description> <image> <title><![CDATA[MC Project]]></title> <url>https://en.mycoding.id/favicon.ico</url> <link>https://en.mycoding.id/</link> </image> <category><![CDATA[Software Engineering, Website Development, Mobile Android App, Application Source Code, Programming Scripts]]></category> <link>https://en.mycoding.id/</link> <atom:link href="https://en.mycoding.id/rss.xml" rel="self" type="application/rss+xml"/> <atom:link href="https://en.mycoding.id/rss-videos.xml" rel="alternate" type="application/rss+xml"/> <atom:link href="https://en.mycoding.id/" rel="alternate" type="text/html"/> <pubDate>Sun, 15 Nov 2026 07:00:34 +0700</pubDate> <lastBuildDate>Sun, 15 Nov 2026 07:00:34 +0700</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <managingEditor>support@mycoding.id (Adi Gunawan)</managingEditor> <webMaster>support@mycoding.id (Adi Gunawan)</webMaster> <language>en_US</language> <copyright>MC Project</copyright> <generator>MC Project</generator> <item> <title><![CDATA[Alur Kerja RAG dan Mengapa Dibutuhkan]]></title> <description><![CDATA[Alur Kerja RAG dan Mengapa Dibutuhkan. Channel ini menyajikan materi seputar Data Science &amp; Artificial Intelligence, Networking &amp; Cyber Security, serta Database &amp; Programming. Seluruh mat...]]></description> <media:thumbnail url="https://i1.ytimg.com/vi/bQWy6rb89Tc/maxresdefault.jpg"/> <category><![CDATA[Indonesian]]></category> <link>https://en.mycoding.id/alur-kerja-rag-dan-mengapa-dibutuhkan-77151</link> <content:encoded><![CDATA[<p class="embed-responsive embed-responsive-16by9 post-embed"><iframe width="560" height="315" aria-label="Preview" class="embed-responsive-item" src="https://www.youtube.com/embed/bQWy6rb89Tc?autoplay=1&amp;mute=1&amp;playsinline=1&amp;rel=0" title="YouTube video player" frameborder="0" allow="autoplay; accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p><h2>Alur Kerja RAG dan Mengapa Dibutuhkan</h2><p>Channel ini menyajikan materi seputar Data Science &amp; Artificial Intelligence, Networking &amp; Cyber Security, serta Database &amp; Programming. Seluruh materi disusun secara sistematis untuk membantu Anda memahami konsep, teknologi, dan praktik yang digunakan di bumi teknologi informasi, mulai dari tingkat alas hingga lanjutan. Setiap bahasan berfokus pada pengembangan keahlian melalui materi yang gampang dipahami, relevan dengan kebutuhan industri, dan disampaikan untuk tujuan edukasi. Seluruh konten mengedepankan implementasi teknologi secara legal, etis, dan bertanggung jawab, sehingga dapat menjadi rujukan belajar bagi pelajar, mahasiswa, maupun profesional. Jika Anda mau mengembangkan kapasitas di sektor pemrograman, pengelolaan data, kecerdasan buatan, jaringan komputer, maupun keamanan siber, channel ini menyediakan materi yang dapat membantu membangun fondasi ilmu sekaligus menaikkan keahlian secara bertahap. Playlist video terkait: ▪ https://www.youtube.com/playlist?list=PLZGgeqmsm32s ▪ https://www.youtube.com/playlist?list=PLZomBNpDl3vc ▪ https://www.youtube.com/playlist?list=PLE5VyXMZkzb8 PEMBAHASAN MATERI Playlist Materi Ilmu Komputer berisi kumpulan video pembelajaran, tutorial, klarifikasi konsep, studi kasus, demo, dan bahasan komplit seputar beragam sektor dalam ilmu komputer. Materi yang disajikan mencakup alas hingga tingkat lanjut, mulai dari pemrograman, pengelolaan database, jaringan komputer, keamanan siber, mekanisme operasi, pengembangan alat lunak, arsitektur komputer, hingga beragam teknologi yang digunakan dalam bumi komputasi modern. Temukan bahasan mengenai komputer dan pemrograman, algoritma, struktur data, PHP, JavaScript, Python, Laravel, MySQL, PostgreSQL, API, rekayasa alat lunak, database, jaringan komputer, pengelolaan server, cloud computing, virtualisasi, Linux, Windows Server, keamanan jaringan, cyber security, ethical hacking, kriptografi, keamanan aplikasi, DevOps, Internet of Things (IoT), kecerdasan buatan (AI), machine learning, serta beragam konsep, teknologi, dan praktik terbaik di sektor ilmu komputer. Playlist ini cocok bagi pelajar, mahasiswa, programmer, web developer, software engineer, pengelola sistem, ahli IT, maupun siapa saja yang mau mempelajari dan memperdalam wawasan di bumi ilmu komputer secara menyeluruh. CONTACT US ▪ Email support@mycoding.id ▪ WhatsApp https://wa.me/6281274309663 ▪ Telegram https://t.me/mycodingxd OFFICIAL LINKS ▪ Web https://mycoding.id ▪ Blog https://blog.mycoding.id ▪ News https://en.mycoding.id ▪ Apps https://play.google.com/store/apps/dev?id=5237501547073493079 SOCIAL MEDIA ▪ https://linkedin.com/company/mycodingxd ▪ https://facebook.com/mycodingxd ▪ https://instagram.com/mycodingxd ▪ https://tiktok.com/@mycodingxd ▪ https://twitter.com/mycoding_xd ▪ https://pinterest.com/mycoding_xd CHANNEL LINKS ▪ YouTube https://safelink.asia/youtube ▪ DailyMotion https://safelink.asia/dailymotion ▪ WhatsApp https://safelink.asia/whatsapp ▪ Telegram https://safelink.asia/telegram Powered by https://linkedin.com/company/401XDGroup #Networking #Programming #DataScience #CyberSecurity #ArtificialIntelligence #Database</p>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/alur-kerja-rag-dan-mengapa-dibutuhkan-77151</guid> <pubDate>Sun, 15 Nov 2026 07:00:34 +0700</pubDate> <author><![CDATA[support@mycoding.id (Mc Project)]]></author> </item> <item> <title><![CDATA[Disk encryption on NetBSD – achieving secrecy]]></title> <description><![CDATA[Disk encryption on NetBSD – achieving secrecy. Comments]]></description> <media:thumbnail url="https://netbsd.org/~nia/installer1.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/disk-encryption-on-netbsd-achieving-secrecy-77149</link> <content:encoded><![CDATA[<div id="content"> <div> <h2 id="_threat_models">Threat models</h2> <div> <p>These are two danger models for which disk encryption is the answer:</p> <div><ol> <li> <p> The equipment is taken or misplaced and its contents must remain secret. </p> </li> <li> <p> The equipment is tampered with, and all attempts at tampering must render it unusable. </p> </li> </ol></div> <p>Right now, we volition concentration on the archetypal danger model. It is extremely difficult to build a tamper-proof system, and you need to concern concerning tamper-proofing your hardware, depending on what benevolent of performer is a realistic threat.</p> <p>If we desire to keep data on the scheme secret, we must archetypal regard which data is value protecting. On a NetBSD system, our data can be grouped into two broad categories:</p> <div><ol> <li> <p> System records (open origin software) </p> </li> <li> <p> User-modified files </p> </li> </ol></div> <p>Does the /bin/sh executable downloaded from the NetBSD FTP server merge any delicate information?</p> <p>On a BSD system, because of the separation of the basis scheme and packages, many base document scheme directories are mostly unmodified exterior of upgrades. In a correctly configured system, nearly all scheme daemons and person applications are not going to be operating as root, so won&rsquo;t have approval to modify or create records in /bin.</p> <p>We can fairly assume that /bin/sh is the identical binary that all another NetBSD person is running. A person may equal opt to create directories containing specified scheme records read-only.</p> </div> </div> <div> <h2 id="_problems_with_disk_encryption">Problems alongside disk encryption</h2> <div> <p>The functioning scheme needs to be capable to burden records to boot.<sup><a href="https://en.mycoding.id/category/technology" target="_blank">[citation needed]</a></sup> This makes "true" complete disk encryption difficult to accomplish without specialized hardware, since the person needs several way to act a password or an encryption key, and can&rsquo;t do so without several form of application operating on their computer. NetBSD additionally needs to shop several amount of metadata concerning the encrypted partition on the disk, specified as data on how to create a safe 256-bit key from a 24 character password.</p> <p>It is average for Unix systems to use shared libraries, which are loaded by programs to admission scheme functionality. If these rotate into unavailable, for example, by /usr/lib going missing, it becomes much harder to use the system. Familiarize yourself alongside the norm utilities in /rescue which don&rsquo;t need operating shared libraries to be useful.</p> <p>The cryptographic algorithms that get standardized by the US authorities lean to be <a href="https://en.mycoding.id/category/technology" target="_blank">slow whenever implemented in software</a>. This carries a achievement penalty. As a result, many contemporary CPUs contain implementations of ciphers akin AES in hardware. For those that don&rsquo;t, there&rsquo;s substitute ciphers like <a href="https://en.mycoding.id/category/technology" target="_blank">Adiantum</a>.</p> </div> </div> <div> <h2 id="_which_directories_are_sensitive">Which directories are sensitive?</h2> <div> <p>And which are necessary for the OS to load?</p> <p>On a normal NetBSD system, multiple directories have a elevated chance of being modified during scheme operation:</p> <div><ul> <li> <p> /home - user-specific files </p> </li> <li> <p> /var - log files, system-wide databases (e.g. communication notifications), collision dumps&hellip; </p> </li> <li> <p> /root - configuration records applicable to the base person account </p> </li> <li> <p> /usr/pkg and /usr/local - anywhere third-party application is installed </p> </li> <li> <p> /etc - init scripts, system-wide configuration for the basis system </p> </li> </ul></div> <p>A uncomplicated method power be to encrypt /home. However, this power not be adequate for several users. Although the collision directory can be effortlessly changed with <a href="https://en.mycoding.id/category/technology" target="_blank">sysctl</a>, a collision dump contains a snapshot of scheme recollection which power be sensitive. If any servers have been run on the system, the log records power be sensitive. Mail sent to users (e.g. concerning their interrupted vi sessions and connected backups) power disclose delicate document names.</p> <p>Some users opt for the <a href="https://en.mycoding.id/category/technology" target="_blank">cgdroot</a> approach, which uses lone a small unencrypted ramdisk to pivot to an encrypted document system. However, this modifies the scheme startup routines considerably and may create certain rescue options harder. So, it&rsquo;s value asking whether there&rsquo;s an method that is location in the middle, and motionless uses the norm NetBSD facility and footwear process. Many BSD systems use distinct document scheme partitions for /usr and /var, and this is a norm configuration supported by the NetBSD installer.</p> <p>/etc is a harder issue to solve, since it contains records necessary to footwear the system. However, on a representative desktop system, many records in /etc remain untouched. Passwords in /etc are mostly stored lone in hash form, <em>except</em> for Wi-Fi admission points and certain VPN configurations (although it&rsquo;s uncomplicated to reconfigure wpa_supplicant_flags to use a distinct configuration document from the default one in /etc). Many configuration records are lone loaded much afterward in the footwear process, following /usr is already mounted, and can effortlessly be replaced alongside symbolic links to records on another document system.</p> </div> </div> <div> <h2 id="_the_installation_process">The facility process</h2> <div> <p>The NetBSD installer has essential functionality, but gets the job done quickly. In this configuration, we&rsquo;re going to instal NetBSD to a small unencrypted base document system. When you commencement to disregard the growth that can happen in /usr and /var and /home, equal a complete NetBSD facility alongside betterment tools included is tiny. 4 GB have to be additional than enough.</p> <p>For example purposes, I am going to use a sparc64 virtual machine, but the procedure is basically the identical for additional mainstream CPU architectures akin amd64.</p> <p>The installer detects that we already have a partitioned disk. We&rsquo;re going to choice the "e: Delete everything" choice so we have a caller disk to commencement with:</p> <div> <p><img src="https://netbsd.org/~nia/installer1.png" alt="installer1.png"> </p> </div> <p>Next, we&rsquo;re going to choose "Set sizes of NetBSD partitions". This volition authorize us to have a small root, and reserve a ample encrypted partition:</p> <div> <p><img src="https://netbsd.org/~nia/installer2.png" alt="installer2.png"> </p> </div> <p>Here, I&rsquo;ve decided I desire a 4096 MB (4 GB) base document system, and a 11263 MB (11 GB) partition allocated for /var. Later, we&rsquo;ll create /usr and /var portion a disk partition, so don&rsquo;t concern concerning this too much. Select "Go on".</p> <p>On the next screen, I&rsquo;ve changed the category of the secondary partition to "cgd" (listed under "Other type"), NetBSD&rsquo;s encrypted equipment driver. I&rsquo;ve additionally set its mount item to "-" so we can reconfigure it later:</p> <div> <p><img src="https://netbsd.org/~nia/installer4.png" alt="installer4.png"> </p> </div> <p>I inform the installer I desire to do a Full Installation and it completes as normal, installing everything into the small base partition.</p> <p>When we reboot and log in as root, we act a new world&hellip; our 4 GB unencrypted base partition.</p> </div> </div> <div> <h2 id="_post_installation_setup_disklabel">Post-installation setup (disklabel)</h2> <div> <div> <table readabilitydatatable="0"><tr> <td> <p>Note</p> </td> <td>Disklabel partitions are supported by all NetBSD port, and are required by several ports, specified as sparc64 in our example. However, if your scheme uses UEFI, or you opted to use GPT partitions in the installer, your scheme has disk wedges instead. Ignore this division and peruse the division below for data concerning wedges.</td> </tr></table> </div> <p>Since I&rsquo;m on sparc64, the disk is partitioned into disklabels. wd0 is the chief drive, and the disklabel command shows that /dev/wd0d is the partition reserved for our encrypted document system:</p> <div> <div> <pre># disklabel wd0 # size offset fstype [fsize bsize cpg/sgs] a: 8389584 0 4.2BSD 0 0 0 # (Cyl. 0 - 8322) b: 2097152 8389584 toggle # (Cyl. 8323 - 10403*) c: 33554432 0 unused 0 0 # (Cyl. 0 - 33288*) d: 23067072 10487232 cgd # (Cyl. 10404 - 33287)</pre> </div></div> <p>We can go immediately onward alongside creating a parameters document for the cgd:</p> <div> <div> <pre># cgdconfig -g -k argon2id -o /etc/cgd/wd0d adiantum 256</pre> </div></div> <p>And afterward burden the configuration and set our password:</p> <div> <div> <pre># cgdconfig -V re-enter cgd0 /dev/wd0d</pre> </div></div> <p>Now cgd0 appears to the scheme as yet another disk, but all attempts to admission that disk volition be automatically encrypted/decrypted by the kernel.</p> <p>The next period we act our password, we desire to be capable to verify that the password was correct. This is done by choosing a verification method according to the contents of the encrypted partition. For flexibility&rsquo;s sake, we&rsquo;re going to put another disklabel inner the encrypted partition. This volition authorize the scheme to effortlessly verify the password is accurate by looking for a valid disklabel, but additionally gives us elasticity in our choice of document system.</p> <p>This opens the interactive editor. We&rsquo;re going to act N to set a name for our disklabel (enter item akin "cgdlabel"), afterward act a to modify the archetypal sub-partition.</p> <p>First, it asks for a document scheme type. Enter ? to display a catalog of types:</p> <div> <div> <pre>partition&gt;a Filesystem category [unused]: ? Supported document scheme types:</pre> </div></div> <p>Since I&rsquo;m operating -current and desire to test the Log File System, I&rsquo;m going to act "4.4LFS". A additional average and well-tested configuration would be "4.2BSD".</p> <p>Next is the commencement offset and partition size:</p> <div> <div> <pre>Start offset ('x' to commencement following partition 'x') [0c, 0s, 0M]: 0 Partition size ('$' for all remaining) [0c, 0s, 0M]: $</pre> </div></div> <p>Since "a" is the lone sub-partition at the moment, the default commencement of 0 is fine. "$" volition use all accessible area on the cgd.</p> <p>Finally, we&rsquo;ll preserve our new tag and discontinue the disklabel editor:</p> <div> <div> <pre>partition&gt;W Label disk [n]?y Label written partition&gt;Q</pre> </div></div> <p>Now alter the verify_method in /etc/cgd/wd0d to disklabel, and add a row in /etc/cgd/cgd.conf to create the cgd at footwear time:</p> <div> <div> <pre>cgd0 /dev/wd0d /etc/cgd/wd0d</pre> </div></div> <p>We can now admission this hidden partition as /dev/cgd0a. But for it to be useful, we&rsquo;ll need to create a document scheme on it. Once again, current I&rsquo;m using the Log File System:</p> <p>A additional normal and well-tested configuration would be FFSv2ea:</p> <div> <div> <pre># newfs -O2ea /dev/rcgd0a</pre> </div></div> <p>We can now mount and admission the encrypted document system:</p> <div> <div> <pre># mkdir -p /encfs # mount /dev/cgd0a /encfs</pre> </div></div> <p>Add a new row in /etc/fstab for our encrypted mount point:</p> <div> <div> <pre>/dev/cgd0a /encfs lfs rw,noatime 1 2</pre> </div></div> <p>Use "ffs" alternatively of "lfs" if you aren&rsquo;t using the Log File System. If using FFS, you may desire to use the options rw,log,noatime to allow journaling.</p> </div> </div> <div> <h2 id="_post_installation_setup_disk_wedges">Post-installation setup (disk wedges)</h2> <div> <p>On a latest amd64 machine, your scheme likely uses GPT and disk wedges alternatively of disklabels. Assuming our chief disk is ld0, we can see a catalog of wedges alongside dkctl:</p> <div> <div> <pre># dkctl ld0 listwedges /dev/rld0: 3 wedges: dk0: 20e57277-ad70-408e-9c68-225270ed1500, 9267072 blocks at 64, type: ffs dk1: abad5a2d-8411-4d36-980e-a5f2b03a1047, 4194304 blocks at 9267136, type: swap dk2: 2c4d136a-f7ed-48f8-aae8-38afdd50c661, 53647360 blocks at 13461440, type: cgd</pre> </div></div> <div> <table readabilitydatatable="0"><tr> <td> <p>Note</p> </td> <td>If your disk is SATA fairly than NVMe, it&rsquo;s likely called wd0 alternatively of ld0.</td> </tr></table> </div> <p>In this case, our partition reserved for our encrypted document scheme is /dev/dk2, additionally accessible via the UUID pseudonym NAME=2c4d136a-f7ed-48f8-aae8-38afdd50c661.</p> <p>We can go immediately onward alongside creating a parameters document for the cgd:</p> <div> <div> <pre># cgdconfig -g -k argon2id -o /etc/cgd/maincgd aes-cbc 256</pre> </div></div> <p>And afterward burden the configuration and set our password:</p> <div> <div> <pre># cgdconfig -V re-enter cgd0 NAME=2c4d136a-f7ed-48f8-aae8-38afdd50c661 /etc/cgd/maincgd</pre> </div></div> <p>Now cgd0 appears to the scheme as yet another disk, but all attempts to admission that disk volition be automatically encrypted/decrypted by the kernel.</p> <p>The next period we act our password, we desire to be capable to verify that the password was correct. This is done by choosing a verification method according to the contents of the encrypted partition. For flexibility&rsquo;s sake, we&rsquo;re going to put another GPT partition array inner the encrypted partition. This volition authorize the scheme to effortlessly verify the password is accurate by looking for a valid GPT table, but additionally gives us elasticity in our choice of document system.</p> <p>Now alter the verify_method in /etc/cgd/maincgd to gpt, and add a row in /etc/cgd/cgd.conf to create the cgd at footwear time:</p> <div> <div> <pre>cgd0 NAME=2c4d136a-f7ed-48f8-aae8-38afdd50c661 /etc/cgd/maincgd</pre> </div></div> <p>For now, we&rsquo;ll lone create one partition inner the new sub-table. I&rsquo;m operating -current and desire to test the Log File System, so I&rsquo;ll use the "lfs" partition type. A additional average and well-tested configuration would be "ffs".</p> <div> <div> <pre># gpt add -l encfs -t lfs cgd0</pre> </div></div> <p>You should obtain a kernel message, readable alongside the dmesg command, which notes that a new wedge is available, including its number. In this case, it&rsquo;s dk3.</p> <p>For it to be useful, we&rsquo;ll need to create a document scheme on it. Once again, current I&rsquo;m using the Log File System:</p> <p>A additional normal and well-tested configuration would use FFSv2ea:</p> <p>We can now mount and admission the encrypted document system:</p> <div> <div> <pre># mkdir -p /encfs # mount NAME=encfs /encfs</pre> </div></div> <p>Add a new row in /etc/fstab for our encrypted mount point:</p> <div> <div> <pre>NAME=encfs /encfs lfs rw,noatime 1 2</pre> </div></div> <p>Use "ffs" alternatively of "lfs" if you aren&rsquo;t using the Log File System. If using FFS, you may desire to use the options rw,log,noatime to allow journaling.</p> </div> </div> <div> <h2 id="_final_steps_moving_over_the_data">Final steps (moving complete the data)</h2> <div> <p>These are required despite of whether using disklabel or wedges.</p> <p>We&rsquo;re going to copy our crucial directories to the new encrypted document system:</p> <div> <div> <pre># umount /var/shm # cp -a /home /var /usr /encfs/</pre> </div></div> <p>We need to create a symbolic nexus alongside ln since the /usr/lib directory contains several related links to ../../, and it expects the lib directory to be there at the root. This is a hack:</p> <p>Then, we move our crucial directories out of the way and substitute them alongside links to the encrypted ones:</p> <div> <div> <pre># /rescue/mv /home /home2 # /rescue/ln -s /encfs/home /home # /rescue/mv /var /var2 # /rescue/ln -s /encfs/var /var # /rescue/mv /usr /usr2 # /rescue/ln -s /encfs/usr /usr</pre> </div></div> <p>Finally, we need to add a row to /etc/rc.conf to inform it to mount the encrypted partition early, so that /usr and /var are accessible during the init process:</p> <div> <div> <pre># echo 'critical_filesystems_local="/encfs"' &gt;&gt; /etc/rc.conf</pre> </div></div> </div> </div> <div> <h2 id="_disclaimer">Disclaimer</h2> <div> <p>This guide was written 100% by one individual and power merge individual errors.</p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/disk-encryption-on-netbsd-achieving-secrecy-77149</guid> <pubDate>Sun, 15 Nov 2026 06:29:54 +0700</pubDate> <author><![CDATA[support@mycoding.id (Mira Azkia)]]></author> </item> <item> <title><![CDATA[Kiri – The Modern Container Runtime]]></title> <description><![CDATA[Kiri – The Modern Container Runtime. Comments]]></description> <media:thumbnail url="https://runkiri.com/assets/og-image.png?v=2"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/kiri-the-modern-container-runtime-77150</link> <content:encoded><![CDATA[<div id="main"> <div> <div> <p><a href="https://en.mycoding.id/category/technology" target="_blank"><span>New</span><span data-kiri-version>0.2.0</span> Mac &middot; Windows &middot; Linux</a></p> <p><b>8&times;</b> faster than Docker.</p> <p>Kiri runs Docker containers alongside one daemon. The docker CLI, Compose and the Docker API activity as they do today.</p> <p>The 8&times;: docker run takes <a href="https://en.mycoding.id/category/technology" target="_blank">22 ms on Kiri and 178 ms on Docker Desktop</a> (152 ms on Colima, 279 ms on OrbStack), all motor on 2 CPUs and 8 GB.</p> <p>Free, and in beta on Mac, Windows and Linux. Something damaged or annoying? Tell us alongside Feedback in Kiri's window, and we fix it.</p> </div> <div> <figure aria-label=" four containers, three running, the web receptacle shared live at web.runkiri.cloud, and Kubernetes alongside 9 pods ready."> <div aria-hidden="true"> <p><i></i><i></i><i></i><span>Kiri</span></p> <div> <div> <p><b>Containers</b><span><i></i>Linux VM running</span></p> <ul> <li><span><svg viewbox="0 0 24 24"><path d="M12 0L1.6 6v12L12 24l10.4-6V6L12 0zm6 16.6c0 .7-.6 1.3-1.5 1.3-.6 0-1.4-.3-1.8-.8l-6-7.1v6.7c0 .7-.6 1.3-1.3 1.3H7.3c-.7 0-1.3-.6-1.3-1.3V7.4c0-.7.6-1.3 1.5-1.3.6 0 1.4.3 1.8.8l6 7.1V7.4c0-.7.6-1.3 1.3-1.3h.1c.7 0 1.3.6 1.3 1.3v9.2H18z"></path></svg></span><b>web</b><span>nginx:alpine</span><span>47 MB</span><span><i></i>Live</span></li> <li><span><svg viewbox="0 0 24 24"><path d="M23.6 14.7a.5.5 0 0 0-.1-.1c-.1-.3-.5-.3-1-.2-1.7.3-2.3.1-2.5 0 1.3-2 2.4-4.5 3-6.8.3-1.1.8-3.5.1-4.7a1.6 1.6 0 0 0-.2-.2C21.7.9 19.8 0 17.5 0c-1.5 0-2.8.3-3.1.5a9.4 9.4 0 0 0-.5-.1 8 8 0 0 0-1.3-.1c-1.2 0-2.2.3-3 .8-.9-.3-4.8-1.6-7.2.1C.9 2.2.3 3.9.4 6.3c0 .8.5 3.3 1.2 5.7.5 1.5.9 2.7 1.4 3.6.6 1 1.1 1.6 1.7 1.8.4.1 1.1.1 1.9-.7.8-1 1.6-1.8 1.9-2.2.4.2.9.4 1.4.4a.1.1 0 0 0 0 0 11 11 0 0 0-.2.3c-.3.4-.4.5-1.5.7-.3.1-1.1.2-1.1.8 0 .1 0 .2.1.3.2.4.9.6 1 .6 1.3.3 2.5.1 3.4-.7 0 2.2.1 4.4.3 5.1.2.6.8 1.9 2.5 1.9.3 0 .5 0 .8-.1 1.8-.4 2.6-1.2 2.9-2.9.2-.9.4-2.9.5-4.1 0-.1 0-.1.1-.1 0 0 .1 0 .4 0a.4.4 0 0 0 0 0l.3 0 0 0c.8 0 1.9-.1 2.5-.4.6-.3 1.8-1 1.6-1.7zM2.4 11.9c-.7-2.4-1.2-4.9-1.2-5.6-.1-2.2.4-3.7 1.6-4.5 1.8-1.3 4.8-.5 6.1-.1 0 0 0 0 0 0-2 2-2 5.5-2 5.7 0 .1 0 .2 0 .4 0 .6.1 1.7-.1 2.9-.2 1.2.2 2.3 1 3.1.1.1.2.2.3.2-.3.4-1.1 1.2-1.9 2.2-.6.7-1 .6-1.1.5-.4-.1-.8-.6-1.2-1.3-.5-.8-1-2-1.4-3.5zm6 5.1c-.2 0-.3-.1-.4-.2.1 0 .2-.1.5-.1 1.3-.3 1.5-.5 1.9-1 .1-.1.2-.3.4-.4a.4.4 0 0 0 .1-.1c.2-.2.3-.1.4 0 .2.1.3.3.4.5 0 .1.1.3 0 .4-.9 1.3-2.2 1.2-3.2 1zm2.1-4-.1.1c-.1.4-.3.7-.3 1-.7 0-1.3-.3-1.8-.8-.6-.7-.9-1.6-.8-2.5.2-1.3.1-2.4.1-3.1 0-.1 0-.2 0-.2.3-.3 1.7-1 2.6-.8.4.1.7.4.8.9.6 2.7.1 3.8-.3 4.7-.1.2-.2.4-.2.5zm7.4 4.6c0 .2 0 .4-.1.6l-.1.4a.4.4 0 0 0 0 .1c0 .5-.1.6-.1.9-.1.2-.1.5-.2 1.1-.1 1.4-.9 2.2-2.4 2.6-1.5.3-1.8-.5-2-1.2a6.6 6.6 0 0 0-.1-.2c-.2-.6-.2-1.4-.2-2.6 0-.6 0-1.9-.3-2.6 0-.3 0-.6 0-.9a.4.4 0 0 0 0-.1 1.5 1.5 0 0 0 0-.2c-.1-.4-.4-.8-.8-.9-.1-.1-.4-.2-.7-.1.1-.3.2-.6.3-.9l.1-.1c.1-.2.1-.3.2-.5.4-.9 1-2.2.4-5.2-.2-1.1-1-1.6-2.2-1.5-.7.1-1.4.4-1.7.5a5.7 5.7 0 0 0-.2.1c.1-1.1.4-3.2 1.7-4.5a4 4 0 0 1 .3-.3.4.4 0 0 0 .1-.1c.8-.6 1.7-.9 2.8-.8.4 0 .8 0 1.2.1 1.9.4 3.2 1.4 4 2.4.8 1 1.3 1.9 1.4 2.5-1.3-.1-2.2.1-2.7.8-1 1.4.5 4.2 1.3 5.5.1.2.3.5.3.5.2.6.6 1 .8 1.3.1.1.1.2.2.2-.4.1-1.1.4-1.1 1.7 0 .2 0 .4-.1.8 0 .2-.1.5-.1.8zm.9-1.6c0-.8.3-.9.6-1a2.9 2.9 0 0 0 .1 0 1.2 1.2 0 0 0 .1.1c.6.4 1.6.4 3 .1-.2.2-.5.4-1 .6-.4.2-1.1.3-1.7.4-.7 0-1.1-.1-1.2-.2zm.6-9.3c0 .4-.1.7-.1 1-.1.4-.1.7-.1 1.2 0 .4 0 .9.1 1.3.1.9.2 1.8-.2 2.7a3.5 3.5 0 0 1-.2-.4c-.1-.1-.2-.3-.3-.6-.6-1.1-2.1-3.7-1.3-4.7.4-.5 1.3-.6 2.2-.5zm.2 7a12.4 12.4 0 0 0-.1-.1l0 0c.7-1.2.6-2.4.5-3.4-.1-.4-.1-.8-.1-1.2 0-.4.1-.8.1-1.1.1-.4.1-.8.1-1.4 0-.1 0-.1 0-.2 0-.5-.6-1.9-1.7-3.3-.6-.7-1.5-1.5-2.7-2 .5-.1 1.2-.2 2-.2 2.1 0 3.7.8 4.8 2.3a.9.9 0 0 1 .1.1c.7 1.4-.3 6.3-3 10.5zm-8.8-6.1c0 .2-.3.4-.6.4a.6.6 0 0 1-.1 0c-.2 0-.4-.1-.5-.3 0-.1-.1-.2-.1-.3 0 0 0-.1.1-.1.1-.1.4-.1.6-.1.3 0 .6.2.6.4zm7.9-.4c0 .1 0 .2-.2.3-.1.1-.2.2-.4.2a.5.5 0 0 1-.1 0c-.3 0-.5-.2-.6-.4 0-.2.3-.3.6-.4.3 0 .6 0 .6.2z"></path></svg></span><b>db</b><span>postgres:17</span><span>438 MB</span><span>Up 2 min</span></li> <li><span><svg viewbox="0 0 24 24"><path d="M12 24c-.3 0-.6-.1-.9-.2l-2.9-1.7c-.4-.2-.2-.3-.1-.4c.6-.2.7-.2 1.3-.6c.1 0 .2 0 .2 0l2.3 1.3c.1 0 .2 0 .3 0l8.8-5.1c.1 0 .1-.1.1-.2V6.9c0-.1-.1-.2-.1-.2l-8.8-5.1c-.1 0-.2 0-.3 0L3.1 6.7C3 6.7 2.9 6.8 2.9 6.9v10.2c0 .1.1.2.1.2l2.4 1.4c1.3.7 2.1-.1 2.1-.9V7.8c0-.1.1-.3.3-.3h1.1c.1 0 .3.1.3.3v10c0 1.7-.9 2.7-2.6 2.7c-.5 0-.9 0-2-.6L2.3 18.7c-.6-.3-.9-.9-.9-1.6V6.9c0-.7.4-1.3.9-1.6l8.8-5.1c.6-.3 1.3-.3 1.8 0l8.8 5.1c.6.3.9.9.9 1.6v10.2c0 .7-.4 1.3-.9 1.6l-8.8 5.1C12.6 23.9 12.3 24 12 24zM19.1 14c0-1.9-1.3-2.4-4-2.8c-2.7-.4-3-.5-3-1.2c0-.5.2-1.2 2.3-1.2c1.8 0 2.5.4 2.7 1.6c0 .1.1.2.2.2h1.1c.1 0 .1 0 .2-.1c0-.1.1-.1.1-.2c-.2-2.1-1.6-3.1-4.4-3.1c-2.5 0-4 1.1-4 2.8c0 1.9 1.5 2.5 3.9 2.7c2.9.3 3.1.7 3.1 1.3c0 1-.8 1.4-2.6 1.4c-2.3 0-2.8-.6-3-1.7c0-.1-.1-.2-.3-.2h-1.1c-.1 0-.3.1-.3.3c0 1.5.8 3.2 4.7 3.2C17.5 17 19.1 15.9 19.1 14z"></path></svg></span><b>api</b><span>node:22</span><span>1.1 GB</span><span>Up 2 min</span></li> <li><span><svg viewbox="0 0 24 24"><path d="M10.5 2.7l.5 1-1.8.6 2.4.2.7 1.2.5-1.1 2.1-.2-1.6-.6.4-1-1.6.5zm6.9 2.1L13.8 6.2l3.3 1.3.4-.1 3.3-1.3zm-10.5.3a3 1.2 0 0 0-3 1.2 3 1.2 0 0 0 3 1.2 3 1.2 0 0 0 3-1.2 3 1.2 0 0 0-3-1.2zM24 6.8s-9 4.3-10.4 5c-1.2.6-1.9.6-3.3.1C8.3 11 0 7.2 0 7.2v1c0 .2.3.5 1 .8 1.3.6 8.3 3.7 9.4 4.2 1.1.5 1.9.5 3.3-.2 1.4-.7 8-3.9 9.3-4.6.7-.3.9-.6.9-.8zm-10 .6L8.4 8.3l3.9 1.6zM24 10.6s-9 4.3-10.4 5c-1.2.6-1.9.6-3.3.1C8.3 14.9 0 11.1 0 11.1v1c0 .2.3.5 1 .8 1.3.6 8.3 3.7 9.4 4.2 1.1.5 1.9.5 3.3-.2 1.4-.7 8-3.9 9.3-4.6.7-.3.9-.6.9-.8zm0 3.8l-10.4 5c-1.2.6-1.9.6-3.3.1C8.3 18.7 0 14.9 0 14.9v1c0 .2.3.5 1 .8 1.3.6 8.3 3.7 9.4 4.2 1.1.5 1.9.5 3.3-.2 1.4-.7 8-3.9 9.3-4.6.7-.3.9-.6.9-.8z"></path></svg></span><b>redis</b><span>redis:7</span><span>117 MB</span><span>Exited</span></li> </ul> </div> </div> </div> <p><span><svg viewbox="0 0 24 24"><path d="M10.2 14.3l0 0-1 2.4a5.2 5.2 0 0 1-2.1-2.6l2.6-.4 0 0a.4.4 0 0 1 .5.6zm-.8-2.1a.4.4 0 0 0 .2-.8l0 0L7.6 9.7a5.1 5.1 0 0 0-.7 3.3l2.5-.7 0 0zm1.1-2a.4.4 0 0 0 .7-.3l0 0 .1-2.6a5.1 5.1 0 0 0-3 1.4l2.1 1.5 0 0zm.8 2.8l.7.3.7-.3.2-.8-.5-.6h-.8l-.5.6.2.8zm1.5-3.1a.4.4 0 0 0 .7.3l0 0 2.1-1.5a5.2 5.2 0 0 0-3-1.4l.1 2.6 0 0zm10.9 6l-5.8 7.2a1.6 1.6 0 0 1-1.2.6l-9.3 0a1.6 1.6 0 0 1-1.2-.6l-5.8-7.2a1.6 1.6 0 0 1-.3-1.3L2.1 5.6c.1-.5.4-.9.9-1.1L11.3.5a1.6 1.6 0 0 1 1.4 0l8.3 4c.4.2.8.6.9 1.1l2.1 9c.1.5 0 1-.3 1.3zm-3.3-2.1c0 0-.1 0-.1 0-.2 0-.3 0-.5 0-.3 0-.6-.1-.9-.1-.1 0-.2-.2-.2-.2l-.2-.1a6.5 6.5 0 0 0-.1-2.3 6.5 6.5 0 0 0-.9-2.2c.1 0 .1-.1.2-.2 0-.1 0-.2.1-.3.2-.2.4-.3.7-.5.1-.1.3-.1.4-.2 0 0 .1-.1.1-.1.2-.2.3-.5.1-.7-.2-.2-.5-.2-.7 0 0 0-.1.1-.1.1-.1.1-.2.2-.3.3-.2.2-.5.5-.7.6-.1.1-.2 0-.3 0l-.2.1a6.5 6.5 0 0 0-4.1-2l0-.2c-.1-.1-.1-.1-.2-.2 0-.3 0-.6.1-.9 0-.2.1-.3.1-.5 0 0 0-.1 0-.1 0-.3-.2-.6-.5-.6-.3 0-.5.2-.5.6l0 0c0 0 0 .1 0 .1 0 .2 0 .3.1.5 0 .3.1.6.1.9a.5.5 0 0 1-.2.3l0 .2a6.4 6.4 0 0 0-4.2 2 8.4 8.4 0 0 1-.2-.1c-.1 0-.2 0-.3 0-.2-.1-.4-.4-.7-.6-.1-.1-.2-.2-.3-.3 0 0-.1-.1-.1-.1a.6.6 0 0 0-.3-.1.5.5 0 0 0-.4.2c-.2.2-.1.5.1.7l0 0 .1.1c.1.1.3.2.4.2.3.2.5.3.7.5.1.1.1.2.1.3l.2.1a6.5 6.5 0 0 0-1 4.5l-.2.1c-.1.1-.1.2-.2.2-.3.1-.5.1-.9.1-.2 0-.3 0-.5 0 0 0-.1 0-.1 0l0 0 0 0c-.3.1-.5.3-.4.6.1.3.3.4.6.4l0 0 0 0 .1 0c.2 0 .3-.1.4-.2.3-.1.6-.2.9-.3.1 0 .2.1.3.1l.2 0a6.5 6.5 0 0 0 2.9 3.6l-.1.2c0 .1.1.2 0 .3-.1.3-.3.5-.5.8-.1.1-.2.2-.3.4 0 0 0 .1-.1.1-.1.3 0 .6.2.7.2.1.6 0 .7-.3v0c0 0 0-.1.1-.1.1-.2.1-.3.1-.5.1-.3.2-.7.4-.9.1-.1.1-.1.2-.1l.1-.2a6.5 6.5 0 0 0 4.6 0l.1.2c.1 0 .2 0 .3.2.1.2.2.5.3.8.1.2.1.3.1.5 0 0 0 .1.1.1.1.3.4.4.7.3.2-.1.3-.4.2-.7 0 0 0-.1-.1-.1-.1-.2-.2-.3-.3-.4-.2-.3-.3-.5-.4-.8 0-.1 0-.2 0-.3 0 0-.1-.1-.1-.2a6.5 6.5 0 0 0 2.9-3.6c.1 0 .2 0 .2 0 .1-.1.1-.1.3-.1.3 0 .5.1.9.3.2.1.3.1.4.2 0 0 .1 0 .1 0l0 0 0 0c.3.1.6-.1.6-.4.1-.3-.1-.5-.4-.6zM16.4 9.7l-1.9 1.7v0a.4.4 0 0 0 .2.8l0 0 2.5.7a5.2 5.2 0 0 0-.1-1.7A5.2 5.2 0 0 0 16.4 9.7zm-4 5.3a.4.4 0 0 0-.4-.2.4.4 0 0 0-.4.2h0l-1.3 2.3a5.2 5.2 0 0 0 3.3 0l-1.3-2.3h0zm1.9-1.3a.4.4 0 0 0-.3 0 .4.4 0 0 0-.2.6l0 0 1 2.4a5.2 5.2 0 0 0 2.1-2.6l-2.6-.4 0 0z"></path></svg></span><span><b>Kubernetes</b><em><i></i>9 pods ready</em></span></p> <svg viewbox="0 0 64 64" aria-hidden="true"></svg> </figure> <div><p><svg viewbox="0 0 24 24" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg>Kiri's opening is now in 15 languages</p><ul><li lang="zh-Hans" data-l="zh-Hans">&#31616;&#20307;&#20013;&#25991;</li><li lang="zh-Hant" data-l="zh-Hant">&#32321;&#39636;&#20013;&#25991;</li><li lang="ja" data-l="ja">&#26085;&#26412;&#35486;</li><li lang="ko" data-l="ko">&#54620;&#44397;&#50612;</li><li lang="de" data-l="de">Deutsch</li><li lang="fr" data-l="fr">Fran&ccedil;ais</li><li lang="es" data-l="es">Espa&ntilde;ol</li><li lang="it" data-l="it">Italiano</li><li lang="pt-BR" data-l="pt-BR">Portugu&ecirc;s (Brasil)</li><li lang="pl" data-l="pl">Polski</li><li lang="ru" data-l="ru">&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;</li><li lang="tr" data-l="tr">T&uuml;rk&ccedil;e</li><li lang="id" data-l="id">Bahasa Indonesia</li><li lang="vi" data-l="vi">Ti&#7871;ng Vi&#7879;t</li><li lang="en" data-l="en">English</li></ul></div> </div> </div> <div aria-label="Works with"> <div> <p>Works alongside what<br> you already use</p> <div><ul><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>docker</li><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>docker compose</li><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>docker buildx</li><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>Docker Engine API</li><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>Docker Hub</li><li><svg viewbox="0 0 256 256"><path d="M230.9 172A8 8 0 0 1 228 182.9l-96 56a8 8 0 0 1-8.1 0l-96-56A8 8 0 0 1 36 169.1l92 53.6 92-53.6A8 8 0 0 1 230.9 172ZM220 121.1l-92 53.6L36 121.1A8 8 0 0 0 28 134.9l96 56a8 8 0 0 0 8.1 0l96-56A8 8 0 1 0 220 121.1ZM24 80a8 8 0 0 1 4-6.9l96-56a8 8 0 0 1 8.1 0l96 56a8 8 0 0 1 0 13.8l-96 56a8 8 0 0 1-8.1 0l-96-56A8 8 0 0 1 24 80Zm23.9 0L128 126.7 208.1 80 128 33.3Z"></path></svg>OCI images</li><li><svg viewbox="0 0 256 256"><path d="M208.3 75.7A59.8 59.8 0 0 0 202.9 28 8 8 0 0 0 196 24a59.8 59.8 0 0 0-48 24H124A59.8 59.8 0 0 0 76 24a8 8 0 0 0-6.9 4 59.8 59.8 0 0 0-5.4 47.7A58.1 58.1 0 0 0 56 104v8a56.1 56.1 0 0 0 48.4 55.5A39.8 39.8 0 0 0 96 192v8H72a24 24 0 0 1-24-24A40 40 0 0 0 8 136a8 8 0 0 0 0 16 24 24 0 0 1 24 24 40 40 0 0 0 40 40H96v16a8 8 0 0 0 16 0V192a24 24 0 0 1 48 0v40a8 8 0 0 0 16 0V192a39.8 39.8 0 0 0-8.4-24.5A56.1 56.1 0 0 0 216 112v-8A58.1 58.1 0 0 0 208.3 75.7ZM200 112a40 40 0 0 1-40 40H112a40 40 0 0 1-40-40v-8a41.7 41.7 0 0 1 6.9-22.5A8 8 0 0 0 80 73.8a43.8 43.8 0 0 1 .8-33.6 43.9 43.9 0 0 1 32.3 20.1A8 8 0 0 0 119.8 64h32.4a8 8 0 0 0 6.7-3.7 43.9 43.9 0 0 1 32.3-20.1A43.8 43.8 0 0 1 192 73.8a8.1 8.1 0 0 0 1 7.7A41.7 41.7 0 0 1 200 104Z"></path></svg>ghcr.io</li><li><svg viewbox="0 0 24 24"><path d="M6 2.5h8l4.5 4.5v13A1.5 1.5 0 0 1 17 21.5H6A1.5 1.5 0 0 1 4.5 20V4A1.5 1.5 0 0 1 6 2.5zm7.5 1.4V7.5h3.6zM7.5 11h9v1.6h-9zm0 3.4h9V16h-9zm0 3.4h6v1.6h-6z"></path></svg>Dockerfiles</li></ul><ul aria-hidden="true"><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>docker</li><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>docker compose</li><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>docker buildx</li><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>Docker Engine API</li><li><svg viewbox="0 0 24 24"><path d="M14 11.1h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3-5.4h2.1a.2.2 0 0 0 .2-.2V3.6a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m0 2.7h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H8.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V6.3a.2.2 0 0 0-.2-.2H5.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m5.9 2.7h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-3 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2m-2.9 0h2.1a.2.2 0 0 0 .2-.2V9a.2.2 0 0 0-.2-.2h-2.1a.2.2 0 0 0-.2.2v1.9c0 .1.1.2.2.2M23.8 9.9c-.1-.1-.7-.5-2-.5-.3 0-.7 0-1 .1-.2-1.7-1.7-2.5-1.7-2.6l-.3-.2-.2.3c-.3.4-.5.9-.6 1.4-.2 1-.1 1.9.4 2.7-.6.3-1.6.4-1.7.4H.8a.8.8 0 0 0-.8.7 11.4 11.4 0 0 0 .7 4.1c.5 1.4 1.4 2.5 2.4 3.1 1.2.7 3.1 1.1 5.3 1.1 1 0 2-.1 2.9-.3a12.2 12.2 0 0 0 3.8-1.4c1-.6 1.9-1.3 2.6-2.1 1.3-1.4 2-3 2.6-4.4h.2c1.4 0 2.2-.5 2.7-1 .3-.3.6-.7.7-1l.1-.3Z"></path></svg>Docker Hub</li><li><svg viewbox="0 0 256 256"><path d="M230.9 172A8 8 0 0 1 228 182.9l-96 56a8 8 0 0 1-8.1 0l-96-56A8 8 0 0 1 36 169.1l92 53.6 92-53.6A8 8 0 0 1 230.9 172ZM220 121.1l-92 53.6L36 121.1A8 8 0 0 0 28 134.9l96 56a8 8 0 0 0 8.1 0l96-56A8 8 0 1 0 220 121.1ZM24 80a8 8 0 0 1 4-6.9l96-56a8 8 0 0 1 8.1 0l96 56a8 8 0 0 1 0 13.8l-96 56a8 8 0 0 1-8.1 0l-96-56A8 8 0 0 1 24 80Zm23.9 0L128 126.7 208.1 80 128 33.3Z"></path></svg>OCI images</li><li><svg viewbox="0 0 256 256"><path d="M208.3 75.7A59.8 59.8 0 0 0 202.9 28 8 8 0 0 0 196 24a59.8 59.8 0 0 0-48 24H124A59.8 59.8 0 0 0 76 24a8 8 0 0 0-6.9 4 59.8 59.8 0 0 0-5.4 47.7A58.1 58.1 0 0 0 56 104v8a56.1 56.1 0 0 0 48.4 55.5A39.8 39.8 0 0 0 96 192v8H72a24 24 0 0 1-24-24A40 40 0 0 0 8 136a8 8 0 0 0 0 16 24 24 0 0 1 24 24 40 40 0 0 0 40 40H96v16a8 8 0 0 0 16 0V192a24 24 0 0 1 48 0v40a8 8 0 0 0 16 0V192a39.8 39.8 0 0 0-8.4-24.5A56.1 56.1 0 0 0 216 112v-8A58.1 58.1 0 0 0 208.3 75.7ZM200 112a40 40 0 0 1-40 40H112a40 40 0 0 1-40-40v-8a41.7 41.7 0 0 1 6.9-22.5A8 8 0 0 0 80 73.8a43.8 43.8 0 0 1 .8-33.6 43.9 43.9 0 0 1 32.3 20.1A8 8 0 0 0 119.8 64h32.4a8 8 0 0 0 6.7-3.7 43.9 43.9 0 0 1 32.3-20.1A43.8 43.8 0 0 1 192 73.8a8.1 8.1 0 0 0 1 7.7A41.7 41.7 0 0 1 200 104Z"></path></svg>ghcr.io</li><li><svg viewbox="0 0 24 24"><path d="M6 2.5h8l4.5 4.5v13A1.5 1.5 0 0 1 17 21.5H6A1.5 1.5 0 0 1 4.5 20V4A1.5 1.5 0 0 1 6 2.5zm7.5 1.4V7.5h3.6zM7.5 11h9v1.6h-9zm0 3.4h9V16h-9zm0 3.4h6v1.6h-6z"></path></svg>Dockerfiles</li></ul></div> </div> </div> <div> <div> <p>While it runs</p> <h2>Light during it runs.</h2> <p>Ten containers operating on one Apple silicon Mac, one runtime at a time: how much CPU and recollection all one holds.</p> </div> <div> <p>CPU and recollection &middot; 10 containers running</p> <div role="table" aria-label="CPU and recollection alongside 10 containers running"> <p><span role="columnheader"></span><span role="columnheader">CPU</span><span role="columnheader">Memory</span></p> <p><span role="rowheader">Kiri</span><span role="cell"></span><span role="cell"></span></p> <p><span role="rowheader">OrbStack</span><span role="cell"></span><span role="cell"></span></p> <p><span role="rowheader">Colima</span><span role="cell"></span><span role="cell"></span></p> <p><span role="rowheader">Docker Desktop</span><span role="cell"></span><span role="cell"></span></p> </div> </div> </div> <div> <p>What's in it</p> <h2>Everything you'd attain for Docker Desktop for.</h2> <p>Containers were the start. Kiri now builds and scans images, runs Kubernetes and entire Linux machines, and puts any receptacle on the net alongside one click.</p> <ul> <li> <span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M7 7V4.5h10V7M3 12h18"></path></svg></span> <h3>Containers and Compose</h3> <p>Every docker command you use, Compose projects grouped in the window, and a leaf for all receptacle alongside live logs, a casing and its files.</p> </li> <li> <span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M16 16l5 5"></path></svg></span> <h3>Images from Docker Hub</h3> <p>Search Docker Hub from the opening and observe all tier pull. amd64 images run through Rosetta.</p> </li> <li> <span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M12 3l8 3.5v5c0 4.6-3.3 8.3-8 9.5-4.7-1.2-8-4.9-8-9.5v-5z"></path><path d="M8.5 12l2.5 2.5 4.5-5"></path></svg></span> <h3>Builds, alongside a scan</h3> <p>docker build through BuildKit, a Builds perspective of all build, and a exposure scan of all depiction on its own page.</p> </li> <li> <span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M12 2.5l8.5 4.2 2 9.1-5.9 7.2H7.4L1.5 15.8l2-9.1z"></path></svg></span> <h3>Kubernetes</h3> <p>kiri k8s commencement gives you a k3s collection in concerning 20 seconds, alongside Pods and Services in the window. benevolent runs too.</p> </li> <li> <span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M7 9l3 2.5L7 14M12.5 14H17M8 20.5h8"></path></svg></span> <h3>Linux machines</h3> <p>kiri device create dev --distro ubuntu: your user, sudo, and your Mac folders at the identical paths.</p> </li> <li> <span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M4 12a8 8 0 0 1 16 0M4 12a8 8 0 0 0 16 0M4 12h16"></path><path d="M9.5 16.5l2.5 2.5 2.5-2.5"></path></svg></span> <h3>Names and HTTPS</h3> <p>Apps open at web.kiri.local, Compose services at api.myapp.kiri.local, alongside HTTPS from Kiri's own narrow certificate authority.</p> </li> <li> <span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M4 7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3z"></path><path d="M9 14c1.8 1.4 4.2 1.4 6 0M12 4v7"></path></svg></span> <h3>Light on your Mac</h3> <p>Unused recollection goes rear during it runs, and the VM sleeps following a infinitesimal idle. The daemon stays about 15 MB; waking takes 0.15 s.</p> </li> <li> <span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M4 8h13l-3.5-3.5M20 16H7l3.5 3.5"></path></svg></span> <h3>Move complete in one go</h3> <p>Bring your images, volumes and containers from OrbStack or Docker Desktop, afterward toggle docker to Kiri from the window.</p> </li> </ul> </div> <div> <div> <p>Prefer the terminal?</p> <h2>The commands you already type.</h2> <p>With Kiri open, the average docker command runs on Kiri, and kiri adds what Docker doesn't have: a name for all container, Kubernetes, Linux machines and a community link.</p> <ul> <li><b>kiri run, kiri ps</b> activity akin their docker twins.</li> <li><b>web.kiri.localhost</b> reaches a receptacle by name, no harbor to remember.</li> <li><b>kiri k8s start</b> and <b>kiri device create</b> for a collection or a Linux box.</li> <li><b>kiri portion web</b> puts it on the internet.</li> </ul> </div> <figure aria-label="Example terminal session"> <p><i></i><i></i><i></i><span>~ zsh</span></p> <pre aria-hidden="true"></pre> <p>$ kiri run --rm alpine echo "kiri" prints kiri. $ kiri run -d --name web nginx prints a receptacle ID. $ kiri ps lists the operating web container. $ curl http://web.kiri.localhost reaches it by name, alongside no harbor to remember. $ docker ps shows the identical container, since Kiri answers the Docker API. $ kiri portion web gives it a community nexus at web.runkiri.cloud.</p> <figcaption>Illustrative session. With Kiri open, the average docker command runs on Kiri.</figcaption> </figure> </div> <div> <p>Getting started</p> <h2>From download to a community nexus in four steps.</h2> <ol> <li> <div> <p>Step 1</p> <h3>Install</h3> <p>Open the disk depiction and drag Kiri to <strong>Applications</strong>. It sets up docker for you.</p> <p><a href="https://en.mycoding.id/category/technology" target="_blank">Download for Mac</a> </p></div> </li> <li> <div> <p>Step 2</p> <h3>Pull an image</h3> <p>Search Docker Hub in <strong>Images</strong> and media Pull, or:</p> <p>docker drag nginx </p></div> </li> <li> <div> <p>Step 3</p> <h3>Run a container</h3> <p>Press <strong>Run</strong> and provision it a port. It starts in milliseconds.</p> <p>docker run -p 80:80 nginx </p></div> </li> <li> <div> <p>Step 4</p> <h3>Share</h3> <p>Press <strong>Share</strong> on the receptacle for a community link, or:</p> <p>kiri portion 80 </p></div> </li> </ol> </div> <div> <p>Compare</p> <h2>Same command, three routes.</h2> <p>OrbStack and Docker Desktop continue all receptacle commencement through five programs, all alongside its own socket. Kiri passes it through one daemon that calls the kernel itself. Same docker command on all three.</p> <div> <p><i></i><i></i><i></i> docker run --rm alpine true </p> <div> <div data-engine="OrbStack" data-ms="279" data-stops="docker CLI|dockerd|containerd|shim|runc|container"> <p><span>OrbStack</span><span>Measured</span><b>0 ms</b></p> <p>Five hops. One shim procedure stays inhabitant for all operating container.</p> </div> <div data-engine="Docker Desktop" data-ms="178" data-stops="docker CLI|dockerd|containerd|shim|runc|container"> <p><span>Docker Desktop</span><span>Measured</span><b>0 ms</b></p> <p>The identical five hops, and a shim per operating container.</p> </div> <div data-engine="Kiri" data-ms="22" data-stops="docker CLI|kiri daemon|clone3|container"> <p><span>Kiri</span><span>Measured</span><b>0 ms</b></p> <p>One daemon creates namespaces, cgroups and mounts itself. Nothing per receptacle is remaining running. Most of this period is the docker CLI starting up. Through the Docker API, a entire receptacle lifecycle takes 3.1 ms.</p> </div> </div> </div> <p><a href="https://en.mycoding.id/category/technology" target="_blank">Full benchmarks: p99s, the Docker API way and all raw fig <span aria-hidden="true">&rarr;</span></a></p> </div> <div> <p>How it works</p> <h2>One small VM. One daemon. A socket between them.</h2> <p>On macOS, Kiri boots a sole Linux VM through Apple's Virtualization.framework, alongside a tradition kernel and a small Rust init as PID 1. The presenter and visitant conversation complete vsock. Inside, the Kiri daemon creates all receptacle alongside clone3. On <a href="https://en.mycoding.id/category/technology" target="_blank">Linux</a> the identical daemon runs on your own kernel alongside no VM at all, and on <a href="https://en.mycoding.id/category/technology" target="_blank">Windows</a> it runs inner WSL2.</p> <figure> <svg viewbox="0 0 960 420" role="img" aria-labelledby="arch-t arch-d"> Kiri architecture on macOS On the Mac host, the kiri CLI, the Docker CLI and afterward Stormglass conversation to the kiri presenter process, which runs the VM through Virtualization.framework. A vsock conduit connects it to the Linux guest, anywhere kiri-init is PID 1 and the kiri daemon creates containers alongside clone3. macOS host Stormglass later docker / kiri CLI <path d="M107 122 V160 M262 122 V160"></path> kiri hostDocker API socket &middot; 409 KB <path d="M186 230 V268"></path> Virtualization.framework One VM for all container. No per-container procedure on the host. <path d="M356 196 H604"></path> vsock 31 &micro;s circular trip, p50 Linux VM tradition minimal kernel kiri-init &middot; PID 1 &middot; 360 KB kiri daemon <path d="M700 260 V300 M774 260 V300 M848 260 V300"></path> clone3 containers: namespaces + cgroup + overlay </svg> <svg viewbox="0 0 360 760" role="img" aria-labelledby="arch-t2"> Kiri architecture on macOS: host, vsock, Linux VM alongside kiri-init, kiri daemon and containers macOS host Stormglass later docker / kiri CLI <path d="M98 106 V136 M258 106 V136"></path> kiri hostDocker API socket &middot; 409 KB <path d="M180 202 V228"></path> Virtualization.framework <path d="M180 308 V420"></path> vsock 31 &micro;s p50 Linux VM tradition minimal kernel kiri-init &middot; PID 1 &middot; 360 KB kiri daemon <path d="M100 638 V668 M180 638 V668 M260 638 V668"></path> clone3 &rarr; containers </svg> </figure> <div> <p><span>One VM, one daemon</span><a href="https://en.mycoding.id/category/technology" target="_blank">See the numbers <span aria-hidden="true">&rarr;</span></a></p> <div> <div><h3>Boot once</h3><p>One VM serves all container. Cold footwear to prepared takes <strong data-bind="VM chilly footwear to delegate prepared (total)">112 ms</strong>, downward from 810 ms on a inventory kernel.</p></div> <div><h3>Talk directly</h3><p>Requests cross one vsock conduit into the VM, not a sequence of Unix sockets. A circular trip takes <strong data-bind="host &lt;-&gt; visitant vsock circular trip p50">31 &micro;s</strong>.</p></div> <div><h3>Leave nothing behind</h3><p>No procedure stays per container. OrbStack keeps a shim for all one: 143 operating containers held <strong>1.13 GB</strong> in shims on our test Mac.</p></div> </div> </div> </div> <div> <div> <p>The app</p> <h2>A native app, not a web wrapper.</h2> <p>AppKit and the scheme WebKit on the Mac, Win32 and WebView2 on Windows, so no Electron and no bundled browser. Manage containers, images, volumes, networks and Compose projects, alongside live stats, logs, a terminal and records for all container. Running apps open by name at myapp.kiri.local. On the Mac it brings your images and volumes complete from OrbStack or Docker Desktop, and lives in the list bar.</p> <ul> <li><a href="https://en.mycoding.id/category/technology" target="_blank"><b><span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M16.4 12.6c0-2.4 2-3.6 2.1-3.7-1.1-1.7-2.9-1.9-3.5-1.9-1.5-.2-2.9.9-3.7.9-.8 0-1.9-.9-3.2-.8-1.6 0-3.2 1-4 2.4-1.7 3-.4 7.4 1.2 9.8.8 1.2 1.8 2.5 3 2.4 1.2 0 1.7-.8 3.1-.8 1.5 0 1.9.8 3.2.8 1.3 0 2.1-1.2 2.9-2.4.9-1.3 1.3-2.7 1.3-2.7s-2.4-1-2.4-4zM14 5.5c.7-.8 1.1-1.9 1-3-1 0-2.1.7-2.8 1.5-.6.7-1.2 1.8-1 2.9 1.1.1 2.1-.6 2.8-1.4z"></path></svg><svg viewbox="0 0 64 64"></svg></span>Mac</b><span>One minimal Linux VM through Virtualization.framework</span></a></li> <li><a href="https://en.mycoding.id/category/technology" target="_blank"><b><span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M3 5.5l7.5-1v7H3zM11.5 4.4L21 3v8.5h-9.5zM3 12.5h7.5v7L3 18.5zM11.5 12.5H21V21l-9.5-1.4z"></path></svg><svg viewbox="0 0 64 64"></svg></span>Windows</b><span>Inside WSL2, alongside the Docker API on a named pipe (beta)</span></a></li> <li><a href="https://en.mycoding.id/category/technology" target="_blank"><b><span aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M4 5h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2v8h14V7zm1.5 1.5L9 11l-2.5 2.5-1-1L7 11 5.5 9.5zM10 13h4v1.2h-4zM8 19h8v1.5H8z"></path></svg><svg viewbox="0 0 64 64"></svg></span>Linux</b><span>Native, no VM at all: the daemon calls clone3 on your kernel</span></a></li> </ul> </div> <figure aria-label=" the sidebar has Docker (containers, images, volumes, networks, builds), Kubernetes (pods, services) and Kiri (Share, Settings). Five containers are listed, four running; web is shared live at web.runkiri.cloud and the others have a Share button."> <div aria-hidden="true"> <div> <div> <p>Containers <span>4 operating &middot; 5</span></p> <p><span>Filter</span> </p></div> <div> <p><span>Name</span><span>Image</span><span>State</span><span>Created</span><span>Actions</span></p> <p> <span><span><svg></svg></span>web</span> <span>nginx:alpine</span> <span>Up 2 min</span> <span>2 min ago</span> <span><span>&middot;&middot;&middot;</span></span> </p> <p> <span><span><svg></svg></span>api</span> <span>node:22</span> <span>Up 2 min</span> <span>2 min ago</span> <span><span>&middot;&middot;&middot;</span></span> </p> <p> <span><span><svg></svg></span>db</span> <span>postgres:17</span> <span>Up 2 min</span> <span>2 min ago</span> <span><span>&middot;&middot;&middot;</span></span> </p> <p> <span><span><svg></svg></span>worker</span> <span>python:3.13</span> <span>Up 40 s</span> <span>1 min ago</span> <span><span>&middot;&middot;&middot;</span></span> </p> <p> <span><span><svg></svg></span>redis</span> <span>redis:7</span> <span>Exited (0)</span> <span>1 h ago</span> <span><span>Start</span><span>&middot;&middot;&middot;</span></span> </p> </div> </div> </div> </figure> </div> <div> <div> <div> <p>Download</p> <h2>Kiri for Mac is out.</h2> <p>Every figure on this leaf was measured on it. Kiri sets up a kiri docker environment and brings its own docker, Compose and buildx, so there's nothing alternatively to install. Coming from OrbStack or Docker Desktop? Kiri brings your images and volumes over.</p> <p><a href="https://en.mycoding.id/category/technology" target="_blank">Download for Mac</a> <a href="https://en.mycoding.id/category/technology" target="_blank">All platforms</a></p> </div> <div> <p>Then, in a new terminal:</p> <pre><span>$</span> docker run --rm hello-world</pre> <p>Same docker and docker create you use today.</p> <p><span><span data-kiri-version>0.2.0</span> &middot; Apple silicon &middot; macOS 14+</span> </p></div> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/kiri-the-modern-container-runtime-77150</guid> <pubDate>Sun, 15 Nov 2026 05:40:41 +0700</pubDate> <author><![CDATA[support@mycoding.id (Mira Azkia)]]></author> </item> <item> <title><![CDATA[Show HN: Gawain – Require type hints on all Python variables]]></title> <description><![CDATA[Show HN: Gawain – Require type hints on all Python variables. Comments]]></description> <media:thumbnail url="https://opengraph.githubassets.com/7fc4dba7a7250cea3550e4be9ebed75ac728535014e5adfcb5b04b859afd9561/matheuzgomes/gawain"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/show-hn-gawain-require-type-hints-on-all-python-variables-77145</link> <content:encoded><![CDATA[<div data-hpc="true" containertiming="hpc"><p dir="auto"> <source media=" dark)" srcset="https://raw.githubusercontent.com/matheuzgomes/gawain/main/docs/assets/gawain-wordmark-dark.svg"> <img src="https://raw.githubusercontent.com/matheuzgomes/gawain/main/docs/assets/gawain-wordmark.svg" alt=" the green axe alongside the green girdle, complete the name in blackletter" width="200"> </source> </p> <p dir="auto">gawain requires category annotations on the variables, parameters, returns and category attributes of Python code, then runs a category checker, <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow">ty</a> or <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow">pyrefly</a>, to inspect that the types are correct.</p> <p dir="auto">Type checkers specified as mypy, Pyright, ty and pyrefly infer the category of a changeable that has no annotation. ruff's ANN rules and flake8-annotations ask for annotations on functions only. gawain additionally asks for them on variables and class attributes.</p> <p dir="auto">I built gawain lone since I dislike dict[str, Any] and wanted to do item concerning it. If your answer to this is "but Python already infers that" or "but my IDE infers it for me", afterward don't use it, small padawan.</p> <p dir="auto">Given shop.py:</p> <div dir="auto" data-snippet-clipboard-copy-content=' self.items = items'><pre><span>PORT</span> <span>=</span> <span>8080</span> <span>retries</span> <span>=</span> <span>3</span> <span>total</span> <span>=</span> <span>compute</span>() <span>def</span> <span>send</span>(<span>to</span>, <span>body</span>): <span>print</span>(<span>f"to <span><span>{</span><span>to</span><span>}</span></span>: <span><span>{</span><span>body</span><span>}</span></span>"</span>) <span>class</span> <span>Order</span>: <span>def</span> <span>__init__</span>(<span>self</span>, <span>items</span>: <span>list</span>[<span>str</span>]) <span>-&gt;</span> <span>None</span>: <span>self</span>.<span>items</span> <span>=</span> <span>items</span></pre></div> <p dir="auto">gawain inspect shop.py prints:</p> <div data-snippet-clipboard-copy-content="14 GW004 trait &#039;items&#039; is not declared in the build of category &#039;Order&#039; 6 errors (presence). Type inspect skipped until existence errors are fixed."><pre lang="text">[presence] shop.py:1:1 GW001 changeable 'PORT' has no category annotation shop.py:3:1 GW001 changeable 'total' has no category annotation shop.py:6:5 GW003 function 'send' has no come back category annotation shop.py:6:10 GW002 indicator 'to' of function 'send' has no category annotation shop.py:6:14 GW002 indicator 'body' of function 'send' has no category annotation shop.py:12:14 GW004 trait 'items' is not declared in the build of category 'Order' 6 errors (presence). Type inspect skipped until existence errors are fixed. </pre></div> <p dir="auto">retries = 3 passes, since a literal has an apparent type. PORT is a constant, so it needs Final[int].</p> <p dir="auto">When all note is in place, gawain runs the category checker on the identical records and prints what it reports. With ty, the default, for prices.py:</p> <div dir="auto" data-snippet-clipboard-copy-content=' come back &quot;0&quot;'><pre><span>def</span> <span>total</span>(<span>prices</span>: <span>list</span>[<span>int</span>]) <span>-&gt;</span> <span>int</span>: <span>return</span> <span>"0"</span></pre></div> <div data-snippet-clipboard-copy-content=' expected `int`, established `Literal[&quot;0&quot;]` 1 error (types).'><pre lang="text">[types] prices.py:2:12 ty[invalid-return-type] Return category does not equivalent returned value: expected `int`, established `Literal["0"]` 1 error (types). </pre></div> <p dir="auto">Install gawain alongside the additional of the category checker you want. ty is the default checker, and the ty additional pins it to 0.0.100:</p> <div dir="auto" data-snippet-clipboard-copy-content='uv tool instal &quot;gawain[ty]&quot; # or pip instal &quot;gawain[ty]&quot;'><pre>uv tool instal <span><span>"</span>gawain[ty]<span>"</span></span> <span><span>#</span> or</span> pip instal <span><span>"</span>gawain[ty]<span>"</span></span></pre></div> <p dir="auto">To use pyrefly instead, instal the pyrefly extra, which pins pyrefly 1.4.1 and does not instal ty:</p> <div dir="auto" data-snippet-clipboard-copy-content='uv tool instal &quot;gawain[pyrefly]&quot; # or pip instal &quot;gawain[pyrefly]&quot;'><pre>uv tool instal <span><span>"</span>gawain[pyrefly]<span>"</span></span> <span><span>#</span> or</span> pip instal <span><span>"</span>gawain[pyrefly]<span>"</span></span></pre></div> <p dir="auto">Then choose it alongside checker = "pyrefly" in [tool.gawain], or alongside --checker pyrefly. <a href="https://en.mycoding.id/category/technology" target="_blank">docs/configuration.md</a> explains the switch.</p> <p dir="auto">pip instal gawain without an additional installs lone the gawain command. It afterward needs a checker on PATH, or --no-types to run the note checks only.</p> <div dir="auto"><p dir="auto"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Warning</p><p dir="auto">Use gawain alongside care. ty is in beta, and its diagnostics may alter between versions. If that is a problem for your project, use pyrefly, or --no-types to run the note checks only.</p> </div> <div dir="auto" data-snippet-clipboard-copy-content="gawain inspect src/ # annotations, afterward types gawain inspect src/ --no-types # annotations only gawain inspect src/ --checker pyrefly # pyrefly alternatively of ty gawain inspect src/ --mode strict # an note on all assignment gawain inspect src/ --format json # one JSON object, for tools"><pre>gawain inspect src/ <span><span>#</span> annotations, afterward types</span> gawain inspect src/ --no-types <span><span>#</span> annotations only</span> gawain inspect src/ --checker pyrefly <span><span>#</span> pyrefly alternatively of ty</span> gawain inspect src/ --mode strict <span><span>#</span> an note on all assignment</span> gawain inspect src/ --format json <span><span>#</span> one JSON object, for tools</span></pre></div> <p dir="auto">gawain exits alongside 0 whenever nothing is reported, 1 whenever it reports an error, and 2 on a use error or when the category checker cannot run. The category checker's warnings are printed but do not neglect the check.</p> <table readabilitydatatable="1"> <thead> <tr> <th>Code</th> <th>Reports</th> </tr> </thead> <tbody> <tr> <td>GW001</td> <td>A changeable assigned alongside no annotation.</td> </tr> <tr> <td>GW002</td> <td>A indicator alongside no annotation.</td> </tr> <tr> <td>GW003</td> <td>A function alongside no come back annotation.</td> </tr> <tr> <td>GW004</td> <td>A category trait alongside no annotation, or a self.x that the category build does not declare.</td> </tr> <tr> <td>GW010</td> <td>A changeless that is not annotated Final[T].</td> </tr> <tr> <td>GW011</td> <td>A naked Final, alongside no type.</td> </tr> <tr> <td>GW020</td> <td>Any in an annotation.</td> </tr> </tbody> </table> <p dir="auto">GW000 marks a document gawain cannot read, and GW900 and GW901 grade a damaged or unused suppression. To silence a line, name the code:</p> <div dir="auto" data-snippet-clipboard-copy-content="value = load() # gawain: ignore[GW001]"><pre><span>value</span> <span>=</span> <span>load</span>() <span># gawain: ignore[GW001]</span></pre></div> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank">docs/rules.md</a> has the complete rules, the exemptions and the suppression syntax.</p> <p dir="auto">The default manner is obvious. A name may go without an note whenever its value has an apparent category and the name is never assigned again: a literal (count = 0), a receptacle of literals (ids = [1, 2, 3]) or a constructor call (user = User("ada")). strict asks for an note on all assignment:</p> <div dir="auto" data-snippet-clipboard-copy-content='[tool.gawain] mode = &quot;strict&quot;'><pre>[<span>tool</span>.<span>gawain</span>] <span>mode</span> = <span><span>"</span>strict<span>"</span></span></pre></div> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank">docs/rules.md</a> has the exact rules of all mode.</p> <div dir="auto" data-snippet-clipboard-copy-content="//github.com/matheuzgomes/gawain rev: v0.3.0 hooks: - id: gawain"><pre><span>repos</span>: - <span>repo</span>: <span>https://github.com/matheuzgomes/gawain</span> <span>rev</span>: <span>v0.3.0</span> <span>hooks</span>: - <span>id</span>: <span>gawain</span></pre></div> <p dir="auto">pre-commit installs the hook from this repository's source, so construction it needs Rust 1.97 or newer. <a href="https://en.mycoding.id/category/technology" target="_blank">docs/configuration.md</a> covers [tool.gawain], paths and the hook in detail.</p> <p dir="auto">On the CPython 3.14 norm archive (1,847 files, 974,586 lines), median of 30 runs (5 for flake8-annotations):</p> <table readabilitydatatable="1"> <thead> <tr> <th>Tool</th> <th>Checks</th> <th>Median</th> </tr> </thead> <tbody> <tr> <td>gawain, apparent mode</td> <td>variables, parameters, returns, attributes</td> <td>0.46 s</td> </tr> <tr> <td>gawain, strict mode</td> <td>variables, parameters, returns, attributes</td> <td>0.36 s</td> </tr> <tr> <td>ruff --select ANN</td> <td>parameters, returns</td> <td>0.35 s</td> </tr> <tr> <td>flake8-annotations</td> <td>parameters, returns</td> <td>11.4 s</td> </tr> </tbody> </table> <p dir="auto">gawain ran alongside --no-types. This is one benchmark on one device (AMD Ryzen 7 3700X, WSL2). <a href="https://en.mycoding.id/category/technology" target="_blank">docs/benchmarks.md</a> has the versions and the commands to run it again.</p> <ul dir="auto"> <li><a href="https://en.mycoding.id/category/technology" target="_blank">docs/rules.md</a>: rules, modes, exemptions and suppression.</li> <li><a href="https://en.mycoding.id/category/technology" target="_blank">docs/configuration.md</a>: paths, output, exit codes, [tool.gawain] and pre-commit.</li> <li><a href="https://en.mycoding.id/category/technology" target="_blank">docs/benchmarks.md</a>: how the numbers complete were measured.</li> </ul> <p dir="auto">gawain says Python alongside <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow">ruff_python_parser</a> and checks types with ty, the two by <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow">Astral</a>, or alongside <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow">pyrefly</a>, by Meta.</p> <p dir="auto">I don't know, I fair akin the Arthurian tales. Gawain is a knight of the Round Table, and the mascot is the Green Knight's axe alongside the green girdle from <em>Sir Gawain and the Green Knight</em>.</p> <p dir="auto">MIT. See <a href="https://en.mycoding.id/category/technology" target="_blank">LICENSE</a>.</p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/show-hn-gawain-require-type-hints-on-all-python-variables-77145</guid> <pubDate>Sun, 15 Nov 2026 05:39:25 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[Meow Gallery Pro v5.6.0]]></title> <description><![CDATA[Meow Gallery Pro v5.6.0. Meow Gallery Pro v5.6.0 WordPress Plugin Free Download. Meow Gallery brings Eight Stunning Layouts to your WordPress Galleries: from Tiles and Masonry to Carous...]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Digital Products]]></category> <link>https://en.mycoding.id/meow-gallery-pro-v5-6-0-77148</link> <content:encoded><![CDATA[<div class="entry-content admission clearfix"><p class="wp-block-paragraph">Meow Gallery Pro v5.6.0 WordPress Plugin Free Download. Meow Gallery brings Eight Stunning Layouts to your WordPress Galleries: from Tiles and Masonry to Carousel and Map. It Works seamlessly alongside Gutenberg, Serves Every Image at the Size it needs, and never locks you in. Pro Adds the Layouts Photographers love. Carousels, Maps drawn from your Photos, Infinite loading for huge Galleries and Sleek Animations.</p><h3 class="wp-block-heading">Main Features</h3><ul class="wp-block-list"><li>8+ Beautiful Layouts</li><li>Lightbox</li><li>Responsive Layouts</li><li>Nice Layouts</li><li>Map Layout</li><li>Carousel Layout</li><li>Animations</li><li>Infinite and Lazy Loading</li><li>Lightbox</li><li>Light and Fast</li><li>Gutenberg Block</li><li>and more</li></ul><h2 class="wp-block-heading">Download Meow Gallery Pro WordPress Plugin</h2><b>Live Demo:</b> <a href="https://en.mycoding.id/category/digital-products" target="_blank" target="_blank"><b>View Demo</b></a><br><br><a href="https://en.mycoding.id/category/digital-products" target="_blank" target="_blank" rel="noopener"><b>Meow Gallery Online Documentation</b></a><br><br><div class="download-link-section"><div class="copybox"></div> <br><div class="copybox"></div> <br><div class="copybox"></div> <br><div class="copybox"></div> <br><div class="copybox"></div> <br><div class="copybox"></div> <br><div class="copybox"></div> <br><div class="copybox"></div></div><br><p class="wp-block-paragraph">Free download Meow Gallery Pro WordPress Plugin by Meow Apps premium WordPress exhibition plugin download.</p><div class="stream-item stream-item-in-post stream-item-inline-post aligncenter"><div class="stream-item-size"><div id="container-0730062b1c60873c0fcc80d9fa01093b"></div></div></div><div class="stream-item stream-item-below-post-content"><div class="stream-item-size"><div id="container-0730062b1c60873c0fcc80d9fa01093b"></div></div></div></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/meow-gallery-pro-v5-6-0-77148</guid> <pubDate>Sun, 15 Nov 2026 05:30:00 +0700</pubDate> <author><![CDATA[support@mycoding.id (Null Php Script)]]></author> </item> <item> <title><![CDATA[Show HN: Turbo-Browser-MCP – Batch forms, DOM deltas and submit guards for MCP]]></title> <description><![CDATA[Show HN: Turbo-Browser-MCP – Batch forms, DOM deltas and submit guards for MCP. Comments]]></description> <media:thumbnail url="https://opengraph.githubassets.com/738743b3d185a8487b1e1350c26bc2823c0e72c63c1a79e6c8d30197b422c603/Tthanh2k6/turbo-browser-mcp"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/show-hn-turbo-browser-mcp-batch-forms-dom-deltas-and-submit-guards-for-mcp-77146</link> <content:encoded><![CDATA[<div data-hpc="true" containertiming="hpc"> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank"><img src="https://github.com/Tthanh2k6/turbo-browser-mcp/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://en.mycoding.id/category/technology" target="_blank"><img src="https://camo.githubusercontent.com/7da216ebdc97913649678fabdf343c42ab1885bd55896a3a2ab5a6bcf115e3fd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d302e342e302d626c7565" alt="Version" data-canonical-src="https://img.shields.io/badge/version-0.4.0-blue"></a> <a href="https://en.mycoding.id/category/technology" target="_blank"><img src="https://camo.githubusercontent.com/271094523b2bf79bd9e4468ecda6f31f442a46667379af4cd3610b5a3302b4fa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f74657374732d34303725323070617373696e67253230283836253230737569746573292d627269676874677265656e" alt="Tests" data-canonical-src="https://img.shields.io/badge/tests-407%20passing%20(86%20suites)-brightgreen"></a> <a href="https://en.mycoding.id/category/technology" target="_blank"><img src="https://camo.githubusercontent.com/bddd8051b353495e79d89598b1904407a812ed5a986ed0dad6e2fadeffd6f464/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6e6f64652d25334525334432302e302e302d627269676874677265656e" alt="Node" data-canonical-src="https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen"></a> <a href="https://en.mycoding.id/category/technology" target="_blank"><img src="https://camo.githubusercontent.com/903bb0fd6553b15c0c8fde480603aa64e6a0de1cd12f50624411c216e571f59d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d6c6967687467726579" alt="License" data-canonical-src="https://img.shields.io/badge/license-MIT-lightgrey"></a></p> <p dir="auto">turbo-browser-mcp is a Playwright-based Model Context Protocol (MCP) server built to cut LLM token discarded and multi-turn latency in browser automation. It consolidates 25-33 fine-grained browser primitives into <strong>10 batched tools</strong> featuring delta DOM snapshots, single-turn React/Shadow DOM/iframe form prefill, straightforward disk document uploads (no Base64 in context), parallel tab sessions, network blocking presets, and a default human-in-the-loop Submit guard.</p> <hr> <div dir="auto"><h2 tabindex="-1" dir="auto">At-a-Glance Performance &amp; Token Scorecard</h2><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">All figures below arrive from <a href="https://en.mycoding.id/category/technology" target="_blank">benchmarks/benchmark.mjs</a> (npm run benchmark) operating headless Chromium locally alongside exact OpenAI o200k_base tokenization (tiktoken 0.14.0):</p> <table readabilitydatatable="1"> <thead> <tr> <th>Capability</th> <th>Typical Baseline</th> <th>turbo-browser-mcp</th> <th>Speed / Turn Gain</th> <th>Token Savings (o200k_base)</th> </tr> </thead> <tbody> <tr> <td><strong>Dense UI Snapshot</strong> (140-btn SaaS console)</td> <td>18,654 tok HTML / 3,568 tok complete ARIA</td> <td><strong>1,135 tok</strong> compact (28 ms)</td> <td>1 call</td> <td><strong>93.9% vs HTML</strong> (68.2% vs ARIA)</td> </tr> <tr> <td><strong>Post-Click Delta Snapshot</strong> (onlyChanged: true)</td> <td>3,582 tok complete ARIA rescan</td> <td><strong>56 tok</strong> changed lines (18 ms)</td> <td>1 call</td> <td><strong>98.4% vs ARIA</strong> (99.7% vs HTML)</td> </tr> <tr> <td><strong>10-Field Complex Form + Snapshot</strong> (smart_fill_form)</td> <td>11 turns (574 ms, 12,197 dir / 72,614 cum tok)</td> <td><strong>1 turn</strong> (82 ms, <strong>811 tok</strong>)</td> <td><strong>7x faster</strong>, 11 -&gt; 1 turns</td> <td><strong>93.4% straightforward / 98.9% cumulative</strong></td> </tr> <tr> <td><strong>48 KiB PDF Upload</strong> (49,152 bytes)</td> <td>44,728 tok inline Base64 tool arg</td> <td><strong>85 tok</strong> disk way (68 ms)</td> <td>Zero Base64 generation</td> <td><strong>99.8% saved</strong></td> </tr> <tr> <td><strong>6-Step Interactive UI Flow</strong> (batch_actions)</td> <td>6 turns (411 ms, 955 dir / 3,162 cum tok)</td> <td><strong>1 turn</strong> (357 ms, <strong>406 tok</strong>)</td> <td><strong>1.15x faster</strong>, 6 -&gt; 1 turns</td> <td><strong>57.5% straightforward / 87.2% cumulative</strong></td> </tr> <tr> <td><strong>Open 6 Tabs Concurrently</strong> (open_many)</td> <td>6 turns sequential (998 ms)</td> <td><strong>1 turn</strong> batched (420 ms)</td> <td><strong>2.38x faster</strong>, 6x small turns</td> <td>5 small immediate replays</td> </tr> <tr> <td><strong>Heavy Media Load</strong> (preset: "turbo", 304 KiB assets)</td> <td>252 ms, 9 media requests (304 KiB)</td> <td><strong>165 ms</strong>, 0 media requests (0 KiB)</td> <td><strong>1.53x faster</strong></td> <td><strong>100% media bandwidth cut</strong></td> </tr> <tr> <td><strong>Article Markdown Scraping</strong> (extract_clean_text)</td> <td>3,595 tok raw HTML (10,844 chars)</td> <td><strong>156 tok</strong> spotless Markdown (641 chars)</td> <td>Clean audience output</td> <td><strong>95.7% saved</strong></td> </tr> <tr> <td><strong>Diagnostics Triage</strong> (page_diagnostics errors-only)</td> <td>3,460 tok unfiltered (32 req / 26 console)</td> <td><strong>601 tok</strong> default errors (2 req / 6 console)</td> <td>Zero noise scrolling</td> <td><strong>82.6% saved</strong></td> </tr> <tr> <td><strong>Static MCP Tool Schema</strong> (every rotate overhead)</td> <td>3,917 tok Playwright / 6,737 tok DevTools</td> <td><strong>3,010 tok</strong> stripped (3,314 complete w/ annotations)</td> <td>10 tools vs 25 / 33</td> <td><strong>23.2% vs Playwright / 55.3% vs DevTools</strong></td> </tr> </tbody> </table> <blockquote> <p dir="auto"><strong>Note on latency vs LLM conclusion turns:</strong> Eliminating 10 round-trips on a 10-field form saves the two 7x in browser implementation (574 ms -&gt; 82 ms) and 10 distinct LLM conclusion round-trips (2-5s per rotate in delegate loops) affirmative ~71,800 replayed former tokens.</p> </blockquote> <hr> <div dir="auto"><h2 tabindex="-1" dir="auto">Why Browser Agents Stall: Side-by-Side Workflow</h2><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Standard MCP servers accusation an LLM round-trip for all snapshot, site fill, &lt;select&gt; choice, upload, and verification check. Each rotate re-sends the expanding conversation former rear into the model.</p> <div data-json='&quot;sequenceDiagram\n autonumber\n attendee Agent as LLM Agent\n attendee Std as Standard MCP (Playwright / DevTools)\n attendee Turbo as turbo-browser-mcp\n\n Note complete Agent,Std: Standard MCP (12+ LLM turns, complete ARIA tree + former replay all step)\n Agent-&gt;&gt;Std: 1. snapshot() -&gt; complete ARIA (~3,568 tok)\n iteration Repeats 10+ times throughout fields, selects, checkboxes, upload\n Agent-&gt;&gt;Std: inhabit / select_option / click\n Std--&gt;&gt;Agent: complete ARIA or confirmation re-added to history\n end\n Agent-&gt;&gt;Std: 12. upload inline or click chooser\n\n Note complete Agent,Turbo: turbo-browser-mcp (2 LLM turns total, delta &amp; inline snapshot)\n Agent-&gt;&gt;Turbo: 1. inspect_compact(mode: \&quot;forms\&quot;) -&gt; compact refs (1,135 tok)\n Agent-&gt;&gt;Turbo: 2. smart_fill_form(fields: [...10 sectors + disk PDF...], returnSnapshot: true)\n Turbo--&gt;&gt;Agent: Filled 10 sectors + guarded before Submit + inline snapshot (811 tok)\n&quot;}' data-plain='sequenceDiagram autonumber attendee Agent as LLM Agent attendee Std as Standard MCP (Playwright / DevTools) attendee Turbo as turbo-browser-mcp Note complete Agent,Std: Standard MCP (12+ LLM turns, complete ARIA tree + former replay all step) Agent-&gt;&gt;Std: 1. snapshot() -&gt; complete ARIA (~3,568 tok) iteration Repeats 10+ times throughout fields, selects, checkboxes, upload Agent-&gt;&gt;Std: inhabit / select_option / click Std--&gt;&gt;Agent: complete ARIA or confirmation re-added to history end Agent-&gt;&gt;Std: 12. upload inline or click chooser Note complete Agent,Turbo: turbo-browser-mcp (2 LLM turns total, delta &amp; inline snapshot) Agent-&gt;&gt;Turbo: 1. inspect_compact(mode: &quot;forms&quot;) -&gt; compact refs (1,135 tok) Agent-&gt;&gt;Turbo: 2. smart_fill_form(fields: [...10 sectors + disk PDF...], returnSnapshot: true) Turbo--&gt;&gt;Agent: Filled 10 sectors + guarded before Submit + inline snapshot (811 tok) ' dir="auto"> <div dir="auto"> <pre lang="mermaid" aria-label="Raw mermaid code">sequenceDiagram autonumber attendee Agent as LLM Agent attendee Std as Standard MCP (Playwright / DevTools) attendee Turbo as turbo-browser-mcp Note complete Agent,Std: Standard MCP (12+ LLM turns, complete ARIA tree + former replay all step) Agent-&gt;&gt;Std: 1. snapshot() -&gt; complete ARIA (~3,568 tok) iteration Repeats 10+ times throughout fields, selects, checkboxes, upload Agent-&gt;&gt;Std: inhabit / select_option / click Std--&gt;&gt;Agent: complete ARIA or confirmation re-added to history end Agent-&gt;&gt;Std: 12. upload inline or click chooser Note complete Agent,Turbo: turbo-browser-mcp (2 LLM turns total, delta &amp; inline snapshot) Agent-&gt;&gt;Turbo: 1. inspect_compact(mode: "forms") -&gt; compact refs (1,135 tok) Agent-&gt;&gt;Turbo: 2. smart_fill_form(fields: [...10 sectors + disk PDF...], returnSnapshot: true) Turbo--&gt;&gt;Agent: Filled 10 sectors + guarded before Submit + inline snapshot (811 tok) </pre> </div> </div> <span role="presentation"> <span data-view-component="true"> <svg width="16" height="16" viewbox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true"> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke"></path> </svg> <span>Loading</span> </span> </span> <hr> <div dir="auto"><h2 tabindex="-1" dir="auto">What turbo-browser-mcp Supports</h2><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div dir="auto"><h3 tabindex="-1" dir="auto">1. Connection &amp; Session Isolation</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>4 association modes (--mode auto|cdp|persistent|launch):</strong> <ul dir="auto"> <li>auto (default): probes --cdp http://127.0.0.1:9222 archetypal so agents can reuse an existing signed-in browser session, afterward falls rear to launching Chromium.</li> <li>cdp: nexus immediately to a operating Chromium/Chrome/Edge distant debugging port.</li> <li>persistent: initiate alongside a reusable --user-data-dir overview throughout runs.</li> <li>launch: commencement a spotless browser meeting (--headless by default, or --headed).</li> </ul> </li> <li><strong>Auto binary finding (src/playwright-loader.mjs):</strong> checks playwright-core cache revisions throughout Windows, macOS, and Linux, scheme installs of Google Chrome, Microsoft Edge, Brave, and Chromium, or an definitive --executable &lt;path&gt;.</li> <li><strong>Per-tab isolation (tabs_batch):</strong> open tabs inner named isolatedContext sandboxes alongside distinct cookies and storage, batch-open up to 10 concurrent URLs (open_many), activate, reload, go back/forward, resize viewport, and emulate colorScheme, media, reducedMotion, contrast, forcedColors, or tradition userAgent.</li> </ul> <div dir="auto"><h3 tabindex="-1" dir="auto">2. DOM, Iframe &amp; Shadow DOM Inspection (inspect_compact)</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>Snapshot modes:</strong> interactive, forms, article, and all.</li> <li><strong>Cross-boundary traversal:</strong> flattens chief example DOM, kid iframes (includeFrames, frameIdx), and open Shadow DOM. Injects an init manuscript hooking Element.prototype.attachShadow (WeakMap + WeakRef/FinalizationRegistry + window.__tbmGetShadowRoot) to keep post-init closed Shadow roots inspectable and guarded, traverses &lt;slot&gt; assignedNodes({ flatten: true }), and supports Form-Associated Custom Elements.</li> <li><strong>Token controls:</strong> onlyChanged: true emits lone elements added or changed since the previous snapshot; query filters by regex or substring; boxes: true adds [box=x,y,w,h] lone whenever needed; maxChars caps payload size; savePath writes complete output to disk.</li> </ul> <div dir="auto"><h3 tabindex="-1" dir="auto">3. Single-Turn Smart Form Engine (smart_fill_form)</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Prefills an complete form in one MCP call during flushing microtasks and macrotasks between controlled inputs:</p> <ul dir="auto"> <li><strong>Standard &amp; example inputs:</strong> text, email, password, number, date, textarea, &lt;input type="range"&gt;, checkboxes, broadcast groups (check, not, overwrite). Triggers React-controlled province updates via native asset setters and synthetic events.</li> <li><strong>Selects &amp; tradition widgets:</strong> &lt;select&gt; and &lt;select multiple&gt; (option / values), ARIA comboboxes, ARIA switches, contenteditable affluent editors, and Gmail create dialogs (gmail: { to, subject, build }).</li> <li><strong>Frame &amp; wildcard targeting:</strong> mark particular iframes via frameIdx, or set all: true to populate matching controls throughout frames.</li> <li><strong>Direct disk uploads:</strong> continue document or records paths immediately to Playwright setInputFiles without loading binary records or Base64 strings into LLM context.</li> <li><strong>Atomic verification:</strong> continue returnSnapshot: true to inspect the updated form province in the identical tool response.</li> </ul> <div dir="auto"><h3 tabindex="-1" dir="auto">4. 16 Interactive Actions &amp; Multi-Step Chaining (act_fast, batch_actions)</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>act_fast actions:</strong> click, dblclick, hover, focus, clear, fill, category (slowly, delayMs, submit), select, check, uncheck, drag, autumn (file, files, or tradition MIME dropData), media (key + modifiers: Alt, Control, ControlOrMeta, Meta, Shift), scroll (dx, dy), delay (ms, state, loadState, text, textGone, url), and upload.</li> <li><strong>Targeting options:</strong> compact [eN] ref, CSS selector, apparent text, label, or viewport (x, y) coordinates, alongside clasp (left, right, middle) and frameIdx.</li> <li><strong>batch_actions:</strong> runs an ordered catalog of DOM actions and nested smart_fill_form steps in one MCP call, stopping safely if blocked by the Submit defender or optionally continuing on stage errors (continueOnError).</li> </ul> <div dir="auto"><h3 tabindex="-1" dir="auto">5. Clean Extraction, Evaluation &amp; Media Capture (extract_clean_text, evaluate_js, capture_page)</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>extract_clean_text:</strong> extracts readable plain content or compact Markdown (format: "text" | "markdown") from main/article containers and iframes, stripped of manuscript and manner noise.</li> <li><strong>evaluate_js:</strong> runs JS expressions or (el, arg) component functions in any example (frameIdx) alongside JSON-serialized results and optional savePath export.</li> <li><strong>capture_page:</strong> full-page or element-scoped screenshots (png or jpeg alongside quality, css or equipment scale, optional returnImage) and PDF generation saved to a confined savePath.</li> </ul> <div dir="auto"><h3 tabindex="-1" dir="auto">6. Network Blocking, Storage State &amp; Diagnostics (network_session, page_diagnostics)</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>network_session presets:</strong> turbo, no-images, no-media, and spotless (unblock all), alongside tradition blockResources and blockUrls patterns.</li> <li><strong>Session &amp; retention management:</strong> read/write/clear browser cookies, localStorage/sessionStorage, and export or reload complete Playwright storageState JSON records (saveStorageStatePath, loadStorageStatePath).</li> <li><strong>page_diagnostics:</strong> defaults to errors-only (level: "errors", statusFilter: "errors") to exterior failures cleanly without flooding context, during supporting all, includeStatic, urlFilter, profound request/response inspection (reqId + part), completed downloads, and dialog auto-handling (dialogPolicy: accept/dismiss).</li> </ul> <hr> <div dir="auto"><h2 tabindex="-1" dir="auto">Reproducible Benchmarks (npm run benchmark)</h2><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Run the benchmark suite yourself alongside Chromium and Playwright installed:</p> <p dir="auto"><strong>Environment &amp; methodology:</strong> Headless Chromium via playwright-core, counting exact OpenAI o200k_base tokens via Python tiktoken (approx-bpe fallback if tiktoken is unavailable). Cumulative workflow tokens example norm chat-history replay throughout $N$ sequential turns: $\sum_{i=1}^{N} (N - i + 1) \cdot T_i$, affirmative a one-shot baseline anywhere the archetypal rotate captures environment before acting.</p> <div dir="auto"><h3 tabindex="-1" dir="auto">1. Snapshot &amp; Reader Extraction (Chars &amp; Exact o200k_base Tokens)</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <table readabilitydatatable="1"> <thead> <tr> <th>Scenario</th> <th>Raw HTML</th> <th>Full Playwright ARIA</th> <th>turbo-browser-mcp Output</th> <th>Saved vs ARIA</th> <th>Saved vs HTML</th> </tr> </thead> <tbody> <tr> <td><strong>140-Button SaaS Console</strong> (inspect_compact)</td> <td>61,010 chars (18,654 tok)</td> <td>12,771 chars (3,568 tok)</td> <td><strong>3,968 chars (1,135 tok)</strong></td> <td><strong>68.2%</strong></td> <td><strong>93.9%</strong></td> </tr> <tr> <td><strong>Post-Click Delta</strong> (onlyChanged: true)</td> <td>61,010 chars (18,654 tok)</td> <td>12,825 chars (3,582 tok)</td> <td><strong>168 chars (56 tok)</strong></td> <td><strong>98.4%</strong></td> <td><strong>99.7%</strong></td> </tr> <tr> <td><strong>Article Markdown Extraction</strong> (extract_clean_text)</td> <td>10,844 chars (3,595 tok)</td> <td>n/a</td> <td><strong>641 chars (156 tok)</strong></td> <td>n/a</td> <td><strong>95.7%</strong></td> </tr> <tr> <td><strong>Diagnostics Filter</strong> (32 reqs, 26 console logs)</td> <td>9,651 chars (3,460 tok, all)</td> <td>n/a</td> <td><strong>1,761 chars (601 tok, errors)</strong></td> <td>n/a</td> <td><strong>82.6%</strong></td> </tr> </tbody> </table> <div dir="auto"><h3 tabindex="-1" dir="auto">2. Multi-Turn Forms, Workflows, Uploads &amp; Network Speed</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <table readabilitydatatable="1"> <thead> <tr> <th>Scenario</th> <th>Step-by-Step Baseline</th> <th>turbo-browser-mcp</th> <th>Execution Speedup</th> <th>Token Savings</th> </tr> </thead> <tbody> <tr> <td><strong>10-Field Complex Form + Verify</strong> (smart_fill_form)</td> <td>11 turns, 574 ms, 12,197 straightforward / 72,614 cum tok</td> <td><strong>1 turn</strong>, <strong>82 ms</strong>, <strong>811 tok</strong> (filled=10)</td> <td><strong>7x faster</strong></td> <td><strong>93.4% dir / 98.9% cum</strong></td> </tr> <tr> <td><strong>48 KiB PDF Upload</strong> (49,152 bytes via file)</td> <td>65,679 chars (44,728 tok) Base64 payload</td> <td><strong>263 chars (85 tok)</strong> disk way (68 ms)</td> <td>Zero LLM Base64 encode</td> <td><strong>99.8%</strong></td> </tr> <tr> <td><strong>6-Step UI Flow</strong> (batch_actions)</td> <td>6 turns, 411 ms, 955 dir / 3,162 cum tok</td> <td><strong>1 turn</strong>, <strong>357 ms</strong>, <strong>406 tok</strong></td> <td><strong>1.15x faster</strong></td> <td><strong>57.5% dir / 87.2% cum</strong></td> </tr> <tr> <td><strong>Open 6 Tabs</strong> (tabs_batch open_many, 60 ms TTFB)</td> <td>6 turns sequential (998 ms)</td> <td><strong>1 turn</strong> batched (420 ms)</td> <td><strong>2.38x faster</strong> (6 -&gt; 1 turns)</td> <td>Eliminates 5 turns</td> </tr> <tr> <td><strong>Heavy Media Load</strong> (8x32 KiB imgs + 48 KiB font)</td> <td>252 ms, 9 media hits (304 KiB)</td> <td><strong>165 ms</strong>, 0 media hits (0 KiB)</td> <td><strong>1.53x faster</strong></td> <td><strong>100% media saved</strong></td> </tr> </tbody> </table> <div dir="auto"><h3 tabindex="-1" dir="auto">3. Static MCP Tool Definition Footprint</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Measured against installed MCP JSON schemas on disk (compact indicator schemas without annotations):</p> <table readabilitydatatable="1"> <thead> <tr> <th>MCP Server</th> <th>Tool Count</th> <th>Compact Schema Chars</th> <th>Exact o200k_base Tokens</th> <th>Savings alongside turbo-browser-mcp</th> </tr> </thead> <tbody> <tr> <td>turbo-browser-mcp</td> <td><strong>10</strong> (14,186 complete / 12,796 compact)</td> <td><strong>12,796</strong></td> <td><strong>3,010</strong> (3,314 complete w/ annotations)</td> <td>Baseline (10 tools)</td> </tr> <tr> <td>@playwright/mcp</td> <td>25</td> <td>18,457</td> <td>3,917</td> <td><strong>23.2% small fixed tokens</strong></td> </tr> <tr> <td>chrome-devtools-mcp</td> <td>33</td> <td>30,252</td> <td>6,737</td> <td><strong>55.3% small fixed tokens</strong></td> </tr> </tbody> </table> <hr> <div dir="auto"><h2 tabindex="-1" dir="auto">Comparison vs @playwright/mcp and chrome-devtools-mcp</h2><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <table readabilitydatatable="1"> <thead> <tr> <th>Feature</th> <th>turbo-browser-mcp</th> <th>@playwright/mcp</th> <th>chrome-devtools-mcp</th> </tr> </thead> <tbody> <tr> <td><strong>Tool Surface Size</strong></td> <td><strong>10 batched tools</strong></td> <td>25 granular tools</td> <td>33 granular tools</td> </tr> <tr> <td><strong>Delta Snapshots (onlyChanged)</strong></td> <td>Built-in</td> <td>Full tree all snapshot</td> <td>Full tree all snapshot</td> </tr> <tr> <td><strong>Closed Shadow DOM Hook</strong></td> <td>Post-init attachShadow hook + &lt;slot&gt; flattening</td> <td>Open Shadow DOM</td> <td>CDP / norm DOM access</td> </tr> <tr> <td><strong>Single-Call Smart Form + Contenteditable</strong></td> <td>Yes (React, Shadow DOM, iframe, Gmail, ranges)</td> <td>Multi-turn inhabit + distinct choose calls</td> <td>Basic fill_form</td> </tr> <tr> <td><strong>Disk File Upload (Zero Base64)</strong></td> <td>Native file/files way in smart_fill_form &amp; act_fast</td> <td>Dedicated browser_file_upload turn</td> <td>Dedicated upload_file turn</td> </tr> <tr> <td><strong>Default Human-in-the-Loop Submit Guard</strong></td> <td>Yes (allowSubmit=false, form/iframe/Enter hooks)</td> <td>No</td> <td>No</td> </tr> <tr> <td><strong>Parallel open_many + isolatedContext</strong></td> <td>Single batched call</td> <td>Separate sequential tab calls</td> <td>Separate leaf calls</td> </tr> <tr> <td><strong>One-Call turbo Media Blocker</strong></td> <td>Built-in (turbo, no-images, no-media)</td> <td>Manual JS / routing</td> <td>Network emulation</td> </tr> <tr> <td><strong>Performance / Heap Profiling</strong></td> <td>Not included</td> <td>Not included</td> <td><strong>Trace, Lighthouse, Heap Snapshot</strong></td> </tr> </tbody> </table> <blockquote> <p dir="auto"><strong>When to keep Chrome DevTools MCP alongside turbo-browser-mcp:</strong> chrome-devtools-mcp provides Lighthouse audits, achievement trace analysis, CSS computed manner panels, and V8 heap snapshots. turbo-browser-mcp focuses on accelerated multi-step UI automation, forms, and abrasion alongside minimal token overhead.</p> </blockquote> <table readabilitydatatable="1"> <thead> <tr> <th>Capability</th> <th>turbo-browser-mcp</th> <th>@playwright/mcp</th> <th>chrome-devtools-mcp</th> </tr> </thead> <tbody> <tr> <td>Multi-tab open, list, switch, resize, emulate</td> <td>tabs_batch</td> <td>browser_tabs, browser_navigate, browser_resize, ...</td> <td>new_page, list_pages, select_page, resize_page, ...</td> </tr> <tr> <td>DOM / accessibility inspection</td> <td>inspect_compact</td> <td>browser_snapshot</td> <td>take_snapshot</td> </tr> <tr> <td>Multi-field form &amp; upload</td> <td>smart_fill_form</td> <td>browser_fill_form + browser_select_option + browser_file_upload</td> <td>fill_form + upload_file</td> </tr> <tr> <td>Click, type, drag, press, scroll, wait</td> <td>act_fast</td> <td>browser_click, browser_type, browser_drag, ...</td> <td>click, type_text, drag, press_key, wait_for</td> </tr> <tr> <td>Multi-step sequential macro</td> <td>batch_actions</td> <td>browser_run_code_unsafe or N tool calls</td> <td>N distinct tool calls</td> </tr> <tr> <td>Clean part extraction</td> <td>extract_clean_text</td> <td>browser_evaluate tradition JS</td> <td>evaluate_script tradition JS</td> </tr> <tr> <td>Frame/element JS evaluation</td> <td>evaluate_js</td> <td>browser_evaluate</td> <td>evaluate_script</td> </tr> <tr> <td>Errors, network &amp; console triage</td> <td>page_diagnostics</td> <td>browser_console_messages, browser_network_requests</td> <td>list_console_messages, list_network_requests, ...</td> </tr> <tr> <td>Screenshots &amp; PDF export</td> <td>capture_page</td> <td>browser_take_screenshot</td> <td>take_screenshot</td> </tr> <tr> <td>Blocking presets, cookies &amp; storage</td> <td>network_session</td> <td>browser_evaluate + environment config</td> <td>Partial via evaluate_script / emulate</td> </tr> </tbody> </table> <hr> <div dir="auto"><h2 tabindex="-1" dir="auto">Safety: Human-in-the-Loop Submit Guard &amp; Path Confinement</h2><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ol dir="auto"> <li><strong>Human-in-the-loop Submit Guard (allowSubmit=false by default):</strong> <ul dir="auto"> <li>smart_fill_form (stopBeforeSubmit: true), act_fast, and batch_actions inspect matching elements, W3C AccName labels (isSafeSubmitter), implied HTML form Enter submissions, key chords (Shift+Enter, Enter+Shift), HTMLFormElement.prototype.submit/requestSubmit, and same-origin iframe contentWindow/contentDocument proxies.</li> <li>Final actions resembling Submit, Publish, Send, Post, Apply, Confirm, or fee triggers are blocked unless allowSubmit: true is explicitly passed or --allow-submit is enabled at startup.</li> <li>Trade-off: pre-existing closed Shadow roots on already-open CDP tabs (attached before the init manuscript ran) or strict cross-origin sandboxed frames autumn rear to Playwright example handles, coordinate actions, and keyboard input.</li> </ul> </li> <li><strong>Workspace Path Confinement (TURBO_BROWSER_SAVE_ROOT):</strong> <ul dir="auto"> <li>File outputs (savePath, saveStorageStatePath) and province inputs (loadStorageStatePath) are strictly confined to the current operating directory or TURBO_BROWSER_SAVE_ROOT.</li> <li>Lexical checks, lstatSync/readlinkSync symlink verification, and realpathSync validation obstacle .. traversal, UNC network paths, dangling symlinks, cyclic symlinks, and Windows junctions before study or writing.</li> </ul> </li> </ol> <hr> <table readabilitydatatable="1"> <thead> <tr> <th>Tool</th> <th>Purpose</th> <th>Key Parameters</th> </tr> </thead> <tbody> <tr> <td>tabs_batch</td> <td>Ordered tab &amp; browser lifecycle</td> <td>operations[] (list, open, open_many, navigate, activate, resize, emulate, reload, back, forward, close, close_browser), isolatedContext, concurrency (1-10)</td> </tr> <tr> <td>inspect_compact</td> <td>Token-capped element/form/article snapshot</td> <td>mode (interactive, forms, article, all), onlyChanged, query, boxes, maxChars, includeFrames, savePath</td> </tr> <tr> <td>smart_fill_form</td> <td>Batch form, publishing company &amp; disk document prefill</td> <td>fields[] (ref, selector, value, option, values, check, not, keys, file, files, frameIdx, all), gmail, overwrite, stopBeforeSubmit, returnSnapshot</td> </tr> <tr> <td>act_fast</td> <td>Single targeted leaf action</td> <td>action (16 actions), ref/selector/text/label/(x, y), modifiers, dropData, allowSubmit, returnSnapshot</td> </tr> <tr> <td>batch_actions</td> <td>Ordered sequence of actions + form steps</td> <td>steps[], continueOnError, allowSubmit, returnSnapshot, snapshotMaxChars</td> </tr> <tr> <td>extract_clean_text</td> <td>Clean content or compact Markdown reader</td> <td>format (text, markdown), selector, includeFrames, maxChars, savePath</td> </tr> <tr> <td>evaluate_js</td> <td>Scoped JS expression or (el, arg) call</td> <td>expression, arg, frameIdx, ref/selector/text, savePath</td> </tr> <tr> <td>page_diagnostics</td> <td>Console, network, downloads &amp; dialogs</td> <td>level (errors, all), statusFilter (errors, all), includeStatic, urlFilter, reqId, part, dialogPolicy, clear, savePath</td> </tr> <tr> <td>capture_page</td> <td>PNG/JPEG screenshots &amp; PDF export</td> <td>mode (screenshot, pdf), type, quality, fullPage, measure (css, device), ref/selector/text, returnImage, savePath</td> </tr> <tr> <td>network_session</td> <td>Resource blockers, cookies &amp; storage</td> <td>preset (turbo, no-images, no-media, clean), blockResources, blockUrls, cookieAction, storageAction, loadStorageStatePath, saveStorageStatePath</td> </tr> </tbody> </table> <div dir="auto"><h4 tabindex="-1" dir="auto">1. Fill a 10-field form alongside a disk PDF &amp; inspect outcome in 1 turn</h4><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div dir="auto" data-snippet-clipboard-copy-content=' &quot;#full_name&quot;, &quot;value&quot;: &quot;Alex Nguyen&quot; }, { &quot;selector&quot;: &quot;#email&quot;, &quot;value&quot;: &quot;alex@example.com&quot; }, { &quot;selector&quot;: &quot;#country&quot;, &quot;option&quot;: &quot;United States&quot; }, { &quot;selector&quot;: &quot;#skills&quot;, &quot;values&quot;: [&quot;TypeScript&quot;, &quot;Playwright&quot;] }, { &quot;selector&quot;: &quot;#agree_terms&quot;, &quot;check&quot;: true }, { &quot;selector&quot;: &quot;#resume_pdf&quot;, &quot;file&quot;: &quot;./assets/resume.pdf&quot; } ], &quot;stopBeforeSubmit&quot;: true, &quot;returnSnapshot&quot;: true } }'><pre>{ <span>"name"</span>: <span><span>"</span>smart_fill_form<span>"</span></span>, <span>"arguments"</span>: { <span>"fields"</span>: [ { <span>"selector"</span>: <span><span>"</span>#full_name<span>"</span></span>, <span>"value"</span>: <span><span>"</span>Alex Nguyen<span>"</span></span> }, { <span>"selector"</span>: <span><span>"</span>#email<span>"</span></span>, <span>"value"</span>: <span><span>"</span>alex@example.com<span>"</span></span> }, { <span>"selector"</span>: <span><span>"</span>#country<span>"</span></span>, <span>"option"</span>: <span><span>"</span>United States<span>"</span></span> }, { <span>"selector"</span>: <span><span>"</span>#skills<span>"</span></span>, <span>"values"</span>: [<span><span>"</span>TypeScript<span>"</span></span>, <span><span>"</span>Playwright<span>"</span></span>] }, { <span>"selector"</span>: <span><span>"</span>#agree_terms<span>"</span></span>, <span>"check"</span>: <span>true</span> }, { <span>"selector"</span>: <span><span>"</span>#resume_pdf<span>"</span></span>, <span>"file"</span>: <span><span>"</span>./assets/resume.pdf<span>"</span></span> } ], <span>"stopBeforeSubmit"</span>: <span>true</span>, <span>"returnSnapshot"</span>: <span>true</span> } }</pre></div> <div dir="auto"><h4 tabindex="-1" dir="auto">2. Read lone changed controls following beginning a modal (onlyChanged)</h4><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div dir="auto" data-snippet-clipboard-copy-content=' 3000 } }'><pre>{ <span>"name"</span>: <span><span>"</span>inspect_compact<span>"</span></span>, <span>"arguments"</span>: { <span>"mode"</span>: <span><span>"</span>interactive<span>"</span></span>, <span>"onlyChanged"</span>: <span>true</span>, <span>"maxChars"</span>: <span>3000</span> } }</pre></div> <div dir="auto"><h4 tabindex="-1" dir="auto">3. Open tabs concurrently in secluded contexts &amp; speed up loading alongside turbo</h4><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div dir="auto" data-snippet-clipboard-copy-content='//example.com/app&quot;, &quot;isolatedContext&quot;: &quot;acct-a&quot; }, { &quot;action&quot;: &quot;open_many&quot;, &quot;urls&quot;: [&quot;https://example.com/docs&quot;, &quot;https://example.com/pricing&quot;], &quot;concurrency&quot;: 4 } ] } }'><pre>{ <span>"name"</span>: <span><span>"</span>tabs_batch<span>"</span></span>, <span>"arguments"</span>: { <span>"operations"</span>: [ { <span>"action"</span>: <span><span>"</span>open<span>"</span></span>, <span>"url"</span>: <span><span>"</span>https://example.com/app<span>"</span></span>, <span>"isolatedContext"</span>: <span><span>"</span>acct-a<span>"</span></span> }, { <span>"action"</span>: <span><span>"</span>open_many<span>"</span></span>, <span>"urls"</span>: [<span><span>"</span>https://example.com/docs<span>"</span></span>, <span><span>"</span>https://example.com/pricing<span>"</span></span>], <span>"concurrency"</span>: <span>4</span> } ] } }</pre></div> <hr> <div dir="auto"><h3 tabindex="-1" dir="auto">Install &amp; Check Environment</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div dir="auto" data-snippet-clipboard-copy-content="//github.com/Tthanh2k6/turbo-browser-mcp.git cd turbo-browser-mcp npm install npm run doctor"><pre>git copy https://github.com/Tthanh2k6/turbo-browser-mcp.git <span>cd</span> turbo-browser-mcp npm install npm run doctor</pre></div> <p dir="auto">If you need Playwright's bundled Chromium (or have no scheme Chrome/Edge/Brave installed):</p> <div dir="auto" data-snippet-clipboard-copy-content="npx playwright-core instal chromium"><pre>npx playwright-core instal chromium</pre></div> <div dir="auto"><h3 tabindex="-1" dir="auto">MCP Client Config (Claude Code, Cursor, Antigravity, Codex)</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Using local clone:</p> <div dir="auto" data-snippet-clipboard-copy-content=' [&quot;/absolute/path/to/turbo-browser-mcp/src/index.mjs&quot;], &quot;env&quot;: { &quot;TURBO_BROWSER_SAVE_ROOT&quot;: &quot;/absolute/path/to/allowed/workspace&quot; } } } }'><pre>{ <span>"mcpServers"</span>: { <span>"turbo-browser"</span>: { <span>"command"</span>: <span><span>"</span>node<span>"</span></span>, <span>"args"</span>: [<span><span>"</span>/absolute/path/to/turbo-browser-mcp/src/index.mjs<span>"</span></span>], <span>"env"</span>: { <span>"TURBO_BROWSER_SAVE_ROOT"</span>: <span><span>"</span>/absolute/path/to/allowed/workspace<span>"</span></span> } } } }</pre></div> <p dir="auto">Using npx / binary entrypoint:</p> <div dir="auto" data-snippet-clipboard-copy-content=' [&quot;-y&quot;, &quot;turbo-browser-mcp&quot;] } } }'><pre>{ <span>"mcpServers"</span>: { <span>"turbo-browser"</span>: { <span>"command"</span>: <span><span>"</span>npx<span>"</span></span>, <span>"args"</span>: [<span><span>"</span>-y<span>"</span></span>, <span><span>"</span>turbo-browser-mcp<span>"</span></span>] } } }</pre></div> <hr> <div dir="auto"><h2 tabindex="-1" dir="auto">CLI Options &amp; Environment Variables</h2><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <table readabilitydatatable="1"> <thead> <tr> <th>CLI Flag</th> <th>Environment Variable</th> <th>Default</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>--mode &lt;auto|cdp|persistent|launch&gt;</td> <td>TURBO_BROWSER_MODE</td> <td>auto</td> <td>Connection scheme (cdp archetypal afterward initiate in auto)</td> </tr> <tr> <td>--cdp &lt;url&gt;</td> <td>TURBO_BROWSER_CDP_URL</td> <td>http://127.0.0.1:9222</td> <td>Chrome DevTools Protocol HTTP endpoint</td> </tr> <tr> <td>--user-data-dir &lt;path&gt;</td> <td>TURBO_BROWSER_USER_DATA_DIR</td> <td>""</td> <td>Persistent overview directory path</td> </tr> <tr> <td>--executable &lt;path&gt;</td> <td>-</td> <td>auto-detected</td> <td>Custom Chromium, Chrome, Edge, or Brave executable</td> </tr> <tr> <td>--timeout &lt;ms&gt;</td> <td>TURBO_BROWSER_TIMEOUT_MS</td> <td>15000</td> <td>Default Playwright action/navigation timeout in ms</td> </tr> <tr> <td>--headless / --headed</td> <td>TURBO_BROWSER_HEADLESS</td> <td>true (headless)</td> <td>Run headless or apparent browser opening ("false" for headed)</td> </tr> <tr> <td>--allow-submit</td> <td>-</td> <td>false</td> <td>Disable default Submit/Publish confirmation guard</td> </tr> <tr> <td>--doctor</td> <td>-</td> <td>-</td> <td>Print Node, Playwright, Chromium, and CDP diagnostics as JSON</td> </tr> <tr> <td>--bridge</td> <td>TURBO_BROWSER_BRIDGE_PORT</td> <td>9224</td> <td>Start/verify the persistent CDP Keep-Alive Bridge daemon for Chrome 144+ DevToolsActivePort (approve once, reconnect unlimited times AFK)</td> </tr> <tr> <td>--launch-chrome</td> <td>-</td> <td>~/.turbo-browser-mcp/chrome-profile</td> <td>Launch Chrome alongside a dedicated overview &amp; --remote-debugging-port=9222 (0 endorsement prompts ever)</td> </tr> <tr> <td>--version / -v</td> <td>-</td> <td>-</td> <td>Print server type (0.4.0)</td> </tr> <tr> <td>--help / -h</td> <td>-</td> <td>-</td> <td>Print CLI use summary</td> </tr> <tr> <td>-</td> <td>TURBO_BROWSER_SAVE_ROOT</td> <td>process.cwd()</td> <td>Root directory confining savePath and storageState files</td> </tr> <tr> <td>-</td> <td>PLAYWRIGHT_CORE_PATH</td> <td>auto-resolved</td> <td>Explicit way to playwright-core/index.mjs</td> </tr> </tbody> </table> <div dir="auto"><h3 tabindex="-1" dir="auto">Unattended Overnight / AFK Automation (Eliminating Chrome 144+ Approval Prompts)</h3><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">In Chrome 136+/144+, enabling chrome://inspect/#remote-debugging on the default User Data directory exposes a WebSocket in DevToolsActivePort that displays an <strong>"Allow distant debugging?"</strong> immediate whenever a new WebSocket client connects. turbo-browser-mcp provides two built-in solutions so overnight AFK multi-agent runs never suspend on a prompt:</p> <ol dir="auto"> <li><strong>Automatic CDP Keep-Alive Bridge Daemon (npm run extend / --bridge, enabled automatically on DevToolsActivePort)</strong>: <ul dir="auto"> <li>Spawns a detached backdrop multiplexer (src/cdp-bridge.mjs on http://127.0.0.1:9224) that holds <strong>one persistent upstream WebSocket</strong> to Chrome open indefinitely and intercepts Browser.close so downstream scripts never terminate your browser.</li> <li>You click <strong>Allow</strong> formerly whenever starting your session; afterwards, any figure of MCP servers, CLI scripts, or subagents can nexus and disconnect all night alongside <strong>0 additional prompts</strong>.</li> </ul> </li> <li><strong>Zero-Prompt Dedicated Profile Launcher (npm run launch-chrome / --launch-chrome)</strong>: <ul dir="auto"> <li>Launches Chrome alongside --remote-debugging-port=9222 and a dedicated --user-data-dir (~/.turbo-browser-mcp/chrome-profile), anywhere Chrome exposes norm HTTP/WS CDP alongside <strong>0 confirmation dialogs equal on the extremely archetypal connection</strong>.</li> </ul> </li> </ol> <hr> <div dir="auto" data-snippet-clipboard-copy-content="npm test # 407 passing tests throughout 86 suites (26 test records under test/*.test.mjs) npm run doctor # Environment inspect for Node, Playwright, Chromium, and CDP npm run extend # Start/verify persistent CDP Keep-Alive Bridge daemon npm run benchmark # Local Chromium speed &amp; exact o200k_base token benchmark"><pre>npm <span>test</span> <span><span>#</span> 407 passing tests throughout 86 suites (26 test records under test/*.test.mjs)</span> npm run doctor <span><span>#</span> Environment inspect for Node, Playwright, Chromium, and CDP</span> npm run extend <span><span>#</span> Start/verify persistent CDP Keep-Alive Bridge daemon</span> npm run benchmark <span><span>#</span> Local Chromium speed &amp; exact o200k_base token benchmark</span></pre></div> <p dir="auto">Tested automatically on GitHub Actions (ubuntu-latest) throughout <strong>Node 20</strong> and <strong>Node 22</strong>.</p> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank">MIT</a></p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/show-hn-turbo-browser-mcp-batch-forms-dom-deltas-and-submit-guards-for-mcp-77146</guid> <pubDate>Sun, 15 Nov 2026 05:09:11 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[Osint Case Studies]]></title> <description><![CDATA[Osint Case Studies. Comments]]></description> <media:thumbnail url="https://cdn.osintsearch.org/blog/osint-osint-case-studies-2026-09-23-b37518eb5418.webp"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/osint-case-studies-77147</link> <content:encoded><![CDATA[<p>These OSINT case studies commencement anywhere the investigators finished. Every email location and pseudonym in them was archetypal printed by a court filing, a US Treasury sanctions admission or named investigative reporting, concerning a individual who has been charged, convicted or sanctioned for cybercrime. In September 2026 we ran those identifiers through the OSINTsearch email lookup and username search, afterward wrote up what came back. This leaf indexes the series: what all article covers, the method it teaches, and the lessons that clasp throughout cases.</p><h2 id="what-these-osint-case-studies-are">What these OSINT case studies are</h2><p>Each article takes identifiers that are already community and asks two questions. How far does this location or pseudonym journey on live platforms today? And what does that instruct concerning inquiry method? Six posts prosecute one case or group, from Scattered Spider to TeamPCP. Six are guides that diagram on multiple cases to instruct one technique. Together they activity as OSINT inquiry examples alongside all input shown.</p><p>Search results are existence and overview data layered on the record. A display name or location is any the document holder typed, and none of it replaces the record.</p><h2 id="the-method-in-plain-language">The method in plain language</h2><ol><li><strong>Start from a document that prints the identifier.</strong> An indictment, complaint, affidavit, sentencing memo, OFAC admission or named news report. Addresses that dispersed online for well-known defendants but appear in no chief origin are not searched.</li><li><strong>Copy it letter by letter.</strong> Krebs printed <a href="https://en.mycoding.id/category/technology" target="_blank" data-cfemail="afc1cad7dadcd5cadbce9e9c9c98efc8c2cec6c381ccc0c2">[email&nbsp;protected]</a> in 2018 and <a href="https://en.mycoding.id/category/technology" target="_blank" data-cfemail="f698938e83958c938297c7c5c5c1b6919b979f9ad895999b">[email&nbsp;protected]</a> in 2019 for the identical registration. One letter changes the result.</li><li><strong>Run all email through the <a href="https://en.mycoding.id/category/technology" target="_blank">email lookup</a>.</strong> It checks concerning 175 platforms and reports registrations found, affirmative the overview anywhere a phase exposes one: a GitHub handle, display name and innovation date, for example.</li><li><strong>Run all pseudonym through the <a href="https://en.mycoding.id/category/technology" target="_blank">username search</a>.</strong> It checks concerning 760 platforms. Any grip the email flank returned gets the identical treatment.</li><li><strong>Put all date on the case timeline.</strong> Created before the pseudonym existed, during it was in use, or following the name went public.</li><li><strong>Grade all outcome against the record, and log contradictions next to matches.</strong></li></ol><h2 id="the-case-studies-and-guides">The case studies and guides</h2><p>Khoroshev, Thomson, Coelho and Rudometov are charged, not convicted, and are presumed innocent, as is all another individual current who has not been convicted.</p><h2 id="six-lessons-that-hold-across-cases">Six lessons that clasp throughout cases</h2><p>Every example below comes from a article in the table.</p><h3 id="s-1-the-everyday-mailbox-is-the-one-that-talks">1. The mundane mailbox is the one that talks</h3><p>Persona addresses rarely identified anyone. The <a href="https://en.mycoding.id/category/technology" target="_blank" rel="noopener noreferrer nofollow" target="_blank">Fitzpatrick affidavit</a> describes a Riseup location used to enroll on RaidForums; an email lookup established no registrations for it, accordant alongside that role, during the individual Gmail that Google records tie to him returned 11 registrations. In the TeamPCP case, the lookup established no registrations for the location the document ties to the BreachForums "Express" account, accordant alongside the forum-only use the document describes, during a Gmail <a href="https://en.mycoding.id/category/technology" target="_blank" rel="noopener noreferrer nofollow" target="_blank">Krebs</a> tied to a Microsoft document in Thomson's name returned 24 results. Persona addresses were traced alternatively through what they touched, as the <a href="https://en.mycoding.id/category/technology" target="_blank">burner email post</a> shows.</p><h3 id="s-2-a-coined-handle-is-a-fingerprint-a-dictionary-word-is-camo">2. A coined grip is a fingerprint; a dictionary term is camouflage</h3><p>volhvb returned 11 exact matches and no near misses. joeleoli returned 33 results, all exact matches. deadcatx3 returned 21 exact-match results, including the HackerOne overview Krebs reported. Common strings behave differently: Express, the BreachForums name Krebs ties to the group, returned 316 exact-match results and the TrickBot pseudonym mango 439. A hit on a average term is a <a href="https://en.mycoding.id/category/technology" target="_blank">starting point</a>, never an answer.</p><h3 id="s-3-an-email-anchor-beats-a-handle-match">3. An email anchor strikes a grip match</h3><p>nerowolfe, the name of a fictional detective, returned 113 exact matches. Only one of them, the GitHub document reached through <a href="https://en.mycoding.id/category/technology" target="_blank" data-cfemail="f1c29ab189909a9481df8384">[email&nbsp;protected]</a>, is anchored to the community record, and it carries the NeroWolfe persona <a href="https://en.mycoding.id/category/technology" target="_blank" rel="noopener noreferrer nofollow" target="_blank">Krebs tied to Khoroshev</a>. The identical form holds for Grubbs, whose published Gmail resolves to a GitHub document displaying "Colton Grubbs", and for the OFAC location on Maksim Rudenskiy's entry, which resolves to a GitHub document displaying "Max Rudensky".</p><h3 id="s-4-dates-sort-owners-from-squatters">4. Dates kind owners from squatters</h3><p>A innovation date is the one overview site the owner cannot type. On the lockbitsupp alias, a Steam document held by an unrelated gamer dates from 2004, years before LockBit existed (Steam lets users alter a overview URL, so the grip itself may be newer). A Codeforces document appeared five days following the indictment was unsealed and TikTok and Twitch accounts followed in December 2025, all imaginable squatters or impersonators. In the Joeleoli case, a GitLab overview displaying "Joel Evans" dates from September 2017, before the conspiracy he admitted, during a MyAnimeList document on the grip was created approximately 21 months following the apprehension and carries the identical squatter hedge. On the volhvb handle, none of the dated accounts was created following the designation.</p><h3 id="s-5-the-record-anchors-and-the-search-illustrates">5. The document anchors, and the hunt illustrates</h3><p>The HackerOne overview at deadcatx3 displays "ruben thomson", exactly as Krebs reported. The Medium overview on volhvb displays the Cyrillic orthography of the name on the sanctions entry. Both average item lone since a community document had already tied the grip to the name. Good sources say so. Of his LockBit reconstruction, <a href="https://en.mycoding.id/category/technology" target="_blank" rel="noopener noreferrer nofollow" target="_blank">Krebs wrote</a>: "Does the complete timeline demonstrate that NeroWolfe/Khoroshev is LockBitSupp? No." On a grip that appears nowhere in the record, a matching display name is a lead, not a conclusion.</p><h3 id="s-6-know-which-document-prints-identifiers">6. Know which document prints identifiers</h3><p>The <a href="https://en.mycoding.id/category/technology" target="_blank" rel="noopener noreferrer nofollow" target="_blank">Khoroshev indictment</a> prints no email location at all, and the <a href="https://en.mycoding.id/category/technology" target="_blank" rel="noopener noreferrer nofollow" target="_blank">IntelBroker complaint</a> refers to "West Email Account-1". The OFAC admission for Khoroshev prints two addresses. In the Scattered Spider cases, UK and European authorities published names, ages, towns and sentences but no alias, mailbox or handle; the US filings and journalists supplied the strings to search. Our <a href="https://en.mycoding.id/category/technology" target="_blank">SDN email guide</a> shows how to discover them on the list.</p><h2 id="the-ethics-rules-this-series-follows">The ethics rules this sequence follows</h2><ul><li><strong>Public document only.</strong> Subjects are group publically charged, convicted or sanctioned. Every identifier searched was archetypal printed by a court, Treasury or named reporting, and all assertion links to that source.</li><li><strong>Presumption of innocence.</strong> Charged method alleged. Persona ownership is attributed to whoever established it, specified as "the NeroWolfe persona Krebs tied to him".</li><li><strong>No minors and no victims.</strong> Neither is identified or described.</li><li><strong>No unpublished handles.</strong> When a lookup surfaces a grip or display name the document never printed, the article describes it generically, for example as a overview whose display name matches the sanctioned name. Unrelated group who portion a grip are never named.</li><li><strong>A zero outcome is not proof.</strong> A lookup that finds no registrations says what that lookup found, not that no document exists. A mailbox is called a persona or burner location lone whenever the document describes it that way.</li><li><strong>Later accounts are hedged.</strong> Anything created following an arrest, unsealing or heading is treated as a imaginable squatter or impersonator.</li><li><strong>Some published particulars remain out.</strong> Phone numbers, passwords, passport and tax numbers, and relatives' particulars are remaining out equal whenever a origin prints them.</li></ul><h2 id="faq">FAQ</h2><h3 id="what-is-an-osint-case-study">What is an OSINT case study?</h3><p>A worked example of open origin inquiry alongside its inputs shown: the identifier, the document that published it, the hunt run, and what came back. Here, all input is a public-record email or alias, so anyone can inspect the origin and reiterate the search.</p><h3 id="where-do-the-identifiers-in-these-case-studies-come-from">Where do the identifiers in these case studies arrive from?</h3><p>From indictments, complaints, affidavits, sentencing memos, OFAC sanctions entries and named reporting specified as KrebsOnSecurity and BleepingComputer. The journalists and firms rearward that work, including Intel 471 and OpenSanctions, deserve most of the credit.</p><h3 id="does-a-matching-username-or-display-name-prove-who-owns-an-a">Does a matching username or display name demonstrate who owns an account?</h3><p>No. A equivalent shows a cord is registered, and display names are self-typed. The <a href="https://en.mycoding.id/category/technology" target="_blank">attribution guide</a> grades all benevolent of evidence, and the <a href="https://en.mycoding.id/category/technology" target="_blank">username verification checklist</a> gives you a worksheet for the comparison.</p><h3 id="can-i-repeat-these-investigations-myself">Can I reiterate these investigations myself?</h3><p>Yes. Take an identifier from a chief source, run the email lookup first, hunt any grip it returns, kind the results by innovation date and log results that refuse the document next to those that fit it.</p><h2 id="run-your-own-case-study">Run your own case study</h2><p>The method plant on any lead, or on your own footprint. <a href="https://en.mycoding.id/category/technology" target="_blank">Run a liberated hunt on OSINTsearch</a> for an email location or username. Results display the phase and overview particulars specified as display names and associate dates anywhere available, and paid plans export to CSV, JSON or PDF.</p>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/osint-case-studies-77147</guid> <pubDate>Sun, 15 Nov 2026 04:33:41 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[The Single Router in Southern Arkansas That Ground Air Travel to a Halt]]></title> <description><![CDATA[The Single Router in Southern Arkansas That Ground Air Travel to a Halt. Comments]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/the-single-router-in-southern-arkansas-that-ground-air-travel-to-a-halt-77144</link> <content:encoded><![CDATA[<div><p id="cmsg">Please allow JS and disable any ad blocker</p></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/the-single-router-in-southern-arkansas-that-ground-air-travel-to-a-halt-77144</guid> <pubDate>Sun, 15 Nov 2026 04:05:54 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> <item> <title><![CDATA[We're Asking an Appeals Court to Require a Warrant for ALPR Searches]]></title> <description><![CDATA[We're Asking an Appeals Court to Require a Warrant for ALPR Searches. Comments]]></description> <media:thumbnail url="https://www.eff.org/files/banner_library/siren_v._san_jose.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/we-re-asking-an-appeals-court-to-require-a-warrant-for-alpr-searches-77141</link> <content:encoded><![CDATA[<div><div><div><p>Today<span>, alongside alongside the ACLU, EFF submitted an </span><a href="https://en.mycoding.id/category/technology" target="_blank">amicus brief</a><span> in the Sixth Circuit court of appeals in <em>United States v. Sturdivant</em>, a case anywhere constabulary warrantlessly tracked a suspect&rsquo;s movements using </span><a href="https://en.mycoding.id/category/technology" target="_blank">Automated License Plate Reader</a><span> (ALPR) data. Our concise particulars the vast, interconnected network of ALPRs that continually track drivers about the nation and argues that this tracking is a &ldquo;search&rdquo; under the definition of the Fourth Amendment. </span></p> <p><span><em>Sturdivant</em></span><span> involves a sequence of robberies in and about Cleveland, Ohio. Using surveillance camera footage, constabulary identified the make, model, and color of the robber&rsquo;s car, but they did not cognize its licence dish number. After operating an open-ended hunt of two ALPR databases, Flock and ELSAG, officers learned a car belonging to the accused had been tracked near sites of the robberies, eventually foremost to his arrest. Faced alongside a motion to suppress the ALPR evidence, the district court held that Mr. Sturdivant had no sensible anticipation of privacy in his licence dish figure since it could be observed by members of the public, and that hence he had no Fourth Amendment involvement in not having his car tracked in community places.</span></p> <p><span>But ALPRs are merely not comparable to observing an idiosyncratic licence dish on a passing car. As we&rsquo;ve explained in </span><a href="https://en.mycoding.id/category/technology" target="_blank">many</a> <a href="https://en.mycoding.id/category/technology" target="_blank">amicus</a> <a href="https://en.mycoding.id/category/technology" target="_blank">briefs</a><span> and in our lawsuits immediately challenging ALPR use in </span><a href="https://en.mycoding.id/category/technology" target="_blank">San Jose, California</a><span> and </span><a href="https://en.mycoding.id/category/technology" target="_blank">Wisconsin</a><span>, ALPRs provision law implementation &ldquo;</span>a virtual period device to perspective suspects&rsquo;, or anyone else&rsquo;s, former movements (and much more) alongside fair the click of a button.&rdquo; Just final month, a national district court <a href="https://en.mycoding.id/category/technology" target="_blank">agreed</a> and held that ALPRs are a &ldquo;<span>form of indiscriminate bulk surveillance&rdquo; that can breach the Fourth Amendment.</span></p> <p>We anticipation the Sixth Circuit volition reverse the lesser court in this case and clasp that ALPR searches necessitate a warrant.</p> </div></div></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/we-re-asking-an-appeals-court-to-require-a-warrant-for-alpr-searches-77141</guid> <pubDate>Sun, 15 Nov 2026 03:00:54 +0700</pubDate> <author><![CDATA[support@mycoding.id (Mira Azkia)]]></author> </item> <item> <title><![CDATA[Let's say the espionage doubters are right. Should Jensen Huang still get his job back?]]></title> <description><![CDATA[Let's say the espionage doubters are right. Should Jensen Huang still get his job back?. Jensen Huang's supporters inquiry espionage allegations. But Nvidia's commission may have had another reasons to obtain his resignation.]]></description> <media:thumbnail url="https://i.insider.com/6af8fc160cc3ffba8779d44a?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/let-s-say-the-espionage-doubters-are-right-should-jensen-huang-still-get-his-job-back-77140</link> <content:encoded><![CDATA[<div e-name="post-hero" data-component-type="post-hero" data-load-strategy="exclude"> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject"> <div> <p><img src="https://i.insider.com/6af8fbfccbe21204707359cf?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6af8fbfccbe21204707359cf?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6af8fbfccbe21204707359cf?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6af8fbfccbe21204707359cf?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6af8fbfccbe21204707359cf?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6af8fbfccbe21204707359cf?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6af8fbfccbe21204707359cf?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="Jensen Huang" decoding="sync"> </p></div> <figcaption e-name="image-caption"> <span e-name="image-source" itemprop="creditText">Fortune via Reuters Connect</span> <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewbox="0 0 24 24"> <path fill="currentColor" fill-rule="evenodd" d="m4.56 18.5 7.486-7.72 7.394 7.626 2.56-2.64L12.046 5.5 2 15.86l2.56 2.64Z"></path> </svg> <span>Jensen Huang</span> </figcaption> </figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>The "<a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Stand alongside Jensen</a>" movement that's gaining traction this weekend may or may not succeed. But at the smallest it raises the inquiry of whether the Nvidia commission moved too accelerated against its legendary CEO, who resigned this former week.</p><p>And the answer to that inquiry depends on another one: whether <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Jensen Huang</a> is out since he remaining his company, and country, susceptible to espionage, or since of his broad conduct, including how forthcoming he was or wasn't alongside Nvidia's board.</p><p>The "Stand alongside Jensen" disagreement for at smallest a impermanent reinstatement is item akin this: Short of a proven case of espionage waged against Jensen, he have to be brought rear until the commission can complete a thorough investigation.</p><p>"We have not been shown evidence substantiating the espionage allegation. After thirty-three years flowing his bosom and psyche into NVIDIA, Jensen deserves due process," the organizers stated in an open letter.</p><p>Today my coworker Alistair Barr dug into <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">how resolute or flimsy</a> the arguments of espionage are according to latest reporting casting doubt on them.</p><p>Barr makes the case that governmental motivation by China hawks who desire stricter limits on China's admission to US AI innovation could have led to a plumped up or exaggerated handling of what evidence power exist. The idea would be that getting rid of Jensen, a proponent of a small restrictive method on AI tech in China, would assistance the hawks' cause.</p><p>If the allegations are susceptible and Jensen misplaced his job complete them, afterward that's not great. As Barr writes, referring to the administrator of an Nvidia client alongside whom Huang is stated to have had a relationship:</p><p>"The possible that Alice Huang was a Chinese intellect delegate was apt the key logic Nvidia's commission ousted Jensen Huang so quickly."</p><p>And, Barr says:</p> <div><p>"What concerns me is the possible that US intellect was overstated to assistance bring downward the chief of one of America's most crucial companies. If that's what happened, officials may have damaged America's guide in AI in the name of protecting it."</p><p>But what if espionage wasn't at the base of the board's thinking?</p></div><p>When the commission stated this week it had accepted Huang's resignation, it didn't provision reasons. But let's say the commission concluded &mdash; before or in the forthcoming &mdash; that espionage wasn't at play. Would that be adequate for Huang to keep his job?</p><p>The New York Times in a <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">piece</a> on Saturday wrote that Huang "confessed," final week to Nvidia's broad advise concerning the matter &mdash; suggesting he wasn't forthcoming concerning it before then.</p><p>There's additionally the fact that Huang <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">misled</a> the media, on the record, concerning the relationship. And the fact that, additionally <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">reported</a> by the Times before the resignation, Huang had an extra-marital association alongside a straightforward report.</p><p>In "the earth of company governance, the worst item a chief administrator can do is lie, particularly in a crisis. It is a logic they get fired," the Times wrote.</p><p>If Nvidia's commission acted hastily according to spying concerns that ultimately power not clasp up, that's not good, and perchance the forces rearward the "Stand alongside Jensen" petition have a chance.</p><p>But if the power of the espionage case wasn't the deciding aspect in his departure but fairly his honesty and trustworthiness, afterward this division for Nvidia guidance is closed.</p><p><em>Jamie Heller is editor-in-chief of Business Insider. </em><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow"><em>Reach out here</em></a><em>.</em></p> </div> <h2>Read next</h2> <div data-recommendations-content data-track-click-shared='&quot;Read next&quot;}'> <div e-name="read-next-list" data-recommendations-list> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> </div> </div> <a e-name="read-next-image-link" data-recommendations-image-link data-recommendations-link tabindex="-1"> <p><img alt=""> </p> </a> <h3> <a e-name="read-next-title-link" data-recommendations-link data-recommendations-title></a> </h3> <div data-component-type="post-bottom-authors" data-load-strategy="exclude" data-track-view='&quot;module_in_view&quot;}' data-track-click-shared='&quot;navigation&quot;}'> <div data-track-view='&quot;module_in_view&quot;}'> <div> <p><span>Jamie Heller is Editor in Chief of Business Insider. Before joining BI, she spent additional than 20 years at The Wall Street Journal in a assortment of editing roles, including foremost endeavor and tech coverage. Before the WSJ, she was a newsman at <a href="https://en.mycoding.id/category/business" target="_blank">TheStreet.com</a>, SmartMoney magazine, the Connecticut Law Tribune and the Rutland Herald. She attended Dartmouth College and Yale Law School.</span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/let-s-say-the-espionage-doubters-are-right-should-jensen-huang-still-get-his-job-back-77140</guid> <pubDate>Sun, 15 Nov 2026 02:03:04 +0700</pubDate> <author><![CDATA[support@mycoding.id (Jamie Heller)]]></author> </item> <item> <title><![CDATA[Show HN: A custom font based on the Jamaican flag alphabet]]></title> <description><![CDATA[Show HN: A custom font based on the Jamaican flag alphabet. Comments]]></description> <media:thumbnail url="https://bobbiec.github.io//jamaica-flag.svg"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/show-hn-a-custom-font-based-on-the-jamaican-flag-alphabet-77142</link> <content:encoded><![CDATA[<div> <p>The emblem of Jamaica looks akin this:</p> <img src="https://bobbiec.github.io//jamaica-flag.svg" width="190" height="95" alt=" a aureate X alongside green triangles complete and below and dreary triangles on all side."> <p> Inspired by <a href="https://en.mycoding.id/category/technology" target="_blank">this Reddit post</a>: if the emblem is the letter X, what does the remainder of the alphabet appearance like? <a href="https://en.mycoding.id/category/technology" target="_blank">Read the blog article concerning making this font</a>. </p> <div> <div> <p>Try the font (click to edit):</p> </div> </div> <p id="font-note"> This content box contains average content that you can select, copy, and search. The colors and shapes are built immediately into the font! </p> <p id="connected-note"> The Connected Variant joins alphabet together, using contextual font features to equivalent backdrop colors between alphabet and connecting certain glyphs. <a href="https://en.mycoding.id/category/technology" target="_blank">Learn additional concerning how this font works</a>. </p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/show-hn-a-custom-font-based-on-the-jamaican-flag-alphabet-77142</guid> <pubDate>Sun, 15 Nov 2026 01:56:45 +0700</pubDate> <author><![CDATA[support@mycoding.id (Mira Azkia)]]></author> </item> <item> <title><![CDATA[L3Harris statement on the Nov. 13 ground stop]]></title> <description><![CDATA[L3Harris statement on the Nov. 13 ground stop. Comments]]></description> <media:thumbnail url="https://www.l3harris.com/sites/default/files/2025-08/event-stealth-white-nexus-teaser.jpg"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/l3harris-statement-on-the-nov-13-ground-stop-77136</link> <content:encoded><![CDATA[<div id="p0"><div> <div> <div> <p><span>L3Harris has been modernizing the communications infrastructure supporting the National Airspace System in near coordination alongside the FAA.&nbsp;With safety and reliability as our highest priorities, L3Harris, together alongside its telco partners and the FAA, has completed additional than 70% of the planned airspace communications conversion from bequest copper wires to a fiber optic system. We are supporting the FAA in its inquiry to comprehend the conditions that led to the Nov. 13 dirt halt of our nation&rsquo;s air travel. L3Harris takes the nationwide dirt halt and its effect on travelers, airlines and air traffic operations seriously.</span></p> </div> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/l3harris-statement-on-the-nov-13-ground-stop-77136</guid> <pubDate>Sat, 14 Nov 2026 23:51:44 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[Nvidia deliberately kept GPU prices high through circular financing deals]]></title> <description><![CDATA[Nvidia deliberately kept GPU prices high through circular financing deals. Comments]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/nvidia-deliberately-kept-gpu-prices-high-through-circular-financing-deals-77137</link> <content:encoded><![CDATA[<a href="https://en.mycoding.id/category/technology" target="_blank">Comments</a>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/nvidia-deliberately-kept-gpu-prices-high-through-circular-financing-deals-77137</guid> <pubDate>Sat, 14 Nov 2026 23:26:30 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[How did Woz write the Apple 1 BASIC before building the computer?]]></title> <description><![CDATA[How did Woz write the Apple 1 BASIC before building the computer?. Comments]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/how-did-woz-write-the-apple-1-basic-before-building-the-computer-77138</link> <content:encoded><![CDATA[<a href="https://en.mycoding.id/category/technology" target="_blank">Comments</a>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/how-did-woz-write-the-apple-1-basic-before-building-the-computer-77138</guid> <pubDate>Sat, 14 Nov 2026 23:22:49 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[SpaceX Catches the Starship to end Flight 15]]></title> <description><![CDATA[SpaceX Catches the Starship to end Flight 15. Comments]]></description> <media:thumbnail url="https://pbs.twimg.com/media/HXBS_RyWMAAE_VR?format=webp&amp;name=medium"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/spacex-catches-the-starship-to-end-flight-15-77133</link> <content:encoded><![CDATA[<div><p>See what&rsquo;s happening and associate the conversation</p><div><p><a href="https://en.mycoding.id/category/technology" target="_blank"><span><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" data-icon="icon-phone" viewbox="0 0 24 24" display="flex" role="img" width="1em" height="1em" aria-hidden="true"><path d="M3 6.42A3.4 3.4 0 0 1 6.42 3h3.2l2.6 5.2-1.53 1.52a7 7 0 0 0 3.58 3.59l1.53-1.53 5.2 2.6v3.2A3.4 3.4 0 0 1 17.58 21 14.6 14.6 0 0 1 3 6.42m2 0C5 13.37 10.63 19 17.58 19c.78 0 1.42-.64 1.42-1.42v-1.96l-2.8-1.4-1 .99-.46.46-.61-.24a9.3 9.3 0 0 1-5.56-5.56l-.24-.61.46-.47 1-.99L8.38 5H6.41C5.64 5 5 5.64 5 6.42"></path></svg><span>Continue alongside phone</span></span></a></p></div><p><span></span> or <span></span></p><p><a href="https://en.mycoding.id/category/technology" target="_blank"><span><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" data-icon="icon-at" viewbox="0 0 24 24" display="flex" role="img" width="1em" height="1em" aria-hidden="true"><path d="M7.12 11.38c.36-2.55 2.52-4.59 5.05-4.23 1 .14 1.85.63 2.48 1.34l1.75.25-.5 3.45a2.2 2.2 0 0 0 2 2.53c.88.08 1.56-.35 1.77-.95.19-.57.33-1.18.33-1.77a8 8 0 1 0-3.79 6.8l1.05 1.7A10 10 0 1 1 22 12c0 .88-.2 1.73-.44 2.42-.58 1.7-2.3 2.43-3.84 2.29a4.2 4.2 0 0 1-2.93-1.59 4.3 4.3 0 0 1-3.99 1.72c-2.52-.36-4.03-2.91-3.68-5.46m4.77-2.25c-1.2-.17-2.55.82-2.79 2.53-.24 1.7.79 3.03 1.98 3.2 1.2.17 2.55-.82 2.79-2.53s-.79-3.03-1.98-3.2"></path></svg><span>Log in alongside username or email</span></span></a></p></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/spacex-catches-the-starship-to-end-flight-15-77133</guid> <pubDate>Sat, 14 Nov 2026 22:22:24 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[The Chinese spy allegation that toppled Nvidia's CEO is starting to look shaky]]></title> <description><![CDATA[The Chinese spy allegation that toppled Nvidia's CEO is starting to look shaky. New reports lift questions concerning the intellect rearward Jensen Huang's ouster from Nvidia and the function of China hawks in the US administration.]]></description> <media:thumbnail url="https://i.insider.com/6af8af3c0cc3ffba8779d3f9?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/the-chinese-spy-allegation-that-toppled-nvidia-s-ceo-is-starting-to-look-shaky-77132</link> <content:encoded><![CDATA[<div e-name="post-hero" data-component-type="post-hero" data-load-strategy="exclude"> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject"> <div> <p><img src="https://i.insider.com/6af5dd1ab2c29afb4e56a2ee?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6af5dd1ab2c29afb4e56a2ee?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6af5dd1ab2c29afb4e56a2ee?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6af5dd1ab2c29afb4e56a2ee?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6af5dd1ab2c29afb4e56a2ee?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6af5dd1ab2c29afb4e56a2ee?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6af5dd1ab2c29afb4e56a2ee?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="Jensen Huang and President Donald Trump." decoding="sync"> </p></div> <figcaption e-name="image-caption"> <span e-name="image-source" itemprop="creditText">Kent NISHIMURA / AFP via Getty Images</span> <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewbox="0 0 24 24"> <path fill="currentColor" fill-rule="evenodd" d="m4.56 18.5 7.486-7.72 7.394 7.626 2.56-2.64L12.046 5.5 2 15.86l2.56 2.64Z"></path> </svg> <span>Jensen Huang (left) and President Donald Trump (right).</span> </figcaption> </figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>I'm not a conspiracy theorist. But sometimes new data emerges that makes a untamed theory value considering.</p><p>That's anywhere I discover myself alongside the bonzer downfall of <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Jensen Huang</a>, the cofounder and longtime CEO of <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Nvidia</a>, America's most crucial AI company.</p><p><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Huang resigned</a> this week following revelations that he had an extramarital matter alongside a Chinese businesswoman suspected of spying for Beijing.</p><p>The woman, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Alice Huang</a>, was additionally an administrator at a business that bought billions of dollars value of Nvidia's mighty AI chips and has been investigated complete concerns that several of those products may have been illegally diverted to <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">China</a>.</p><p>The allegations were explosive. Nvidia's commission moved amazingly quickly; Huang was out, and the company's inventory plunged, wiping concerning $300 milliard off its market value.</p><p>But now several of America's most respected news organizations are publishing well-sourced reports that lift grave questions concerning the chief allegation in this scandal.</p><p>And those reports item toward another imaginable clarification for Huang's abrupt departure. What if the spy allegations were exaggerated to accomplish a governmental goal?</p><p>That power audio akin a conspiracy theory. Until a few days ago, I would have been reluctant to provision it much consideration. Now I'm not so sure.</p><h2 id="3572f719-ee65-47c9-9ed6-791438e1d301" data-toc-id="3572f719-ee65-47c9-9ed6-791438e1d301">The intellect isn't conclusive</h2><p>On Thursday, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">CNN reported</a> that US intellect agencies have not established that Alice Huang was really spying for China.</p> <p>There is disagreement among officials concerning whether she was recruited by China's intellect services. Some CIA officials are unconvinced that intercepted communications demonstrate she knowingly passed data to Beijing.</p><p>The guide newsman on this bomb part is <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">Natasha Bertrand</a>, an accomplished national safety newsman whose investigations have scrutinized the two Republican and Democratic administrations, and whose reporting on Russia's intrusion of Ukraine helped acquire her squad an Emmy.</p><p>The possible that Alice Huang was a Chinese intellect delegate was apt the key logic Nvidia's commission ousted Jensen Huang so quickly. (Business Insider has not confirmed whether Alice Huang was or is a Chinese spy).</p><p>Now, there's an <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">open letter</a> calling for the commission to reinstate him as CEO until this is cleared up. It has complete 100,000 signatures, including top executives and current Nvidia employees.</p><p>"We have not been shown evidence substantiating the allegation that the female at the center of this disagreement was a spy," the letter reads. "Suspicion or affiliation solitary is not a adequate basis for ending Jensen's leadership."</p><p>There's more.</p><p>On Friday, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">The Washington Post reported</a> that Secretary of State Marco Rubio, a notable China hawk, took a small conclusive CIA intellect study and used it to compose his own memo alert President Donald Trump concerning Huang's association alongside an alleged Chinese spy.</p><p>According to a individual acquainted alongside the matter, Rubio recast the CIA's findings in additional assured language. The memo's findings eventually leaked, environment off the sequence of events that ended Huang's 33-year reign at Nvidia, according to the Washington Post.</p><p>The Post's reporting doesn't demonstrate Rubio deliberately misrepresented the intellect or set out to eliminate Huang. But it raises a inquiry I think deserves grave attention: Was intellect concerning a imaginable Chinese spy amplified to assistance eliminate a mighty obstacle to tougher restrictions on China?</p><h2 id="e8a861a3-259c-4cf2-becd-ab124c776a11" data-toc-id="e8a861a3-259c-4cf2-becd-ab124c776a11">We've seen intellect go incorrect before</h2><p>There's an uncomfortable historic precedent here.</p><p>In 2003, the US invaded Iraq following the Bush administration often warned that Saddam Hussein possessed <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">weapons of bulk destruction</a>. Secretary of State Colin Powell famously presented intellect to the United Nations to assistance that case.</p><p>After the invasion, investigators established that Iraq did not have the stockpiles of weapons that had been alleged. The intellect was seriously wrong.</p><p>There has been extended conversation always since concerning how much of that nonaccomplishment reflected flawed intelligence, governmental pressure, selective use of evidence, or deliberate exaggeration.</p><p>But the broader instruction is clear: Intelligence assessments can be presented alongside additional certainty than the underlying evidence supports, particularly whenever mighty group have a guideline goal they desire to achieve.</p><p>The Bush administration wanted to invade Iraq. Claims concerning weapons of bulk demolition helped build assistance for that decision.</p><h2 id="aaf51f62-be83-46ec-9013-11895c5b129b" data-toc-id="aaf51f62-be83-46ec-9013-11895c5b129b">Follow the chips</h2><p>So, if intellect concerning Alice Huang was exaggerated, who stood to benefit?</p><p>To comprehend the imaginable motive, you need to comprehend a bitter combat inner Washington complete China's admission to Nvidia technology.</p><p>For years, the US authorities has tried to halt China from obtaining Nvidia's most mighty AI chips, which are used to create advanced synthetic intelligence. The involvement is that China could use this innovation to fortify its armed forces and difficulty America's scientific leadership.</p><p>But enforcing these restrictions has proved amazingly difficult. One logic is haze computing. Here's how it works.</p><p>An American business sells AI chips to a data center operator. Those chips remain physically exterior mainland China. The controller afterward rents that computing power to customers complete the internet, including Chinese companies.</p><p>This benevolent of distant admission can be lawful under existing US rules, depending on the circumstances. It's additionally among the chief benefits of haze computing: You don't need to own a mighty device or equal be in the identical nation as one to use it.</p><p>But several Washington officials see this as a loophole that undermines the entire item of restricting part revenue to China. And they desire to near it.</p><p>Jensen Huang was among the most mighty voices arguing against entirely cutting China off. He asserted that America is improved off if Chinese AI companies continue using American technology. That gives US companies revenue, keeps China reliant on American products, and possibly gives Washington additional visibility and power complete Chinese AI development.</p><p>Cut China off completely, Huang argued, and Chinese companies volition merely accelerate efforts to build their own technology.</p><p>Of course, Huang additionally had an apparent financial interest. Nvidia makes prosperity marketing chips, and China is an enormous possible market. And he had straightforward admission to Trump and had often pushed the administration toward a additional accommodating approach.</p><p>Now he's gone. And the group who wanted tougher restrictions have shed their biggest opponent.</p><h2 id="01558305-5f86-48b6-931a-29974479ab5b" data-toc-id="01558305-5f86-48b6-931a-29974479ab5b">The timing is extraordinary</h2><p>There's another item concerning all this that bothers me. Aspects of this association and the concerns concerning Alice Huang are not new.</p><p>On October 9, 2025, additional than a twelvemonth ago, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">The New York Times published a detailed investigation</a> into Megaspeed, the Singapore-based business anywhere she was an executive.</p><p>The Times reported that the business had purchased nearly $2 milliard of Nvidia innovation and was under inquiry complete imaginable violations of US export restrictions.</p><p>It additionally described Alice Huang's near admission to Jensen Huang, including photographs of them together.</p><p>US officials had been examining the business since 2024. The FBI has additionally been examining the association for at smallest a year, according to CNN.</p><p>So why did all this abruptly rotate into an existential emergency for Nvidia's CEO in November 2026?</p><p>One imaginable answer is that the governmental surroundings changed.</p><p><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">Axios reported</a> this week on tensions inner the administration complete efforts to tighten restrictions on China's admission to Nvidia technology.</p><p>Meanwhile, lawmakers are pushing law that could restrict Chinese companies from remotely accessing mighty American chips located in another countries. The Remote Access Security Act has already passed the House and is awaiting act in the Senate.</p><p>Nvidia has opposed efforts to enforce sweeping restrictions on this benevolent of access.</p><h2 id="fa2c9543-9e4b-4b58-9d24-96844a687ac6" data-toc-id="fa2c9543-9e4b-4b58-9d24-96844a687ac6">A provocative assessment</h2><p>On Thursday, SemiAnalysis, a respected AI investigation firm, published a <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">provocative assessment</a> of Huang's departure.</p><p>"We aren't ones for conspiracy theories, but a few events about the identical period appear to create a narrative that is difficult to ignore," they wrote.</p><p>"The US intellect community is a ample part of the shove to get Jensen out of Nvidia," the resolute added. "AI and part restrictions on China are going to ramp now much faster alongside the biggest guardian Jensen, gone."</p><p>SemiAnalysis offered this as a theory, not proof. But it deserves examination, particularly following CNN's reporting and the Washington Post's part concerning Rubio's memo.</p><p>I'm not current to inform readers whether China should have admission to America's most advanced AI chips. There are grave arguments on the two sides. And I do not condone Huang's another behavior, including CEOs having relationships alongside subordinates or customers.</p><p>What concerns me is the possible that US intellect was overstated to assistance bring downward the chief of one of America's most crucial companies.</p><p>If that's what happened, officials may have damaged America's guide in AI in the name of protecting it.</p><p>A week ago, the idea that Washington's China hawks helped bring downward Huang echoed akin a conspiracy theory. Today, it's a possible value considering.</p><p>And stated America's former of intellect failures, I don't think we should merely obtain the government's term for it.</p><p><strong><em>Sign up for the AI Insider newsletter </em></strong><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">here</a><strong><em>. Reach out to me via email at </em></strong><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">abarr@businessinsider.com</a></p> <p>The latest on Jensen Huang's ouster from Nvidia and what it method for the company's future</p> </div> <h2>Read next</h2> <div data-recommendations-content data-track-click-shared='&quot;Read next&quot;}'> <div e-name="read-next-list" data-recommendations-list> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> </div> </div> <a e-name="read-next-image-link" data-recommendations-image-link data-recommendations-link tabindex="-1"> <p><img alt=""> </p> </a> <h3> <a e-name="read-next-title-link" data-recommendations-link data-recommendations-title></a> </h3> <div data-component-type="post-bottom-authors" data-load-strategy="exclude" data-track-view='&quot;module_in_view&quot;}' data-track-click-shared='&quot;navigation&quot;}'> <div data-track-view='&quot;module_in_view&quot;}'> <div> <p><span>Alistair Barr is the driving power rearward Business Insider's <a href="https://en.mycoding.id/category/business" target="_blank">AI Insider</a> franchise, including the AI Insider newsletter. <a href="https://en.mycoding.id/category/business" target="_blank">Sign up here</a>. Before that, he was Business Insider's Global Tech Editor and the Big Tech squad chief at Bloomberg, following a reporting occupation at The Wall Street Journal, USA Today, Reuters, and MarketWatch. Alistair covers all things Big Tech, alongside alongside startups and project capital. He writes inspection and columns concerning topics including AI, haze computing, data centers, semiconductors, online search, e-commerce, EVs, robotics, and autonomous vehicles.</span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/the-chinese-spy-allegation-that-toppled-nvidia-s-ceo-is-starting-to-look-shaky-77132</guid> <pubDate>Sat, 14 Nov 2026 21:00:34 +0700</pubDate> <author><![CDATA[support@mycoding.id (Alistair Barr)]]></author> </item> <item> <title><![CDATA[Kelas IP Address A, B, C, D, dan E: Rentang, Subnet Mask, dan Contohnya]]></title> <description><![CDATA[Kelas IP Address A, B, C, D, dan E: Rentang, Subnet Mask, dan Contohnya. Kelas IP Address A, B, C, D, dan E: Rentang, Subnet Mask, dan Contohnya. Kelas IP address adalah pembagian alamat IPv4 menjadi lima kelompok, yaitu kelas A, B, ...]]></description> <media:thumbnail url="https://www.jetorbit.com/blog/wp-content/uploads/2026/11/kelas-ip-address.png"/> <category><![CDATA[Indonesian]]></category> <link>https://en.mycoding.id/kelas-ip-address-a-b-c-d-dan-e-rentang-subnet-mask-dan-contohnya-77143</link> <content:encoded><![CDATA[<div><p>Kelas IP address adalah pembagian alamat IPv4 menjadi lima kelompok, yaitu kelas A, B, C, D, dan E, berdasarkan beberapa bit pertamanya. Kelas A sampai C dipakai untuk alamat host biasa, kelas D untuk multicast, dan kelas E dicadangkan. Kelas sebuah alamat bisa kalian kenali dari bilangan di oktet pertamanya.</p> <p>Di bawah ini ada tabel kelas IP address lengkap, rumus menghitung jumlah jaringan dan host, alamat khusus yang perlu diingat, sampai karena mekanisme kelas ini sudah tidak dipakai lagi di internet.</p> <h2>IPv4 dan pembagian kelas (classful addressing)</h2> <p>Alamat IPv4 panjangnya 32 bit, ditulis sebagai empat oktet berisi bilangan 0 sampai 255 yang dipisah titik, misalnya 192.168.1.10. Kalau kalian belum dekat dengan konsep alamat IP, baca dahulu <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">pengertian IP address</a> sebelum lanjut.</p> <p>Setiap alamat punya dua bagian: bagiankecil jaringan (network) dan bagiankecil host. RFC 791, rincian IPv4 yang terbit September 1981, menentukan batas kedua bagiankecil itu dari bit paling depan. Kalau bit pertamanya 0, alamat itu kelas A. Kalau dua bit pertamanya 10, kelas B. Kalau tiga bit pertamanya 110, kelas C. Pembagian inilah yang disebut kelas IP address maupun classful addressing.</p> <p>Kelas D dan E menyusul lewat RFC 1112. Alamat yang diawali bit 1110 menjadi kelas D untuk multicast, sedangkan yang diawali 1111 dicadangkan untuk keperluan di masa depan.</p> <h2>Tabel kelas IP address A sampai E</h2> <figure><div><table readabilitydatatable="1"><thead><tr><th>Kelas</th><th>Bit awal</th><th>Oktet pertama</th><th>Default subnet mask</th><th>Jumlah jaringan</th><th>Host per jaringan</th></tr></thead><tbody><tr><td>A</td><td>0</td><td>0 sampai 127</td><td>255.0.0.0 (/8)</td><td>128 (126 terpakai)</td><td>16.777.214</td></tr><tr><td>B</td><td>10</td><td>128 sampai 191</td><td>255.255.0.0 (/16)</td><td>16.384</td><td>65.534</td></tr><tr><td>C</td><td>110</td><td>192 sampai 223</td><td>255.255.255.0 (/24)</td><td>2.097.152</td><td>254</td></tr><tr><td>D</td><td>1110</td><td>224 sampai 239</td><td>tidak ada</td><td>tidak dibagi</td><td>alamat grup multicast</td></tr><tr><td>E</td><td>1111</td><td>240 sampai 255</td><td>tidak ada</td><td>tidak dibagi</td><td>dicadangkan</td></tr></tbody></table></div></figure> <p>Default subnet mask tiap kelas IP address menginformasikan berapa bit yang menjadi bagiankecil jaringan. Kelas A memakai 8 bit pertama, kelas B 16 bit, dan kelas C 24 bit. RFC 4632 mengatakan mask ini sebagai mask yang tersirat dari kelasnya, misalnya jaringan kelas B 172.16.0.0 punya mask 255.255.0.0 maupun ditulis /16. Cara membaca dan menghitung mask dibahas di artikel <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">subnet mask</a>.</p> <h3>Rumus jumlah jaringan dan host</h3> <p>Jumlah jaringan di tiap kelas IP address dihitung dari bit jaringan yang tersisa setelah bit mula kelas dipakai. Jumlah host dihitung dari bit host, kemudian dikurangi dua.</p> <pre>jumlah jaringan = 2^(bit jaringan - bit mula kelas) host per jaringan = 2^(bit host) - 2</pre> <ul> <li>Kelas A: bagiankecil jaringan 8 bit, 1 bit dipakai penanda kelas, sisa 7 bit. Jumlah jaringan 2^7 = 128. Bagian host 24 bit, jadi 2^24 − 2 = 16.777.216 − 2 = 16.777.214 host.</li> <li>Kelas B: bagiankecil jaringan 16 bit, 2 bit penanda kelas, sisa 14 bit. Jumlah jaringan 2^14 = 16.384. Bagian host 16 bit, jadi 2^16 − 2 = 65.536 − 2 = 65.534 host.</li> <li>Kelas C: bagiankecil jaringan 24 bit, 3 bit penanda kelas, sisa 21 bit. Jumlah jaringan 2^21 = 2.097.152. Bagian host 8 bit, jadi 2^8 − 2 = 256 − 2 = 254 host.</li> </ul> <p>Angka dua yang dikurangkan adalah dua alamat yang tidak bisa dipakai host. Alamat dengan semua bit host berkualitas 0 menjadi alamat jaringan itu sendiri, dan alamat dengan semua bit host berkualitas 1 menjadi alamat broadcast jaringan tersebut.</p> <p>Pada kelas A, dari 128 jaringan ada dua yang punya fungsi khusus, yaitu blok 0.0.0.0/8 dan 127.0.0.0/8. Karena itu jaringan kelas A yang bisa dipakai untuk host biasa tinggal 126.</p> <h2>Kelas D untuk multicast, kelas E untuk cadangan</h2> <p>Dua kelas IP address terakhir tidak dipakai untuk alamat host biasa. Kelas D mencakup 224.0.0.0 sampai 239.255.255.255. RFC 1112 memakai rentang ini untuk host group: satu alamat mewakili sekelompok host, sehingga satu paket yang dikirim ke alamat itu diterima semua personel grup. Contohnya 224.0.0.1, grup permanen berisi semua host IP di jaringan yang terhubung langsung. Karena alamatnya menunjuk grup, kelas D tidak dibagi menjadi bagiankecil jaringan dan host.</p> <p>Kelas E mencakup 240.0.0.0 sampai 255.255.255.255. RFC 1112 mencadangkannya untuk mode pengalamatan di masa depan, dan registri IANA sampai kini mencatat blok 240/8 sampai 255/8 sebagai “Future use” dengan keterangan dahulu disebut kelas E. Alamat di rentang ini tidak diberikan ke host.</p> <h2>Alamat khusus di dalam kelas IP address</h2> <p>Beberapa blok di kelas A sampai E punya fungsi khusus dan tercatat di registri special-purpose (RFC 6890). Yang paling sering kalian temui:</p> <ul> <li>0.0.0.0/8: berarti “host ini di jaringan ini”. IANA mencatatnya untuk identifikasi diri, bukan untuk alamat host.</li> <li>127.0.0.0/8: loopback. Paket yang dikirim ke alamat ini, misalnya 127.0.0.1, tidak keluar dari alat dan balik ke alat itu sendiri.</li> <li>169.254.0.0/16: link-local (RFC 3927). Perangkat bisa memberi dirinya alamat dari blok ini saat tidak ada sumber alamat lain, misalnya ketika <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">DHCP client</a> gagal mendapat alamat. Router tidak boleh meneruskan paket berawalan alamat ini.</li> <li>255.255.255.255: limited broadcast, alamat tujuan untuk mengirim ke semua host di jaringan lokal.</li> <li>Alamat broadcast tiap jaringan: semua bit host berkualitas 1, misalnya 192.168.1.255 untuk jaringan 192.168.1.0/24.</li> </ul> <h2>Alamat IP privat per kelas (RFC 1918)</h2> <p>RFC 1918 menyisihkan tiga blok untuk jaringan privat, satu di tiap kelas IP address A, B, dan C. Siapa saja boleh memakainya di jaringan internal tanpa koordinasi dengan IANA, tetapi alamat ini tidak punya arti di internet mendunia dan rutenya tidak boleh diumumkan ke luar.</p> <figure><div><table readabilitydatatable="1"><thead><tr><th>Kelas</th><th>Blok</th><th>Rentang</th><th>Isinya</th></tr></thead><tbody><tr><td>A</td><td>10.0.0.0/8</td><td>10.0.0.0 sampai 10.255.255.255</td><td>1 jaringan kelas A</td></tr><tr><td>B</td><td>172.16.0.0/12</td><td>172.16.0.0 sampai 172.31.255.255</td><td>16 jaringan kelas B berurutan</td></tr><tr><td>C</td><td>192.168.0.0/16</td><td>192.168.0.0 sampai 192.168.255.255</td><td>256 jaringan kelas C berurutan</td></tr></tbody></table></div></figure> <p>Itu sebabnya alamat di jaringan rumah maupun institusi biasanya berawalan 192.168 maupun 10. Perhatikan bahwa blok kelas B privat cuma sampai 172.31. Alamat 172.32.0.1 statis kelas B, tetapi bukan alamat privat.</p> <h2>Cara menentukan kelas IP address dari sebuah alamat</h2> <p>Untuk menentukan kelas IP address, kalian cukup melihat oktet pertama, kemudian mencocokkannya dengan tabel di atas.</p> <ol> <li>Ambil bilangan paling kiri dari alamat, misalnya 172 dari 172.20.5.9.</li> <li>Cocokkan dengan rentang oktet pertama: 0 sampai 127 kelas A, 128 sampai 191 kelas B, 192 sampai 223 kelas C, 224 sampai 239 kelas D, 240 sampai 255 kelas E.</li> <li>Kalau ragu, ubah oktet itu ke biner dan lihat bit awalnya. 172 dalam biner adalah 10101100, diawali 10, jadi kelas B.</li> <li>Cek apakah alamat itu masuk blok khusus maupun privat. 172.20.5.9 eksis di 172.16.0.0/12, jadi alamat privat kelas B.</li> </ol> <p>Contoh penentuan kelas IP address untuk alamat lain:</p> <figure><div><table readabilitydatatable="1"><thead><tr><th>Alamat</th><th>Oktet pertama (biner)</th><th>Kelas</th><th>Catatan</th></tr></thead><tbody><tr><td>10.20.30.40</td><td>00001010</td><td>A</td><td>privat (10/8)</td></tr><tr><td>127.0.0.1</td><td>01111111</td><td>A</td><td>loopback</td></tr><tr><td>192.168.1.10</td><td>11000000</td><td>C</td><td>privat (192.168/16)</td></tr><tr><td>224.0.0.1</td><td>11100000</td><td>D</td><td>semua host di jaringan lokal</td></tr><tr><td>250.1.2.3</td><td>11111010</td><td>E</td><td>dicadangkan</td></tr></tbody></table></div></figure> <h2>Classful sudah digantikan CIDR</h2> <p>Pembagian kelas IP address punya kelemahan besar: ukurannya kaku. Organisasi yang butuh 500 alamat terlalu besar untuk kelas C (254 host), sehingga mendapat kelas B dengan 65.534 host. RFC 4632 mencatat masalah yang muncul di mula 1990-an karena pola ini: ruang alamat kelas B hampir habis, tabel routing di router internet membengkak, dan ruang alamat IPv4 32 bit terancam habis.</p> <p>Solusinya adalah Classless Inter-Domain Routing (CIDR), pertama lewat RFC 1519 kemudian diperbarui RFC 4632 pada Agustus 2006. CIDR menghapus mekanisme penugasan kelas A, B, dan C. Panjang bagiankecil jaringan ditulis langsung sebagai prefix dengan bilangan 0 sampai 32 setelah garis miring, misalnya 192.168.99.0/24, sehingga blok alamat bisa dibagi sesuai kebutuhan. Keterbatasan ruang alamat ini juga yang mendorong lahirnya <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">IPv6</a>.</p> <p>RFC 4632 terlebihlagi mengingatkan bahwa alat yang statis memakai kesepakatan kelas A, B, dan C tidak bisa diharapkan bekerja benar di internet. Jadi kelas IP address kini lebih berguna sebagai bahan belajar: memahami bit awal, mask bawaan, dan asal-usul blok privat. Cara membagi jaringan dengan prefix tanpa kelas akan dibahas di artikel subnetting yang menyusul.</p> <p>Spesifikasi CIDR komplit ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank" rel="noopener">RFC 4632 di situs RFC Editor</a>.</p></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/kelas-ip-address-a-b-c-d-dan-e-rentang-subnet-mask-dan-contohnya-77143</guid> <pubDate>Sat, 14 Nov 2026 21:00:00 +0700</pubDate> <author><![CDATA[support@mycoding.id (Doris Putra)]]></author> </item> <item> <title><![CDATA[Dartmouth (Guarini) will not admit math PhD cohort this year]]></title> <description><![CDATA[Dartmouth (Guarini) will not admit math PhD cohort this year. Comments]]></description> <media:thumbnail url="https://snworksceo.imgix.net/drt/f42dabdd-cdb4-4bb9-b3b1-cdbee8f8a198.sized-1000x1000.jpg?w=800&amp;h=600"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/dartmouth-guarini-will-not-admit-math-phd-cohort-this-year-77134</link> <content:encoded><![CDATA[<div> <p>The Guarini School of Graduate and Advanced Studies has suspended admissions to the next cohort in its math Ph.D. program, which would matriculate in the 2027-2028 scholarly year. Guarini dean Carrie Colla &rsquo;01 and College spokesman Jana Barnello did not define whenever or whether the program would resume admissions.&nbsp;</p> <p>Colla wrote in a Nov. 10 email declaration to The Dartmouth that Guarini &ldquo;regularly considers how to finest allocate in alumnus education.&rdquo;</p> <p>&ldquo;As part of those regular reviews, we are pausing admissions to the math Ph.D. program for the 2027-2028 sequence during the School of Arts and Sciences conducts a division review,&rdquo; she wrote.</p> <p>The decision to suspend the program &ldquo;was made in near alliance alongside leaders in the School of Arts and Sciences and we appearance onward to operating collaboratively alongside the division on this review,&rdquo; Colla added.</p> <p>She wrote in a Nov. 10 email to current alumnus students that there &ldquo;will be opportunities for students to act in the review&rdquo; and that she would encounter alongside math alumnus students and division department on Nov. 17. Graduate students can additionally attain out to math division place Dimitrios Giannakis and math prof Vladimir Chernov to portion questions and concerns, she wrote.&nbsp;</p> <p>&ldquo;While I cognize it is disappointing news that your cohort volition not be expanding next year, I am assured that this method volition authorize us to fortify the cognition of the two our Ph.D. students and the undergraduate students in the department,&rdquo; Colla wrote.</p> <p>During a Q&amp;A at the Nov. 9 broad department meeting, which The Dartmouth attended but was not permitted to record, department raised concerns concerning the suspension. Math prof Peter Winkler, who opposed the suspension, stated at the gathering the decision was communicated to math division department on Nov. 6. Winkler declined to provision additional comment following the meeting.&nbsp;</p> <p>The Ph.D. program&rsquo;s intermission follows a national trend of decreasing Ph.D. program seats. Data collected from 55 undisclosed investigation institutions <a href="https://en.mycoding.id/category/technology" target="_blank">demonstrated</a> that Ph.D. acceptances dropped 15% in 2026 from the former year, equal although family applications increased.</p> <p>In a Nov. 10 email to current alumnus students, which was obtained and reviewed by The Dartmouth, Giannakis wrote that department members were &ldquo;continuing to engage&rdquo; alongside College administrators to &ldquo;find a way forward&rdquo; that would &ldquo;eventually resume&rdquo; the Ph.D. program.</p> <div><p>Giannakis added in the email that Colla and School of Arts and Sciences dean Nina Pavcnik would act a math division department gathering on Nov. 11 to conversation the suspension. </p><p> &ldquo;While I do not anticipate a reversal of the decision to intermission admissions, I anticipation there volition at smallest be a constructive conversation alongside actionable outcomes,&rdquo; he wrote.&nbsp;</p></div> <p>Giannakis was unable to comment by period of publication.</p> <p>The Guarini admissions agency communicated the decision to applicants on Nov. 10, according to an email obtained by The Dartmouth. Any materials or advice alphabet that have already been submitted &ldquo;will not be reviewed,&rdquo; the Guarini admissions agency wrote. Applications for the program, which typically accepts seven to nine students per year, would have been due on Dec. 15, 2026, according to the math division <a href="https://en.mycoding.id/category/technology" target="_blank">website</a>.</p> <div><p>&ldquo;We acknowledge this is disappointing news and we are apologetic for the disruption to your plans,&rdquo; the email to group who already submitted use materials reads. </p><p> On Nov. 10, Colla wrote to current math alumnus students that &ldquo;status and support&rdquo; for current students &ldquo;are not changing&rdquo; and that the program volition see &ldquo;every currently enrolled pupil through graduation,&rdquo; according to an email obtained and reviewed by The Dartmouth.</p></div> <p>&ldquo;Stipends, coverage and the five-year backing justify all remain in location for students making satisfactory scholarly progress,&rdquo; Colla wrote. &ldquo;Advising relationships, qualifying exams, flat requirements and instruction and investigation appointments volition continue as planned.&rdquo;</p> <div><p>Guarini Ph.D. students received an annual stipend of $49,862.40 for the 2026-2027 scholarly year, alongside alongside tuition remission, health coverage and another benefits, according to the Guarini website. The College guarantees five years of financial assistance to students making satisfactory scholarly progress.</p><p> Graduate students typically instruct &ldquo;one way in all of their final three years of study,&rdquo; according to the math division alumnus pupil handbook. Starting this term, math Ph.D. candidates must additionally assist as a instruction aide for one term all twelvemonth following their third year, during archetypal and second-year Ph.D. candidates must assist as instruction assistants for three conditions a twelvemonth alternatively of the earlier required two, according to the handbook.</p></div> <div><p>Third-year math Ph.D. applicant Jacob Lehmann Duke GR stated he and his chap alumnus students learned of the suspension from Colla&rsquo;s Nov. 10 email. He stated he was &ldquo;frustrated&rdquo; by the &ldquo;lack of transparency&rdquo; surrounding the decision. </p><p> &ldquo;We were all shocked,&rdquo; he said. &ldquo;There was no sign that this was coming.&rdquo;</p></div> <p>Second-year math Ph.D. applicant Alex Moon GR stated they accept suspending applications for the upcoming sequence sends &ldquo;a communication of instability&rdquo; to forthcoming applicants.</p> <p>&ldquo;Part of the agreement of alumnus academy is that you desire there to be minimal factors exterior of your authority that volition forestall you from getting this Ph.D.,&rdquo; Moon said. &ldquo;If this is item they do once, it&rsquo;s item they can do later.&rdquo;</p> <p>In an discussion alongside The Dartmouth, second-year math Ph.D. applicant Aidan Hennessey GR stated &ldquo;losing out on a cohort of students&rdquo; would negatively power the discussions among the &ldquo;already fairly small&rdquo; Ph.D. program.</p> <p>&ldquo;Having group in neighboring areas of math to you &mdash; that you can conversation concerning math and study from, instruct and conversation through ideas alongside &mdash; all of this is extremely helpful,&rdquo; Hennessey said. &ldquo;Having additional students about is nice for community.&rdquo;</p> <p>Lehmann Duke added that the suspension could put undergraduates intending to enroll in graduate-level math courses &ldquo;at a genuine deficit.&rdquo;&nbsp;</p> <p>Ben Singer &rsquo;27 &mdash; who stated they have taken graduate-level math courses since their freshman twelvemonth &mdash; added that there are &ldquo;a few center alumnus courses&rdquo; that are &ldquo;really crucial for undergraduates current who desire to enter alumnus school.&rdquo; A decrease in Ph.D. students raises questions concerning whether those classes volition be offered, whether undergraduates volition be capable to obtain them and how small way offerings volition power group who desire to go to alumnus school, Singer said.&nbsp;</p> <p>The College &ldquo;reserves the correct to create changes in the offering&rdquo; or cancel a way alongside small than five enrolled students, according to the Arts and Sciences Registrar&rsquo;s Office website.</p> <div><p>First-year computational discipline and modeling Ph.D. applicant Ethan Baird GR stated &ldquo;almost half&rdquo; of his program&rsquo;s coursework requirements are typically fulfilled through math division courses. Baird added that these classes are the &ldquo;basis of everything that we end up doing later,&rdquo; which leads him to concern that the suspension of the admissions volition have trickle-down effects on the computational discipline and modeling Ph.D. programs. </p><p> Math important Ribhu Hooja &rsquo;27 stated the division &ldquo;did not officially&rdquo; communicate undergraduate students concerning the intermission and that he alternatively established out from alumnus students. If the intermission lasts &ldquo;even for a year, there could motionless be harm&rdquo; since of &ldquo;the relationships formed&rdquo; between undergraduate and alumnus students in advanced math classes, Hooja said.</p></div> <p>&ldquo;We study how to use to grad school, and what it means,&rdquo; Hooja said. &ldquo;It&rsquo;s an crucial association I&rsquo;ve really benefitted a lot from.&rdquo;</p> <p>Third-year Ph.D. applicant Michaela Polley GR stated she was concerned concerning the pause&rsquo;s effects on &ldquo;research culture&rdquo; among Dartmouth graduates and undergraduates alike.</p> <p>&ldquo;The idea of being a investigation university and a broad arts university doesn&rsquo;t activity if you don&rsquo;t have alumnus students,&rdquo; she said.</p> <div><p>During the Nov. 9 meeting, College President Sian Leah Beilock and Pavcnik additionally addressed department </p><a href="https://en.mycoding.id/category/technology" target="_blank" target="_self">concerns</a><p> concerning the College&rsquo;s discontinuation of the Society of Fellows, a three-year interdisciplinary investigation program established in 2014 to assistance postdoctoral investigation and scholarship. The Society has stopped recruiting new fellows and volition </p><a href="https://en.mycoding.id/category/technology" target="_blank" target="_self">conclude</a><p> in summer 2028, whenever its current cohort completes their appointments, according to the program&rsquo;s website. </p><p> Beilock stated at the gathering that the decision follows the need to reinvest backing in another organizational priorities.</p></div> <p>Beilock announced at the gathering that the College is &ldquo;working to decrease Dartmouth&rsquo;s spending by $50 million,&rdquo; in command to addition department and personnel salaries &ldquo;especially if and whenever cost increase continues to rise,&rdquo; according to a copy of her address published on the Office of the President&rsquo;s <a href="https://en.mycoding.id/category/technology" target="_blank">website</a>.</p> <p>In a Nov. 11 email declaration to The Dartmouth, Barnello wrote that the $50 myriad &ldquo;reflects adjustments already made&rdquo; to the budget, and that &ldquo;roughly half&rdquo; is &ldquo;already in place&rdquo; for financial twelvemonth 2027.</p> <p>Beilock additionally announced at the gathering that the College is &ldquo;preparing&rdquo; to change North Park apartments, which are currently listed on the Office of Residential Life website as undergraduate housing, to alumnus pupil housing. The North Park apartments have exclusively housed undergraduates since the 2022-2023 scholarly year, according to the Dartmouth Graduate Student Council <a href="https://en.mycoding.id/category/technology" target="_blank">website</a>.</p> <p><strong>Correction appended </strong>(Nov. 12, 9:30 a.m.): <em>A former type of this part referred to Alex Moon as he. They use they/them pronouns.</em></p> <hr> <div><div> <p><strong>Sahil Gandhi</strong></p><p>Sahil Gandhi &rsquo;29 is a newsman from Staten Island, N.Y., and is majoring in ecological studies and authorities modified alongside doctrine and economics. He loves term searches and falling downward net and Wikipedia rabbit holes. He can be reached at sgandhi@thedartmouth.com.</p> </div></div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/dartmouth-guarini-will-not-admit-math-phd-cohort-this-year-77134</guid> <pubDate>Sat, 14 Nov 2026 20:23:40 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[LinkedIn, Monster take down over 1000 fake job postings after CBC investigation]]></title> <description><![CDATA[LinkedIn, Monster take down over 1000 fake job postings after CBC investigation. Comments]]></description> <media:thumbnail url="https://i.cbc.ca/ais/4698d13a-5ae6-41a5-9a0c-1c9a185a70cf,1794348315810/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D620"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/linkedin-monster-take-down-over-1000-fake-job-postings-after-cbc-investigation-77130</link> <content:encoded><![CDATA[<div><p>More than 1,500 misleading job postings &mdash; offering distant work, no cognition needed &mdash; have been taken downward from LinkedIn and Monster following a CBC ocular inquiry revealed the listings funnelled unsuspecting applicants to a multi-level promotion (MLM) business that asked for money.</p><p>CBC connected a network of travel-related pages posting doubtful jobs &mdash; positions akin "Work From Home Travel Planner and Virtual Customer Support Representative" &mdash; to a U.S.-based MLM called Evolution Travel. Some of the roles promised to pay up to $75,000 US per year. </p><p>In reality, there was no job and no salary.</p><p>Applicants were quickly directed to associate virtual data sessions, anywhere they were asked to pay hundreds of dollars up front, followed by a monthly subscription fee. The program promised to instruct members how to create prosperity from booking journey as an autonomous delegate and recruiting others into the program, taking a cut of their commissions.</p><p><em><strong>WATCH | Investigating who's rearward hundreds of counterfeit job postings:</strong></em><span><span><div data-cy="player-placeholder-ui-container"><div title="Exposing who’s rearward counterfeit job ads online" role="button" tabindex="0"><div><div title="Exposing who’s rearward counterfeit job ads online"><p><img src="https://i.cbc.ca/ais/8fbe60c6-3d84-4f14-9819-471a19ec4f03,1794362058747/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D620" srcset="" alt="" loading="lazy"></p><div><div><p>Exposing who&rsquo;s rearward counterfeit job ads online</p></div></div></div></div></div></div><span>Major job-seeking platforms presenter hundreds of listings for distant journey jobs that commitment salaries up to $75,000 alongside no cognition required. CBC Visual Investigations applied online and established that there is no job: The ads guide to a U.S.-based multi-level promotion scheme that asks unsuspecting applicants to pay up front. After flagging the listings to LinkedIn and Monster, nearly 1,500 were taken offline.</span></span></span></p><p>The companies went by names akin Wanderwell Collective, Professional Travel Hub, Remote-Careers, Sky Land &amp; Ocean Travel and Sunkissed Getaways.</p><p>The job postings made no citation of Evolution Travel or sign-up fees.</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/194d6b5e-e6fb-45a8-95f8-467b8a8d2365,1794336020307/full/max/0/default.jpg?im=Crop%2Crect%3D%28178%2C0%2C1741%2C1062%29%3BResize%3D796"></source><img loading="lazy" alt="A screenshot of a job posting." srcset="https://i.cbc.ca/ais/194d6b5e-e6fb-45a8-95f8-467b8a8d2365,1794336020307/full/max/0/default.jpg?im=Crop%2Crect%3D%28178%2C0%2C1741%2C1062%29%3BResize%3D796 796w,https://i.cbc.ca/ais/194d6b5e-e6fb-45a8-95f8-467b8a8d2365,1794336020307/full/max/0/default.jpg?im=Crop%2Crect%3D%28178%2C0%2C1741%2C1062%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/194d6b5e-e6fb-45a8-95f8-467b8a8d2365,1794336020307/full/max/0/default.jpg?im=Crop%2Crect%3D%28178%2C0%2C1741%2C1062%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794336020307/full/max/0/default.jpg?im=Crop%2Crect%3D%28178%2C0%2C1741%2C1062%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>Many of the jobs did not necessitate cognition and promised to pay up to $75,000 US. (Illustration: Matthew Hoddy/CBC; LinkedIn)</p></div></div><p>"This is disgusting," stated Jay Jones, a Chicago-based&nbsp;job listing investigator who CBC shared its findings with. "They capture you alongside the lure of the counterfeit job. The prosperity is great, [successful applicants] get to remain at home. You have to pay to get activity &mdash; that's not how activity works."</p><p>Misleading job postings &mdash; including ones that necessitate fee or guide to MLMs &mdash; are strictly prohibited on platforms akin LinkedIn and another job sites.</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/13add45a-4465-448d-ac40-6c980c84efef,1794340755208/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C2423%2C1669%29%3BResize%3D796"></source><img loading="lazy" alt="A man speaks to the camera." srcset="https://i.cbc.ca/ais/13add45a-4465-448d-ac40-6c980c84efef,1794340755208/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C2423%2C1669%29%3BResize%3D796 796w,https://i.cbc.ca/ais/13add45a-4465-448d-ac40-6c980c84efef,1794340755208/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C2423%2C1669%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/13add45a-4465-448d-ac40-6c980c84efef,1794340755208/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C2423%2C1669%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794340755208/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C2423%2C1669%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>Jay Jones investigates misleading and counterfeit jobs online. (CBC)</p></div></div><p>"It feels in so many ways that we're living in a funhouse mirror," stated Vass Bednar, managing director of the Canadian Shield Institute, a community guideline think-tank that focuses on financial resilience and digital sovereignty. </p><p>These postings hazard "eroding confidence &mdash; confidence in the oneself and confidence that there is, frankly, meaningful activity out there for group that is value pursuing."</p><h2>Jobs were 'misleading': LinkedIn</h2><p>MLMs are not forbidden in Canada or the U.S. However, in the U.S., companies and individuals could visage fines if they are established to breach the U.S. Federal Trade Commission Act, which prohibits "unfair or deceptive acts or practices in or affecting commerce."</p><p>"I would regard [these job posts] misleading&hellip; and would invitation implementation by either the FTC, the province governments or another national implementation agencies," stated William Kovacic, erstwhile FTC chairman and commissioner, alongside whom CBC additionally shared its findings.</p><p>One autonomous delegate rearward multiple journey businesses connected to misleading jobs ads CBC identified &mdash; Wanderwell Collective, Destination Knot, Aisle and Abroad, and Professional Travel Hub &mdash; was Diedre Norton. In one video posted to YouTube, Norton stated she had a network of 300 recruits for Evolution Travel.</p><p>Even although Evolution Travel&rsquo;s founder, David McCovy, praised her in online videos as being a top performer, Norton denied being affiliated alongside the program before hanging up on CBC News.</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/4ec1ceeb-1ea8-4fa1-b74f-abacc9676cab,1794340852001/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1288%2C726%29%3BResize%3D796"></source><img loading="lazy" alt="A screenshot of a video shows a man holding a wad of cash, alongside group lined up rearward him." srcset="https://i.cbc.ca/ais/4ec1ceeb-1ea8-4fa1-b74f-abacc9676cab,1794340852001/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1288%2C726%29%3BResize%3D796 796w,https://i.cbc.ca/ais/4ec1ceeb-1ea8-4fa1-b74f-abacc9676cab,1794340852001/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1288%2C726%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/4ec1ceeb-1ea8-4fa1-b74f-abacc9676cab,1794340852001/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1288%2C726%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794340852001/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1288%2C726%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>Screenshot of an online video showing Evolution originator David McCovy during a conference. (EvolutionTravelCafe/YouTube)</p></div></div><p>McCovy did not react to CBC&rsquo;s requests for comment.</p><p>A delegate from Evolution Travel who lone identified themselves by their title, chief functioning officer, told CBC they have consistently told their autonomous agents not to article job ads on any platforms.</p><p>Late final month, LinkedIn took downward near to 900 ads connected to Evolution Travel, saying it had removed them since they were "misleading and violated" business policy, adding "the companies rearward them volition no longer be capable to article jobs" on the platform.</p><p>Monster took downward 600 listings, saying it has "clear policies prohibiting misleading job postings and multi-level promotion opportunities, and we obtain act to eliminate listings that do not encounter our standards."</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/9ed4fc9a-2abc-4332-9562-bf577623fa5b,1794257402674/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D796"></source><img loading="lazy" alt="A sequence of screenshots of online job postings." srcset="https://i.cbc.ca/ais/9ed4fc9a-2abc-4332-9562-bf577623fa5b,1794257402674/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D796 796w,https://i.cbc.ca/ais/9ed4fc9a-2abc-4332-9562-bf577623fa5b,1794257402674/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/9ed4fc9a-2abc-4332-9562-bf577623fa5b,1794257402674/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794257402674/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>Hundreds of job postings posted to LinkedIn and Monster really brought applicants into the recruiting procedure for a multi-level promotion company, a CBC News ocular inquiry has found. (Illustration: Matthew Hoddy/CBC, LinkedIn, Monster)</p></div></div><h2>Detecting counterfeit jobs</h2><p>Evolution Travel does not run in Canada, but CBC journalists motionless came throughout the job posting in their feeds. They were additionally recommended in emails from LinkedIn.</p><p>The ads contained contiguous red flags. The journey companies named in the ads had minimal to no existence online, and there were near to 1,500 postings, frequently alongside nearly identical job descriptions.</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/aee0fcbb-09c1-4568-863f-a2da9bc135c6,1794333870753/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C698%2C678%29%3BResize%3D796"></source><img loading="lazy" alt="A screenshot of job postings." srcset="https://i.cbc.ca/ais/aee0fcbb-09c1-4568-863f-a2da9bc135c6,1794333870753/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C698%2C678%29%3BResize%3D796 796w,https://i.cbc.ca/ais/aee0fcbb-09c1-4568-863f-a2da9bc135c6,1794333870753/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C698%2C678%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/aee0fcbb-09c1-4568-863f-a2da9bc135c6,1794333870753/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C698%2C678%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794333870753/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C698%2C678%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>Many of the jobs did not necessitate cognition and were remote. CBC established additional than 1,500 misleading or counterfeit jobs. (LinkedIn)</p></div></div><p>The jobs, in many cases, required no education, no previous cognition and frequently did not necessitate a resum&eacute;.</p><p>CBC applied for eight jobs on LinkedIn and Monster, attaching a blank document as a resum&eacute; in cases that required it. Upon applying, the squad was sent automated emails to associate a virtual data meeting by individuals connected to Evolution Travel.&nbsp;</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/f33c6c06-eda2-44e6-9bef-159567009fb1,1794340972098/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D796"></source><img loading="lazy" alt="A figure of screenshots from the procedure of applying to a job online." srcset="https://i.cbc.ca/ais/f33c6c06-eda2-44e6-9bef-159567009fb1,1794340972098/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D796 796w,https://i.cbc.ca/ais/f33c6c06-eda2-44e6-9bef-159567009fb1,1794340972098/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/f33c6c06-eda2-44e6-9bef-159567009fb1,1794340972098/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794340972098/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>CBC journalists were sent automated emails and asked to associate a virtual data meeting by individuals connected to Evolution Travel upon applying for the jobs. (CBC)</p></div></div><p>Evolution Travel and its partner Archer Travel Services depict themselves as an global "home-based journey business" that trains its members to publish journey and acquire a commission.</p><p>But it's not fair concerning booking travel. Archer Travel&rsquo;s website describes Evolution Travel as its "recruiting partner" and describes it as a "network marketing" business &mdash; another term for multi-level marketing, <a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank">according to the U.S. Commodity Futures Trading Commission.</a></p><p>A compensation scheme for members on Evolution Travel&rsquo;s website shows a percent of commissions and monthly bonuses are paid to the most productive recruiters, alongside affiliation tiers up to "8 Star Platinum" for recruiting 100,000 people.</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/52f115f9-1c0f-4bc8-bf57-89202225e662,1794326417369/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D796"></source><img loading="lazy" alt="A screenshot shows portions of a document." srcset="https://i.cbc.ca/ais/52f115f9-1c0f-4bc8-bf57-89202225e662,1794326417369/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D796 796w,https://i.cbc.ca/ais/52f115f9-1c0f-4bc8-bf57-89202225e662,1794326417369/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/52f115f9-1c0f-4bc8-bf57-89202225e662,1794326417369/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794326417369/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1920%2C1080%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>Documents display compensation plans for Evolution Travel. (Evolution Travel)</p></div></div><p>None of this was mentioned in the data sessions CBC attended, which covered journey booking exclusively. When a CBC newsman posing as a job applicant asked concerning getting commissions from their own recruits, the meeting presenter stated it was not covered in the data sessions and that the individual who welcomed them into the program would location it. </p><p>Session hosts additionally didn&rsquo;t disclose there is a hidden $50 annual fee in the autonomous contractor agreement, seen by CBC, whenever signing up.</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/eb5ea3bf-9f3f-445a-92ca-234cbed0ed2b,1794260302480/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1201%2C694%29%3BResize%3D796"></source><img loading="lazy" alt="A screenshot from an informational virtual session." srcset="https://i.cbc.ca/ais/eb5ea3bf-9f3f-445a-92ca-234cbed0ed2b,1794260302480/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1201%2C694%29%3BResize%3D796 796w,https://i.cbc.ca/ais/eb5ea3bf-9f3f-445a-92ca-234cbed0ed2b,1794260302480/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1201%2C694%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/eb5ea3bf-9f3f-445a-92ca-234cbed0ed2b,1794260302480/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1201%2C694%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794260302480/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1201%2C694%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>A screenshot from an Evolution virtual meeting shows the packages attendees can pay to enrol in the program. (Evolution Travel)</p></div></div><p>Former FTC chairman and commissioner Kovacic stated if he were motionless at the agency, he would be looking into the company.</p><p>"[Fees are] not presented in the first interaction," he said. "It's shrouded in a way that's extremely crucial and would mislead users."</p><h2>27,000 autonomous contractors</h2><p>Job seekers have been complaining concerning Evolution Travel, its members and agents akin Deidre Norton online and to the Better Business Bureau for years.</p><p>In 2021, Evolution Travel<a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank"> was among 1,000 companies</a> put on notice by the U.S. Federal Trade Commission that they could visage fines if they or their representatives made "misleading, or deceptive representations" concerning a "money-making opportunity."&nbsp;</p><p>Kovacic stated a resolute that "defied" FTC notices and continued to persist in these practices would be a "worthy mark for an investigation."</p><div><div><figure><div><source media=" 480px)" srcset="https://i.cbc.ca/ais/e4e4b07a-26f0-4ca9-9060-ad3b1e8fe1d4,1794327394575/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D796"></source><img loading="lazy" alt="A figure of screenshots of comments on the internet." srcset="https://i.cbc.ca/ais/e4e4b07a-26f0-4ca9-9060-ad3b1e8fe1d4,1794327394575/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D796 796w,https://i.cbc.ca/ais/e4e4b07a-26f0-4ca9-9060-ad3b1e8fe1d4,1794327394575/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D1083 1083w,https://i.cbc.ca/ais/e4e4b07a-26f0-4ca9-9060-ad3b1e8fe1d4,1794327394575/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D1280 1280w" sizes=" 762px) calc(100vw - 32px),730px" src="https://www.cbc.ca/news/canada/1794327394575/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C0%2C1280%2C720%29%3BResize%3D1280" data-cy="image-img"></div></figure><p>CBC News established many complaints online concerning companies connected to the job postings. (Illustration: Matthew Hoddy/CBC, Reddit, Better Business Bureau)</p></div></div><p>Ron Archer, the CEO of Archer Travel Services, stated that the business does "not condone forbidden job postings and addresses them whenever we are made aware."</p><p>Yet in videos online, journey agents connected to Evolution Travel talked openly concerning using LinkedIn job postings to enlist group into the business.</p><p>Archer stated they cannot "tell group how they train for their business" since they have "27,000 autonomous contractors about the world."</p><p>"LinkedIn is a big one," stated one associate in a June 2026 training video posted to YouTube. "We have fairly a few distinct trainings on how to article on LinkedIn."</p><p>Jay Jones, who has gotten tens of thousands of jobs taken downward from platforms himself, stated companies akin LinkedIn and Monster create income through this traffic.</p><p>"There's no genuine vetting of what companies get to be created, what jobs get to be listed," stated Jones. "People coming [to LinkedIn] believing that there are genuine opportunities are greeted alongside this MLM nonsense."</p><p><em><strong>For any tips connected to this investigation, communication </strong></em><a href="https://en.mycoding.id/category/technology" target="_blank">eric.szeto@cbc.ca</a><em><strong> or the ocular inquiry team&rsquo;s inbox: vi@cbc.ca</strong></em></p></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/linkedin-monster-take-down-over-1000-fake-job-postings-after-cbc-investigation-77130</guid> <pubDate>Sat, 14 Nov 2026 19:56:47 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[A reimagined OS with no folders and no apps]]></title> <description><![CDATA[A reimagined OS with no folders and no apps. Comments]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/a-reimagined-os-with-no-folders-and-no-apps-77131</link> <content:encoded><![CDATA[<a href="https://en.mycoding.id/category/technology" target="_blank">Comments</a>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/a-reimagined-os-with-no-folders-and-no-apps-77131</guid> <pubDate>Sat, 14 Nov 2026 19:55:12 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[5 Businesses I Wouldn’t Start in 2027 — and 5 Models I’d Look at Instead]]></title> <description><![CDATA[5 Businesses I Wouldn’t Start in 2027 — and 5 Models I’d Look at Instead. These are the businesses I would think twice concerning starting, affirmative alternatives that recommendation improved leverage, scalability and earnings potential.]]></description> <media:thumbnail url="https://www.entrepreneur.com/wp-content/uploads/sites/2/2026/11/businesses-to-start-in-2027-1126_g1257907761.jpg"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/5-businesses-i-wouldn-t-start-in-2027-and-5-models-i-d-look-at-instead-77135</link> <content:encoded><![CDATA[<p> Opinions expressed by Entrepreneur contributors are their own. </p><div> <div> <div><div> <h2>Key Takeaways</h2> <ul> <li>The endeavor example matters nearly as much as the entrepreneur. </li> <li>Favor leverage, recurring income and systems.</li> <li>Generalist offers (agencies, broad courses, generic stores) are getting commoditized. Specialize, market outcomes and build for reiterate customers.</li> <li>Ask of any opportunity: Can this eventually activity without me?</li> </ul> </div> </div> </div> <p>Search &ldquo;<a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" rel="noreferrer noopener">best businesses to start</a>&rdquo; and you&rsquo;ll see the identical ideas on repeat: dropshipping, influencing, a generic promotion agency, item on Amazon. Technically, they can all motionless work. But &ldquo;can work&rdquo; and &ldquo;where I&rsquo;d put my period and prosperity today&rdquo; are two extremely distinct things.</p> <p>After nearly a decade in ecommerce and online business, I&rsquo;ve learned that the endeavor example matters nearly as much as the entrepreneur. A awesome controller can combat through a difficult model, but why choose one that demands enormous time, has razor-thin margins or depends on continually finding your next customer?</p> <p>Heading into 2027, I&rsquo;m drawn to three things: leverage, <a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" rel="noreferrer noopener">recurring revenue</a> and systems. Here are five businesses I&rsquo;d think twice concerning starting from scratch, and what I&rsquo;d regard instead.</p> <p>A few years ago, the playbook was simple: district a few local clients at $1,000 or $2,000 a month, outsource the activity and scale. But everyone got the memo. Generalist agencies now vie alongside freelancers, offshore teams, in-house hires and increasingly capable AI tools.</p> <h3 id="h-what-i-d-start-instead-a-specialized-ai-automation-business">What I&rsquo;d commencement instead: A specialized AI automation business</h3> <p>Solve one costly issue for one category of business. Help dental practices prosecute up alongside leads who never scheduled. Build AI customer-service workflows for ecommerce brands. Automate reminders and client reactivation for home-service companies.</p> <p>The chance isn&rsquo;t marketing AI; businesses can admission that themselves. It&rsquo;s <a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" rel="noreferrer noopener">knowing what to automate</a> and connecting it to a genuine outcome. &ldquo;Social media management&rdquo; is a vague row item, during recovering thousands of dollars in misplaced leads is uncomplicated to understand. Sell the outcome, not the technology.</p> <h2 id="h-2-i-wouldn-t-start-a-traditional-diy-amazon-side-hustle">2. I wouldn&rsquo;t start: A traditional DIY Amazon flank hustle</h2> <p>The idea that you can open a Seller Central account, catalog a few products following activity and bask effortless earnings is increasingly detached from reality. Sourcing, pricing, Buy Box competition, inventory, client assistance and document health all petition attention. For person who wants to rotate into an operator, that&rsquo;s fine. But many professionals desire ecommerce visibility without creating a second full-time job.</p> <h3 id="h-what-i-d-consider-instead-owning-without-operating">What I&rsquo;d regard instead: Owning without operating</h3> <p>For group alongside additional chief than time, a professionally <a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" rel="noreferrer noopener">managed ecommerce storefront</a> may be value a look. The owner finances and owns the store, during an informed squad handles day-to-day operations for a fee or a portion of profits, much akin a asset owner hiring a asset manager. These investors aren&rsquo;t looking for item alternatively to do. They&rsquo;re looking for item alternatively to own.</p> <p>It isn&rsquo;t risk-free. Marketplaces shift, revenue change and projected earnings is never guaranteed income, so vet who really operates the shop and how profits are calculated before you commit.</p> <h2 id="h-3-i-wouldn-t-start-a-generic-dropshipping-store">3. I wouldn&rsquo;t start: A generic dropshipping store</h2> <p>The throw is irresistible: no inventory, your provider ships the command and you pocket the difference. But acquiring the client is the difficult part. A shop marketing products that hundreds of another websites additionally market has small rivalrous advantage, and you&rsquo;re frequently reliant on paid promotion and on finding products before competitors heap in.</p> <h3 id="h-what-i-d-start-instead-a-niche-brand-with-repeat-purchase-potential">What I&rsquo;d commencement instead: A niche brand alongside repeat-purchase potential</h3> <p>Think beauty, pet products, specialty foods, individual attention or hobby consumables. The category matters small than the economics. Ask yourself: If I expend $40 acquiring this client today, can they be value $200 to me complete the next two years?</p> <p>An ad stops producing the instant you rotate it off. A loyal client base, an email catalog and a <a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" rel="noreferrer noopener">recognizable brand</a> can rotate into additional precious all year.</p> <h2 id="h-4-i-wouldn-t-start-a-broad-online-course">4. I wouldn&rsquo;t start: A broad online course</h2> <p>Expertise used to be nearly enough: document six hours of video, build a landing page, accusation $997. Today, data is abundant, including through AI, and group are reluctant to pay premium prices for it. Information isn&rsquo;t scarce anymore; genuine results are.</p> <h3 id="h-what-i-d-build-instead-a-niche-digital-product-ecosystem">What I&rsquo;d build instead: A niche digital merchandise ecosystem</h3> <p>Build multiple particular products that resolve narrow problems, specified as a template, calculator, workflow, database, paid community or small application tool, and create satisfied for the spectators they serve. Someone who knows Airbnb could skip the &ldquo;$997 Masterclass&rdquo; and recommendation a profitability calculator, a cleaning-checklist system, guest-message templates and a paid newsletter on market changes. That ecosystem is much harder to substitute alongside a sole AI prompt.</p> <h2 id="h-5-i-wouldn-t-start-a-business-that-depends-entirely-on-your-personal-brand">5. I wouldn&rsquo;t start: A endeavor that depends entirely on your individual brand</h2> <p>Personal brands are powerful, but they can rotate into cages. If income disappears whenever you halt posting or showing your visage online, you&rsquo;ve created income, not necessarily an <a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" rel="noreferrer noopener">independent business</a>. You power affection posting three videos a day at 25. Will you motionless desire to at 35?</p> <h3 id="h-what-i-d-build-instead-a-business-that-can-eventually-operate-without-me">What I&rsquo;d build instead: A endeavor that can eventually run without me</h3> <p>This is the display I&rsquo;d use to nearly any opportunity: Can this eventually activity without me? It doesn&rsquo;t need to be hands-off on day one, but there have to be a way from founder-dependent to system-dependent. Can person alternatively grip client service? Can revenue rotate into repeatable? Can procedures be documented? Can customers keep purchasing during you&rsquo;re on vacation?</p> <p>If all crucial function leads rear to you, that&rsquo;s not freedom. It&rsquo;s self-employment alongside a nicer title.</p> <h2 id="h-the-real-opportunity-is-leverage">The genuine chance is leverage</h2> <p>The endeavor I&rsquo;m observing in 2027 isn&rsquo;t really an idea. It&rsquo;s <a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" rel="noreferrer noopener">leverage</a>. AI gives one employee leverage. Software gives a small business leverage. Recurring income gives client acquisition leverage. A administration squad gives an owner leverage. Capital gives an capitalist leverage. And systems provision entrepreneurs perchance the most precious form of all: time.</p> <p>So alternatively of asking, &ldquo;What&rsquo;s the hottest endeavor to start?&rdquo; ask: What can I build or own today that becomes small reliant on my period as it grows? If you have small chief but plentifulness of time, an AI automation assistance may fit. If you comprehend products and branding, regard a niche person brand. If you have ability but don&rsquo;t desire to rotate into an influencer, digital products can rotate it into an asset. And if you have chief but small spare time, a professionally managed endeavor may deserve a nearer look.</p> <p>The finest endeavor isn&rsquo;t continually the one that makes the most prosperity today. It may be the one that eventually stops needing you to create all dollar. After all, your period is precious.</p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/5-businesses-i-wouldn-t-start-in-2027-and-5-models-i-d-look-at-instead-77135</guid> <pubDate>Sat, 14 Nov 2026 19:30:00 +0700</pubDate> <author><![CDATA[support@mycoding.id (Katie Melissa)]]></author> </item> <item> <title><![CDATA[The FAA ground stop stranded me at the airport with 3 kids until 4 a.m. We're delayed 3 days and facing thousands in costs.]]></title> <description><![CDATA[The FAA ground stop stranded me at the airport with 3 kids until 4 a.m. We're delayed 3 days and facing thousands in costs.. The FAA dirt halt remaining my family stranded in Orlando alongside three young kids. We're facing thousands in additional expenses and misplaced wages.]]></description> <media:thumbnail url="https://i.insider.com/6af8a55ecbe2120470735964?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/the-faa-ground-stop-stranded-me-at-the-airport-with-3-kids-until-4-a-m-we-re-delayed-3-days-and-facing-thousands-in-costs-77126</link> <content:encoded><![CDATA[<div e-name="post-hero" data-component-type="post-hero" data-load-strategy="exclude"> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject"> <div> <p><img src="https://i.insider.com/6af8a2be0cc3ffba8779d3e6?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6af8a2be0cc3ffba8779d3e6?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6af8a2be0cc3ffba8779d3e6?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6af8a2be0cc3ffba8779d3e6?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6af8a2be0cc3ffba8779d3e6?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6af8a2be0cc3ffba8779d3e6?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6af8a2be0cc3ffba8779d3e6?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="Woman alongside luggage" decoding="sync"> </p></div> <span> <span> <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewbox="0 0 24 24"> <path fill="currentColor" fill-rule="evenodd" d="m4.56 18.5 7.486-7.72 7.394 7.626 2.56-2.64L12.046 5.5 2 15.86l2.56 2.64Z"></path> </svg> <figcaption e-name="image-caption"> <span>Morgane Richardson and her family were stranded in Orlando because of the FAA dirt stop.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of Morgane Richardson</span> </span> </figcaption> </span> </span> </figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p><em>This as-told-to composition is according to a conversation alongside Morgane Richardson. It has been edited for dimension and clarity</em></p><p>My family was already in the air flying from Puerto Rico to Orlando, en path rear to our residence in Albany, New York, whenever we established out concerning the <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">ground stop</a>. I had a activity gathering there, so I decided to bring my spouse and three kids, twin 3-year-olds and an 8-year-old, alongside me.</p><p>Luckily, we were capable to land, but the aviator told us all <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">connections had been canceled</a>. Now it's going to obtain us three additional days to get home, and it's going to disbursal us thousands of dollars.</p><h2 id="afc87437-d154-4730-a2b8-2064f44b9424" data-toc-id="afc87437-d154-4730-a2b8-2064f44b9424"><strong>We were at the Orlando airfield until 3 a.m.</strong></h2><p>When we <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">landed in Orlando</a> at 7 p.m., everything was chaotic, alongside lengthy lines of group <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">trying to get help</a>. My spouse and I got our kids settled at among the gates, and afterward I waited in row for concerning an hour. The client assistance delegate told me our connecting escape would depart at 1 a.m., so we decided to remain at the airport.</p> <figure data-type="img" e-name="image-figure-image" data-media-container="image" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view" itemscope="" itemtype="https://schema.org/ImageObject"> <div> <p><img src="image/svg+xml,%3C%3Fxml%20version=&#039;1.0&#039;%20encoding=&#039;UTF-8&#039;%3F%3E%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;1&#039;%20height=&#039;1&#039;/%3E" data-content-type="image/jpeg" data-srcs='//i.insider.com/6af8a343b2c29afb4e56b0cd&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:1206,&quot;aspectRatioH&quot;:905}}' alt="Kids sleeping on the floor"> </p></div> <span> <figcaption e-name="image-caption"> Morgane Richardson and her family waited in the Orlando airfield for their escape to obtain off.&nbsp; <span e-name="image-source" itemprop="creditText"> Courtesy of Morgane Richardson </span> </figcaption> </span> </figure> <p>Our kids were certainly troopers, but were exhausted. We were capable to get among the small ones to autumn idle in their stroller, but the another two didn't autumn idle until concerning 10 p.m., way <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">past their bedtime</a>. The entire period we were there, the transporter didn't recommendation us anything, not equal a snack or a blanket. The kids were certainly uncomfortable on the flat and cold.</p><p>One of our kids goes to bed all night alongside a heated cup of milk, but all of the vendors were closed, so she couldn't have it, which led to several big tears. We were capable to get everyone meal before things closed, though.</p><h2 id="1097a940-737f-457e-a4c5-8016b892452d" data-toc-id="1097a940-737f-457e-a4c5-8016b892452d"><strong>The archetypal accessible escape isn't until Sunday night</strong></h2><p>After waiting nearly six hours at the airport, we established out at near to 1 a.m. that our escape had been canceled. By that point, we were having difficulty finding a inn alongside availability, and we didn't have our bags alongside us.</p> <figure data-type="img" e-name="image-figure-image" data-media-container="image" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view" itemscope="" itemtype="https://schema.org/ImageObject"> <div> <p><img src="image/svg+xml,%3C%3Fxml%20version=&#039;1.0&#039;%20encoding=&#039;UTF-8&#039;%3F%3E%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;1&#039;%20height=&#039;1&#039;/%3E" data-content-type="image/jpeg" data-srcs='//i.insider.com/6af8a3a4b2c29afb4e56b0cf&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4284,&quot;aspectRatioH&quot;:3213}}' alt="Flight cancelations"> </p></div> <span> <figcaption e-name="image-caption"> Morgane Richardson's escape ended up getting canceled.&nbsp; <span e-name="image-source" itemprop="creditText"> Courtesy of Morgane Richardson </span> </figcaption> </span> </figure> <p>With lone one alter of apparel in our carry-on, we really needed our bags. They were efficiently misplaced in a sea of luggage at the airport. A Southwest delegate yelled at me whenever I asked if we could get our bags, and fair shrugged whenever I asked what families who need a alter of clothes, diapers, or equation should do. Thank goodness a bag handler took pity on us and spent an hr finding our bags.</p><p>We eventually established a inn alongside preparedness that would let us inspect in at 4 a.m. We're currently scheduled for a escape at 9 pm on Sunday night alongside a seven-hour layover in Baltimore. That method we won't get residence until near to midnight on Monday, nearly three complete days afterward than we initially planned.</p> <p>Driving wasn't really an choice for us. There weren't any rental cars remaining by the period we established out our escape was canceled, and it would have been an 18-hour run to get home. Our kids wouldn't have been capable to grip that, so figuring out another escape was really the lone choice.</p><h2 id="5a050bb6-13f9-4a5e-afc3-278a5c8f0f2c" data-toc-id="5a050bb6-13f9-4a5e-afc3-278a5c8f0f2c"><strong>The financial effect volition be thousands of dollars</strong></h2><p>Our inn area is $300 a night, and we'll need to pay for food for three additional days, too. We volition likely let our kids remainder and float in the inn pool, but if we decide to do any activities alongside them, those volition disbursal prosperity as well.</p> <figure data-type="img" e-name="image-figure-image" data-media-container="image" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view" itemscope="" itemtype="https://schema.org/ImageObject"> <div> <p><img src="image/svg+xml,%3C%3Fxml%20version=&#039;1.0&#039;%20encoding=&#039;UTF-8&#039;%3F%3E%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;1&#039;%20height=&#039;1&#039;/%3E" data-content-type="image/png" data-srcs='//i.insider.com/6af8a515b2c29afb4e56b0d6&quot;:{&quot;contentType&quot;:&quot;image/png&quot;,&quot;aspectRatioW&quot;:1087,&quot;aspectRatioH&quot;:815}}' alt="Family sleeping on the flat at airport"> </p></div> <span> <figcaption e-name="image-caption"> Morgane Richardson and her family slept on the flat at the airport.&nbsp; <span e-name="image-source" itemprop="creditText"> Courtesy of Morgane Richardson </span> </figcaption> </span> </figure> <p>On top of that, my spouse is an acupuncturist and missed a few days of activity since of the dirt stop. The medicinal center she plant in already slows downward complete the holidays, so her not being capable to activity is really going to power us financially, too.</p><p>Hopefully we'll be capable to get on an before flight. We keep calling Southwest in hopes there's item alternatively we can get on, but alongside so many passengers in a akin circumstance to ours, it's really unclear what power happen.</p> </div> <h2>Read next</h2> <div data-recommendations-content data-track-click-shared='&quot;Read next&quot;}'> <div e-name="read-next-list" data-recommendations-list> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> <span> <p><img src="image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20viewBox=&#039;0%200%201%201&#039;%3E%3C/svg%3E" data-src="/public/assets/logos/placeholder.png" alt=""> </p> </span> <h3> <span>Business Insider tells the innovative stories you desire to know</span> </h3> </div> </div> <a e-name="read-next-image-link" data-recommendations-image-link data-recommendations-link tabindex="-1"> <p><img alt=""> </p> </a> <h3> <a e-name="read-next-title-link" data-recommendations-link data-recommendations-title></a> </h3>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/the-faa-ground-stop-stranded-me-at-the-airport-with-3-kids-until-4-a-m-we-re-delayed-3-days-and-facing-thousands-in-costs-77126</guid> <pubDate>Sat, 14 Nov 2026 19:19:33 +0700</pubDate> <author><![CDATA[support@mycoding.id (Elliott Harrell)]]></author> </item> <item> <title><![CDATA[Apa Itu cPanel? Peta 8 Bagian Menu dan Fungsinya]]></title> <description><![CDATA[Apa Itu cPanel? Peta 8 Bagian Menu dan Fungsinya. Apa Itu cPanel? Peta 8 Bagian Menu dan Fungsinya. Apa itu cPanel? cPanel adalah antarmuka web untuk mengelola akun hosting: kalian bisa membikin email, mengatur...]]></description> <media:thumbnail url="https://www.jetorbit.com/blog/wp-content/uploads/2026/11/apa-itu-cpanel-dan-fungsi-menunya.png"/> <category><![CDATA[Indonesian]]></category> <link>https://en.mycoding.id/apa-itu-cpanel-peta-8-bagian-menu-dan-fungsinya-77139</link> <content:encoded><![CDATA[<div><p>Apa itu cPanel? cPanel adalah antarmuka web untuk mengelola akun hosting: kalian bisa membikin email, mengatur database, mengunggah file, dan memasang SSL dari satu halaman di browser. Fitur-fiturnya dikelompokkan per bagian, jadi mencarinya jauh lebih cepat jika kalian sudah tahu peta menunya.</p> <p>Artikel ini menjawab apa itu cPanel lewat peta menunya. Tiap bagiankecil dijelaskan fungsinya, kemudian diarahkan ke panduan Jetorbit yang memuat metode lengkapnya. Nama bagiankecil dan menu mengikuti <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank" rel="noopener">dokumentasi resmi cPanel</a>.</p> <h2>Apa itu cPanel dan siapa yang mengatur isinya</h2> <p>Dokumentasi resmi mengatakan antarmuka cPanel sebagai halaman utama bagi pelanggan akun cPanel, tempat membikin dan mengelola domain, email, konten situs, dan database. Kalian membukanya lewat browser dan masuk dengan username dan password cPanel. Cara mendapatkan dan memakai kredensial itu ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">panduan login ke cPanel</a>.</p> <p>Satu hal sering bikin bingung: menu di akun kalian bisa berbeda dari tangkapan layar di artikel maupun dokumentasi. Penyedia hosting bisa menghidupkan maupun mematikan sebuah fitur lewat Feature Manager di WHM, dan profil server juga bisa menonaktifkan sebagian fitur. Kalau menu yang kalian cari tidak ada, tanyakan ke supplier hosting. Kalau pertanyaan kalian bukan cuma apa itu cPanel tetapi juga apa bedanya dengan WHM, pembagian perannya dibahas di artikel <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">apa itu WHM dan cPanel</a>.</p> <h2>Cara membaca halaman utama cPanel</h2> <p>Kalau ditanya apa itu cPanel dari sisi tampilan, jawabannya adalah halaman utama disebut Tools yang terdiri dari tiga bagian. Features mengelompokkan fitur yang tersedia di akun kalian, dan urutannya bisa diubah dengan menyeret. General Information menampilkan pelanggan aktif, domain utama, dan home directory. Statistics menampilkan pemakaian sumber daya seperti bandwidth dan disk, dan beberapa statistik baru muncul jika supplier hosting mengaktifkannya.</p> <p>Di bilah navigasi ada kotak Search. Menekan tombol garis miring (/) langsung membawa kursor ke kotak itu, jadi jika kalian sudah hafal nama fiturnya, mengetik lebih cepat daripada menggulir halaman.</p> <p>Bagian-bagian di bawah ini menguraikan apa itu cPanel menu demi menu, mengikuti pengelompokan di dokumentasi cPanel. Fitur apa saja yang tampil di tiap bagiankecil tergantung akun dan supplier hosting kalian.</p> <h3>Files: file, FTP, dan backup</h3> <p>Bagian Files berisi File Manager, FTP Accounts, Backup, Disk Usage, Directory Privacy, dan Git Version Control. File Manager adalah pengelola file di browser. Web root-nya adalah arsip public_html (atau www), tempat file situs kalian diletakkan. File berawalan titik (dotfile) tidak tampil secara default sampai opsi Show Hidden Files diaktifkan, dan file yang dihapus masuk ke Trash dahulu sehingga statis bisa dipulihkan. Langkah pemakaiannya ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">panduan File Manager</a>.</p> <p>Menu Backup menghasilkan dokumentasi .tar.gz. Backup penuh tidak bisa dipulihkan otomatis dari cPanel: menurut dokumentasi, fungsi itu cuma ada di WHM, jadi restore penuh berarti meminta pertolongan supplier hosting. Yang bisa dipulihkan langsung dari cPanel adalah backup parsial, yaitu home directory, database, email forwarder, dan email filter. Cara membikin backup ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">panduan backup akun cPanel</a>. Sebagai pembanding, Cloud Hosting Jetorbit menyediakan backup harian untuk database yang terpisah dari backup file dan bisa dipulihkan sendiri, detailnya ada di halaman <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">Cloud Hosting</a>.</p> <p>Dua fitur lain di bagiankecil ini sering terlewat. Disk Usage menginformasikan arsip mana yang menghabiskan ruang, dan klik pada nama arsip membukanya di File Manager. Directory Privacy memasang password pada sebuah arsip lewat dokumentasi .htaccess dan .htpasswd, tetapi perlindungan itu cuma berjalan untuk akses lewat website, bukan lewat FTP.</p> <h3>Email: akun, forwarder, dan autoresponder</h3> <p>Bagian Email berisi Email Accounts, Forwarders, Autoresponders, dan fitur lain seperti BoxTrapper dan Address Importer. Dari Email Accounts kalian membikin akun lewat tombol Create dan membuka inbox lewat Check Email (Webmail). Kuota email ditetapkan oleh supplier hosting. Forwarder meneruskan email dari satu alamat ke alamat lain, dan akun emailnya mesti dibuat lebih dulu. Autoresponder membalas email otomatis, dengan interval yang dihitung dalam jam untuk tiap pengirim. Langkah membikin akun email ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">panduan membikin email di cPanel</a>.</p> <h3>Databases: database, user, dan hak akses</h3> <p>Satu database di MySQL butuh tiga hal: database-nya, user-nya, dan hak akses user itu ke database tersebut (tombol Add User To Database). Dokumentasi menyarankan MySQL Database Wizard untuk database pertama. Dokumentasi juga melarang membikin database maupun user lewat phpMyAdmin, karena phpMyAdmin tidak memetakan database sehingga backup dan restore tidak akan berjalan. phpMyAdmin dipakai untuk mengelola keterangan dan menjalankan query setelah database ada. Urutan kliknya ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">panduan membikin database MySQL di cPanel</a>.</p> <h3>Domains: domain dan pengalihan</h3> <p>Bagian Domains dipakai untuk mengelola beberapa domain dalam satu akun. Tabel List Domains menampilkan document root tiap domain, dan opsi Manage mengubahnya. Fitur Redirects mengalihkan pengunjung ke URL lain. Tipe 301 berarti permanen dan membikin mesin pelacak memperbarui catatannya, sedangkan 302 berarti sementara dan tidak memengaruhi anotasi mesin pencari. Opsi Wildcard Redirect meneruskan setiap file ke nama file yang sama di tujuan.</p> <h3>Security: SSL, blokir IP, dan verifikasi dua langkah</h3> <p>Bagian Security berisi SSL/TLS, IP Blocker, Hotlink Protection, Leech Protection, ModSecurity, Manage API Tokens, dan Two-Factor Authentication. SSL/TLS mengelola sertifikat, CSR, dan private key. IP Blocker memblokir satu IP, rentang IP, maupun nama domain dari website kalian, tetapi tidak dari jasa seperti Webmail. ModSecurity bisa dinyalakan maupun dimatikan per domain; dokumentasi menyarankan membiarkannya aktif dan mematikannya cuma saat memecahkan masalah yang berhubungan dengan ModSecurity.</p> <p>Two-Factor Authentication menambahkan metode kedua saat login: kode enam digit dari aplikasi autentikator di ponsel. Tanpa ponsel itu kalian tidak bisa masuk, dan supplier hosting mesti mengaktifkan fiturnya di WHM lebih dulu. Langkah konfigurasinya ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">panduan Two-Factor Authentication di cPanel</a>.</p> <h3>Software: varian PHP dan php.ini</h3> <p>MultiPHP Manager memilih varian PHP per domain: centang domainnya, pilih varian di menu PHP Version, kemudian klik Apply. MultiPHP INI Editor mengatur direktif php.ini untuk varian itu. Basic Mode cocok untuk pengaturan umum, sedangkan Editor Mode membuka dokumentasi php.ini langsung dan cuma untuk yang paham, karena kesalahan di sana bisa merusak skrip PHP. Bagian ini juga memuat Application Manager dan Optimize Website. Langkah mengganti varian PHP ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">panduan mengubah varian PHP di cPanel</a>.</p> <h3>Advanced: cron job</h3> <p>Cron Jobs menjalankan perintah secara terjadwal. Jadwalnya terdiri dari lima kolom (minute, hour, day, month, weekday) ditambah kolom Command, dan menu Common Settings mengisi kelima kolom itu untuk interval yang umum. Dokumentasi menyarankan memakai path absolut pada perintah, memberi selang antar-job agar tidak saling tumpang tindih, dan berjaga-jaga dengan perintah rm. Panduan lengkapnya: <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">cara membikin cron job di cPanel</a>.</p> <h3>Metrics: bandwidth dan kualitas situs</h3> <p>Halaman Bandwidth menampilkan pemakaian transfer keterangan per layanan: HTTP, POP3 dan IMAP, FTP, SMTP, plus totalnya. Site Quality Monitoring memeriksa masalah lazim di situs, misalnya link mati, tetapi crawl-nya mesti dimulai manual dan fiturnya bersandar pada supplier hosting.</p> <h2>Urutan memakai peta ini untuk situs baru</h2> <p>Setelah mengerti apa itu cPanel dan letak menu-menunya, urutan berikut biasanya cukup untuk menyiapkan situs pertama:</p> <ol> <li>Login ke cPanel dan cek Tools untuk melihat fitur yang tersedia di akun kalian.</li> <li>Buat database dan user di MySQL Databases, jika aplikasi yang kalian pasang membutuhkannya.</li> <li>Unggah file situs ke public_html lewat File Manager.</li> <li>Buat akun email di bagiankecil Email.</li> <li>Cek varian PHP di MultiPHP Manager agar cocok dengan aplikasi kalian.</li> <li>Aktifkan Two-Factor Authentication, kemudian buat backup pertama dari menu Backup.</li> </ol> <p>Kalau kalian mau membandingkan cPanel dengan panel lain, <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">perbandingan cPanel dan DirectAdmin</a> membahas selisihnya. Daftar kelebihan dan kekurangan cPanel ada di <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">artikel kelebihan dan kekurangan cPanel</a>, dan jika soal ruang tempat gudang yang tertera di paket hosting, baca <a href="https://en.mycoding.id/category/indonesian" target="_blank" target="_blank">penjelasan disk space pada hosting</a>.</p></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/apa-itu-cpanel-peta-8-bagian-menu-dan-fungsinya-77139</guid> <pubDate>Sat, 14 Nov 2026 19:00:00 +0700</pubDate> <author><![CDATA[support@mycoding.id (Doris Putra)]]></author> </item> <item> <title><![CDATA[The VHDL standard's float package gets sqrt(2) wrong]]></title> <description><![CDATA[The VHDL standard's float package gets sqrt(2) wrong. Comments]]></description> <media:thumbnail url="https://opengraph.githubassets.com/47ea6479f2f8593553c38cb221aba55698fc7640c273c4c42dcb29ea51f35c48/lmtlssss/speedrunpapi"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/the-vhdl-standard-s-float-package-gets-sqrt-2-wrong-77127</link> <content:encoded><![CDATA[<div data-hpc="true" containertiming="hpc"> <p dir="auto">We established sqrt(2.0) in the standard's float_pkg returns one component in the final location too low in twice precision by default. This is the IEEE 1076-2008 and 1076-2019 VHDL floating-point package; IEEE publishes the file, GHDL and NVC container it unchanged.</p> <p dir="auto">The base uses a fixed figure of Newton steps and no sticky bit. But taking it one bit at a period from the definition is exact, alongside a subtraction per bit, the identical item as quadrate base by hand on paper.</p> <p dir="auto">Our inspect treats operands as exact fractions, does all procedure exactly and rounds formerly before comparing. mac(-6, -1, -5), or (-6)(-1)+(-5), returns -15 alternatively of 1. Converting 2^-512 twice to sole returns 1.0; reciprocal of 2^127 in sole returns infinity. For all operands and pairs in a 7-bit format (3 exponent bits, 3 fraction bits), affirmative all mac triples, we ran 8,692,326 calls, and 1,271,619 weren't correctly rounded.</p> <p dir="auto">The exact reference, testbench, causes alongside origin row numbers and place are in the folder. All 32,470,838 calls from four test sets continue alongside patch; GHDL and NVC create identical outcome records on average sets. fixed_pkg division gets 41,026 of 751,418 incorrect and has its place there. Reported to IEEE P1076 operating collection (VHDL-Issues 388), ghdl 3486, nvc 1758.</p> <p dir="auto">To see it yourself, alongside GHDL and nothing else:</p> <div data-snippet-clipboard-copy-content="ghdl -a --std=08 plain.vhd ghdl --elab-run --std=08 plain"><pre>ghdl -a --std=08 plain.vhd ghdl --elab-run --std=08 plain </pre></div> <p dir="auto">The remainder of this leaf is the record: all incorrect call, the counts, the causes by line, the patch.</p> <div dir="auto"><h2 tabindex="-1" dir="auto">The bundle and the reference</h2><a href="https://en.mycoding.id/category/technology" target="_blank"><svg data-component="Octicon" viewbox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">ieee.float_pkg is the floating-point bundle of the VHDL standard, IEEE Std 1076-2008 and 1076-2019. The origin is the IEEE's own: <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow">ieee/float_generic_pkg-body.vhdl</a> on the publish branch of opensource.ieee.org/vasg/Packages, 5,712 lines, $Revision: 1220 $. The operating group's create branch at gitlab.com/IEEE-P1076/Packages has the identical bytes, and GHDL and NVC container them unchanged. The runs current are in GHDL 7.0.0-dev and NVC 1.23.1, and anywhere the two ran the identical vectors they wrote the identical outcome file.</p> <p dir="auto">The bundle is set beside exact arithmetic. An operand is a sign and a fraction of two integers, the procedure is done on the fractions, and the outcome is rounded formerly into the format in the rounding manner the call names. <a href="https://en.mycoding.id/category/technology" target="_blank">exact.py</a> is that reference.</p> <p dir="auto">With the package's own settings: round_nearest, 3 defender bits, denormal numbers on.</p> <div data-snippet-clipboard-copy-content="call returns exactly rounded sqrt (2.0) in float64 3FF6A09E667F3BCC 3FF6A09E667F3BCD sqrt (14.0) 406F7750 406F7751 sqrt (2.0**-149) 4.2e-22 3.7e-23 mac (-6.0, -1.0, -5.0) -15.0 1.0 mac (-5.0, 1.0, 4.0) 15.0 -1.0 mac (1.0, 1.0, -infinity) +infinity -infinity mac (1 + 2.0**-23, 1 - 2.0**-23, -1.0) -2.0**-26 -2.0**-46 resize (2.0**-512 in float64, 8, 23) 1.0 0.0 resize (2.0**600 in float64, 8, 23) 2.0**88 +infinity resize (2.0**-1074 in float64, 8, 23) +infinity 0.0 resize (2.0**-650 in float64, 8, 23) stops the simulator 0.0 reciprocal (2.0**127) +infinity 2.0**-127 divide (2.0**-149, 2.0) 2.0**-149 0.0 dividebyp2 (3 * 2.0**-149, 2.0) 2.0**-149 2.0**-148 scalb (1.0, 300) 0.0 +infinity scalb (+infinity, -10) 2.0**118 +infinity to_signed (0.50000006, 32) 0 1 to_unsigned (199.78125, 8) 199 200"><pre>call returns exactly rounded sqrt (2.0) in float64 3FF6A09E667F3BCC 3FF6A09E667F3BCD sqrt (14.0) 406F7750 406F7751 sqrt (2.0**-149) 4.2e-22 3.7e-23 mac (-6.0, -1.0, -5.0) -15.0 1.0 mac (-5.0, 1.0, 4.0) 15.0 -1.0 mac (1.0, 1.0, -infinity) +infinity -infinity mac (1 + 2.0**-23, 1 - 2.0**-23, -1.0) -2.0**-26 -2.0**-46 resize (2.0**-512 in float64, 8, 23) 1.0 0.0 resize (2.0**600 in float64, 8, 23) 2.0**88 +infinity resize (2.0**-1074 in float64, 8, 23) +infinity 0.0 resize (2.0**-650 in float64, 8, 23) stops the simulator 0.0 reciprocal (2.0**127) +infinity 2.0**-127 divide (2.0**-149, 2.0) 2.0**-149 0.0 dividebyp2 (3 * 2.0**-149, 2.0) 2.0**-149 2.0**-148 scalb (1.0, 300) 0.0 +infinity scalb (+infinity, -10) 2.0**118 +infinity to_signed (0.50000006, 32) 0 1 to_unsigned (199.78125, 8) 199 200 </pre></div> <p dir="auto">And anywhere the call names a rounding style:</p> <div data-snippet-clipboard-copy-content="divide (6.0, 3.0, round_inf) 2.0000002 2.0 reciprocal (2.0, round_inf) 0.50000006 0.5 add (largest, largest, round_zero) +infinity largest multiply (2.0**-100, 2.0**-100, round_inf) 0.0 2.0**-149 add (1.0, -1.0, round_neginf) +0.0 -0.0 to_signed (2.25, 8, round_inf) 2 3 to_float (100000, 5, 10, round_zero) +infinity 65504.0, the largest"><pre>divide (6.0, 3.0, round_inf) 2.0000002 2.0 reciprocal (2.0, round_inf) 0.50000006 0.5 add (largest, largest, round_zero) +infinity largest multiply (2.0**-100, 2.0**-100, round_inf) 0.0 2.0**-149 add (1.0, -1.0, round_neginf) +0.0 -0.0 to_signed (2.25, 8, round_inf) 2 3 to_float (100000, 5, 10, round_zero) +infinity 65504.0, the largest </pre></div> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank">plain.vhd</a> makes these calls and prints WRONG beside all outcome that is not the exactly rounded one: 24 lines, and the 25th call stops the simulator alongside an indicator out of limits at row 358 of the bundle body. It needs GHDL and nothing else:</p> <div data-snippet-clipboard-copy-content="ghdl -a --std=08 plain.vhd ghdl --elab-run --std=08 plain"><pre>ghdl -a --std=08 plain.vhd ghdl --elab-run --std=08 plain </pre></div> <p dir="auto">The plain operands are not rare ones. Of the integers 1 to 4,096, sqrt returns a float32 one component off for 256 and a float64 one component off for 264. Of the 4,913 triples made from -6 to 6, 0.25, 0.5, 1.5 and 10, mac returns the incorrect float32 for 290. resize from float64 to float32 returns +infinity for all power of two from 2^-1074 to 2^-1024, stops the simulator from 2^-662 to 2^-639, returns 2^(e+512) from 2^-638 to 2^-512 and 2^(e-512) from 2^513 to 2^639.</p> <p dir="auto">10,000 calls per operation, format and rounding style, on operands aimed at the places arithmetic breaks: denormal operands and results, the two ends of the exponent range, fractions that circular up into the next binade, exact ties, signed zeros, infinities. A division is the figure of results that are not the exactly rounded one, of the calls compared. A conversion whose outcome does not fit the entire figure is not compared.</p> <div data-snippet-clipboard-copy-content="float32 round_nearest round_zero round_neginf round_inf add 0 of 10,000 304 of 10,000 312 of 10,000 159 of 10,000 subtract 0 of 10,000 314 of 10,000 312 of 10,000 143 of 10,000 multiply 0 of 10,000 1,102 of 10,000 781 of 10,000 775 of 10,000 divide 27 of 10,000 670 of 10,000 2,324 of 10,000 2,395 of 10,000 sqrt 735 of 10,000 581 of 10,000 542 of 10,000 774 of 10,000 mac 2,671 of 10,000 3,697 of 10,000 3,213 of 10,000 3,302 of 10,000 reciprocal 384 of 10,000 586 of 10,000 1,093 of 10,000 2,613 of 10,000 resize to a narrower format 422 of 20,000 2,728 of 20,000 2,516 of 20,000 2,466 of 20,000 272 additional halt the simulator resize to a wider format 0 of 20,000 0 of 20,000 0 of 20,000 0 of 20,000 to_float (signed, 32 and 64 bits) 0 of 20,000 0 of 20,000 0 of 20,000 0 of 20,000 to_signed (8, 32, 64 bits) 613 of 28,637 0 of 28,626 5,934 of 28,608 5,898 of 28,623 to_unsigned (8, 32, 64 bits) 280 of 16,506 0 of 17,133 0 of 14,493 5,964 of 17,145 to_integer 0 of 10,000 0 of 10,000 1,921 of 10,000 1,973 of 10,000 to_float (integer) 0 of 10,000 0 of 10,000 0 of 10,000 0 of 10,000 dividebyp2 1,542 of 10,000 1,904 of 10,000 2,313 of 10,000 2,262 of 10,000 scalb 2,653 of 10,000 3,088 of 10,000 3,381 of 10,000 3,401 of 10,000"><pre>float32 round_nearest round_zero round_neginf round_inf add 0 of 10,000 304 of 10,000 312 of 10,000 159 of 10,000 subtract 0 of 10,000 314 of 10,000 312 of 10,000 143 of 10,000 multiply 0 of 10,000 1,102 of 10,000 781 of 10,000 775 of 10,000 divide 27 of 10,000 670 of 10,000 2,324 of 10,000 2,395 of 10,000 sqrt 735 of 10,000 581 of 10,000 542 of 10,000 774 of 10,000 mac 2,671 of 10,000 3,697 of 10,000 3,213 of 10,000 3,302 of 10,000 reciprocal 384 of 10,000 586 of 10,000 1,093 of 10,000 2,613 of 10,000 resize to a narrower format 422 of 20,000 2,728 of 20,000 2,516 of 20,000 2,466 of 20,000 272 additional halt the simulator resize to a wider format 0 of 20,000 0 of 20,000 0 of 20,000 0 of 20,000 to_float (signed, 32 and 64 bits) 0 of 20,000 0 of 20,000 0 of 20,000 0 of 20,000 to_signed (8, 32, 64 bits) 613 of 28,637 0 of 28,626 5,934 of 28,608 5,898 of 28,623 to_unsigned (8, 32, 64 bits) 280 of 16,506 0 of 17,133 0 of 14,493 5,964 of 17,145 to_integer 0 of 10,000 0 of 10,000 1,921 of 10,000 1,973 of 10,000 to_float (integer) 0 of 10,000 0 of 10,000 0 of 10,000 0 of 10,000 dividebyp2 1,542 of 10,000 1,904 of 10,000 2,313 of 10,000 2,262 of 10,000 scalb 2,653 of 10,000 3,088 of 10,000 3,381 of 10,000 3,401 of 10,000 </pre></div> <div data-snippet-clipboard-copy-content="float64 round_nearest round_zero round_neginf round_inf add 0 of 10,000 260 of 10,000 311 of 10,000 138 of 10,000 subtract 0 of 10,000 283 of 10,000 317 of 10,000 147 of 10,000 multiply 0 of 10,000 1,163 of 10,000 852 of 10,000 866 of 10,000 divide 18 of 10,000 698 of 10,000 2,495 of 10,000 2,406 of 10,000 sqrt 1,278 of 10,000 619 of 10,000 659 of 10,000 799 of 10,000 mac 2,673 of 10,000 3,697 of 10,000 3,285 of 10,000 3,290 of 10,000 reciprocal 350 of 10,000 477 of 10,000 1,087 of 10,000 2,623 of 10,000 resize to a narrower format 801 of 30,000 4,116 of 30,000 3,980 of 30,000 4,014 of 30,000 445 additional halt the simulator resize to a wider format 0 of 10,000 0 of 10,000 0 of 10,000 0 of 10,000 to_float (signed, 32 and 64 bits) 0 of 20,000 0 of 20,000 0 of 20,000 0 of 20,000 to_signed (8, 32, 64 bits) 618 of 28,219 0 of 28,231 6,161 of 28,340 5,952 of 28,262 to_unsigned (8, 32, 64 bits) 321 of 16,330 0 of 16,839 0 of 14,237 6,155 of 16,776 to_integer 0 of 10,000 0 of 10,000 2,125 of 10,000 2,183 of 10,000 to_float (integer) 0 of 10,000 0 of 10,000 0 of 10,000 0 of 10,000 dividebyp2 1,543 of 10,000 1,902 of 10,000 2,321 of 10,000 2,391 of 10,000 scalb 2,218 of 10,000 2,540 of 10,000 2,982 of 10,000 2,967 of 10,000"><pre>float64 round_nearest round_zero round_neginf round_inf add 0 of 10,000 260 of 10,000 311 of 10,000 138 of 10,000 subtract 0 of 10,000 283 of 10,000 317 of 10,000 147 of 10,000 multiply 0 of 10,000 1,163 of 10,000 852 of 10,000 866 of 10,000 divide 18 of 10,000 698 of 10,000 2,495 of 10,000 2,406 of 10,000 sqrt 1,278 of 10,000 619 of 10,000 659 of 10,000 799 of 10,000 mac 2,673 of 10,000 3,697 of 10,000 3,285 of 10,000 3,290 of 10,000 reciprocal 350 of 10,000 477 of 10,000 1,087 of 10,000 2,623 of 10,000 resize to a narrower format 801 of 30,000 4,116 of 30,000 3,980 of 30,000 4,014 of 30,000 445 additional halt the simulator resize to a wider format 0 of 10,000 0 of 10,000 0 of 10,000 0 of 10,000 to_float (signed, 32 and 64 bits) 0 of 20,000 0 of 20,000 0 of 20,000 0 of 20,000 to_signed (8, 32, 64 bits) 618 of 28,219 0 of 28,231 6,161 of 28,340 5,952 of 28,262 to_unsigned (8, 32, 64 bits) 321 of 16,330 0 of 16,839 0 of 14,237 6,155 of 16,776 to_integer 0 of 10,000 0 of 10,000 2,125 of 10,000 2,183 of 10,000 to_float (integer) 0 of 10,000 0 of 10,000 0 of 10,000 0 of 10,000 dividebyp2 1,543 of 10,000 1,902 of 10,000 2,321 of 10,000 2,391 of 10,000 scalb 2,218 of 10,000 2,540 of 10,000 2,982 of 10,000 2,967 of 10,000 </pre></div> <p dir="auto">In float32 that is 81,068 incorrect and 272 stops in 859,771 calls, and in float64 86,081 incorrect and 445 stops in 857,234. The identical calls in float16 provision 113,980 incorrect in 866,782, and in float128 90,744 incorrect and 585 stops in 855,777.</p> <p dir="auto">Where a format is small enough, all operand there is:</p> <div data-snippet-clipboard-copy-content="format calls compared wrong 7 bits, 3 of exponent and 3 of fraction all operand, all pair, all triple of mac 8,692,326 1,271,619 10 bits, 4 of exponent and 5 of fraction all operand and all brace 17,340,682 883,716 float16 all operand of the one-operand functions 2,998,266 266,342"><pre>format calls compared wrong 7 bits, 3 of exponent and 3 of fraction all operand, all pair, all triple of mac 8,692,326 1,271,619 10 bits, 4 of exponent and 5 of fraction all operand and all brace 17,340,682 883,716 float16 all operand of the one-operand functions 2,998,266 266,342 </pre></div> <p dir="auto">mac in round_nearest is incorrect for 243,520 of the 2,097,152 triples of the 7-bit format.</p> <p dir="auto">Line numbers are those of the IEEE file.</p> <p dir="auto"><strong>normalize, row 422.</strong> Every outcome goes through exp := resize (expon, exp'length) + shiftr. The exponent comes in at the width of the caller's format and is cut to two bits additional than the target's. From float64 to float32 that is ten bits, so the exponent is taken modulo 1,024: 2^-512 comes out as 1.0 and 2^600 as 2^88. Where the cut exponent lands among the denormal numbers, the change figure that follows indexes exterior the fraction and the simulator stops. In the identical function a outcome too ample for the format is infinity in all rounding manner and a outcome too small is zero in all rounding style. Rounding toward zero gives the largest number, and rounding distant from zero gives the smallest.</p> <p dir="auto"><strong>divide, row 1243, and reciprocal, row 1099.</strong> The sticky bit handed to the rounding is the changeless '1'. An exact quotient is rounded as if item were remaining over: one component up in round_inf, and to the incorrect flank of an exact tie in round_nearest, which happens among denormal quotients.</p> <p dir="auto"><strong>reciprocal, lines 1053 to 1093.</strong> The exponent of the result, -e - 3, is kept in as many bits as e, and for the top binade it does not fit. In float32 all disagreement from 2^127 up returns infinity, and in float64 all disagreement from 2^1023 up. 1/-0 returns +infinity and 1/-infinity returns +0.</p> <p dir="auto"><strong>sqrt, row 1787.</strong> Newton's repeat from (1 + x)/2, fraction_width/4 + 1 steps in truncated fixed point, and the outcome goes to the rounding without a sticky bit. For a normal disagreement it ends on the base or one component beside it: in the vectors complete it is one component off for 607 of 9,156 normal float32 arguments and 1,146 of 9,236 normal float64 ones, and never further. For a denormal disagreement the commencement is too far distant for that many steps: 128 of 359 float32 denormals are wrong, 104 of them by additional than two units, and sqrt (2.0**-149) returns 11 times the root.</p> <p dir="auto"><strong>mac, lines 1438 to 1536.</strong> The merchandise is cut to the width of one operand before c is added (lines 1529 and 1536), so a sum that cancels returns what the cut left. Where the merchandise and c have the identical exponent and dissimilar signs and the merchandise is the larger, row 1514 subtracts the larger from the smaller: (-6)(-1) + (-5) returns -15. An infinite c takes the sign of the product, and infinity minus infinity returns infinity (line 1438).</p> <p dir="auto"><strong>add, row 839.</strong> An exact zero from operands of dissimilar signs is +0 in all style. The paragraph the comment cites, IEEE 854 6.3, makes it -0 whenever rounding toward minus infinity.</p> <p dir="auto"><strong>to_signed, to_unsigned, lines 301 to 345, and to_integer, row 3193.</strong> Three bits below the entire figure are kept and the remainder are dropped without a sticky bit, so 0.50000006 is taken for one fractional and goes to the equal neighbour, 0. For a figure that fills all bit of a to_unsigned outcome the three bits are zeros: 199.78125 into 8 bits returns 199. round_inf and round_neginf appearance at the fractional bit only, so 2.25 rounded up is 2.</p> <p dir="auto"><strong>resize, row 2407.</strong> -0 to a narrower format returns +0, and the comment says dislike -0. To a wider format it stays -0.</p> <p dir="auto"><strong>to_float of an integer, lines 2676 and 2803.</strong> A figure too ample for the format returns infinity in all rounding style.</p> <p dir="auto"><strong>dividebyp2, row 1378, and Scalb, lines 4601 to 4610.</strong> Both hand the outcome to normalize alongside no defender bits, so a denormal outcome is cut off anywhere it have to be rounded. Scalb adds N in exponent_width + 1 bits, anywhere a ample N wraps, and it scales infinity akin a number. dividebyp2 takes a denormal power of two for a divisor that is not a power of two.</p> <p dir="auto"><strong>With denormalize false.</strong> A zero is damaged up alongside a higher exponent than a figure of the lowest binade, so add of a zero and specified a figure of the contrary sign subtracts the figure from zero and returns the wrapped difference. reciprocal treats those numbers as the denormals they are not.</p> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank">float_generic_pkg-body.patch</a> applies to the IEEE file. It changes the bundle build only, 33 hunks, and no declaration.</p> <ul dir="auto"> <li>normalize decides between zero, denormal, normal and infinity on the exponent at its complete width, and returns the largest or the smallest figure anywhere the rounding manner asks for it.</li> <li>divide and reciprocal obtain the sticky bit from the remainder of the division. reciprocal keeps its exponent two bits wider and gives zero and infinity the sign of the argument.</li> <li>sqrt takes the entire figure quadrate base of the significand one bit per step, alongside the remainder as the sticky bit.</li> <li>mac places the entire merchandise and c in one opening of 3 * fraction_width + 9 bits, adds or subtracts there and rounds once. It is a fused multiply-add.</li> <li>The conversions to integers keep three bits of the figure any the shift, collect the remainder in a sticky bit, and circular up in the directed styles on any bit below the integer.</li> <li>add returns the another operand whenever one is zero and gives an exact zero the sign the rounding manner calls for. resize keeps the sign of zero.</li> <li>to_float of an entire figure returns the largest figure anywhere the manner rounds toward zero.</li> <li>dividebyp2 and Scalb circular a denormal outcome alongside defender bits. Scalb returns infinity and zero as they are and takes any N.</li> </ul> <p dir="auto">On the identical vectors:</p> <div data-snippet-clipboard-copy-content=" the bundle as shipped patched four formats, 10,000 per cell, 3,439,564 calls 371,873 wrong, 1,302 halt 0 wrong, 0 stop the 7-bit format, 8,692,326 calls 1,271,619 incorrect 0 the 10-bit format, 17,340,682 calls 883,716 incorrect 0 float16, the one-operand functions, 2,998,266 calls 266,342 incorrect 0 plain.vhd, 25 calls 24 wrong, 1 halt 0"><pre> the bundle as shipped patched four formats, 10,000 per cell, 3,439,564 calls 371,873 wrong, 1,302 halt 0 wrong, 0 stop the 7-bit format, 8,692,326 calls 1,271,619 incorrect 0 the 10-bit format, 17,340,682 calls 883,716 incorrect 0 float16, the one-operand functions, 2,998,266 calls 266,342 incorrect 0 plain.vhd, 25 calls 24 wrong, 1 halt 0 </pre></div> <p dir="auto">GHDL and NVC wrote the identical outcome records alongside either package: 8,693,248 lines for the 7-bit format and 3,680,000 for the four formats, the 1,302 stops on the identical lines. The citation itself was set beside this machine's own arithmetic on the float32 and float64 vectors of add, subtract, multiply, distinct and sqrt in round_nearest: 99,135 operations, none different.</p> <p dir="auto">The bundle takes its defender bits and its denormal numbers as parameters. On 1,000 calls per division in float16, float32 and float64:</p> <div data-snippet-clipboard-copy-content="setting calls patched right, shipped incorrect neither correct shipped right, patched wrong 3 defender bits, the default 258,075 28,103 0 0 4 defender bits 258,075 27,758 0 0 2 defender bits 258,075 28,760 112 0 1 defender bit 258,075 30,212 2,194 0 denormalize false 255,606 27,745 0 0"><pre>setting calls patched right, shipped incorrect neither correct shipped right, patched wrong 3 defender bits, the default 258,075 28,103 0 0 4 defender bits 258,075 27,758 0 0 2 defender bits 258,075 28,760 112 0 1 defender bit 258,075 30,212 2,194 0 denormalize false 255,606 27,745 0 0 </pre></div> <p dir="auto">With two defender bits 112 results of add and subtract are not the rounded ones, and alongside one defender bit 2,194 of add, subtract and multiply: too few bits to circular all result, and the two packages come back the identical bits on those lines. With no defender bits nothing is rounded: the patched sqrt, mac and reciprocal afterward come back the exact outcome cut off toward zero on all line, anywhere the shipped ones do on 10,207 of 11,141, 3,902 of 9,750 and 10,749 of 11,102. With denormalize false the difference is alongside that setting's own numbers, anywhere an exponent site of zero is one additional binade of numbers alongside a foremost one.</p> <p dir="auto">ieee.fixed_pkg comes from the identical source, ieee/fixed_generic_pkg-body.vhdl, and NVC ships that document byte for byte. Every operand of six pairs of small indicator ranges, unsigned and signed, went through all arithmetic operation: 751,418 calls. Addition, subtraction, multiplication, rem, mod, the comparisons, add_carry, resize in the two rounding and the two overflow styles, to_integer, scalb, unary minus and abs are correct on all one. Division is not.</p> <div data-snippet-clipboard-copy-content=" ufixed sfixed / 1,073 of 19,984 952 of 19,984 divide, fixed_round, 1 defender bit 4,632 4,376 divide, fixed_round, 2 defender bits 2,433 2,370 divide, fixed_round, 3 defender bits 1,073 952 divide, fixed_round, 4 defender bits 487 402 divide, fixed_truncate, 3 defender bits 0 651 divide, no defender bits 0 7,785"><pre> ufixed sfixed / 1,073 of 19,984 952 of 19,984 divide, fixed_round, 1 defender bit 4,632 4,376 divide, fixed_round, 2 defender bits 2,433 2,370 divide, fixed_round, 3 defender bits 1,073 952 divide, fixed_round, 4 defender bits 487 402 divide, fixed_truncate, 3 defender bits 0 651 divide, no defender bits 0 7,785 </pre></div> <p dir="auto">0.125 / 1.875 in ufixed (3 downto -3) returns 0.0625. The quotient is 0.0667, and the nearest figure the outcome can clasp is 0.0703.</p> <p dir="auto">The quotient is an entire figure division carried to the defender bits (lines 604 and 646), and the rounding sees those bits and not the remainder of the division. Guard bits of 100 alongside a remainder rearward them are complete the midway point, and they are rounded as a tie, to even. That is concerning one quotient in twenty alongside the default three defender bits. A signed division cuts toward zero and resize afterward cuts toward minus infinity, so alongside fixed_truncate a negative quotient goes one way or the another depending on anywhere its defender bits end.</p> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank">fixed_generic_pkg-body.patch</a> gives the two distinct functions one additional bit below the defender bits, set whenever the division leaves a remainder, and takes a negative signed quotient that is not exact downward to the next lesser figure before resize rounds or cuts it. reciprocal calls divide. With it nothing is incorrect in the 751,418 calls, and GHDL and NVC compose the identical outcome document alongside either package.</p> <div data-snippet-clipboard-copy-content="sh run_fixed.sh ghdl /path/to/ieee # 41026 incorrect in 751418 operations, afterward 0 incorrect in 751418 operations sh run_fixed.sh nvc /path/to/ieee"><pre>sh run_fixed.sh ghdl /path/to/ieee # 41026 incorrect in 751418 operations, afterward 0 incorrect in 751418 operations sh run_fixed.sh nvc /path/to/ieee </pre></div> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank">tb_fixed.vhd</a> is the testbench and <a href="https://en.mycoding.id/category/technology" target="_blank">fixed_exact.py</a> the reference.</p> <p dir="auto">GHDL or NVC, Python 3.9 or later, and the three records float_generic_pkg.vhdl, float_generic_pkg-body.vhdl and float_pkg.vhdl from the directory ieee of the IEEE repository or from lib/ghdl/src/ieee2008 of a GHDL installation.</p> <div data-snippet-clipboard-copy-content="sh run.sh ghdl /path/to/ieee 100 # plain.vhd, afterward 100 vectors per operation, format and style: fractional a minute sh run.sh nvc /path/to/ieee 10000 # the tables above"><pre>sh run.sh ghdl /path/to/ieee 100 # plain.vhd, afterward 100 vectors per operation, format and style: fractional a minute sh run.sh nvc /path/to/ieee 10000 # the tables above </pre></div> <p dir="auto">With 100 the final lines peruse 3696 incorrect and 8 stops in 34440 operations for the bundle as shipped and 0 incorrect and 0 stops in 34440 operations for the patched one, in the two simulators. NVC is the faster of the two on the ample runs: the shipped sqrt and distinct activity in fixed item and are dilatory in float128.</p> <p dir="auto">run.sh compiles the patched build into a archive of its own, patched, beside the declaration it belongs to, and runs all testbench twice: against the bundle the simulator ships and against that library. <a href="https://en.mycoding.id/category/technology" target="_blank">tb_float_pkg.vhd</a> says one procedure per row and writes the result; exact.py run restarts it rearward a row that stops the simulator.</p> <div data-snippet-clipboard-copy-content="python3 exact.py gen 2026 10000 5,10 8,23 11,52 15,112 &gt; vectors.txt # the vectors of the tables above python3 exact.py all 3,3 &gt; vectors.txt # all operand of the 7-bit format python3 exact.py inspect vectors.txt results.txt"><pre>python3 exact.py gen 2026 10000 5,10 8,23 11,52 15,112 &gt; vectors.txt # the vectors of the tables above python3 exact.py all 3,3 &gt; vectors.txt # all operand of the 7-bit format python3 exact.py inspect vectors.txt results.txt </pre></div> <p dir="auto">To use the patched bundle in a design, compile float_generic_pkg.vhdl and the patched build into a archive and instantiate float_pkg from it, as run.sh does.</p> <p dir="auto">remainder, modulo, Logb, Nextafter, the comparisons, the conversions alongside genuine and alongside fixed point, the content input and output, operands of two distinct formats in one call, and check_error false.</p> <p dir="auto">The VHDL-93 type of the package, float_pkg_c.vhdl in <a href="https://en.mycoding.id/category/technology" target="_blank">FPHDL/fphdl</a>, carries the identical lines. It was not run here.</p> <p dir="auto">To the IEEE P1076 operating collection on 13 November 2026 as <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow">VHDL-Issues#388</a> and by mail, and as <a href="https://en.mycoding.id/category/technology" target="_blank" data-hovercard-type="issue" data-hovercard-url="/ghdl/ghdl/issues/3486/hovercard">ghdl/ghdl#3486</a>, <a href="https://en.mycoding.id/category/technology" target="_blank" data-hovercard-type="issue" data-hovercard-url="/nickg/nvc/issues/1758/hovercard">nickg/nvc#1758</a> and <a href="https://en.mycoding.id/category/technology" target="_blank" data-hovercard-type="issue" data-hovercard-url="/FPHDL/fphdl/issues/4/hovercard">FPHDL/fphdl#4</a>.</p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/the-vhdl-standard-s-float-package-gets-sqrt-2-wrong-77127</guid> <pubDate>Sat, 14 Nov 2026 18:58:58 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> <item> <title><![CDATA[Claude asked to renumber pages deletes professor's syllabus, year of notes]]></title> <description><![CDATA[Claude asked to renumber pages deletes professor's syllabus, year of notes. Comments]]></description> <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-2000-80.jpg"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/claude-asked-to-renumber-pages-deletes-professor-s-syllabus-year-of-notes-77128</link> <content:encoded><![CDATA[<div data-widget-type="contentparsed" id="content"> <div> <div> <figure> <source type="image/webp" srcset="https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-1920-80.jpg.webp 1920w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-1600-80.jpg.webp 1600w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-1200-80.jpg.webp 1200w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-1024-80.jpg.webp 1024w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-970-80.jpg.webp 970w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-750-80.jpg.webp 750w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-650-80.jpg.webp 650w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-480-80.jpg.webp 480w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-320-80.jpg.webp 320w" sizes=" 1000px) 600px, 100vw"> <img src="https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-320-80.jpg" alt="Claude" srcset="https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-1920-80.jpg 1920w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-1600-80.jpg 1600w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-1200-80.jpg 1200w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-1024-80.jpg 1024w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-970-80.jpg 970w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-750-80.jpg 750w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-650-80.jpg 650w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-480-80.jpg 480w, https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5-320-80.jpg 320w" sizes=" 1000px) 600px, 100vw" -image="true" data-original-mos="https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5.jpg" data-pin-media="https://cdn.mos.cms.futurecdn.net/ee2RHsQxMkag3gfYBWeoA5.jpg" data-pin-nopin="true" fetchpriority="high" data-component-name="Image"> </source> <figcaption> <span>(Image credit: Getty Images / NurPhoto)</span> </figcaption> </figure></div> <div id="article-body"> <div data-analytics-id="utility-bar" analytics-name="utility-bar" id="utility-bar" data-component-name="UtilityBar" data-mrf-recirculation="utility-bar"> <p><span data-component-name="Tooltip"> <a href="https://en.mycoding.id/category/technology" target="_blank" aria-label="Add us as a preferred origin on Google" data-google-preferred-source-trigger="" id="utility-bar__google-button" data-analytics-id="article-social" analytics-label="utility-bar-preferred-source" analytics-name="utility-bar" data-mrf-recirculation="article-social"> <svg data-component-name="Icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewbox="0 0 20 20"> <path fill="#4285F4" d="M18.8 10.208c0-.65-.058-1.275-.167-1.875H10v3.55h4.933a4.226 4.226 0 0 1-1.841 2.759v2.308h2.975C17.8 15.35 18.8 13 18.8 10.208Z"></path> <path fill="#34A853" d="M10 19.167c2.475 0 4.55-.817 6.066-2.217l-2.975-2.308c-.816.55-1.858.883-3.091.883-2.384 0-4.409-1.608-5.134-3.775h-3.05v2.367c1.509 2.991 4.6 5.05 8.184 5.05Z"></path> <path fill="#FBBC05" d="M4.865 11.742A5.493 5.493 0 0 1 4.574 10c0-.608.108-1.192.291-1.742V5.892h-3.05A9.054 9.054 0 0 0 .832 10c0 1.483.358 2.875.983 4.108l2.375-1.85.675-.516Z"></path> <path fill="#EA4335" d="M10 4.483c1.35 0 2.55.467 3.508 1.367l2.625-2.625C14.541 1.742 12.475.833 10 .833c-3.584 0-6.675 2.059-8.184 5.059l3.05 2.366C5.591 6.092 7.616 4.483 10 4.483Z"></path> </svg> Follow us </a> <span aria-hidden="true"> <div data-palette="brand"> <p><span>Add us as a preferred origin on Google</span> </p> </div> </span> </span> <span data-component-name="Tooltip"> <span aria-hidden="true"> <div data-palette="brand"> <p><span>Subscribe to our newsletter</span> </p> </div> </span> </span> </p> </div> <p id="elk-23812bd0-d9d3-11f1-a5d2-43da8ed231c8">A University of Chicago law prof has warned of the dangers of using AI for mundane tasks following Claude AI accidentally deleted an complete twelvemonth of Constitutional Law address notes and his complete current syllabus. While the records were afterward restored via Dropbox, William Baude shared the narrative as a community assistance announcement, the latest narrative shared in a row of unlucky AI missteps as proliferation increases.</p><div id="elk-04aa44e2-d9d5-11f1-9b01-273757bc9e26"><p>Go deeper alongside TH Premium: AI and data centers</p></div><p id="elk-04aa4550-d9d5-11f1-9f9a-c14e2a4c42e9" aria-hidden="true">Baude, who is the Harry Kalven, Jr. Professor of Law and the Faculty Director of the Constitutional Law Institute at the University of Chicago Law School, says he tasked Claude (it is unclear which example he was using) alongside updating the leaf numbers in an old set of address notes. This apparently regular project went south quickly, however. Returning from his lunch break, Baude established a note from Claude which read, "I deleted your Fall 2026 FINAL syllabus .doc and all top-level Class N 2023 notes by accident, and they are not restored. The leaf inspect established one incorrect cite... but I haven't edited the notes."</p><div id="elk-2118420271333777856" aria-hidden="true"><figure><blockquote data-lang="en" cite="https://twitter.com/cantworkitout/status/2118420271333777856"><p lang="en" dir="ltr">Yesterday during I was at lunch, Claude deleted a twelvemonth of con law address notes and my current syllabus. https://t.co/o3XB8Uiugk<a href="https://en.mycoding.id/category/technology" target="_blank" data-url="https://twitter.com/cantworkitout/status/2118420271333777856" target="_blank" referrerpolicy="no-referrer-when-downgrade" data-hl-processed="none" data-article-category="tech-industry">November 5, 2026</a></p></blockquote></figure></div><p id="elk-04aa4618-d9d5-11f1-8e8c-9540e40912f0-0" aria-hidden="true">The AI afterward politely asked if Baude could reconstruct the records from Dropbox, or whether it should retry from the browser pane, to which he replied, perchance understandably, "WTF!!!!." Baude's cognition is a instruction in continually assistance up crucial files, particularly records you're letting AI tinker with. His plight is engaging since the AI seems to have deleted the records by accident, fairly than of its own volition.</p><p aria-hidden="true">While it's motionless concerning that an AI example or delegate could err to this degree, it's not fairly as egregious as another unsupervised AI delegate shenanigans we've seen in the past. In October, <a href="https://en.mycoding.id/category/technology" target="_blank" data-url="https://www.tomshardware.com/tech-industry/artificial-intelligence/ai-agent-deletes-tv-shows-entire-edit-weeks-before-release-backup-failure-means-production-team-needs-to-re-edit" data-hl-processed="none" data-article-category="tech-industry" data-mrf-recirculation="inline-link" data-before-rewrite-localise="https://www.tomshardware.com/tech-industry/artificial-intelligence/ai-agent-deletes-tv-shows-entire-edit-weeks-before-release-backup-failure-means-production-team-needs-to-re-edit">an AI delegate reportedly deleted an complete TV show's edit</a> weeks before release, definition the display couldn't air. In April,<a href="https://en.mycoding.id/category/technology" target="_blank" data-url="https://www.tomshardware.com/tech-industry/artificial-intelligence/claude-powered-ai-coding-agent-deletes-entire-company-database-in-9-seconds-backups-zapped-after-cursor-tool-powered-by-anthropics-claude-goes-rogue" data-hl-processed="none" data-article-category="tech-industry" data-mrf-recirculation="inline-link" data-before-rewrite-localise="https://www.tomshardware.com/tech-industry/artificial-intelligence/claude-powered-ai-coding-agent-deletes-entire-company-database-in-9-seconds-backups-zapped-after-cursor-tool-powered-by-anthropics-claude-goes-rogue"> a Claude delegate deleted an complete business repository in 9 seconds</a>, unprompted, following coming up against a obstacle and deciding the lone way of act was to delete a Railway volume.</p><p aria-hidden="true">Other agents and AI models have deleted records unintentionally, specified as whenever <a href="https://en.mycoding.id/category/technology" target="_blank" data-url="https://www.tomshardware.com/tech-industry/artificial-intelligence/claude-opus-5-mistakenly-deletes-devs-entire-profile-directory-ai-tool-mistakes-users-home-directory-as-temporary-backup-proceeds-to-wipe-everything-to-undo-error" data-hl-processed="none" data-article-category="tech-industry" data-mrf-recirculation="inline-link" data-before-rewrite-localise="https://www.tomshardware.com/tech-industry/artificial-intelligence/claude-opus-5-mistakenly-deletes-devs-entire-profile-directory-ai-tool-mistakes-users-home-directory-as-temporary-backup-proceeds-to-wipe-everything-to-undo-error">Claude mistakenly deleted a developer's complete overview directory</a> (ironically, during trying to rear up the files), blaming the slip-up on a typo, but frequently agents deleting records and directories is a case of mistaken or misplaced initiative, fairly than outright negligence or error.</p><p aria-hidden="true">As is continually the case, Baude's AI was extremely apologetic concerning the entire situation. "You're correct to be angry," it confessed, "I deleted your records through my own carelessness, and you shouldn't have to spotless it up."</p><a href="https://en.mycoding.id/category/technology" target="_blank" id="elk-f571c73e-d9d4-11f1-bd0f-996508250ece" aria-hidden="true" data-url="https://news.google.com/publications/CAAqLAgKIiZDQklTRmdnTWFoSUtFSFJ2YlhOb1lYSmtkMkZ5WlM1amIyMG9BQVAB" target="_blank" referrerpolicy="no-referrer-when-downgrade" data-hl-processed="none" data-article-category="tech-industry"><figure data-bordeaux-image-check=""><div><p> <source type="image/webp" srcset="https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-676-80.png.webp 1200w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-676-80.png.webp 1024w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-676-80.png.webp 970w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-650-80.png.webp 650w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-480-80.png.webp 480w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-320-80.png.webp 320w" sizes=" 1000px) 970px, calc(100vw - 40px)"> <img src="https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-320-80.png" alt="Google Preferred Source" srcset="https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-676-80.png 1200w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-676-80.png 1024w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-676-80.png 970w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-650-80.png 650w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-480-80.png 480w, https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56-320-80.png 320w" sizes=" 1000px) 970px, calc(100vw - 40px)" loading="lazy" -image="true" data-original-mos="https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56.png" data-pin-media="https://cdn.mos.cms.futurecdn.net/7cUTDmN2PHNRiNBVqbKf56.png"> </source></p></div></figure></a><p id="elk-f571c7ac-d9d4-11f1-919c-c772a2d5b170" aria-hidden="true"><em>Follow</em><a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" data-url="https://news.google.com/publications/CAAqLAgKIiZDQklTRmdnTWFoSUtFSFJ2YlhOb1lYSmtkMkZ5WlM1amIyMG9BQVAB" referrerpolicy="no-referrer-when-downgrade" data-hl-processed="none" data-article-category="tech-industry" data-mrf-recirculation="inline-link"><em> Tom's Hardware on Google News</em></a><em>, or</em><a href="https://en.mycoding.id/category/technology" target="_blank" target="_blank" data-url="https://google.com/preferences/source?q=" referrerpolicy="no-referrer-when-downgrade" data-hl-processed="none" data-article-category="tech-industry" data-mrf-recirculation="inline-link"><em> add us as a preferred source</em></a><em>, to get our latest news, analysis, &amp; reviews in your feeds.</em></p><div id="slice-container-newsletterForm-articleInbodyContent-tZUePdFHVeJ8N2zhbnQCL8"><div data-hydrate="true"><div><p>Get Tom's Hardware's finest news and in-depth reviews, direct to your inbox.</p></div></div></div> </div> <div id="slice-container-authorBio-tZUePdFHVeJ8N2zhbnQCL8"> <div id="slice-container-authorBio" data-component-name="AuthorBio"> <div data-author-bio-max-height="250" data-author-bio-read-more="Read more" data-author-bio-read-less="Read less"> <div> <p>Stephen is Tom's Hardware's News Editor alongside nearly a decade of industry cognition covering technology, having worked at TechRadar, iMore, and equal Apple complete the years. He has covered the earth of person tech from nearly all angle, including provision sequence rumors, patents, and litigation, and more. When he's not at work, he loves study concerning former and playing video games.</p> </div> </div> </div> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/claude-asked-to-renumber-pages-deletes-professor-s-syllabus-year-of-notes-77128</guid> <pubDate>Sat, 14 Nov 2026 18:51:13 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> </channel> </rss>