<?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, 11 Oct 2026 14:33:01 +0700</pubDate> <lastBuildDate>Sun, 11 Oct 2026 14:33:01 +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[Inside America's only internet sea cable maker, supplying Google and Microsoft]]></title> <description><![CDATA[Inside America's only internet sea cable maker, supplying Google and Microsoft. Ninety-nine percent of global net traffic flows through cables stretched throughout the sea floor. Demand is at an all-time elevated as the earth becomes ...]]></description> <media:thumbnail url="https://i.insider.com/6ac94d147bf24b4467e69e7c?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/inside-america-s-only-internet-sea-cable-maker-supplying-google-and-microsoft-72061</link> <content:encoded><![CDATA[<div> <div> <div id="player-container-mxPVKKUe" data-component-type="video" data-type="video" data-video-player data-load-strategy="disable-lazy" data-event-category="video_page" data-media-id="7JtLUwaI" data-title="Inside America&#039;s lone net sea cable maker, supplying Google and Microsoft" data-advertising="enabled" data-region="in-content" data-id="player-container-mxPVKKUe" data-enabled="true" data-events="enabled" data-preroll="4442842/businessinsider.desktop/video-post/pre-roll-in-content/tech" data-midroll="4442842/businessinsider.desktop/video-post/mid-roll-in-content/tech" data-sponsored="false" data-placement-id="mxPVKKUe" data-track-element="featured_video" data-thumbnail="https://i.insider.com/6ac95094301bb0551f49470a?width=850&amp;format=jpeg&amp;auto=webp" data-render-thumbnail="true"> <div> <p><img src="https://i.insider.com/6ac95094301bb0551f49470a?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac95094301bb0551f49470a?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac95094301bb0551f49470a?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac95094301bb0551f49470a?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac95094301bb0551f49470a?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac95094301bb0551f49470a?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6ac95094301bb0551f49470a?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="cable" decoding="sync"> </p> </div> </div> <div> <div> <div><p>Description </p><svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewbox="0 0 12 8"> Angle downward icon An icon in the form of an viewpoint pointing down. <path d="M11.3281 0.792709C11.1874 0.796035 11.0537 0.854817 10.9562 0.95625L5.99996 5.9125L1.04371 0.95625C0.994011 0.90516 0.934574 0.864549 0.868913 0.836818C0.803251 0.809086 0.732698 0.794796 0.661421 0.794792C0.555323 0.79482 0.451644 0.826488 0.363639 0.885749C0.275634 0.94501 0.207301 1.02917 0.167378 1.12747C0.127454 1.22577 0.117753 1.33374 0.139515 1.43758C0.161277 1.54143 0.213513 1.63642 0.289546 1.71042L5.62288 7.04375C5.7229 7.14374 5.85854 7.1999 5.99996 7.1999C6.14139 7.1999 6.27702 7.14374 6.37705 7.04375L11.7104 1.71042C11.7878 1.63594 11.841 1.5398 11.8629 1.43459C11.8848 1.32939 11.8744 1.22003 11.833 1.12084C11.7917 1.02164 11.7214 0.937245 11.6313 0.878694C11.5412 0.820144 11.4355 0.790174 11.3281 0.792709V0.792709Z" fill="currentColor"></path> </svg> </div> </div> </div> <div> <div> <p>Ninety-nine percent of global net traffic flows through cables stretched throughout the sea floor. Demand is at an all-time elevated as the earth becomes additional reliant on haze computing and AI. But lone one US business can the two create and lay them. We visited its 73-year-old factory and went aboard a multimillion-dollar cable-laying container to see how it is keeping up &mdash; and why our data motionless needs to journey thousands of feet below the sea.</p> </div> </div> </div> </div> <p>Ninety-nine percent of global net traffic flows through cables stretched throughout the sea floor. Demand is at an all-time elevated as the earth becomes additional reliant on haze computing and AI. But lone one US business can the two create and lay them. We visited its 73-year-old factory and went aboard a multimillion-dollar cable-laying container to see how it is keeping up &mdash; and why our data motionless needs to journey thousands of feet below the sea.</p> <span>Show more</span>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/inside-america-s-only-internet-sea-cable-maker-supplying-google-and-microsoft-72061</guid> <pubDate>Sun, 11 Oct 2026 14:33:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Bethany Johnson)]]></author> </item> <item> <title><![CDATA[How HN: Go-dev-auth zero-dependency authentication library for Go]]></title> <description><![CDATA[How HN: Go-dev-auth zero-dependency authentication library for Go. Comments]]></description> <media:thumbnail url="https://repository-images.githubusercontent.com/1322297741/a319cf38-1d56-458b-85d2-4a0b313808ac"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/how-hn-go-dev-auth-zero-dependency-authentication-library-for-go-72062</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/go-dev-auth/go-dev-auth/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI"></a> <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow"><img src="https://camo.githubusercontent.com/2bc742275ef5839b02911368efed43d5cd9b8a772d308cf797bda920f61a8f1b/68747470733a2f2f706b672e676f2e6465762f62616467652f6769746875622e636f6d2f676f2d6465762d617574682f676f2d6465762d617574682e737667" alt="Go Reference" data-canonical-src="https://pkg.go.dev/badge/github.com/go-dev-auth/go-dev-auth.svg"></a> <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow"><img src="https://camo.githubusercontent.com/f29e8a2a1bc4d2f577e6ee8addcb892d22bc7d2fd2005de3680c831dcd593b43/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f676f2d6465762d617574682f676f2d6465762d61757468" alt="Go Report Card" data-canonical-src="https://goreportcard.com/badge/github.com/go-dev-auth/go-dev-auth"></a> <a href="https://en.mycoding.id/category/technology" target="_blank"><img src="https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667" alt=" MIT" data-canonical-src="https://img.shields.io/badge/License-MIT-blue.svg"></a></p> <p dir="auto">The CI sign covers the entire matrix on all push: build and tests on the oldest supported and current Go, the competition detector, lint, a fuzz pass complete the attacker-facing parsers, and the retention conformance suite against <strong>real SQLite, PostgreSQL and MySQL servers</strong>.</p> <p dir="auto">A comprehensive, framework-agnostic authentication archive for Go, modeled following <a href="https://en.mycoding.id/category/technology" target="_blank">better-auth</a>. Email &amp; password, social sign-on, sessions, document linking, two-factor auth, passkeys, magic links, organizations, SSO, admin tooling, API keys and JWT &mdash; alongside <strong>zero external dependencies</strong> (pure norm library).</p> <div data-snippet-clipboard-copy-content="go get github.com/go-dev-auth/go-dev-auth"><pre>go get github.com/go-dev-auth/go-dev-auth </pre></div> <blockquote> <p dir="auto"><strong>Status: pre-1.0, in manufacturing use, heading to v1.0.</strong> The archive runs in manufacturing in a genuine automation project on PostgreSQL, using the complete characteristic set. Releases prosecute <a href="https://en.mycoding.id/category/technology" target="_blank" rel="nofollow">SemVer</a>: during pre-1.0 the community API may motionless alter between insignificant versions (pin an exact version); v1.0 freezes it, and from afterward on breaking changes necessitate a important version. The remaining v1.0 gates are runnable examples, site mileage on the newly automated MySQL leg, and a third-party safety review. See <a href="https://en.mycoding.id/category/technology" target="_blank">storage adapters</a> for exactly which backends are verified where, and <a href="https://en.mycoding.id/category/technology" target="_blank">docs/security-model.md</a> for the danger model.</p> </blockquote> <p dir="auto"><strong>Core</strong></p> <ul dir="auto"> <li>Email &amp; password authentication (scrypt hashing, compatible alongside better-auth's hash format)</li> <li>Social sign-on via OAuth 2.0 / OIDC alongside PKCE &mdash; Google, GitHub, Discord, Facebook, Microsoft, Apple, GitLab, LinkedIn, Spotify, Twitch, X built in, affirmative a declarative oauth2.Spec for any tradition provider</li> <li>Database-backed sessions alongside sliding expiration, signed cookies, optional biscuit caching, list/revoke endpoints</li> <li>Email verification, password reset, alter email/password, delete person flows</li> <li>Account linking &amp; unlinking (trusted providers, token refresh, document info)</li> <li>CSRF base checking, trusted origins alongside wildcard subdomains, IP-based charge limiting</li> <li>Storage adapter interface alongside built-in database/sql (Postgres, MySQL, SQLite) and in-memory adapters, affirmative schema/migration SQL generation</li> <li>Request hooks, repository hooks, tradition user/session fields</li> </ul> <p dir="auto"><strong>Plugins</strong> (mirroring better-auth's plugin system)</p> <ul dir="auto"> <li>twofactor &mdash; TOTP, email OTP and backup codes</li> <li>passkey &mdash; WebAuthn passkeys, CBOR/COSE parsing included (no external dependency)</li> <li>magiclink &mdash; passwordless email links</li> <li>organization &mdash; orgs, members, roles, invitations, teams</li> <li>sso &mdash; bring-your-own OIDC character provider, matched by email domain</li> <li>admin &mdash; person management, bans, roles, impersonation</li> <li>apikey &mdash; hashed API keys alongside scopes that authenticate akin sessions</li> <li>jwt &mdash; EdDSA-signed JWTs + JWKS endpoint</li> <li>bearer &mdash; Authorization header auth for non-browser clients</li> </ul> <div dir="auto" data-snippet-clipboard-copy-content='package main import ( &quot;context&quot; &quot;net/http&quot; &quot;os&quot; &quot;time&quot; godevauth &quot;github.com/go-dev-auth/go-dev-auth&quot; &quot;github.com/go-dev-auth/go-dev-auth/storage/memory&quot; ) func main() { auth, err := godevauth.New(godevauth.Config{ BaseURL: &quot;http://localhost:8080&quot;, // required Secret: os.Getenv(&quot;AUTH_SECRET&quot;), // required, 32+ random chars Database: memory.New(), // required EmailAndPassword: godevauth.EmailPasswordConfig{Enabled: true}, // Required in manufacturing if item sits in forefront of this // procedure (load balancer, ingress, CDN). See below. Advanced: godevauth.AdvancedConfig{ TrustProxyHeaders: true, TrustedProxies: []string{&quot;10.0.0.0/8&quot;}, }, }) if err != nil { panic(err) } // clear expired one-time tokens and sessions defer auth.StartCleanup(context.Background(), time.Hour)() mux := http.NewServeMux() mux.Handle(&quot;/api/auth/&quot;, auth.Handler()) http.ListenAndServe(&quot;:8080&quot;, mux) }'><pre><span>package</span> main <span>import</span> ( <span>"context"</span> <span>"net/http"</span> <span>"os"</span> <span>"time"</span> godevauth <span>"github.com/go-dev-auth/go-dev-auth"</span> <span>"github.com/go-dev-auth/go-dev-auth/storage/memory"</span> ) <span>func</span> <span>main</span>() { <span>auth</span>, <span>err</span> <span>:=</span> <span>godevauth</span>.<span>New</span>(godevauth.<span>Config</span>{ <span>BaseURL</span>: <span>"http://localhost:8080"</span>, <span>// required</span> <span>Secret</span>: <span>os</span>.<span>Getenv</span>(<span>"AUTH_SECRET"</span>), <span>// required, 32+ random chars</span> <span>Database</span>: <span>memory</span>.<span>New</span>(), <span>// required</span> <span>EmailAndPassword</span>: godevauth.<span>EmailPasswordConfig</span>{<span>Enabled</span>: <span>true</span>}, <span>// Required in manufacturing if item sits in forefront of this</span> <span>// procedure (load balancer, ingress, CDN). See below.</span> <span>Advanced</span>: godevauth.<span>AdvancedConfig</span>{ <span>TrustProxyHeaders</span>: <span>true</span>, <span>TrustedProxies</span>: []<span>string</span>{<span>"10.0.0.0/8"</span>}, }, }) <span>if</span> <span>err</span> <span>!=</span> <span>nil</span> { <span>panic</span>(<span>err</span>) } <span>// clear expired one-time tokens and sessions</span> <span>defer</span> <span>auth</span>.<span>StartCleanup</span>(<span>context</span>.<span>Background</span>(), <span>time</span>.<span>Hour</span>)() <span>mux</span> <span>:=</span> <span>http</span>.<span>NewServeMux</span>() <span>mux</span>.<span>Handle</span>(<span>"/api/auth/"</span>, <span>auth</span>.<span>Handler</span>()) <span>http</span>.<span>ListenAndServe</span>(<span>":8080"</span>, <span>mux</span>) }</pre></div> <p dir="auto">The handler is a plain http.Handler, so it mounts on chi, echo, gorilla, or gin (via gin.WrapH) the identical way. If your frontend runs on a distinct origin, cover it: auth.CORS(auth.Handler()) and catalog that base in TrustedOrigins.</p> <p dir="auto">New validates the configuration and returns an error fairly than starting up in an unsafe state: a missing/short Secret, a missing or related BaseURL (it decides biscuit security, trusted origins and redirect targets), SameSite=none without safe cookies, or TrustProxyHeaders without TrustedProxies are all rejected.</p> <div dir="auto"><h3 tabindex="-1" dir="auto">Deployment requirement: inform it concerning your proxy</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">Rate limiting and all recorded meeting IP depend on resolving the <em>client's</em> address. If item terminates the association in forefront of this procedure &mdash; an AWS ALB, nginx, Cloudflare, a Kubernetes ingress &mdash; you must say so, since <strong>both defaults are incorrect in a distinct direction</strong>:</p> <table readabilitydatatable="1"> <thead> <tr> <th>Configuration</th> <th>What happens</th> </tr> </thead> <tbody> <tr> <td>Nothing set, but operating rearward a proxy</td> <td>Every petition resolves to the proxy's address, so all clients portion one bucket. The documented strict regulation of 3 sign-ins per 10 seconds becomes 3 per 10 seconds <strong>for your entire fleet</strong>, and the limiter fails closed. This is a self-inflicted outage.</td> </tr> <tr> <td>TrustProxyHeaders alongside no TrustedProxies</td> <td>X-Forwarded-For is client-supplied. Any visitant picks its own bucket and the bounds stops limiting anything.</td> </tr> <tr> <td>TrustProxyHeaders + TrustedProxies</td> <td>Correct. Forwarded headers are peruse lone from a listed peer, and the header sequence is walked right-to-left former trusted hops, so addresses a client prepended are ignored.</td> </tr> </tbody> </table> <p dir="auto">So:</p> <div dir="auto" data-snippet-clipboard-copy-content=' true, // IPs or CIDRs of your burden balancers / ingress pods. TrustedProxies: []string{&quot;10.0.0.0/8&quot;, &quot;192.168.0.0/16&quot;}, // Or, for a provider-specific header: // IPAddressHeaders: []string{&quot;CF-Connecting-IP&quot;}, },'><pre><span>Advanced</span>: godevauth.<span>AdvancedConfig</span>{ <span>TrustProxyHeaders</span>: <span>true</span>, <span>// IPs or CIDRs of your burden balancers / ingress pods.</span> <span>TrustedProxies</span>: []<span>string</span>{<span>"10.0.0.0/8"</span>, <span>"192.168.0.0/16"</span>}, <span>// Or, for a provider-specific header:</span> <span>// IPAddressHeaders: []string{"CF-Connecting-IP"},</span> },</pre></div> <p dir="auto">New <strong>refuses to start</strong> if TrustProxyHeaders (or IPAddressHeaders) is set without TrustedProxies. Use TrustedProxies: []string{"*"} to rely any equal &mdash; that is the old, spoofable behaviour, and it is lone harmless whenever the network guarantees the assistance is unreachable apart from through a proxy that overwrites the header.</p> <p dir="auto">The contrary error cannot be caught at startup, since it depends on the traffic. The archetypal petition that arrives alongside a forwarded header during proxy headers are untrusted logs an error naming the header and the peer. If you see it in production, you are in row one of that table.</p> <p dir="auto">Direct-to-internet deployments need none of this: depart all three unset.</p> <table readabilitydatatable="1"> <thead> <tr> <th>Adapter</th> <th>Import</th> <th>Notes</th> </tr> </thead> <tbody> <tr> <td>In-memory</td> <td>storage/memory</td> <td>Tests, examples, single-process. Enforces distinctive constraints and indexes distinctive fields.</td> </tr> <tr> <td>SQL</td> <td>storage/sqlstore</td> <td>PostgreSQL, MySQL, SQLite via database/sql. Bring your own driver.</td> </tr> <tr> <td>MongoDB</td> <td>storage/mongostore</td> <td>Official mongo-go-driver. Separate Go module.</td> </tr> </tbody> </table> <p dir="auto">All adapters are written against the identical conformance suite (storage/storagetest), which pins the semantics the auth center depends on: unique-violation reporting, NULL vs zero, chronological sorting, clause folding, literal case-insensitive substring matching and compare-and-set update counts.</p> <p dir="auto"><strong>What has really been executed, as of this revision:</strong></p> <ul dir="auto"> <li><strong>SQLite</strong> &mdash; the complete conformance suite and a complete HTTP auth stream run against a genuine SQLite repository in CI on all push. Verified.</li> <li><strong>PostgreSQL</strong> &mdash; <strong>running in production</strong> (a genuine automation project uses the entire archive on live PostgreSQL), <em>and</em> the conformance suite, immigration idempotence and the complete HTTP auth stream now run against a genuine PostgreSQL server in CI on all push. Field-proven and regression-guarded.</li> <li><strong>MySQL</strong> &mdash; the identical CI job runs the conformance suite, migrations and the complete auth stream against a genuine MySQL 8 server on all push. CI-verified; no site mileage yet, so study item you hit.</li> <li><strong>MongoDB</strong> &mdash; exercised against an in-house wire-protocol test double, not a live mongod. Beta.</li> </ul> <p dir="auto">The CI legs cannot continue vacuously: the surroundings sets REQUIRE_DSN=1, which turns a missing repository into a test nonaccomplishment fairly than a skip.</p> <p dir="auto">If you compose your own adapter, run that suite against it:</p> <div dir="auto" data-snippet-clipboard-copy-content="func TestConformance(t *testing.T) { storagetest.Run(t, func(t *testing.T) (storage.Adapter, func()) { return myAdapter(storagetest.Schema()), func() {} }) }"><pre><span>func</span> <span>TestConformance</span>(<span>t</span> <span>*</span>testing.<span>T</span>) { <span>storagetest</span>.<span>Run</span>(<span>t</span>, <span>func</span>(<span>t</span> <span>*</span>testing.<span>T</span>) (storage.<span>Adapter</span>, <span>func</span>()) { <span>return</span> <span>myAdapter</span>(<span>storagetest</span>.<span>Schema</span>()), <span>func</span>() {} }) }</pre></div> <div dir="auto" data-snippet-clipboard-copy-content='import ( &quot;go.mongodb.org/mongo-driver/mongo&quot; &quot;go.mongodb.org/mongo-driver/mongo/options&quot; &quot;github.com/go-dev-auth/go-dev-auth/storage/mongostore&quot; ) client, err := mongo.Connect(options.Client().ApplyURI(os.Getenv(&quot;MONGODB_URI&quot;))) store := mongostore.New(client.Database(&quot;myapp&quot;)) auth, err := godevauth.New(godevauth.Config{Database: store, /* ... */})'><pre><span>import</span> ( <span>"go.mongodb.org/mongo-driver/mongo"</span> <span>"go.mongodb.org/mongo-driver/mongo/options"</span> <span>"github.com/go-dev-auth/go-dev-auth/storage/mongostore"</span> ) <span>client</span>, <span>err</span> <span>:=</span> <span>mongo</span>.<span>Connect</span>(<span>options</span>.<span>Client</span>().<span>ApplyURI</span>(<span>os</span>.<span>Getenv</span>(<span>"MONGODB_URI"</span>))) <span>store</span> <span>:=</span> <span>mongostore</span>.<span>New</span>(<span>client</span>.<span>Database</span>(<span>"myapp"</span>)) <span>auth</span>, <span>err</span> <span>:=</span> <span>godevauth</span>.<span>New</span>(godevauth.<span>Config</span>{<span>Database</span>: <span>store</span>, <span>/* ... */</span>})</pre></div> <p dir="auto">New creates the indexes the schema implies, including the distinctive ones. That stage is not cosmetic on MongoDB: collections are created lazily, so an case without them looks fit during all "does this email already exist?" inspect degrades into a race. Use Advanced.DisableAutoMigrate lone if you create them in a distinct deploy step.</p> <p dir="auto">The adapter maps the id site onto Mongo's _id, rejects composite values anywhere MongoDB would peruse them as operators (the NoSQL-injection shape), escapes regex metacharacters in substring searches, and reports copy keys as storage.ErrUniqueViolation. Transaction needs a replica set or mongos, as MongoDB itself does.</p> <div dir="auto" data-snippet-clipboard-copy-content='import ( &quot;database/sql&quot; &quot;github.com/go-dev-auth/go-dev-auth/storage/sqlstore&quot; _ &quot;github.com/jackc/pgx/v5/stdlib&quot; // bring your own driver ) db, _ := sql.Open(&quot;pgx&quot;, os.Getenv(&quot;DATABASE_URL&quot;)) store := sqlstore.New(db, sqlstore.Postgres, nil) auth, _ := godevauth.New(godevauth.Config{ Secret: os.Getenv(&quot;AUTH_SECRET&quot;), Database: store, // ... }) // choice up the plugin tables *and columns*, afterward use them store.SetSchema(auth.Schema()) if err := store.Migrate(context.Background()); err != nil { ... } // or hand the DDL to your own immigration tool: fmt.Println(store.MigrationSQL()) // the entire schema, from nothing pending, _ := store.PendingMigrationSQL(ctx) // lone what this repository lacks'><pre><span>import</span> ( <span>"database/sql"</span> <span>"github.com/go-dev-auth/go-dev-auth/storage/sqlstore"</span> _ <span>"github.com/jackc/pgx/v5/stdlib"</span> <span>// bring your own driver</span> ) <span>db</span>, <span>_</span> <span>:=</span> <span>sql</span>.<span>Open</span>(<span>"pgx"</span>, <span>os</span>.<span>Getenv</span>(<span>"DATABASE_URL"</span>)) <span>store</span> <span>:=</span> <span>sqlstore</span>.<span>New</span>(<span>db</span>, <span>sqlstore</span>.<span>Postgres</span>, <span>nil</span>) <span>auth</span>, <span>_</span> <span>:=</span> <span>godevauth</span>.<span>New</span>(godevauth.<span>Config</span>{ <span>Secret</span>: <span>os</span>.<span>Getenv</span>(<span>"AUTH_SECRET"</span>), <span>Database</span>: <span>store</span>, <span>// ...</span> }) <span>// choice up the plugin tables *and columns*, afterward use them</span> <span>store</span>.<span>SetSchema</span>(<span>auth</span>.<span>Schema</span>()) <span>if</span> <span>err</span> <span>:=</span> <span>store</span>.<span>Migrate</span>(<span>context</span>.<span>Background</span>()); <span>err</span> <span>!=</span> <span>nil</span> { <span>...</span> } <span>// or hand the DDL to your own immigration tool:</span> <span>fmt</span>.<span>Println</span>(<span>store</span>.<span>MigrationSQL</span>()) <span>// the entire schema, from nothing</span> <span>pending</span>, <span>_</span> <span>:=</span> <span>store</span>.<span>PendingMigrationSQL</span>(<span>ctx</span>) <span>// lone what this repository lacks</span></pre></div> <p dir="auto">Migrate is idempotent and does two things: it creates missing tables and indexes, and it adds missing <strong>columns</strong> to tables that already exist. The second matters as shortly as the repository has data in it &mdash; see <a href="https://en.mycoding.id/category/technology" target="_blank">Migrations</a>.</p> <div dir="auto" data-snippet-clipboard-copy-content='import ( &quot;github.com/go-dev-auth/go-dev-auth/oauth2&quot; &quot;github.com/go-dev-auth/go-dev-auth/providers&quot; ) godevauth.Config{ SocialProviders: []oauth2.Provider{ providers.Google(providers.Credentials{ ClientID: os.Getenv(&quot;GOOGLE_CLIENT_ID&quot;), ClientSecret: os.Getenv(&quot;GOOGLE_CLIENT_SECRET&quot;), }), providers.GitHub(providers.Credentials{ ClientID: os.Getenv(&quot;GITHUB_CLIENT_ID&quot;), ClientSecret: os.Getenv(&quot;GITHUB_CLIENT_SECRET&quot;), }), }, }'><pre><span>import</span> ( <span>"github.com/go-dev-auth/go-dev-auth/oauth2"</span> <span>"github.com/go-dev-auth/go-dev-auth/providers"</span> ) godevauth.<span>Config</span>{ <span>SocialProviders</span>: []oauth2.<span>Provider</span>{ <span>providers</span>.<span>Google</span>(providers.<span>Credentials</span>{ <span>ClientID</span>: <span>os</span>.<span>Getenv</span>(<span>"GOOGLE_CLIENT_ID"</span>), <span>ClientSecret</span>: <span>os</span>.<span>Getenv</span>(<span>"GOOGLE_CLIENT_SECRET"</span>), }), <span>providers</span>.<span>GitHub</span>(providers.<span>Credentials</span>{ <span>ClientID</span>: <span>os</span>.<span>Getenv</span>(<span>"GITHUB_CLIENT_ID"</span>), <span>ClientSecret</span>: <span>os</span>.<span>Getenv</span>(<span>"GITHUB_CLIENT_SECRET"</span>), }), }, }</pre></div> <p dir="auto">Set the provider redirect URI to {BaseURL}/api/auth/callback/{provider}. Custom providers are a sole oauth2.New(oauth2.Spec{...}) call.</p> <div dir="auto" data-snippet-clipboard-copy-content='import ( &quot;github.com/go-dev-auth/go-dev-auth/plugins/admin&quot; &quot;github.com/go-dev-auth/go-dev-auth/plugins/jwt&quot; &quot;github.com/go-dev-auth/go-dev-auth/plugins/magiclink&quot; &quot;github.com/go-dev-auth/go-dev-auth/plugins/organization&quot; &quot;github.com/go-dev-auth/go-dev-auth/plugins/passkey&quot; &quot;github.com/go-dev-auth/go-dev-auth/plugins/sso&quot; &quot;github.com/go-dev-auth/go-dev-auth/plugins/twofactor&quot; ) godevauth.Config{ Plugins: []godevauth.Plugin{ twofactor.New(), organization.New(organization.Options{Teams: true}), admin.New(), jwt.New(), magiclink.New(magiclink.Options{ SendMagicLink: func(ctx context.Context, email, url, token string) error { return mailer.Send(email, &quot;Sign in&quot;, url) }, }), passkey.New(), sso.New(sso.Options{ // entrance who may enroll character providers Authorize: func(c *godevauth.Ctx, sd *godevauth.SessionData) error { return myApp.RequireAdmin(sd) }, }), }, }'><pre><span>import</span> ( <span>"github.com/go-dev-auth/go-dev-auth/plugins/admin"</span> <span>"github.com/go-dev-auth/go-dev-auth/plugins/jwt"</span> <span>"github.com/go-dev-auth/go-dev-auth/plugins/magiclink"</span> <span>"github.com/go-dev-auth/go-dev-auth/plugins/organization"</span> <span>"github.com/go-dev-auth/go-dev-auth/plugins/passkey"</span> <span>"github.com/go-dev-auth/go-dev-auth/plugins/sso"</span> <span>"github.com/go-dev-auth/go-dev-auth/plugins/twofactor"</span> ) godevauth.<span>Config</span>{ <span>Plugins</span>: []godevauth.<span>Plugin</span>{ <span>twofactor</span>.<span>New</span>(), <span>organization</span>.<span>New</span>(organization.<span>Options</span>{<span>Teams</span>: <span>true</span>}), <span>admin</span>.<span>New</span>(), <span>jwt</span>.<span>New</span>(), <span>magiclink</span>.<span>New</span>(magiclink.<span>Options</span>{ <span>SendMagicLink</span>: <span>func</span>(<span>ctx</span> context.<span>Context</span>, <span>email</span>, <span>url</span>, <span>token</span> <span>string</span>) <span>error</span> { <span>return</span> <span>mailer</span>.<span>Send</span>(<span>email</span>, <span>"Sign in"</span>, <span>url</span>) }, }), <span>passkey</span>.<span>New</span>(), <span>sso</span>.<span>New</span>(sso.<span>Options</span>{ <span>// entrance who may enroll character providers</span> <span>Authorize</span>: <span>func</span>(<span>c</span> <span>*</span>godevauth.<span>Ctx</span>, <span>sd</span> <span>*</span>godevauth.<span>SessionData</span>) <span>error</span> { <span>return</span> <span>myApp</span>.<span>RequireAdmin</span>(<span>sd</span>) }, }), }, }</pre></div> <p dir="auto"><strong>Passkeys</strong> (plugins/passkey) add WebAuthn registration and sign-in alongside no external dependency: the CBOR/COSE parsing and ES256/RS256/Ed25519 signature verification live in the package. Registration needs a caller session; sign-in uses discoverable credentials and runs through SignInUser, so bans and two-factor guideline motionless apply. The signature oppose is checked for the cloned-authenticator case.</p> <p dir="auto"><strong>SSO</strong> (plugins/sso) lets all institution bring its own OpenID Connect character provider (Okta, Microsoft Entra, Google Workspace, Keycloak). Providers are registered at runtime, matched to users by email domain, and the sign-in runs through the identical OAuth stream as social login &mdash; browser-bound single-use state, PKCE, ID-token verification against the issuer's JWKS. Client secrets are encrypted at rest; administration endpoints neglect closed until Options.Authorize is set.</p> <p dir="auto">Writing your own plugin method implementing three methods (ID, Init, Routes) and optionally Schema, Middleware, BeforeRequest/AfterRequest, SignInGuard (veto or difficulty a sign-in on all path) or SessionGuard (re-check all request).</p> <div dir="auto"><h2 tabindex="-1" dir="auto">Server-side meeting access</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" data-snippet-clipboard-copy-content="= auth.GetSession(r) if err != nil { // errors.Is(err, godevauth.ErrNoSession) → unauthenticated } _ = sd.User // *storage.User _ = sd.Session // *storage.Session }"><pre><span>func</span> <span>handler</span>(<span>w</span> http.<span>ResponseWriter</span>, <span>r</span> <span>*</span>http.<span>Request</span>) { <span>sd</span>, <span>err</span> <span>:=</span> <span>auth</span>.<span>GetSession</span>(<span>r</span>) <span>if</span> <span>err</span> <span>!=</span> <span>nil</span> { <span>// errors.Is(err, godevauth.ErrNoSession) &rarr; unauthenticated</span> } <span>_</span> <span>=</span> <span>sd</span>.<span>User</span> <span>// *storage.User</span> <span>_</span> <span>=</span> <span>sd</span>.<span>Session</span> <span>// *storage.Session</span> }</pre></div> <p dir="auto">All endpoints live under Config.BasePath (default /api/auth) and equivalent better-auth's path names:</p> <table readabilitydatatable="1"> <thead> <tr> <th>Area</th> <th>Endpoints</th> </tr> </thead> <tbody> <tr> <td>Email &amp; password</td> <td>POST /sign-up/email, POST /sign-in/email, POST /forget-password, POST /reset-password, GET /reset-password/:token, POST /change-password, POST /set-password</td> </tr> <tr> <td>Email verification</td> <td>POST /send-verification-email, GET /verify-email (renders a confirmation leaf alternatively of consuming the token whenever EmailVerification.ConfirmationPage is set), POST /verify-email (consumes it)</td> </tr> <tr> <td>Session</td> <td>GET /get-session, POST /sign-out, GET /list-sessions, POST /revoke-session (by token, or by the sessionId from /list-sessions), POST /revoke-sessions, POST /revoke-other-sessions</td> </tr> <tr> <td>Social</td> <td>POST /sign-in/social, `GET</td> </tr> <tr> <td>User</td> <td>POST /update-user, POST /change-email, POST /delete-user, `GET</td> </tr> <tr> <td>Two-factor</td> <td>POST /two-factor/{enable,disable,get-totp-uri,verify-totp,send-otp,verify-otp,generate-backup-codes,verify-backup-code}</td> </tr> <tr> <td>Magic link</td> <td>POST /sign-in/magic-link, GET /magic-link/verify</td> </tr> <tr> <td>Passkey</td> <td>GET /passkey/generate-register-options, POST /passkey/verify-registration, POST /passkey/generate-authenticate-options, POST /passkey/verify-authentication, GET /passkey/list-user-passkeys, POST /passkey/{delete-passkey,update-passkey}</td> </tr> <tr> <td>SSO</td> <td>POST /sign-in/sso, POST /sso/register, GET /sso/list, POST /sso/delete, `GET</td> </tr> <tr> <td>Organization</td> <td>POST /organization/{create,update,delete,set-active,invite-member,accept-invitation,reject-invitation,cancel-invitation,remove-member,update-member-role,leave,check-slug,create-team,remove-team}, GET /organization/{list,get-full-organization,get-invitation,list-invitations,get-active-member,list-teams}</td> </tr> <tr> <td>Admin</td> <td>POST /admin/{create-user,set-role,set-user-password,update-user,ban-user,unban-user,impersonate-user,stop-impersonating,list-user-sessions,revoke-user-session,revoke-user-sessions,remove-user}, GET /admin/list-users</td> </tr> <tr> <td>API keys</td> <td>POST /api-key/{create,update,delete,verify}, GET /api-key/{get,list}</td> </tr> <tr> <td>JWT</td> <td>GET /token, GET /jwks, GET /.well-known/jwks.json</td> </tr> </tbody> </table> <p dir="auto">Errors are returned as {"code": "USER_ALREADY_EXISTS", "message": "..."} alongside matching HTTP position codes. A known way alongside the incorrect method returns 405 alongside an Allow header.</p> <p dir="auto">godevauth.Config mirrors better-auth's options: EmailAndPassword (min/max length, verification requirements, reset delivery, tradition PasswordHasher), EmailVerification (delivery, required-before-sign-in, optional interstitial ConfirmationPage so email scanners cannot consume the link), Session (ExpiresIn, UpdateAge, FreshAge, biscuit cache), User (additional fields, change-email &mdash; endorsement goes to the <em>current</em> verified address, afterward the new location is verified before the toggle &mdash; delete-user), Account (linking rules, token encryption at rest), Advanced (cookie prefix, cross-subdomain cookies, SameSite, proxy trust, tradition ID generation, CSRF exemptions), TrustedOrigins, RateLimit (windows, per-path rules, pluggable store), Events (the audit hook), PreviousSecrets (secret rotation), Hooks and DatabaseHooks.</p> <p dir="auto">Rate-limit rules in RateLimit.CustomRules may be keyed by the path form ("/reset-password/:token") as fine as by a literal path. Buckets are keyed by the pattern, so a parameterised path is constricted as one endpoint fairly than one bucket per indicator value.</p> <p dir="auto">A runnable demo alongside most plugins enabled lives in <a href="https://en.mycoding.id/category/technology" target="_blank">examples/basic</a>:</p> <p dir="auto">Extra columns are declared on the config and are <strong>not</strong> client-writable unless you say so. This is the difference between a overview site and a privilege:</p> <div dir="auto" data-snippet-clipboard-copy-content=' true}, // person may set it {Name: &quot;plan&quot;, Type: storage.FieldString}, // server-controlled }, },'><pre><span>User</span>: godevauth.<span>UserConfig</span>{ <span>AdditionalFields</span>: []storage.<span>Field</span>{ {<span>Name</span>: <span>"displayName"</span>, <span>Type</span>: <span>storage</span>.<span>FieldString</span>, <span>Input</span>: <span>true</span>}, <span>// person may set it</span> {<span>Name</span>: <span>"plan"</span>, <span>Type</span>: <span>storage</span>.<span>FieldString</span>}, <span>// server-controlled</span> }, },</pre></div> <p dir="auto">Fields contributed by plugins (role, banned, twoFactorEnabled, &hellip;) are never writable from a petition body, any Input says.</p> <p dir="auto"><strong>Passwords.</strong> scrypt (N=16384, r=16, p=1), better-auth's salt:key hex format. Each hash expenses ~50 ms of CPU and ~32 MiB of scratch recollection by design; the hasher limits concurrency (default GOMAXPROCS) and pools its buffers so a burst of sign-ins cannot exhaust memory. Tune via crypto.NewScryptHasher. Hash format is byte-for-byte compatible alongside better-auth for ASCII passwords; non-ASCII passwords not already in Unicode NFKC form can differ, since better-auth normalizes to NFKC archetypal and the norm archive has no NFKC implementation to equivalent without adding a dependency (see ScryptHasher.Hash).</p> <p dir="auto"><strong>Rate limiting is on by default</strong> (fail-closed) since the sign-in endpoint is costly by construction. Set RateLimit.Disabled lone whenever a gateway already throttles these paths, and provision RateLimit.Storage whenever operating additional than one instance.</p> <p dir="auto"><strong>Sessions.</strong> 32-byte random tokens, HMAC-signed cookies alongside domain separation and __Secure- prefixes on HTTPS. Raw tokens are never included in meeting listings. The optional biscuit cache carries an complete revalidation deadline that is never extended from cached data, so revocation continually takes consequence inside CookieCache.MaxAge.</p> <p dir="auto"><strong>One-time tokens</strong> (password reset, email verification, magic links, deletion, OAuth state) are stored as SHA-256 digests and consumed atomically, so repository peruse admission yields no usable links.</p> <p dir="auto"><strong>OAuth.</strong> PKCE (S256), province pinned to the browser alongside a biscuit <em>and</em> to the issuing provider, single-use and expiring. Automatic document linking requires the two a provider-asserted verified email <strong>and</strong> that the provider is listed in Account.AccountLinking.TrustedProviders &mdash; an unverified or self-set location at the IdP cannot obtain complete an existing local account.</p> <p dir="auto"><strong>CSRF.</strong> State-changing requests are origin-checked against BaseURL + TrustedOrigins (wildcard subdomains supported), falling rear to Sec-Fetch-Site whenever no Origin/Referer is present.</p> <p dir="auto"><strong>Sign-in guards.</strong> Every sign-in way &mdash; password, magic link, social, verification auto-login &mdash; funnels through SignInUser, so a plugin implementing SignInGuard (two-factor, bans) cannot be bypassed by choosing another method. SessionGuard additionally re-checks all request, so a ban takes consequence immediately fairly than at next login.</p> <p dir="auto"><strong>ID tokens.</strong> The native "sign in alongside X" way verifies the token's signature against the issuer's published JWKS and checks iss, aud (plus azp for multi-audience tokens), exp and the nonce &mdash; the client mints a single-use nonce at POST /id-token/nonce, passes it to the provider SDK, and the signed token must echo it, so a token captured elsewhere cannot be replayed current (Advanced.DisableIDTokenNonceCheck restores the old behavior for SDKs that cannot set one). Keys are cached alongside a bounded stale-serve window, and a unsuccessful fetch cannot be induced by a client to obstacle key rotation.</p> <p dir="auto"><strong>Secrets at rest.</strong> TOTP secrets, backup codes and JWT personal keys are AES-256-GCM encrypted alongside a key derived from your Secret; OAuth tokens too whenever Account.EncryptOAuthTokens is set. Encryption nonaccomplishment is an error, never a silent plaintext write, and <strong>decryption nonaccomplishment is an error too</strong> &mdash; never a fallback that returns the ciphertext. Every ciphertext is <strong>bound to anywhere it is stored</strong> &mdash; its model, document id and site name are authenticated alongside the value &mdash; so a value copied from one encrypted pillar into another does not decrypt, and repository compose admission cannot be turned into a peruse oracle for person else's secrets. Ciphertexts additionally transport a key identifier, so Secret can be rotated: see <a href="https://en.mycoding.id/category/technology" target="_blank">Rotating the secret</a>.</p> <p dir="auto"><strong>Audit trail.</strong> Every security-relevant event &mdash; sign-in achievement and nonaccomplishment alongside the reason, sign-out, meeting innovation and revocation, password and email changes, document link/unlink and deletion, 2FA enable/disable, bans, and director impersonation start/stop &mdash; is emitted as a typed godevauth.Event. Events never merge passwords, meeting tokens or one-time tokens; there is no free-form field, and a test asserts the asset by reflection. See <a href="https://en.mycoding.id/category/technology" target="_blank">Audit events</a>.</p> <p dir="auto">Config.Secret derives the key that encrypts values at rest. Changing it used to be unrecoverable &mdash; all enrolled 2FA person locked out permanently, JWT signing keys unreadable &mdash; since the ciphertext stated nothing concerning which key wrote it. Stored values are versioned and tagged alongside a key identifier:</p> <div data-snippet-clipboard-copy-content="v2.&lt;kid&gt;.&lt;base64url(nonce || AES-256-GCM(plaintext))&gt;"><pre>v2.&lt;kid&gt;.&lt;base64url(nonce || AES-256-GCM(plaintext))&gt; </pre></div> <p dir="auto">The GCM additional data covers the version, the key id, <strong>and the value's location</strong> &mdash; model, document id, site name &mdash; so a ciphertext lone opens in the pillar of the row it was written to.</p> <p dir="auto">Two before formats be in deployed databases and are motionless read, so upgrading needs no migration:</p> <table readabilitydatatable="1"> <thead> <tr> <th>Format</th> <th>Shape</th> <th>Key derivation</th> <th>Location-bound</th> </tr> </thead> <tbody> <tr> <td>v0</td> <td>bare base64url(nonce&#8214;ct), no .</td> <td>sha256("go-dev-auth-enc:"+secret)</td> <td>no</td> </tr> <tr> <td>v1</td> <td>v1.&lt;kid&gt;.&lt;body&gt;</td> <td>scrypt</td> <td>no</td> </tr> <tr> <td>v2</td> <td>v2.&lt;kid&gt;.&lt;body&gt;</td> <td>scrypt</td> <td><strong>yes</strong></td> </tr> </tbody> </table> <p dir="auto">Rotation &mdash; and the v0/v1 &rarr; v2 migration, which uses the identical continue &mdash; is a three-step deploy:</p> <div dir="auto" data-snippet-clipboard-copy-content='// 1. Deploy: new concealed current, old one motionless readable. Secret: os.Getenv(&quot;AUTH_SECRET&quot;), // the new value PreviousSecrets: []string{os.Getenv(&quot;AUTH_SECRET_OLD&quot;)},'><pre><span>// 1. Deploy: new concealed current, old one motionless readable.</span> <span>Secret</span>: <span>os</span>.<span>Getenv</span>(<span>"AUTH_SECRET"</span>), <span>// the new value</span> <span>PreviousSecrets</span>: []<span>string</span>{<span>os</span>.<span>Getenv</span>(<span>"AUTH_SECRET_OLD"</span>)},</pre></div> <div dir="auto" data-snippet-clipboard-copy-content="// 2. Migrate. Safe to run against a live instance; re-run until Done. result, err := auth.ReencryptSecrets(ctx) // result.Rewritten — values moved to the current key and format // result.Unreadable — values no key can read; examine before stage 3 // result.Skipped — rows a concurrent compose changed mid-pass; re-run // result.Failed — compose errors; re-run formerly the logic is fixed // result.Done() — nothing remaining to do"><pre><span>// 2. Migrate. Safe to run against a live instance; re-run until Done.</span> <span>result</span>, <span>err</span> <span>:=</span> <span>auth</span>.<span>ReencryptSecrets</span>(<span>ctx</span>) <span>// result.Rewritten &mdash; values moved to the current key and format</span> <span>// result.Unreadable &mdash; values no key can read; examine before stage 3</span> <span>// result.Skipped &mdash; rows a concurrent compose changed mid-pass; re-run</span> <span>// result.Failed &mdash; compose errors; re-run formerly the logic is fixed</span> <span>// result.Done() &mdash; nothing remaining to do</span></pre></div> <div dir="auto" data-snippet-clipboard-copy-content="// 3. Deploy again alongside PreviousSecrets empty. // Once stage 2 reports Done, additionally set: RequireBoundCiphertexts: true,"><pre><span>// 3. Deploy again alongside PreviousSecrets empty.</span> <span>// Once stage 2 reports Done, additionally set:</span> <span>RequireBoundCiphertexts</span>: <span>true</span>,</pre></div> <p dir="auto">ReencryptSecrets covers OAuth tokens on the document array and calls all plugin implementing godevauth.SecretRotator (two-factor, jwt) for their own tables. It walks all array in batches of 200 in id command fairly than loading it whole, and all compose is a compare-and-set on the ciphertext it peruse &mdash; so a token refreshed or a backup-code set regenerated mid-pass is never reverted, lone skipped. One plugin's rotator failing does not halt the others. It is idempotent: a continue that reports Done() method nothing is remaining under an old key or in an unbound format.</p> <p dir="auto"><strong>RequireBoundCiphertexts is the second fractional of the fix.</strong> Until it is set, the unbound v0 and v1 formats are motionless accepted on read, which method a ciphertext captured from an old backup can motionless be relocated between columns. Turning it on before the immigration finishes does not endure data &mdash; clearing it makes those values readable again &mdash; but users whose values have not been migrated cannot authenticate during it is set. So: upgrade, migrate to Done(), afterward rotate it on.</p> <p dir="auto">Skip stage 1 and the archive volition not guess. A stored TOTP concealed it cannot peruse is a 500 TWO_FACTOR_SECRET_UNREADABLE, not a "wrong code"; an unreadable OAuth token is a 500 TOKEN_DECRYPTION_FAILED, not an enc:&hellip; blob forwarded to the provider; and /jwks keeps publishing all community key regardless, so tokens already in circulation remain verifiable during you fix the configuration.</p> <p dir="auto">Note that biscuit and token <em>signatures</em> are not versioned. Rotating Secret invalidates existing signed cookies &mdash; users are signed out &mdash; any PreviousSecrets says.</p> <p dir="auto">There is one hook and one type:</p> <div dir="auto" data-snippet-clipboard-copy-content=" func(ctx context.Context, e *godevauth.Event) { // e.Type, e.Outcome, e.Reason, e.ActorID, e.TargetID, // e.Email, e.SessionID, e.Method, e.Action, // e.ClientIP, e.UserAgent, e.RequestMethod, e.RequestPath siem.Send(e) }, },"><pre><span>Events</span>: godevauth.<span>EventsConfig</span>{ <span>Handler</span>: <span>func</span>(<span>ctx</span> context.<span>Context</span>, <span>e</span> <span>*</span>godevauth.<span>Event</span>) { <span>// e.Type, e.Outcome, e.Reason, e.ActorID, e.TargetID,</span> <span>// e.Email, e.SessionID, e.Method, e.Action,</span> <span>// e.ClientIP, e.UserAgent, e.RequestMethod, e.RequestPath</span> <span>siem</span>.<span>Send</span>(<span>e</span>) }, },</pre></div> <p dir="auto">Notable properties:</p> <ul dir="auto"> <li><strong>On by default.</strong> With no Handler, events go to Config.Logger &mdash; successes at Info, failures at Warn. An audit trail that have to be switched on is missing from exactly the deployments that need it. Set Events.DisableDefaultLogging to opt out (events contain the subject's email address, which may not pertain in average use logs).</li> <li><strong>Failure reasons are additional particular than the HTTP response.</strong> Sign-in answers INVALID_EMAIL_OR_PASSWORD to the client so it cannot be used to enumerate accounts; the event distinguishes unknown_user from invalid_password from banned from two_factor_required, which is what tells credential stuffing distinct from password guessing.</li> <li><strong>429s are recorded.</strong> Ctx.Error lone logs 5xx, so a throttled brute-force attempt alternatively leaves no server-side trace at all.</li> <li><strong>RequestPath is the path pattern</strong>, e.g. /reset-password/:token &mdash; never the resolved path, which contains the token.</li> <li><strong>Impersonation is bracketed.</strong> While it is energetic all act is recorded against the impersonated user, so admin.impersonation_started / admin.impersonation_stopped are the lone thread tying those actions rear to the administrator.</li> </ul> <p dir="auto">Plugins emit their own alongside auth.EmitEvent(c, godevauth.Event{...}).</p> <ul dir="auto"> <li><strong>Cleanup:</strong> auth.CleanupExpired(ctx) or auth.StartCleanup(ctx, time.Hour). Expired verification rows and sessions are alternatively never collected.</li> <li><strong>Behind a proxy:</strong> set Advanced.TrustProxyHeaders <strong>and</strong> Advanced.TrustedProxies. See <a href="https://en.mycoding.id/category/technology" target="_blank">the quick start</a> &mdash; the default is an outage waiting to happen rearward a burden balancer.</li> <li><strong>Rotating Secret:</strong> three-step deploy alongside Config.PreviousSecrets and auth.ReencryptSecrets. See <a href="https://en.mycoding.id/category/technology" target="_blank">Rotating the secret</a>.</li> <li><strong>Upgrading to border ciphertexts:</strong> run auth.ReencryptSecrets until it reports Done(), afterward deploy alongside Config.RequireBoundCiphertexts: true. Same section.</li> <li><strong>Audit trail:</strong> on by default to Config.Logger; path it alongside Events.Handler. See <a href="https://en.mycoding.id/category/technology" target="_blank">Audit events</a>.</li> <li><strong>Multi-instance:</strong> provision a shared RateLimit.Storage; everything alternatively is stateless.</li> <li><strong>Session biscuit cache:</strong> it is bypassed automatically whenever a plugin registers a SessionGuard (the admin plugin's ban inspect does). Serving authority decisions from a cached copy of the person would let a ban sit unnoticed for the cache window.</li> <li><strong>Migrations:</strong> see <a href="https://en.mycoding.id/category/technology" target="_blank">Migrations</a> below.</li> <li><strong>Introspection:</strong> auth.Routes() lists all registered endpoint; auth.Schema() the complete schema.</li> </ul> <p dir="auto">Plugins do not lone add tables (passkey and sso all bring one). They additionally add <strong>columns to the tables you already have</strong>: admin adds role, banned, banReason and banExpires to person and impersonatedBy to session, twofactor adds twoFactorEnabled to user, institution adds activeOrganizationId to session, and Config.User.AdditionalFields does the same. A archive upgrade can add a center pillar the identical way.</p> <p dir="auto">CREATE TABLE IF NOT EXISTS does nothing for a array that is already there, so a column-level stage is not optional on a repository that has data in it. store.Migrate(ctx) does both:</p> <table readabilitydatatable="1"> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td>store.Migrate(ctx)</td> <td>Creates missing tables and indexes, <strong>and</strong> adds missing columns to existing tables. Idempotent &mdash; call it on all boot. Auto-migration in godevauth.New runs exactly this.</td> </tr> <tr> <td>store.MigrationSQL()</td> <td>The complete create-from-nothing DDL, for provisioning a new repository by hand. Never contains an ALTER; it has no idea what your repository already has.</td> </tr> <tr> <td>store.PendingMigrationSQL(ctx)</td> <td>Introspects the live repository and returns <strong>only</strong> the statements it is missing &mdash; CREATE TABLE for absent tables, ALTER TABLE ... ADD COLUMN for absent columns. Empty method up to date.</td> </tr> <tr> <td>store.CheckSchema(ctx)</td> <td>Reports drift as an error naming the tables and columns, without changing anything.</td> </tr> </tbody> </table> <p dir="auto">Two things to cognize concerning added columns:</p> <ul dir="auto"> <li><strong>They are continually nullable</strong>, any Field.Required says. The rows already in the array have no value for a pillar that did not exist, and no motor volition obtain NOT NULL without a default on a populated table. A required pillar added by a immigration is hence enforced by the application, not the database, until you backfill the rows and tighten it yourself.</li> <li><strong>Migrate needs DDL rights.</strong> If your application's repository function does not have them, run migrations from a deploy step, set Advanced.DisableAutoMigrate, and set Advanced.VerifySchema so a missed immigration fails at startup alongside a communication naming the missing columns &mdash; alternatively of at the archetypal sign-in, alongside a controller error.</li> </ul> <div dir="auto" data-snippet-clipboard-copy-content=' true, // migrations are a deploy step VerifySchema: true, // ...so refuse to commencement if one was missed }, // ... }) // go-dev-auth: verifying the repository schema: sqlstore: the repository schema is // out of date: array &quot;twoFactor&quot; is missing; array &quot;user&quot; is missing column(s) // &quot;role&quot;, &quot;banned&quot;, &quot;banReason&quot;, &quot;banExpires&quot;'><pre><span>auth</span>, <span>err</span> <span>:=</span> <span>godevauth</span>.<span>New</span>(godevauth.<span>Config</span>{ <span>Database</span>: <span>store</span>, <span>Advanced</span>: godevauth.<span>AdvancedConfig</span>{ <span>DisableAutoMigrate</span>: <span>true</span>, <span>// migrations are a deploy step</span> <span>VerifySchema</span>: <span>true</span>, <span>// ...so refuse to commencement if one was missed</span> }, <span>// ...</span> }) <span>// go-dev-auth: verifying the repository schema: sqlstore: the repository schema is</span> <span>// out of date: array "twoFactor" is missing; array "user" is missing column(s)</span> <span>// "role", "banned", "banReason", "banExpires"</span></pre></div> <p dir="auto">Measured on a 4-core arm64 receptacle (go test -bench .) <strong>against the in-memory adapter</strong>. That is an honest measure of the library's own petition way and a mediocre proxy for your manufacturing latency, anywhere a repository round-trip volition dominate all row below apart from password hashing. Read these as "what the archive adds", not "what a sign-in costs".</p> <table readabilitydatatable="1"> <thead> <tr> <th>Operation</th> <th>Cost</th> </tr> </thead> <tbody> <tr> <td>Session validation (cookie -&gt; user)</td> <td>~0.6 &micro;s parallel, 21 allocs</td> </tr> <tr> <td>Full HTTP petition through the router</td> <td>~4 &micro;s, 47 allocs</td> </tr> <tr> <td>Session lookup, 10k rows (memory adapter)</td> <td>~0.5 &micro;s (indexed)</td> </tr> <tr> <td>Password hash / verify</td> <td>~51 ms, 21 KB</td> </tr> </tbody> </table> <p dir="auto">Everything apart from password hashing is microseconds. Where the prosperity really goes, in order:</p> <p dir="auto"><strong>1. Password hashing dominates CPU.</strong> ~51 ms per sign-in method approximately sign-ins/sec &divide; 20 CPU cores. At 100 sign-ins/sec that is ~5 cores doing nothing but scrypt. This is deliberate &mdash; it is what makes taken hashes costly to expert &mdash; so the lever is not to create it cheaper but to <em>do it small often</em>: sessions final 7 days by default, so a signed-in person never touches it again.</p> <p dir="auto"><strong>2. Database circular trips dominate everything else.</strong> An authenticated petition expenses two queries (session, afterward user), which on a managed repository is ~1 ms all &mdash; a thousand times the CPU disbursal of the petition itself. Turn on the meeting biscuit cache to create that zero:</p> <div dir="auto" data-snippet-clipboard-copy-content=" 5 * time.Minute}, },"><pre><span>Session</span>: godevauth.<span>SessionConfig</span>{ <span>CookieCache</span>: godevauth.<span>CookieCacheConfig</span>{<span>Enabled</span>: <span>true</span>, <span>MaxAge</span>: <span>5</span> <span>*</span> <span>time</span>.<span>Minute</span>}, },</pre></div> <p dir="auto">The commerce is staleness: a revoked meeting keeps operating until the cached copy expires. With a SessionGuard plugin registered (the admin plugin's ban inspect is one) the cache is bypassed by default fairly than serving authority decisions from a old user; set CookieCache.AcceptStaleAuthorization to obtain the preservation anyhow and obtain that bans use inside MaxAge.</p> <p dir="auto"><strong>3. Memory under a sign-in burst is bounded, not proportional to traffic.</strong> Each in-flight hash needs 128&middot;N&middot;r = 32 MiB of scratch, so concurrency is capped at GOMAXPROCS and buffers are pooled: highest transient recollection is GOMAXPROCS &times; 32 MiB no matter how many requests arrive. Requests that cannot get a slot inside MaxWait (3s) are shed alongside 503 SERVICE_BUSY alternatively of queueing into a multi-second backlog that clients cognition as a hang.</p> <p dir="auto">Tuning the hash disbursal is imaginable but changes the security/cost commerce and makes existing hashes unverifiable:</p> <div dir="auto" data-snippet-clipboard-copy-content="// Fewer cores per sign-in, small opposition to offline cracking. // Fresh deployments only. crypto.NewScryptHasher(crypto.ScryptParams{N: 16384, R: 8, P: 1, MaxConcurrent: 8})"><pre><span>// Fewer cores per sign-in, small opposition to offline cracking.</span> <span>// Fresh deployments only.</span> <span>crypto</span>.<span>NewScryptHasher</span>(crypto.<span>ScryptParams</span>{<span>N</span>: <span>16384</span>, <span>R</span>: <span>8</span>, <span>P</span>: <span>1</span>, <span>MaxConcurrent</span>: <span>8</span>})</pre></div> <div data-snippet-clipboard-copy-content=" config, routing, handlers .github/ CI, templates, CONTRIBUTING, SECURITY storage/ persistence contract, models, schema storage/memory in-memory adapter storage/sqlstore PostgreSQL / MySQL / SQLite storage/mongostore MongoDB (separate module) storage/storagetest adapter conformance suite crypto/ password hashing, tokens, TOTP, JWT oauth2/ OAuth 2.0 / OIDC client providers/ ready-made provider configurations plugins/&lt;name&gt;/ optional features, one bundle each plugins/plugintest harness for evaluation a plugin ratelimit/ charge limiter and shop interface examples/basic a runnable server docs/ architecture map, plugin guide, reviews"><pre>. the godevauth package: config, routing, handlers .github/ CI, templates, CONTRIBUTING, SECURITY storage/ persistence contract, models, schema storage/memory in-memory adapter storage/sqlstore PostgreSQL / MySQL / SQLite storage/mongostore MongoDB (separate module) storage/storagetest adapter conformance suite crypto/ password hashing, tokens, TOTP, JWT oauth2/ OAuth 2.0 / OIDC client providers/ ready-made provider configurations plugins/&lt;name&gt;/ optional features, one bundle each plugins/plugintest harness for evaluation a plugin ratelimit/ charge limiter and shop interface examples/basic a runnable server docs/ architecture map, plugin guide, reviews </pre></div> <p dir="auto">The base directory is flat since Go requires all document of a package to portion one directory: these records <em>are</em> the godevauth package, and nesting them would average either changing the import way or splitting the package. Everything that can be its own bundle already is. Files are named for what they clasp &mdash; session.go, router.go, handler_email.go &mdash; so the listing says as a array of contents.</p> <p dir="auto"><a href="https://en.mycoding.id/category/technology" target="_blank">docs/architecture.md</a> is the complete map: what each file owns, and anywhere a new alter belongs.</p> <div data-snippet-clipboard-copy-content="go activity init . ./storage/mongostore ./storage/sqlstore/integration make inspect # fmt, vet, lint, tests, race"><pre>go activity init . ./storage/mongostore ./storage/sqlstore/integration make inspect # fmt, vet, lint, tests, race </pre></div> <p dir="auto">make assistance lists all target. go.work is developer-local and not committed. The SQLite integration tests need CGO_ENABLED=1; the Postgres, MySQL and MongoDB suites skip unless the matching DSN environment variables are set.</p> <p dir="auto">See <a href="https://en.mycoding.id/category/technology" target="_blank">CONTRIBUTING.md</a> for expectations on changes, <a href="https://en.mycoding.id/category/technology" target="_blank">SECURITY.md</a> for the safety example and reporting process, and <a href="https://en.mycoding.id/category/technology" target="_blank">docs/</a> for the architecture map and audit records.</p> <p dir="auto">Working alongside an AI coding assistant? <a href="https://en.mycoding.id/category/technology" target="_blank">llms.txt</a> is a single-file briefing on the API and the rules that keep generated code correct; <a href="https://en.mycoding.id/category/technology" target="_blank">AGENTS.md</a> covers agents contributing to this repository.</p> <p dir="auto">MIT</p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/how-hn-go-dev-auth-zero-dependency-authentication-library-for-go-72062</guid> <pubDate>Sun, 11 Oct 2026 14:06:36 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[Bot traffic plunged to near 0 following the strike on its Vladimir data center]]></title> <description><![CDATA[Bot traffic plunged to near 0 following the strike on its Vladimir data center. Comments]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/bot-traffic-plunged-to-near-0-following-the-strike-on-its-vladimir-data-center-72063</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/bot-traffic-plunged-to-near-0-following-the-strike-on-its-vladimir-data-center-72063</guid> <pubDate>Sun, 11 Oct 2026 14:00:27 +0700</pubDate> <author><![CDATA[support@mycoding.id (Putri Silvia)]]></author> </item> <item> <title><![CDATA[What to expect from Apple’s ‘Welcome Home’ event]]></title> <description><![CDATA[What to expect from Apple’s ‘Welcome Home’ event. We are quickly coming up on Apple's "Welcome Home" initiate event, anywhere we anticipate a presenter of astute home-related announcements. We are expecting refreshes to Apple...]]></description> <media:thumbnail url="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/appleevent.jpg?quality=90&amp;strip=all&amp;crop=0%2C10.732984293194%2C100%2C78.534031413613&amp;w=1200"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/what-to-expect-from-apple-s-welcome-home-event-72060</link> <content:encoded><![CDATA[<div id="zephr-anchor"><p>We are quickly coming up on Apple&rsquo;s &ldquo;<a href="https://en.mycoding.id/category/technology" target="_blank">Welcome Home</a>&rdquo; initiate event, anywhere we anticipate a presenter of astute home-related announcements. We are expecting refreshes to Apple TV and HomePod Mini, as fine as a brand <a href="https://en.mycoding.id/category/technology" target="_blank">new astute residence hub</a>. We could additionally see the debut of a new phase called homeOS, and several partner devices from LG.</p><p>What we likely won&rsquo;t be seeing is the long-rumored touchscreen MacBook, which Cupertino whisperer Mark Gurman says <a href="https://en.mycoding.id/category/technology" target="_blank">will debut afterward this month</a>.</p><p>&ldquo;Welcome Home&rdquo; volition officially boot off in New York on October 13th at 9AM ET. Here&rsquo;s additional concerning what to expect.</p><p>Until now, Apple has chiefly relied on the Home app to authority all the assorted bits and bobs that create up your astute home. But it&rsquo;s a market niche that the business has been <a href="https://en.mycoding.id/category/technology" target="_blank">eager to tackle additional fully</a>. The <a href="https://en.mycoding.id/category/technology" target="_blank">new device</a>, which could be called <a href="https://en.mycoding.id/category/technology" target="_blank">HomePad</a> or <a href="https://en.mycoding.id/category/technology" target="_blank">HomeView</a> or, additional simply, Apple Home Hub, volition reportedly characteristic a 6-inch quadrate touchscreen that can either be mounted on a partition or placed on a array or countertop. According to Mark Gurman, the countertop example volition slightly resemble the iMac G4, alongside the display attached to an arm set into a fractional sphere.</p><p>It volition additionally supposedly use sound or facial acknowledgment to acknowledge who is interacting alongside it, pulling up the applicable contacts, calendar appointments, and more. Apple volition recommendation the choice for secondary acknowledgment through an iPhone to keep individual data additional secure. The entire item volition reportedly run a new application phase called&hellip;</p><p>The business may have registered a trademark for the name <a href="https://en.mycoding.id/category/technology" target="_blank">through a casing company</a> called Home Operations Suite LLC, a move that Apple has pulled before to quietly safe the entitlements to names. The phase volition supposedly characteristic a streamlined interface that &ldquo;looks akin a mashup of iOS, tvOS and watchOS,&rdquo; <a href="https://en.mycoding.id/category/technology" target="_blank">according to Gurman</a>. The focus, obviously, volition be on astute residence applications, akin controlling thermostats and astute locks, and it volition additionally be capable of making FaceTime calls.</p><p>The OS volition additionally contain your customary assortment of Apple apps and widgets, including Apple Music, Podcasts, and News, as fine as Reminders, Notes, and Siri AI.</p><div><p id="homepod-mini-and-apple-tv-get-a-minor-refresh"><h2>HomePod Mini and Apple TV get a insignificant refresh</h2></p></div><p>Word is that not much is changing alongside the HomePod Mini or Apple TV. The designs volition remain the same, but they&rsquo;ll get a new processor to assistance grip the added petition of Siri AI. This volition be the archetypal update to the HomePod Mini since it was announced on October 13th of 2020 &mdash; exactly six years before Apple&rsquo;s Welcome Home event. While the business isn&rsquo;t making any theatrical changes for the Mini&rsquo;s birthday, it volition be offering it in new colors, including green and pink.</p><p>This volition be the archetypal hardware refresh for the Apple TV since 2022. In supplement to supporting Siri AI, the new processor volition additionally speed up navigation, which can get a bit laggy. Both are expected to characteristic Apple&rsquo;s N1 chip, which includes assistance for Wi-Fi and Bluetooth 6.0.</p><div><p id="lg-and-other-partner-devices"><h2>LG and another partner devices</h2></p></div><p>It&rsquo;s apt that we&rsquo;ll get a citation of products that merge alongside HomeKit and recommendation new features built on top of homeOS and any Apple&rsquo;s hardware hub ends up being called. But don&rsquo;t anticipate Apple to portion too much of the spotlight alongside its <a href="https://en.mycoding.id/category/technology" target="_blank">partners</a>. We&rsquo;ve already seen a leak of LG astute home, including <a href="https://en.mycoding.id/category/technology" target="_blank">deadbolts, thermostats, and more</a>. They&rsquo;ll additionally reportedly contain an NFC-based &ldquo;<a href="https://en.mycoding.id/category/technology" target="_blank">Proximity Control</a>&rdquo; that pops up a clue in the iPhone&rsquo;s Dynamic Island whenever held near the device, as fine as a &ldquo;<a href="https://en.mycoding.id/category/technology" target="_blank">tap to set up without power</a>&rdquo; pairing feature.</p><div><p><span><strong>Follow topics and authors</strong> from this narrative to see additional akin this in your personalized homepage nourish and to obtain email updates.</span></p><ul><li id="follow-author-article_footer-dmcyOmF1dGhvclByb2ZpbGU6NjA5MzU0"><span aria-expanded="false" aria-haspopup="true" role="button" tabindex="0"><span><span><svg width="9" height="9" viewbox="0 0 9 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="Follow"><path d="M5 0H4V4H0V5H4V9H5V5H9V4H5V0Z"></path></svg></span><span>Terrence O'Brien</span></span></span></li><li><li><li><li><li><li><li></ul></div></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/what-to-expect-from-apple-s-welcome-home-event-72060</guid> <pubDate>Sun, 11 Oct 2026 14:00:00 +0700</pubDate> <author><![CDATA[support@mycoding.id (Terrence O’brien)]]></author> </item> <item> <title><![CDATA[My mom was raising me and caring for her mom with Alzheimer's. Our neighbors became our village.]]></title> <description><![CDATA[My mom was raising me and caring for her mom with Alzheimer's. Our neighbors became our village.. I grew up in a Michigan co-housing community during my family cared for my grandma alongside Alzheimer's. Our neighbors became family.]]></description> <media:thumbnail url="https://i.insider.com/6abd50f2d15f8a572974cb3d?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/my-mom-was-raising-me-and-caring-for-her-mom-with-alzheimer-s-our-neighbors-became-our-village-72050</link> <content:encoded><![CDATA[<div 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/6abd4fe0d15f8a572974cb31?width=1000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6abd4fe0d15f8a572974cb31?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6abd4fe0d15f8a572974cb31?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6abd4fe0d15f8a572974cb31?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6abd4fe0d15f8a572974cb31?width=1000&amp;format=jpeg&amp;auto=webp 1000w" sizes=" 1280px) 900px" alt="Three generations in a photo" decoding="sync"> </p></div> <span> <span e-name="image-source" itemprop="creditText">Courtesy of the author</span> </span> </figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>I spent the archetypal years of my existence on the brownstone-lined streets of Brooklyn, waking up to the appears of birds chirping blended alongside car horns reverberating throughout the city. Little did I cognize that my younker would obtain an unexpected turn.</p><p>In the center of archetypal grade, my mom <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">pulled me out of school</a>, packed our suitcases, and moved us throughout the nation to Michigan as my grandma, Lillian, was diagnosed alongside Alzheimer's and needed additional support. My contiguous family is small, fair my mom and me, and Michigan felt entirely abroad at the time.</p><h2 id="8c528b91-a2db-40a5-a678-a5979a78765a" data-toc-id="8c528b91-a2db-40a5-a678-a5979a78765a">We moved into a co-housing community</h2><p>My mom continually emphasized the importance of construction family through community. With that in mind, she moved us to Great Oak Cohousing, a community designed about the <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">concept of autonomous living</a> alongside shared amenities: a average house, an extended garden, and a assortment of gathering spaces, all collaboratively managed by residents.</p><p>I cut in affection alongside Great Oak nearly immediately. It unlocked a manner that had been <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">missing in New York</a>: raw nature all about us, the capability to run about independently, and an unmatched awareness of community.</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/6abd518f265e3f8e338f9255&quot;:{&quot;contentType&quot;:&quot;image/png&quot;,&quot;aspectRatioW&quot;:750,&quot;aspectRatioH&quot;:563}}' alt="Woman alongside kid posing for photo"> </p></div> <span> <figcaption e-name="image-caption"> The author moved from New York to Michigan to assistance attention for her grandmother.&nbsp; <span e-name="image-source" itemprop="creditText"> Courtesy of the author </span> </figcaption> </span> </figure> <p>We welcomed my grandma into our new residence alongside open arms, picking her up from my aunt Heidi's house, anywhere she lived during the week, and bringing her to ours for lengthy weekends.</p><p>My grandma had visited us in New York whenever I was a baby, but beyond that, we hadn't spent much period together. Almost immediately following the move, we became rascals together, finding many ways to perform and enter trouble.</p><h2 id="056d5fa8-ac94-4043-9f5f-de192c39006f" data-toc-id="056d5fa8-ac94-4043-9f5f-de192c39006f">We had a community</h2><p>My mom frequently tells the narrative of a period we were at our <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">local market store</a>. I was tasked alongside pushing my grandma in her wheelchair. Soon following we arrived, we disappeared from my mom's view. When she spotted us, I was whisking my grandma up and downward the aisles during she stuck her arm out, knocking boxes of cookies off the shelves as we went, the two of us bursting into laughter. We were two peas in a pod.</p><p>At cohousing, we could sit exterior and toss tennis balls about during neighbors strolled by and busy us in affable small talk. We could bask our meal at <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">picnic tables</a> on a heated day. Everyone knew my grandma, welcomed her, and met her alongside patience and kindness.</p><p>When she had a medicinal emergency, I called 911 during my mother got the notice of neighbors. Within minutes, three group rushed into our condo to help, during another stood in the street waiting to straightforward the ambulance. In among the scariest moments of my childhood, we weren't alone.</p> <p>A narrative I frequently think rear to is from a period whenever we were at a community event, observing a female perform the piano. Midway through the song, my grandma began chanting alongside in a shrill voice. Instead of shushing her, the entire community joined in. What could have been an uncomfortable instant turned into one of joy. It really captured what Great Oak meant to us. My grandma was never treated as a burden or an outsider. She was merely part of the community.</p><h2 id="41836b96-07ed-4a92-83a7-6b12d3f7120a" data-toc-id="41836b96-07ed-4a92-83a7-6b12d3f7120a">It was achy to see my grandma alongside Alzheimer's</h2><p>Still, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">witnessing her Alzheimer's</a> brought challenges that, as a young child, I didn't immediately understand. I helped her get dressed, enduring a combat or two alongside the way, and equal discovered that I had beautiful fine reflexes whenever it came to dodging the occasional flying dish of food. Despite those challenging moments, I understood that she couldn't assistance it. It was achy to observe her endure her awareness of self, and I can lone ideate how much harder it was for my mother, who had to observe her own mother battle in this way.</p><p>I frequently appearance rear at that period through a distinct lens now that I'm older, specifically from my mother's perspective. <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Caring for a parent</a> alongside Alzheimer's during raising a young kid as a sole mother was no uncomplicated task. I have huge admiration for her and for the power she displayed through it all.</p><p>Experiences akin these instruct you lessons that are difficult to study anyplace else: patience, unconditional love, sacrifice, and, perchance most importantly, the power of family. Caring for my grandma not lone brought the two of us nearer together, I additionally grew nearer to my aunt, person I appearance up to tremendously. I witnessed the sacrifices she made, beginning a area in her Detroit-area residence so my grandma could remain during the week.</p><p>What could have been a lonely cognition became one that was defined by community. Great Oak became an extended family of our small one, showing me that family isn't lone who you're delivered to, but who welcomes you in, stands beside you, and shows up whenever you need them most.</p> </div> <p> <h2> Read next </h2> </p>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/my-mom-was-raising-me-and-caring-for-her-mom-with-alzheimer-s-our-neighbors-became-our-village-72050</guid> <pubDate>Sun, 11 Oct 2026 13:48:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Liliana Hetherman)]]></author> </item> <item> <title><![CDATA[Hexus – SaaS Landing HTML Template]]></title> <description><![CDATA[Hexus – SaaS Landing HTML Template. Hexus – SaaS Landing HTML Template Free Download. Hexus is a Modern, and High-converting SaaS Landing Page Website Template designed for Software Startups, SaaS...]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Digital Products]]></category> <link>https://en.mycoding.id/hexus-saas-landing-html-template-72059</link> <content:encoded><![CDATA[<div class="entry-content admission clearfix"><div class="stream-item stream-item-above-post-content"><div class="stream-item-size"> </div></div><p class="wp-block-paragraph">Hexus – SaaS Landing HTML Template Free Download. Hexus is a Modern, and High-converting SaaS Landing Page Website Template designed for Software Startups, SaaS Businesses, AI Tools, Mobile Apps, Tech Companies, Digital Products, and Cloud-based Services. With a Sleek User Experience and Conversion-focused Layouts, Hexus helps you Showcase your Product, Increase Engagement, and Generate additional Leads Effectively.</p><div id="ezoic-pub-ad-placeholder-117" data-inserter-version="2" data-placement-location="under_page_title"></div><h3 class="wp-block-heading">Main Features</h3><ul class="wp-block-list"><li>Built alongside Bootstrap 5</li><li>Modern SaaS UI Design</li><li>Sticky Header</li><li>Conversion-Oriented Structure</li><li>SEO Optimized</li><li>Working AJAX Contact Form</li><li>Smooth Scroll</li><li>Responsive Design</li><li>W3C Validated Markup</li><li>Fast Loading</li><li>Animations and Hover Effects</li><li>Blog Pages</li><li>and more</li></ul><h2 class="wp-block-heading">Download Hexus – SaaS Landing HTML Template</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><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> <br><div class="copybox"></div></div><br><p class="wp-block-paragraph">Free download Hexus – SaaS Landing HTML Template by validthemes on <strong><a href="https://en.mycoding.id/category/digital-products" target="_blank" target="_blank" rel="noreferrer noopener">Themeforest</a></strong> 63475250 premium SaaS endeavor and AI innovation HTML theme download.</p><div id="ezoic-pub-ad-placeholder-125" data-inserter-version="2" data-placement-location="under_first_paragraph"></div><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></div></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/hexus-saas-landing-html-template-72059</guid> <pubDate>Sun, 11 Oct 2026 13:35:00 +0700</pubDate> <author><![CDATA[support@mycoding.id (Null Php Script)]]></author> </item> <item> <title><![CDATA[My favorite hidden gem in California has incredible food and wine — and it's more affordable than Napa Valley]]></title> <description><![CDATA[My favorite hidden gem in California has incredible food and wine — and it's more affordable than Napa Valley. Paso Robles, on California's chief coast, has delicious food, amazing wine, and the sweetest locals. It's additionally much additional affordable than Napa.]]></description> <media:thumbnail url="https://i.insider.com/6ac7c9e77bf24b4467e69608?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/my-favorite-hidden-gem-in-california-has-incredible-food-and-wine-and-it-s-more-affordable-than-napa-valley-72051</link> <content:encoded><![CDATA[<div 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/671aa3c5a0a0cc14f223be4c?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/671aa3c5a0a0cc14f223be4c?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/671aa3c5a0a0cc14f223be4c?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/671aa3c5a0a0cc14f223be4c?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/671aa3c5a0a0cc14f223be4c?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/671aa3c5a0a0cc14f223be4c?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/671aa3c5a0a0cc14f223be4c?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="JUSTIN Vineyard in Paso Robles" 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>Paso Robles is my favorite hidden gem in California.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of JUSTIN Winery</span> </span> </figcaption> </span> </span></figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>Where should you go in <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">California</a> for delicious food, sprawling vineyards, and the satisfying audio of a freshly uncorked vino bottle?</p><p>Let me guess, you're thinking of <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Napa</a>.</p><p>But what if I told you there's a hidden gem on the chief shoreline anywhere you can get all of the complete alongside small crowds, lesser prices, and cooler tasting experiences?</p><p>Welcome to <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Paso Robles</a>.</p><h2 id="36165750-92c9-41bd-a940-33e84e79d4b5" data-toc-id="36165750-92c9-41bd-a940-33e84e79d4b5">A vino for everyone</h2> <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/671aa40f01ea6d83dee3e9e1&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:2000,&quot;aspectRatioH&quot;:1333}}' alt="JUSTIN Winery in Paso Robles"> </p></div> <span> <figcaption e-name="image-caption"> You'll discover the stunning Justin vineyards and winery in Paso Robles.&nbsp; <span e-name="image-source" itemprop="creditText"> Courtesy of JUSTIN Winery </span> </figcaption> </span> </figure> <p>Growing up in the <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Bay Area</a>, Napa Valley quickly became a particular location for my family. With no relatives living in the US, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">my Greek parents</a> took us there all Christmas to create the holidays awareness special.</p><p>I've visited Napa complete 20 times, but complete the former few years, Paso Robles has taken my heart.</p><p>Paso Robles is nearly exactly in the center of Los Angeles and San Francisco, concerning 200 miles all way. Parallel to the mountains and the sea, the area has a distinctive terroir because of big heat swings. The topography's distinctive microclimates are ideal for expanding a assortment of grapes, assisting Paso differentiate itself in a crowded <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">California vino market</a>.</p><p>"The assortment of this area really separates itself from the monoculture that Napa has become," Andrew Jones, the owner of Field Recordings Winery, told me.</p><p>Adding to that assortment is the low obstacle to admission in the Paso Robles vino industry. Most of the wineries are small and family-owned, and the winemakers are frequently on-site to guide you. This refreshingly laid-back method makes tastings awareness close and approachable, and they're at a far additional accessible cost item than Napa, anywhere the elevated disbursal of winemaking has trickled downward to tourists. Silicon Valley Bank's <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">2026 direct-to-consumer vino report</a> established that the average tasting fee in Napa is $79, during it's $27 in Paso Robles.</p> <p>"Napa has a taller order; they have to live up to a brand that's worldwide," stated Neeta Mittal, among the archetypal Indian women to open a winery in the US. "Where we thrive in Paso is we're capable to etch our own identity, and that's a awesome nimbleness that we're allowed."</p><h2 id="0ce7c576-57f2-4f53-8a01-a808c811fb12" data-toc-id="0ce7c576-57f2-4f53-8a01-a808c811fb12">Tasting experiences alongside a twist</h2> <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/6181e72923745d001824c5f6&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:2000,&quot;aspectRatioH&quot;:1500}}' alt="Paso Robles LXV Wines"> </p></div> <span> <figcaption e-name="image-caption"> My wine-and-spice pairing at LXV Wine.&nbsp; <span e-name="image-source" itemprop="creditText"> Anneta Konstantinides/Insider </span> </figcaption> </span> </figure> <p>Mittal and her husband, Kunal, own <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">LXV Wine</a>, which offers the lone wine-and-spice pairing in the US. I visited LXV on my archetypal trip to Paso Robles and was delighted that my tasting included cheeses covered in assorted spices. I learned how ginger and dreary truffle sodium chloride can bring out the flavors of Cabernet and why Szechuan peppers and Nebbiolo brace so well.</p><p>I additionally affection the tastings at <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">Field Recordings</a>, which prides itself on making wines that "are all concerning the sensation &mdash; alongside none of the pretension," as its website reads. Jones specializes in small-batch, single-vineyard wines. They're fun and funky, adorned alongside colorful labels and names akin "Kitties" or "Super Gnario."</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/6718859b9b3250dbbce954bf&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:1912,&quot;aspectRatioH&quot;:1200}}' alt="Paso Robles Tin City"> </p></div> <span> <figcaption e-name="image-caption"> Tin City is one of my favorite parts of Paso Robles.&nbsp; <span e-name="image-source" itemprop="creditText"> Anneta Konstantinides/Business Insider </span> </figcaption> </span> </figure> <p>Field Recordings is in <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">Tin City</a>, my favorite part of Paso Robles. The converted manufacturing hub features complete 20 wineries, all inside strolling extend of all other, anywhere tastings typically disbursal between $20 and $30. It's ideal for a vino crawl, but there's additionally a brewery and the extremely fun Tin City Distillery if you're craving cocktails instead.</p><h2 id="27aad291-2c1f-48ce-ac7f-34f1a289cc47" data-toc-id="27aad291-2c1f-48ce-ac7f-34f1a289cc47">Where you can vino <em>and </em>dine</h2><p>Another logic I keep going rear to Paso Robles is the awesome eatery scene. I never skip a meal at <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">The Alchemists' Garden</a>, which has a fun cocktail catalog and several of the finest fries.</p><p>My parents motionless rave concerning the meal we had at <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">Il Cortile Ristorante</a>. Its pappardelle is handmade and paired alongside a rich, luscious <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Bolognese</a>, and the branzino is light, bright, and cooked to perfection. But the celebrity is the risotto covered in pale truffles, a holiday splurge I've never forgotten.</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/6181e712326b260018348c29&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:960,&quot;aspectRatioH&quot;:1280}}' alt="Paso Robles Alchemist Kitchen food"> </p></div> <span> <figcaption e-name="image-caption"> My archetypal meal at The Alchemist's Garden, featuring the amazing french fries.&nbsp; <span e-name="image-source" itemprop="creditText"> Anneta Konstantinides/Insider </span> </figcaption> </span> </figure> <p>The <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">Restaurant at Justin</a>, which earned its archetypal Michelin celebrity in 2022, bested any fine-dining cognition I've had in Napa. I motionless have pictures saved from that dinner, anywhere my fianc&eacute; and I feasted on maple-leaf duck breast, premier filet, and assorted veggies picked from their 26-acre farmstead.</p><p>And no sojourn to Paso is complete without a halt at&nbsp;<a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow">Brown Butter Cookie Company</a>, which has mastered the salty-sweet combo in a small treat. The hand-rolled cookies are made locally and accessible in a assortment of flavors.</p><p>On my final visit, I grabbed a dozen bags for my family, friends, and myself, of course.</p><h2 id="c6c10d0b-d96e-46ee-8a93-989a7a44ae74" data-toc-id="c6c10d0b-d96e-46ee-8a93-989a7a44ae74">A destination for any season</h2> <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/6ac7c89f7bf24b4467e695e3&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:2000,&quot;aspectRatioH&quot;:1500}}' alt='The &quot;Field of Lights&quot; in Paso Robles'> </p></div> <span> <figcaption e-name="image-caption"> The "Field of Light" is a famous tourist place in Paso Robles.&nbsp; <span e-name="image-source" itemprop="creditText"> Jeff Amlotte/Los Angeles Times via Getty Images </span> </figcaption> </span> </figure> <p>Blessed alongside California sunshine, Paso Robles is a awesome holiday year-round. I've gone in the fall, summer, and winter &mdash;&nbsp;where it's festively <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">decorated for the holidays</a> &mdash;&nbsp;and have continually been charmed by the small-town vibes and affable locals. (Don't young female karaoke nights at the Pine Street Saloon.)</p><p>The winemaking earth is gradually starting to study concerning Paso Robles, but the town itself remains a <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">hidden gem</a>.</p><p>For now, at least, this is California's best-kept secret.</p> </div> <p> <h2> Read next </h2> </p> <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>Anneta Konstantinides is a manner equal at Business Insider and has spent nearly 10 years reporting in the manner space. Her concentration is on food and travel, anywhere she's known to obtain readers inner Michelin-starred kitchens or to the hottest new Las Vegas hotel. Sometimes it's Anneta doing the cooking, foremost readers through the finest recipes by Gordon Ramsay or Ina Garten. </span><span>Anneta has also&nbsp; been deeply reporting on the pageant industry since 2019, interviewing dozens of Miss USA and Miss Universe winners. She was a two-time finalist at the LA Press Club Awards for her inquiry into the 2022 and 2024 Miss USA scandals and was featured in The New York Times Presents event "How to Fix a Pageant" on Hulu in September 2023.&nbsp;</span><span>After graduating from UCLA alongside a B.A in English Literature and a insignificant in movie &amp; television, Anneta worked as a newsman in London, Sydney, New York City, Los Angeles, and Washington, DC. She currently lives in Los Angeles.&nbsp;</span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/my-favorite-hidden-gem-in-california-has-incredible-food-and-wine-and-it-s-more-affordable-than-napa-valley-72051</guid> <pubDate>Sun, 11 Oct 2026 13:28:02 +0700</pubDate> <author><![CDATA[support@mycoding.id (Anneta Konstantinides)]]></author> </item> <item> <title><![CDATA[We live on a 'family compound' with my parents and siblings. It's made raising our daughter much easier.]]></title> <description><![CDATA[We live on a 'family compound' with my parents and siblings. It's made raising our daughter much easier.. My husband, daughter, and I live in a distinct home on my parents' property. In total, nine family members and three dogs live on our &quot;family compound.&qu...]]></description> <media:thumbnail url="https://i.insider.com/6ac666da1ba1ce8fa8f28470?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/we-live-on-a-family-compound-with-my-parents-and-siblings-it-s-made-raising-our-daughter-much-easier-72052</link> <content:encoded><![CDATA[<div 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/6ac66781ab711cb5ad4b4e7a?width=1300&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac66781ab711cb5ad4b4e7a?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac66781ab711cb5ad4b4e7a?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac66781ab711cb5ad4b4e7a?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac66781ab711cb5ad4b4e7a?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac66781ab711cb5ad4b4e7a?width=1300&amp;format=jpeg&amp;auto=webp 1300w" sizes=" 1280px) 900px" alt="Taylor and her hubby clasp their young female in forefront of their house." 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>We have our own house, but my hubby and I live on the identical asset as my parents and siblings.</span> <span> <span e-name="image-source" itemprop="creditText">Taylor Bunting</span> </span> </figcaption> </span> </span></figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>There's a famous saying that <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">it takes a village</a> to lift a child.</p><p>I'd continually understood the saying as a metaphor. But whenever my hubby and I decided to build a home on the identical asset anywhere my parents, younger siblings, and my brother's fianc&eacute; live, that adage became a lot additional literal.</p><p>Now, we're raising our female on our "family compound," alongside our settlement correct next door.</p><h2 id="c02104bb-1d9d-4eea-8413-64d7dca7f049" data-toc-id="c02104bb-1d9d-4eea-8413-64d7dca7f049">A compound wasn't the first plan, but living current has been an amazing experience</h2> <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/6ac5379f215acfce661bd9f1&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:1260,&quot;aspectRatioH&quot;:945}}' alt="The exterior of Taylor&#039;s parents&#039; house."> </p></div> <span> <figcaption e-name="image-caption"> My parents built their home first.&nbsp; <span e-name="image-source" itemprop="creditText"> Taylor Bunting </span> </figcaption> </span> </figure> <p>Although my family had jokingly talked concerning construction houses next entrance to all another since I was a child, we never idea we could create that a reality.</p><p>However, the institution started to materialize in 2024. At the time, my hubby and I were living concerning 15 minutes from my younker home, which was bursting at the seams alongside my three siblings, my brother's fianc&eacute;, the two my parents, and their two adorable aureate retrievers.</p><p>My parents had been <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">searching for a larger home</a> for years, but eventually decided to acquisition a part of district in our Massachusetts hometown.</p><p>Here, they built a home big adequate for all six of them to live together comfortably, and realized there was adequate area remaining on the asset for my hubby and me to build our own home if we wanted to.</p><p>They began building on their residence that identical year, and not lengthy after, my hubby and I decided to market our existing residence and interrupt dirt on a new location on the property.</p><p>In total, nine family members and three dogs live in the two houses, which are fair a abbreviated stroll distant from all other.</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/6ac667b614325b78342d344c&quot;:{&quot;contentType&quot;:&quot;image/png&quot;,&quot;aspectRatioW&quot;:1086,&quot;aspectRatioH&quot;:815}}' alt="The exterior of Taylor&#039;s home."> </p></div> <span> <figcaption e-name="image-caption"> I affection that our home is fair a quick stroll distant from my parents' home.&nbsp; <span e-name="image-source" itemprop="creditText"> Taylor Bunting </span> </figcaption> </span> </figure> <p>We've now been living current for six months and couldn't ask for a improved <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">living arrangement</a>. I affection being capable to see my siblings off for their archetypal day of academy or prom night, having equivalent nights alongside my family, and enjoying slow, cozy days observing football together.</p><p>Not lone are my hubby and I fortunate adequate to have our built-in finest allies lone a abbreviated stroll away, but we additionally get to observe our female develop up alongside straightforward admission to her grandparents, aunts, and uncles.</p><p>It's nice that we never have to concern concerning <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">finding a sitter</a> we trust, as my family members affection to keep an eye on her for any reason, from a date night to me squeezing in a exercise during my hubby is out.</p><p>Even having one of my younger siblings pop complete and perform alongside our female during we get chores done about the home makes a huge difference.</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/6ac67362ab711cb5ad4b4eee&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:1316,&quot;aspectRatioH&quot;:987}}' alt="Taylor&#039;s younger brother and sister sit on the flat alongside her daughter."> </p></div> <span> <figcaption e-name="image-caption"> My siblings affection spending period alongside their niece.&nbsp; <span e-name="image-source" itemprop="creditText"> Taylor Bunting </span> </figcaption> </span> </figure> <p><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Childcare is expensive</a>, particularly in Massachusetts, and we are everlastingly grateful that we don't have to obtain on that financial burden.</p><p>And although my family spends a lot of period together, and have several shared spaces (like a pond and a detached garage), we never awareness akin we're on top of all other.</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/6ac7ab2a42403ad8039a4957&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:1320,&quot;aspectRatioH&quot;:935}}' alt="A gated pond exterior of a ample house."> </p></div> <span> <figcaption e-name="image-caption"> We have a shared pond and detached garage.&nbsp; <span e-name="image-source" itemprop="creditText"> Taylor Bunting </span> </figcaption> </span> </figure> <p>In fact, there are plentifulness of days I don't equal see my family members since of occupied academy and activity schedules.</p><p>Plus, we're all extremely respectful of boundaries. If we get all other's clothes, we cleanse and come back them. If we desire to obtain a snack from person else's pantry, we ask first.</p><h2 id="79d803f3-3b2d-4b55-b989-7b917cdd3257" data-toc-id="79d803f3-3b2d-4b55-b989-7b917cdd3257">The living institution feels akin a continuation of our close-knit relationship</h2> <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/6ac94c887bf24b4467e69e75&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:1204,&quot;aspectRatioH&quot;:903}}' alt="A photo of Taylor and her complete family on vacation."> </p></div> <span> <figcaption e-name="image-caption"> My family loves spending period together.&nbsp; <span e-name="image-source" itemprop="creditText"> Taylor Bunting </span> </figcaption> </span> </figure> <p>I'm frequently asked why my siblings and I would desire to live in specified near proximity to all another and to my parents.</p><p>To me, though, it fair felt akin a continuation of item that my parents had already created. They were incredibly intentional concerning keeping our family near during we were expanding up, so as adults, we naturally desire to expend period together.</p><p>Plus, my parents never weighed the achievement of their parenting on whether we got into fancy colleges, established huge careers, or moved distant to be "independent." </p><p>They accept their parenting volition have been prosperous if their kids desire to expend their period alongside them and all other. Their goal was to lift us to desire to be all other's finest friends.</p><p>The next inquiry I'm typically asked is how my hubby feels concerning the arrangement. Honestly, he was fair as enthusiastic as I was to build a home next to my parents. Now, he loves <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">playing basketball</a> exterior alongside my brother, and luckily, his flank of the family lives fair 10 minutes distant &mdash; so, we expend many of period alongside them, too.</p><p>Unfortunately, our current asset isn't ample adequate to modify additional houses, so as our family continues to alter and expand, we've already begun looking for a bigger part of district downward south that can modify all sibling, should they someday desire houses of their own.</p><p>Our current setup is ideal for this phase in our lives, but we desire to create certain there is continually area for all of us if we desire to continue living together on the identical property. </p> </div> <p> <h2> Read next </h2> </p> <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> <div> <p><span>Taylor Bunting is a New England-based stay-at-home mom and satisfied creator. Through her content, she shares glimpses into family, motherhood, and family-compound living.&nbsp;</span><span>Tiktok: @taybunting_</span><span>Instagram: @taybunting_</span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/we-live-on-a-family-compound-with-my-parents-and-siblings-it-s-made-raising-our-daughter-much-easier-72052</guid> <pubDate>Sun, 11 Oct 2026 13:24:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Taylor Bunting)]]></author> </item> <item> <title><![CDATA[I thought we'd be at an extended-stay hotel for 2 weeks. We stayed for 3 months while house-hunting.]]></title> <description><![CDATA[I thought we'd be at an extended-stay hotel for 2 weeks. We stayed for 3 months while house-hunting.. My family and I moved into an extended-stay inn for three months during looking for a rental. I got additional relaxed concerning display period and junk food.]]></description> <media:thumbnail url="https://i.insider.com/6ac692267bf24b4467e68d91?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/i-thought-we-d-be-at-an-extended-stay-hotel-for-2-weeks-we-stayed-for-3-months-while-house-hunting-72053</link> <content:encoded><![CDATA[<div 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/6ac6921542403ad8039a423d?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac6921542403ad8039a423d?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac6921542403ad8039a423d?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac6921542403ad8039a423d?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac6921542403ad8039a423d?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac6921542403ad8039a423d?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6ac6921542403ad8039a423d?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="Adult holds a small kid in a cafe beside a second environment alongside a child, cat, dog, and tablet on a bed." 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>The author and her family stayed in an extended-stay inn for nearly three months during looking for a rental.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of Tonya Russell</span> </span> </figcaption> </span> </span></figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>After eight years in the identical home, my family needed a change. We planned to rent during we <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">built a new house</a>, imagining a concise passage between the two. Instead, the rental market had another plans.</p><p>Apparently, it was a extremely famous period to be looking for a new location to live. With multiple families vying for all house, landlords could be choosy. Being self-employed alongside dogs put us near the base of the list. In the meantime, we were living in an <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">extended-stay hotel</a>. Still, I wasn't discouraged because&hellip;well, how lengthy could it obtain to discover a match?</p><p>What I idea would be a two-week inn remain stretched into nearly three months. During that time, my husband, our 1-year-old daughter, Talia, two dogs, and our cat learned what it meant to <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">live alongside small space</a>. More surprisingly, inn living changed how I raised &mdash; and eventually, my views on home.</p><h2 id="907d5680-30ac-433b-92a0-b6452fed5ecd" data-toc-id="907d5680-30ac-433b-92a0-b6452fed5ecd">We took what we needed, and the remainder went in storage</h2><p>We moved everything we owned into two retention units, and I packed for a abbreviated stay. We took what fit in our SUV: a ample suitcase, a bag for my daughter, stuffed alongside pajamas and outfits, a few toys and books, a box of diapers, a litter box, the journey stroller we kept in our car, and a journey wagon that would rotate into a lifeline.</p><p>By the second week, I was making weekly trips to retention to rotate my daughter's toys. <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Living in a hotel</a> can create toddlers uninterested fast.</p><p>I additionally started emotion boxed in. I missed my home, hated strolling the dogs at all hours, and dreaded the dilatory elevators that occasionally got stuck. Some days, I'd ascend four flights of stairs or obtain my high-energy dog for runs. Talia and I frequented the supermarket fair to keep from going crazy.</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/6ac692537bf24b4467e68d93&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4284,&quot;aspectRatioH&quot;:5712}}' alt="toddler operating through seating area in hotel"> </p></div> <span> <figcaption e-name="image-caption"> The author's female enjoyed playing in the hotel.&nbsp; <span e-name="image-source" itemprop="creditText"> Courtesy of Tonya Russell </span> </figcaption> </span> </figure> <h2 id="c3100fb1-b175-489f-9613-e52a5ff55cbe" data-toc-id="c3100fb1-b175-489f-9613-e52a5ff55cbe">I rethought how I parent</h2><p>I additionally had to rethink several <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">parenting rules</a>. At home, I was against the two junk food and display time. But the inn dawn meal buffet had constricted vegetarian options. When Talia pointed at the plain donuts, I let her have one. She normally took one bite. She additionally asked for my husband's vegan sausages, so she had one alongside him most mornings.</p><p><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Screen time</a> became another compromise. I motionless needed to work, and concentrating during sharing a inn area alongside a toddler was nearly impossible. Fifteen minutes of Miss Rachel or Gracie's Corner gave me adequate period to put on my noise-canceling headphones and dump a idea onto the leaf before I forgot it.</p><p>When a storm ruined our coast plans, a companion suggested we use the hotel's gathering area for a alter of pace. It became part of our routine, alongside Talia playing peekaboo about the tables alongside the revenue manager.</p> <h2 id="81821ce4-0ec0-47d8-8e19-be661a430421" data-toc-id="81821ce4-0ec0-47d8-8e19-be661a430421">I enjoyed getting to cognize our 'neighbors'</h2><p>Not everyone in an extended-stay inn is a long-term guest. There were vacationers, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">business travelers</a>, armed forces members waiting for traditional housing, truck drivers, and group whose employers maintained company accounts.</p><p>Then there were families who merely had nowhere to go.</p><p>I met veterans and families navigating the accommodation system. Agencies sometimes location families in hotels until they discover housing. Extended-stay hotels can modify complete families &mdash; including the dogs and cats that can create rental searching equal harder.</p><p>I additionally bonded alongside the staff. One female said lone Spanish, yet somehow, I started picking up on what she was saying, which allowed me to assistance translate for another guests. I chatted alongside second-shift front-desk workers, who shared their aspirations alongside me and looked the another way whenever I snuck into the galley for cornflakes. Talia earned the nickname "spicy h2o baby" since she and I shared seltzer from the bar.</p><h2 id="bc638b86-fa0f-4a65-8bae-29fbce3891c0" data-toc-id="bc638b86-fa0f-4a65-8bae-29fbce3891c0">We've established a rental, and I was amazed to young female the hotel</h2><p>I spent weeks worrying concerning what she was missing by not being residence and what bad habits would stick. Now that we've moved, she motionless asks for "Pad," but lone needs a few minutes before wandering off to color or read. And all day feels akin 15 minutes of Christmas as she rediscovers <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">another toy</a> from storage.</p><p>When we eventually remaining the hotel, I expected relief. Instead, I felt a different tug of homesickness.</p><p>In those nearly three months, my female had gone from saying a random term or two to speaking full-on toddler gibberish. She stopped face-planting in the hallways and learned to run.</p><p>Talia was living her life, enjoying playing in the gathering room, spraying in the pool, and making allies alongside the group who knew her name. Maybe that was what I hadn't understood whenever we checked in alongside one carload of belongings and a two-week plan: Home is anywhere your family is.</p> </div> <p> <h2> Read next </h2> </p> <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> <div> <p><span><span>Tonya Russell is a freelance newsman covering mental health, culture, and wellness. She resides in the Philadelphia area alongside her fianc&eacute; and four fur babies.</span><span> Her words have been featured in Vice, Health.com, The New York Times, and the Washington Post. Follow her on <a href="https://en.mycoding.id/category/business" target="_blank">Instagram</a> and <a href="https://en.mycoding.id/category/business" target="_blank">Twitter.</a></span></span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/i-thought-we-d-be-at-an-extended-stay-hotel-for-2-weeks-we-stayed-for-3-months-while-house-hunting-72053</guid> <pubDate>Sun, 11 Oct 2026 13:22:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Tonya Russell)]]></author> </item> <item> <title><![CDATA[Don't Put Tilde In Your Path]]></title> <description><![CDATA[Don't Put Tilde In Your Path. Comments]]></description> <media:thumbnail url="https://disconnect3d.pl//assets/posts/tilde-in-path.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/don-t-put-tilde-in-your-path-72055</link> <content:encoded><![CDATA[<div> <div> <div> <p>I was playing alongside the <a href="https://en.mycoding.id/category/technology" target="_blank">nono</a> delegate sandboxing tool and it greeted me alongside a warning: PATH entries the sandbox can compose to: ~/.local/bin/ which looked suspicious.</p> <p><img src="https://disconnect3d.pl/assets/posts/tilde-in-path-nono-warning.png" alt="nono alert concerning PATH entries the sandbox can compose to"></p> <p>In another words, doing this in your ~/.bashrc or ~/.zshrc:</p> <div><div><pre><span>export </span><span>PATH</span><span>=</span><span>"</span><span>$PATH</span><span>:~/.local/bin/"</span> </pre></div></div> <p>will not develop the ~ (tilde) into the residence way (or $HOME) as the tilde to residence enlargement happens lone in unquoted inputs, as additionally the <a href="https://en.mycoding.id/category/technology" target="_blank">bash records says</a>:</p> <blockquote> <p>If a term starts alongside an unquoted tilde character (&lsquo;~&rsquo;), all of the characters up to the archetypal unquoted slash (&hellip;) are considered a tilde-prefix. (&hellip;)</p> <p>Bash checks all changeable project for unquoted tilde-prefixes immediately following a &lsquo;:&rsquo; or the archetypal &lsquo;=&rsquo;, and performs tilde enlargement in these cases. (&hellip;)</p> </blockquote> <p>So alternatively of having /home/&lt;user&gt;/.local/bin/ added to PATH we end up alongside ./~/.local/bin/ added to PATH.</p> <p>And to fix this, we can do this:</p> <div><div><pre><span>export </span><span>PATH</span><span>=</span><span>"</span><span>$PATH</span><span>:</span><span>$HOME</span><span>/.local/bin/"</span> </pre></div></div> <p>Note that the unquoted type export PATH=$PATH:~/.local/bin really plant in Bash and Zsh, since tilde enlargement is additionally performed in changeable assignments following = and following all :. But relying on that is susceptible as for example, a whitespace volition interrupt the changeable assignment.</p> <p>The issue can additionally be seen here:</p> <div><div><pre><span>$ </span><span>ls</span> <span>-la</span> total 0 drwxr-xr-x@ 2 dc personnel 64 Oct 2 13:37 <span>.</span> drwxr-x---+ 105 dc personnel 3360 Oct 2 13:37 .. <span>$ </span><span>mkdir</span> <span>-p</span> ./~/.local/bin/ <span>$ </span><span>printf</span> <span>'#include &lt;stdio.h&gt;\nint main() { puts("hello"); }'</span><span>&gt;</span>a.c<span>;</span> gcc a.c <span>-o</span> ./~/.local/bin/kek <span>$ PATH</span><span>=</span><span>"~/.local/bin/"</span> kek hello <span>$ </span>tree <span>-f</span> <span>.</span> &#9500;&#9472;&#9472; ./~ &#9474; &#9492;&#9472;&#9472; ./~/.local &#9474; &#9492;&#9472;&#9472; ./~/.local/bin &#9474; &#9492;&#9472;&#9472; ./~/.local/bin/kek &#9492;&#9472;&#9472; ./a.c 4 directories, 2 files </pre></div></div> <p><img src="https://disconnect3d.pl/assets/posts/tilde-in-path.png" alt="Demo showing that a literal tilde in PATH resolves to a ./~/ directory in the current operating directory"></p> <p>As we can see, the kek binary was established and executed from ./~/.local/bin/ &mdash; the residence directory was never involved.</p> <h2 id="check-your-path">Check your PATH</h2> <p>You can quickly inspect whether you have this issue with:</p> <div><div><pre><span>$ </span><span>echo</span> <span>"</span><span>$PATH</span><span>"</span> | <span>grep</span> <span>--</span> <span>'~'</span> </pre></div></div> <p>or, to see all admission on its own line:</p> <div><div><pre><span>$ </span><span>echo</span> <span>"</span><span>$PATH</span><span>"</span> | <span>tr</span> <span>':'</span> <span>'\n'</span> | <span>grep</span> <span>'~'</span> ~/.local/bin/ </pre></div></div> <p>If it prints anything, go fix your .bashrc/.zshrc/.profile and substitute the ~ alongside $HOME :).</p> <p>Btw, kudos to the nono tool for alert concerning this - equal although the alert could be additional verbose (PR incoming).</p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/don-t-put-tilde-in-your-path-72055</guid> <pubDate>Sun, 11 Oct 2026 13:13:13 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> <item> <title><![CDATA[Scandinavia's first farmers slaughtered hunter-gatherer population, DNA suggests]]></title> <description><![CDATA[Scandinavia's first farmers slaughtered hunter-gatherer population, DNA suggests. Comments]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/scandinavia-s-first-farmers-slaughtered-hunter-gatherer-population-dna-suggests-72056</link> <content:encoded><![CDATA[<div> <p>&#128737;&#65039;</p> <p>We&rsquo;re checking your association to forestall automated abuse</p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/scandinavia-s-first-farmers-slaughtered-hunter-gatherer-population-dna-suggests-72056</guid> <pubDate>Sun, 11 Oct 2026 13:07:22 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> <item> <title><![CDATA[Valen's Memory Safety: A New Kind of Borrow Checking]]></title> <description><![CDATA[Valen's Memory Safety: A New Kind of Borrow Checking. Comments]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/valen-s-memory-safety-a-new-kind-of-borrow-checking-72057</link> <content:encoded><![CDATA[<div> <div> <div> <div> <div> <p><span>Oct 11, 2026</span> <span>&nbsp;&mdash;&nbsp;</span> <span>Evan Ovadia</span> </p> </div> <p> This article is concerning <a href="https://en.mycoding.id/category/technology" target="_blank">Valen</a>'s new <b>flexible get checker.</b> Welcome! </p> <p> You all cognize me, I <i>love</i> exploring new recollection safety approaches and blending them together in weird ways. </p> <p> It's part of my eternal quest to discover the <b>memory safety holy grail:</b> item as mighty as Rust's get checking, yet item as uncomplicated and elastic as citation counting or refuse collection. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="0">0</a> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="1">1</a> </p> <p> I've lengthy suspected that to discover the holy grail, we'd have to resolve <b>three memory-safety challenges:</b> </p> <ul> <li> Can we create a <i>more relaxed</i> get checker? <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="2">2</a> </li> <li> Can we create a get checker peruse <i>more complex data?</i> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="3">3</a> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="4">4</a> </li> <li> Can we create those two systems activity together at the identical time? </li> </ul> <p> Vague and arcane, I know! Further below I'll explain what that all means, and how <a href="https://en.mycoding.id/category/technology" target="_blank">Valen</a> power have established a resolution for them. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="5">5</a> </p> <p> This article chiefly focuses on the archetypal piece: Valen's <b>more relaxed get checker.</b> </p> <p> So in this post, I'll conversation concerning <b>what it is, what it can do, and how it works.</b> </p> <p> In this article, I obtain several liberties alongside syntactic sugar for clarity: auto-deref, immediately indexing a struct (<span>my_vec[0]</span>), and inferring types from groups (<span>entity in world.entities[]</span>) are coming in November. Aside from those syntactic adjustments, the get checker plant for everything we conversation about. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="6">6</a> </p> <p> And, alongside the way, I'll explain several of the <b>weirder tidbits,</b> like: </p> <ul> <li> How a compiler can recall <i>where</i> a citation is pointing. </li> <li> How Valen has <i>one</i> benevolent of get reference, as opposed to the two that another get checkers have. </li> <li> How Valen's get checker is shaped to assistance it call into Rust code. </li> </ul> <p> Also, this part is <i>gloriously long</i> and has a lot of context, so I'll let you cognize whenever to skip ahead. </p> <p> Let's dive in! </p> <h3 id="group-borrowing-a-near-miss-and-huge-potential"> Group borrowing: a near miss, and huge potential</h3> <p> (This is fair backstory that I affection telling, awareness liberated to <a href="https://en.mycoding.id/category/technology" target="_blank">skip this section</a>!) </p> <p> Valen's method is built on the "Group Borrowing" recommendation which was designed by my companion <a href="https://en.mycoding.id/category/technology" target="_blank">Nick Smith</a>. </p> <p> It's built about the center idea that <b>the compiler remembers anywhere a citation points to,</b> (I'll explain this later) and it uses that data to inspect that programs are memory-safe. </p> <p> The design's existence had a coarse start; it was nearly buried in the flows of time. It was <a href="https://en.mycoding.id/category/technology" target="_blank">originally designed alongside Mojo in mind</a>, but alas, notwithstanding my finest efforts I couldn't convince the higher-ups that we should use it. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="7">7</a> Group borrowing was deceased before it had the chance to succeed. </p> <p> But I knew it had <i>massive</i> potential, if it could fair <i>make it into the earth somehow.</i> </p> <p> So we spent months sharpening the clarification and figuring out its benefits, and wrote a article <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="8">8</a> on it final year, expecting another languages would choice it up. </p> <p> And they did! <b>It dispersed far and wide.</b> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="9">9</a> </p> <ul> <li> Google's <a href="https://en.mycoding.id/category/technology" target="_blank">Carbon</a> tongue pivoted entirely to collection borrowing (and equal <a href="https://en.mycoding.id/category/technology" target="_blank">credited</a> our article, which was nice of them!) </li> <li> <a href="https://en.mycoding.id/category/technology" target="_blank">Ante</a> started operating it into their language, see <a href="https://en.mycoding.id/category/technology" target="_blank">Shared Mutability and Stability</a>. </li> <li> Plecra's <a href="https://en.mycoding.id/category/technology" target="_blank">exclusion typing</a> is redesigning the Rust get checker alongside concepts from collection borrowing and GhostCell. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="10">10</a> </li> <li> <a href="https://en.mycoding.id/category/technology" target="_blank">Zeta</a> blended collection borrowing alongside <a href="https://en.mycoding.id/category/technology" target="_blank">disjointness</a> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="11">11</a> to aspect run-time facts into compile-time recollection safety. </li> <li> <a href="https://en.mycoding.id/category/technology" target="_blank">Fang</a> is operating it into their designs, see <a href="https://en.mycoding.id/category/technology" target="_blank">Cyclic References in Fang</a>. </li> <li> And now, my <a href="https://en.mycoding.id/category/technology" target="_blank">Valen</a> combines collection borrowing alongside <a href="https://en.mycoding.id/category/technology" target="_blank">Vale</a>'s <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="12">12</a> approach, and makes it <a href="https://en.mycoding.id/category/technology" target="_blank">interop alongside Rust code</a> too. </li> </ul> <p> Most of these languages are circling the identical kind of challenge: how to create a additional elastic get checker. </p> <p> For example, Valen wants to create a get checker that's elastic adequate to activity alongside citation counting and generational references, and Carbon wants to create a get checker elastic adequate to activity alongside C++ code. </p> <p> This is difficult, since there's been a <b>fundamental conflict</b> between get checking and another approaches. It can be summed up akin this: <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="13">13</a> </p> <ol> <li> Borrow checking has the "shared-xor-mutable" restriction: if you clasp a citation to an object, nobody alternatively can alter the object. </li> <li> Other approaches desire to authorize holding a citation to an entity during letting others alter it. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="14">14</a> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="15">15</a> </li> </ol> <p> You're likely thinking, "There's certainly no way to determine this." </p> <p> It does appear that way! </p> <p> But collection borrowing really <b>resolves the conflict,</b> by relaxing "shared-xor-mutable" to "no use-after-free". </p> <p> That was cryptic and won't create any sense, but it volition afterward whenever I explain how collection borrowing works. </p> <p> So let's see <b>what collection borrowing can do,</b> and afterward I'll explain how it works. </p> <h2 id="what-group-borrowing-can-do"> What collection borrowing can do</h2> <p> Group borrowing gives a program recollection safety without run-time cost. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="16">16</a> </p> <p> It catches use-after-free problems at compile time, and it does it in a way that has small restrictions than former approaches. </p> <p> Here's an example anywhere a <b>use-after-free error</b> is caught at compile time: </p> <div> <pre><span>struct</span> <span>Entity</span> <span>{</span> <span>hp</span> <span>int</span><span>;</span> <span>}</span> <span>struct</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>main</span><span>(</span><span>)</span> <span>int</span> <span>{</span> <span>let</span> earth <span>=</span> <span>World</span><span>(</span>Vec&lt;<span>Entity</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>)</span><span>;</span> world<span>.</span>entities<span>.</span><span>push</span><span>(</span><span>Entity</span><span>(</span>42<span>)</span><span>)</span><span>;</span> <span>let</span> first_ref <span>=</span> &amp;world<span>.</span>entities<span>[</span>0<span>]</span><span>;</span> world<span>.</span>entities <span>=</span> Vec&lt;<span>Entity</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>;</span> <span>return</span> first_ref<span>.</span>hp<span>;</span> <span>}</span></pre> </div> <p> It's an unusually elastic approach. Usually, compilers have difficulty alongside the below program, but this method <b>understands that it's safe:</b> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="17">17</a> </p> <div> <pre><span>func</span> <span>main</span><span>(</span><span>)</span> <span>int</span> <span>{</span> <span>let</span> catalog <span>=</span> Vec&lt;<span>int</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>;</span> <span>let</span> ref_a <span>=</span> &amp;list<span>;</span> <span>let</span> ref_b <span>=</span> &amp;list<span>;</span> ref_a<span>.</span><span>push</span><span>(</span>42<span>)</span><span>;</span> ref_b<span>.</span><span>push</span><span>(</span>73<span>)</span><span>;</span> <span>return</span> 42<span>;</span> <span>}</span></pre> </div> <p> Group borrowing accepts a lot of patterns that are normally difficult for get checkers, specified as: </p> <ul> <li> Having multiple local variables that item to the identical object, and compose through any of them (like above). </li> <li> Take a indicator pointing at an object, and another indicator pointing location <i>inside</i> that object, and compose through lone the second (we'll see this in the next section). </li> <li> Having multiple function parameters that item to the identical object, and compose through any of them. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="18">18</a> </li> <li> Make a "rollback" struct, that volition alter an entity whenever it goes out of scope, akin the <a href="https://en.mycoding.id/category/technology" target="_blank">ScopeGuard</a> pattern. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="19">19</a> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="20">20</a> </li> <li> Having multiple structs that have mutable references to a average subsystem. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="21">21</a> </li> <li> Plus a lot additional that I'll explain additional below. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="22">22</a> </li> </ul> <p> These are patterns we affection from C++, but no tongue has figured out how to do all of these in a memory-safe way at compile time. </p> </div> <div> <p>Valen's Memory Safety: A New Kind of Borrow Checking</p> <div> <div> <div id="note0" data-noteid="0"> <p> This quest led to a lot of engaging experiments alongside <a href="https://en.mycoding.id/category/technology" target="_blank">constraint references</a>, <a href="https://en.mycoding.id/category/technology" target="_blank">linear types</a>, <a href="https://en.mycoding.id/category/technology" target="_blank">reference counting</a>, and a <a href="https://en.mycoding.id/category/technology" target="_blank">lot more</a>. </p> </div> <div id="note1" data-noteid="1"> <p><span>1</span></p> <p> 0% of this part was written by AI. <a href="https://en.mycoding.id/category/technology" target="_blank">More thoughts here</a>. </p> <p> My stance: if you desire person to obtain the period to peruse something, obtain the period to compose it by hand. </p> <p> Thanks for study =) </p> </div> <div id="note2" data-noteid="2"> <p><span>2</span></p> <p> Or additional specifically, "can we create a get checker that supports multiple <i>read-write</i> get references to a sole object?" </p> <p> This article explains that in full, so keep reading! </p> </div> <div id="note3" data-noteid="3"> <p><span>3</span></p> <p> I'll explain this additional below, but by "more complex data" I average complete graphs of data, anywhere objects can openly have references to another objects without restriction, akin you see in C++, Java, etc. as opposed to item akin Rust or Fortran anywhere things mostly can't have references to all other. </p> <p> So whenever I say "read additional complex data", I mean: how can we have immutable get references pointing at that benevolent of arbitrary chart of data? </p> <p> (Note, Rust structs can have references to another Rust structs, but lone temporarily. This is why ECS is specified a famous choice in Rust games. That's why I motionless figure Rust as additional on the Fortran flank of things.) </p> </div> <div id="note4" data-noteid="4"> <p><span>4</span></p> <p> In short, this one is answered by <a href="https://en.mycoding.id/category/technology" target="_blank">Vale</a>'s blend of <a href="https://en.mycoding.id/category/technology" target="_blank">generational references and area borrowing</a>; its <a href="https://en.mycoding.id/category/technology" target="_blank">immutable area borrowing</a> lets the compiler track all pre-existing data as a temporarily icy "region" of data, that we can have get references into. </p> </div> <div id="note5" data-noteid="5"> <p><span>5</span></p> <p> For now, I'll fair clue that Valen power have solved these by blending <a href="https://en.mycoding.id/category/technology" target="_blank">Vale</a>'s approach, a <a href="https://en.mycoding.id/category/technology" target="_blank">certain idea experiment</a> from 2023, Nick Smith's Group Borrowing approach, and a few twists to create things activity together harmoniously. </p> </div> <div id="note6" data-noteid="6"> <p><span>6</span></p> <p> Specifically, in today's compiler, one needs to manually dereference, indicator into arrays immediately akin <span>my_vec.data[0]</span> alternatively of the struct, and put types on all parameters akin <span>entity &amp;Entity in world.entities[]</span>. </p> </div> <div id="note7" data-noteid="7"> <p><span>7</span></p> <p> Such is existence whenever operating on person else's language! </p> </div> <div id="note8" data-noteid="8"> <p><span>8</span></p> <p> This article you're study correct now is a much improved clarification of collection borrowing, but you can see the old article at <a href="https://en.mycoding.id/category/technology" target="_blank">Group Borrowing: Zero-Cost Memory Safety alongside Fewer Restrictions</a>. </p> </div> <div id="note9" data-noteid="9"> <p><span>9</span></p> <p> Soon I'll be penning an part on how all of these languages' approaches activity and difference alongside all other, remain tuned! </p> </div> <div id="note10" data-noteid="10"> <p><span>10</span></p> <p> It rejects small code by using archetypal category permissions to merge lifetimes alongside the category checker. Definitely inspect it out! </p> </div> <div id="note11" data-noteid="11"> <p><span>11</span></p> <p> Zeta's get checker can demonstrate whenever two references item to <i>different parts</i> of the identical data (they're "disjoint"). For example, it can demonstrate <span>list.get_mut(i)</span> and <span>list.get_mut(j)</span> are disjoint whenever it knows that <span>i</span> != <span>j</span>, equal if the two indices are runtime values. Read <a href="https://en.mycoding.id/category/technology" target="_blank">more here</a>! </p> </div> <div id="note12" data-noteid="12"> <p><span>12</span></p> <p> The chief differences between Valen and Vale: </p> <ul> <li> Valen volition have <a href="https://en.mycoding.id/category/technology" target="_blank">group borrowing</a>, Vale had <a href="https://en.mycoding.id/category/technology" target="_blank">region borrowing</a>. </li> <li> Valen volition have normal generational references, Vale had probabilistic generational references. </li> <li> Valen volition have (and Vale didn't have) Rust interop, Rc, comptime. </li> <li> Valen won't have (and Vale did have) ideal replayability, fearless FFI. </li> </ul> <p> Both have linear types. </p> <p> Their syntax is motionless mostly the same, but Valen power alter to be additional of a "simpler Rust" syntactically. </p> </div> <div id="note13" data-noteid="13"> <p><span>13</span></p> <p> I frequently called this battle "the tongue killer" since it destroyed many versions of many experimental languages, including one of Vale's before approaches. </p> <p> Between <a href="https://en.mycoding.id/category/technology" target="_blank">constraint references</a> and Vale's <a href="https://en.mycoding.id/category/technology" target="_blank">current blend</a>, there was an method I called "hybrid-generational memory", anywhere you could keep a citation living by "tethering" a generational citation for the duration of a scope. I went through <i>thirty two</i> versions of it before giving up. </p> </div> <div id="note14" data-noteid="14"> <p><span>14</span></p> <p> C++ wants this since that's frequently how we use it; we desire a sole <span>unique_ptr</span> owning an object, and a bunch of non-temporary raw pointers referring to it. Reference counting and refuse gathering desire the identical kind of thing. In the two cases, difficulties appear whenever person alternatively can modify an entity during you have a get citation to it. </p> </div> <div id="note15" data-noteid="15"> <p><span>15</span></p> <p> This can be a arguable goal; several of us accept that a reference's referent should never alter out from under you, but an ID's/index's referent have to be capable to (like in Rust). Others accept that that's too restrictive. I think the person have to be capable to choose. </p> </div> <div id="note16" data-noteid="16"> <p><span>16</span></p> <p> Though it's debatable if any tongue can get recollection safety alongside <i>zero</i> run-time cost. See <a href="https://en.mycoding.id/category/technology" target="_blank">Chasing the Myth of Zero-Overhead Memory Safety</a>, it applies to collection borrowing as well. </p> </div> <div id="note17" data-noteid="17"> <p><span>17</span></p> <p> Normally, get checkers don't comprehend how to have two references that can the two modify an object, so they provision <a href="https://en.mycoding.id/category/technology" target="_blank">compile errors</a>. Group borrowing is elastic adequate to not forbid these multiple read-write references, since it knows how to additional exactly defender against use-after-free problems specifically. </p> </div> <div id="note18" data-noteid="18"> <p><span>18</span></p> <p> For an example of this, see the "fn attack" examples in <a href="https://en.mycoding.id/category/technology" target="_blank">this page</a>. This is normally difficult for get checkers. Though, <a href="https://en.mycoding.id/category/technology" target="_blank">GhostCell</a> sometimes helps! </p> </div> <div id="note19" data-noteid="19"> <p><span>19</span></p> <p> Normal get checkers normally have difficulty alongside this since the person wants two read-write references (which violates shared-xor-mutable): one to use directly, and one that lives inner the ScopeGuard object. </p> </div> <div id="note20" data-noteid="20"> <p><span>20</span></p> <p> This could additionally be the basis for a user-defined <span>defer</span> statement! </p> </div> <div id="note21" data-noteid="21"> <p><span>21</span></p> <p> I don't have an example of this handy, but ideate that you wanted a bunch of <span>File</span> objects to all have a citation to a average <span>FileSystem</span> object. Borrow checking normally has problems alongside that (too many read-write references to the identical object), but it should activity fine in collection borrowing. </p> </div> <div id="note22" data-noteid="22"> <p><span>22</span></p> <p> I'll shield it additional below, but using collection borrowing as a starting point, we can: </p> <ul> <li> Make programs that are faster at run-time, since we can provision additional data to the optimizer. </li> <li> Use citation counting without <span>Cell</span> or <span>RefCell</span> or <span>Mutex</span>. </li> <li> Use generational references, for the identical reason. </li> </ul> </div> </div> </div> </div> </div> <div> <div> <h3 id="a-more-interesting-example"> A additional engaging example</h3> <p> (Or, jump to <a href="https://en.mycoding.id/category/technology" target="_blank">how it works</a>) </p> <p> For example, here's a <span>step</span> function that takes in a <span>World</span> reference, and a citation to among the entities inner it. </p> <p> The crucial part is the <span>entity in world.entities[] mut</span>, which I'll explain below. </p> <div> <pre><span>struct</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>step</span><span>(</span><span>world</span> &amp;<span>World</span><span>,</span> <span>entity</span> <span>in</span> world<span>.</span>entities<span></span><span>[</span><span>]</span> <span>mut</span><span>)</span> <span>{</span> entity<span>.</span><span>advance</span><span>(</span><span>)</span><span>;</span> <span>let</span> collision <span>=</span> world<span>.</span><span>get_collision_for_entity</span><span>(</span>entity<span>)</span><span>;</span> entity<span>.</span><span>resolve</span><span>(</span>collision<span>)</span><span>;</span> <span>}</span></pre> </div> <p> Note these parts: </p> <ul> <li> <span>in</span> method "a citation to one of". </li> <li> <span>world.entities[]</span> method "world's <span>entities</span>'s elements" </li> <li> <span>mut</span> there method "we can modify it." <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="23">23</a> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="24">24</a> </li> </ul> <p> Put together: <span>entity</span> is a citation to one of <span>world</span>'s <span>entities</span>'s elements, and we can modify it. </p> <p> This is the center idea of the approach: <b>the compiler knows anywhere a citation points to,</b> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="25">25</a> since the person specifies (via <span>in</span>) anywhere it points to. </p> <p> Now let's see how this looks in another languages, to see why this is so nice. (Or jump to <a href="https://en.mycoding.id/category/technology" target="_blank">how it works</a>!) </p> <p> First, the equal in C++: </p> <div> <pre><span>struct</span> <span>World</span> <span>{</span> <span>vector</span><span>&lt;</span><span>Entity</span><span>&gt;</span> <span>entities</span><span>;</span> <span>}</span><span>;</span> <span>void</span> <span>step</span><span>(</span><span>const</span> <span>World</span><span>&amp;</span> <span>world</span><span>,</span> <span>Entity</span><span>&amp;</span> <span>entity</span><span>)</span> <span>{</span> <span>entity</span><span>.</span><span>advance</span><span>(</span><span>)</span><span>;</span> <span>auto</span> <span>collision</span> <span>=</span> <span>world</span><span>.</span><span>getCollisionForEntity</span><span>(</span><span>entity</span><span>)</span><span>;</span> <span>entity</span><span>.</span><span>resolve</span><span>(</span><span>collision</span><span>)</span><span>;</span> <span>}</span></pre> </div> <p> Of course, the complete requires attention to uphold recollection safety, since C++ doesn't inspect for recollection safety at compile time. </p> <p> Let's see an equal in Rust, anywhere we <i>do</i> get automatic recollection safety: <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="26">26</a> </p> <div> <pre><span>struct</span> <span>World</span> <span>{</span> entities<span>:</span> <span>Vec</span><span>&lt;</span><span>Entity</span><span>&gt;</span><span>,</span> <span>}</span> <span>fn</span> <span>step</span><span>(</span><span>world</span><span>:</span> <span>&amp;</span><span>mut</span> <span>World</span><span>,</span> <span>entity_id</span><span>:</span> <span>usize</span><span>)</span> <span>{</span> <span>let</span> entity_mut = <span>&amp;</span><span>mut</span> world<span>.</span>entities<span>[</span>entity_id<span>]</span><span>;</span> entity_mut<span>.</span><span>advance</span><span>(</span><span>)</span><span>;</span> <span>let</span> entity_read = <span>&amp;</span>world<span>.</span>entities<span>[</span>entity_id<span>]</span><span>;</span> <span>let</span> collision = world<span>.</span><span>get_collision_for_entity</span><span>(</span>entity_read<span>)</span><span>;</span> <span>let</span> entity_mut = <span>&amp;</span><span>mut</span> world<span>.</span>entities<span>[</span>entity_id<span>]</span><span>;</span> entity_mut<span>.</span><span>resolve</span><span>(</span>collision<span>)</span><span>;</span> <span>}</span></pre> </div> <p> Rust is mostly nice to activity with, but in several cases (like this one), it isn't fairly as accelerated or uncomplicated as the C++ case, since we need to re-fetch the citation all period person needed a <span>&amp;mut</span> to item alternatively in the identical hierarchy. </p> <p> Another choice is to refactor our program to be "flatter" (so to speak) which has its own tradeoffs. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="27">27</a> </p> <p> If you desire to get really fancy, you can use <a href="https://en.mycoding.id/category/technology" target="_blank">GhostCell</a>s and add brands to your data and admission them alongside a <span>GhostToken</span>: </p> <div> <pre><span>struct</span> <span>World</span><span>&lt;</span><span>'</span><span>brand</span><span>&gt;</span> <span>{</span> entities<span>:</span> <span>Vec</span><span>&lt;</span><span>GhostCell</span><span>&lt;</span><span>'</span><span>brand</span><span>,</span> <span>Entity</span><span>&gt;</span><span>&gt;</span><span>,</span> <span>}</span> <span>fn</span> <span>step</span><span>&lt;</span><span>'</span><span>brand</span><span>&gt;</span><span>(</span> <span>world</span><span>:</span> <span>&amp;</span><span>World</span><span>&lt;</span><span>'</span><span>brand</span><span>&gt;</span><span>,</span> <span>entity</span><span>:</span> <span>&amp;</span><span>GhostCell</span><span>&lt;</span><span>'</span><span>brand</span><span>,</span> <span>Entity</span><span>&gt;</span><span>,</span> <span>token</span><span>:</span> <span>&amp;</span><span>mut</span> <span>GhostToken</span><span>&lt;</span><span>'</span><span>brand</span><span>&gt;</span><span>,</span> <span>)</span> <span>{</span> entity<span>.</span><span>borrow_mut</span><span>(</span>token<span>)</span><span>.</span><span>advance</span><span>(</span><span>)</span><span>;</span> <span>let</span> collision = world<span>.</span><span>get_collision_for_entity</span><span>(</span>entity<span>,</span> token<span>)</span><span>;</span> entity<span>.</span><span>borrow_mut</span><span>(</span>token<span>)</span><span>.</span><span>resolve</span><span>(</span>collision<span>)</span><span>;</span> <span>}</span></pre> </div> <p> You can see the conundrum. </p> <ul> <li> The C++ example was simple, <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="28">28</a> but not memory-safe. </li> <li> Vanilla Rust was memory-safe, but a small slower, and a small additional complex. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="29">29</a> </li> <li> Adding <span>GhostCell</span> gave us the identical speed as C++, but it's motionless a bit complex. </li> </ul> <p> With Valen's approach, we get item fast, safe, and simple: </p> <div> <pre><span>struct</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>step</span><span>(</span><span>world</span> &amp;<span>World</span><span>,</span> <span>entity</span> <span>in</span> world<span>.</span>entities<span></span><span>[</span><span>]</span> <span>mut</span><span>)</span> <span>{</span> entity<span>.</span><span>advance</span><span>(</span><span>)</span><span>;</span> <span>let</span> collision <span>=</span> world<span>.</span><span>get_collision_for_entity</span><span>(</span>entity<span>)</span><span>;</span> entity<span>.</span><span>resolve</span><span>(</span>collision<span>)</span><span>;</span> <span>}</span></pre> </div> <p> A beautiful nice simplification! </p> <p> Now, let's eventually get to the clarification of <i>how it works.</i> </p> </div> <div> <div> <div> <div id="note23" data-noteid="23"> <p><span>23</span></p> <p> This is not akin Rust's distinctive references (<span>&amp;mut</span>). There can be another references to that identical entity. </p> </div> <div id="note24" data-noteid="24"> <p><span>24</span></p> <p> This function cannot modify the entire world, fair the entities inner it (this is really a huge superpower, and method the optimizer can improved optimize this function <i>and</i> its callers, but I'll explain that additional later). </p> </div> <div id="note25" data-noteid="25"> <p><span>25</span></p> <p> Or additional specifically, it knows <i>roughly</i> anywhere it's pointing to; <span>entity in world.entities[]</span> points at <i>somewhere in the group</i> of objects that live in the <span>entities</span> array. </p> </div> <div id="note26" data-noteid="26"> <p><span>26</span></p> <p> In Rust, we need a <span>&amp;mut Entity</span> for <span>entity_mut.advance()</span>, and afterward have to throw it distant to get the containing <span>&amp;World</span> rear to provision to the <span>get_collision_for_entity</span> call. Then later, we need to re-fetch the <span>&amp;mut Entity</span> for the determine call. </p> </div> <div id="note27" data-noteid="27"> <p><span>27</span></p> <p> Specifically, it becomes easier to activity alongside the get checker (and faster if your equivalent happens to do ECS-style iteration), but you endure several of the RAII benefits of sole ownership. </p> <p> For example, if you flatten a heterogeneous tree into multiple arrays, nodes aren't automatically deleted whenever their parents are. </p> <p> Also, if you divided into parallel collections too much, you power hazard "ID chasing" cache-miss slowdowns. </p> <p> In the end, I'm wary of any recollection safety method that influences us into one architecture complete another, since it <a href="https://en.mycoding.id/category/technology" target="_blank">might not be the best</a>. </p> <p> Even collection borrowing does this to several extent, which is why I'm enthusiastic to blend in citation counting or generational references. </p> </div> <div id="note28" data-noteid="28"> <p><span>28</span></p> <p> Yes, I cognize how ironic it is to use "C++" and "simple" in the identical sentence! </p> </div> <div id="note29" data-noteid="29"> <p><span>29</span></p> <p> There's several nuance here. You can mostly rearrange your Rust code to equivalent collection borrowing's speed, equal without <span>GhostCell</span>. </p> </div> </div> </div> </div> </div> <div> <div> <h2 id="how-valens-borrow-checker-works"> How Valen's get checker works</h2> <p> <b>TL;DR:</b> The method is made of five mechanisms: </p> <ul> <li> Every entity is described by a <b>path,</b> according to <b>single ownership.</b> </li> <li> Every citation <b>remembers the path</b> of the entity it's pointing to. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="30">30</a> </li> <li> When we demolish an object, everything pointing at its way is <b>no longer usable.</b> </li> <li> A function signature describes <b>the paths it modifies.</b> </li> <li> When we call a function, everything pointing inner its modified paths are <b>no longer usable.</b> </li> </ul> <p> That was beautiful abstract, so I'll explain all of these more. </p> <h3 id="single-ownership"> Single Ownership</h3> <p> <b>TL;DR:</b> Valen's get checker is according to sole ownership, akin C++ and Rust. Every value is "owned" by a containing object, array, stack frame, or global. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="31">31</a> </p> <p> If you cognize how C++ or Rust plant already, <a href="https://en.mycoding.id/category/technology" target="_blank">skip ahead</a>! </p> <p> If you don't cognize (or fair akin reading!), I'll explain what sole ownership is. </p> <p> In sole ownership, all part of data has one "owner". For example... </p> <div> <div> <p> If we have this C++ program: </p> <div> <pre><span>#include</span> <span>&lt;vector&gt;</span> <span>struct</span> <span>Engine</span> <span>{</span> <span>int</span> <span>fuel</span><span>;</span> <span>}</span><span>;</span> <span>struct</span> <span>Ship</span> <span>{</span> <span>unique_ptr</span><span>&lt;</span><span>Engine</span><span>&gt;</span> <span>engine</span><span>;</span> <span>}</span><span>;</span> <span>void</span> <span>foo</span><span>(</span><span>vector</span><span>&lt;</span><span>Ship</span><span>&gt;</span><span>*</span> <span>ships</span><span>)</span> <span>{</span> <span>.</span><span>.</span><span>.</span> <span>}</span> <span>void</span> <span>main</span><span>(</span><span>)</span> <span>{</span> <span>vector</span><span>&lt;</span><span>Ship</span><span>&gt;</span> <span>ships</span><span>;</span><span></span> <span>...</span><span></span> <span>foo</span><span>(</span><span>&amp;</span><span>ships</span><span>)</span><span>;</span> <span>}</span></pre> </div> </div> <div> <p> ...or this Valen program: </p> <div> <pre><span>struct</span> <span>Engine</span> <span>{</span> <span>fuel</span> <span>int</span><span>;</span> <span>}</span><span>;</span> <span>struct</span> <span>Ship</span> <span>{</span> <span>engine</span> <span>Box</span>&lt;<span>Engine</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>foo</span><span>(</span><span>ships</span> &amp;<span>Vec</span>&lt;<span>Ship</span><span>&gt;</span><span>)</span> <span>{</span> <span>}</span> <span>func</span> <span>main</span><span>(</span><span>)</span> <span>{</span> ships <span>=</span> Vec&lt;<span>Ship</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>;</span> <span>foo</span><span>(</span>&amp;ships<span>)</span><span>;</span> <span>}</span></pre> </div> </div> </div> <p> ...we can say this: <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="32">32</a> </p> <ul> <li> <span>main</span>'s stack example "owns" <span>vector&lt;Ship&gt; ships;</span> </li> <li> The <span>vector&lt;Ship&gt; ships;</span> owns all <span>Ship</span>. </li> <li> Each <span>Ship</span> owns its <span>Engine</span> (via the unique_ptr). </li> <li> Each <span>Engine</span> owns its <span>int fuel;</span> </li> <li> <span>foo</span> does <b>not</b> own the vector, it fair has a raw pointer. </li> <li> <span>main</span> is the lone item without an owner. </li> </ul> <p> If you've coded in C++ or Rust, you're likely acquainted alongside this mindset. </p> <p> If you've coded in C, you power think akin this too, equal although C doesn't explicitly track sole ownership. If you trace an object's journey all the way from its <span>malloc()</span> call to its <span>free()</span> call, all of the variables/fields that the pointer passes through are dealing alongside the "owning pointer", so to speak. It's nearly akin how detectives track the "chain of custody" for evidence. In another words, who is "responsible" for it at any stated moment. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="33">33</a> </p> <p> Heck, equal Java and C# programmers sometimes think in conditions of sole ownership. If you're expected to call an object's "dispose"/"cleanup"/"destroy"/"unregister"/etc. method at several point, you can trace that object's journey all the way from <span>new</span> to that (conceptually destructive) method call, and those are the variables/fields that are handling its "owning reference", so to speak. </p> <p> Single ownership, as explained so far, is the basis for a lot of languages: </p> <ul> <li> If you add regular (unrestricted) pointers and references, you get <a href="https://en.mycoding.id/category/technology" target="_blank">C++</a>. </li> <li> If you add generational references and area borrowing, you get <a href="https://en.mycoding.id/category/technology" target="_blank">Vale</a>. </li> <li> If you add exclusivity-checked references, you get <a href="https://en.mycoding.id/category/technology" target="_blank">Rust</a>. </li> <li> If you add collection borrowing and a few another mechanisms, you get Valen. </li> </ul> <p> With sole ownership, all entity can be described by a "path", which I'll explain next. </p> </div> <div> <div> <div> <div id="note30" data-noteid="30"> <p><span>30</span></p> <p> I'm sensing different resonance between "Every citation remembers the way of the entity it's pointing to." and generational references anywhere "every citation remembers the ID ("generation") of the entity it's pointing at." It <i>could</i> be stated that collection borrowing is a kind of compile-time generational reference. But additional on that in the next article! </p> </div> <div id="note31" data-noteid="31"> <p><span>31</span></p> <p> We unwind this afterward alongside citation counting. </p> </div> <div id="note32" data-noteid="32"> <p><span>32</span></p> <p> You could additionally say that <span>main</span>'s stack example owns <span>foo</span>'s stack frame. Or you could say the reverse (that's how <span>async</span> works). </p> </div> <div id="note33" data-noteid="33"> <p><span>33</span></p> <p> Or additional specifically, liable for freeing it, or liable for giving it to person who volition create certain it's eventually freed. </p> </div> </div> </div> </div> </div> <div> <div> <h3 id="paths"> Paths</h3> <p> Every entity can be described by a path. </p> <p> For this example: </p> <div> <pre><span>struct</span> <span>Entity</span> <span>{</span> <span>hp</span> <span>int</span><span>;</span> <span>}</span> <span>struct</span> <span>World</span> <span>{</span> <span>diameter</span> <span>int</span><span>;</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>main</span><span>(</span><span>)</span> <span>int</span> <span>{</span> <span>let</span> x <span>=</span> 42<span>;</span> <span>let</span> earth <span>=</span> <span>World</span><span>(</span>73<span>,</span> Vec&lt;<span>Entity</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>)</span><span>;</span> <span>}</span></pre> </div> <p> Here are all the paths in this program: </p> <ul> <li> <span>x</span> </li> <li> <span>world</span> </li> <li> <span>world.diameter</span> </li> <li> <span>world.entities</span> </li> <li> <span>world.entities[]</span> </li> <li> <span>world.entities[].hp</span> </li> </ul> <p> A way continually starts alongside one of these: </p> <ul> <li> Local changeable (like <span>world</span>). </li> <li> A function parameter. </li> <li> A function's "group parameter" (we'll see this later). </li> </ul> <p> After that start, it volition have things like: </p> <ul> <li> <span>.diameter</span> to name a associate (like above). </li> <li> <span>[]</span> to name the <i>elements</i> of a gathering (like above). </li> <li> <span>.SomeType</span> to name a union's variant. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="34">34</a> </li> <li> plus a few another options that I'll enter later. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="35">35</a> </li> </ul> <p> Every part of data has lone one owner (because sole ownership), so all entity has one path. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="36">36</a> </p> <p> So what are paths used for? </p> <p> References! </p> <p> The compiler knows what way all citation points to, and that helps uphold recollection safety. </p> </div> <div> <div> <div> <div id="note34" data-noteid="34"> <p><span>34</span></p> <p> So for example, if we have a union/enum <span>Engine</span> containing either a <span>WarpEngine</span> or a <span>ImpulseEngine</span>, the way power be <span>my_engine.WarpEngine</span>. </p> </div> <div id="note35" data-noteid="35"> <p><span>35</span></p> <p> Such as an connected group, or sub-types of a multi-typed group. More on these later! </p> </div> <div id="note36" data-noteid="36"> <p><span>36</span></p> <p> This isn't <i>strictly</i> true; objects can really be reached through multiple paths, if we use things akin connected groups. That's a entire topic for another period though. </p> </div> </div> </div> </div> </div> <div> <div> <h3 id="every-reference-knows-what-path-it-points-to"> Every citation knows what way it points to</h3> <p> For example, in this program: </p> <div> <pre><span>struct</span> <span>Entity</span> <span>{</span> <span>hp</span> <span>int</span><span>;</span> <span>}</span> <span>struct</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>main</span><span>(</span><span>)</span> <span>int</span> <span>{</span> <span>let</span> earth <span>=</span> <span>World</span><span>(</span>Vec&lt;<span>Entity</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>)</span><span>;</span> world<span>.</span>entities<span>.</span><span>push</span><span>(</span><span>Entity</span><span>(</span>42<span>)</span><span>)</span><span>;</span> <span>let</span> entity_ref <span>=</span> &amp;world<span>.</span>entities<span>[</span>0<span>]</span><span>;</span> <span>}</span></pre> </div> <p> <span>entity_ref</span>'s category is <span>&amp;Entity in world.entities[]</span>. </p> <p> That method it's a citation to one of <span>world</span>'s <span>entities</span>'s elements. </p> <p> And in the example we saw before: </p> <div> <pre><span>struct</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>step</span><span>(</span><span>world</span> &amp;<span>World</span><span>,</span> <span>entity</span> <span>in</span> world<span>.</span>entities<span></span><span>[</span><span>]</span> <span>mut</span><span>)</span> <span>{</span> entity<span>.</span><span>advance</span><span>(</span><span>)</span><span>;</span> <span>let</span> collision <span>=</span> world<span>.</span><span>get_collision_for_entity</span><span>(</span>entity<span>)</span><span>;</span> entity<span>.</span><span>resolve</span><span>(</span>collision<span>)</span><span>;</span> <span>}</span></pre> </div> <p> You can see the <span>entity in world.entities[]</span>, specifying an <span>entity</span> indicator that points at one of <span>world</span>'s <span>entities</span>'s elements. </p> <p> If you cognize Rust: a way isn't really akin a lifetime. It's easier to grok whenever you think concerning them as distinct things. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="37">37</a> </p> <p> Now let's discover out why we're doing all of this. Let's see how we use paths for recollection safety! </p> </div> <div> <div> <div> <div id="note37" data-noteid="37"> <p><span>37</span></p> <p> In custom a life can be used as a extremely coarse-grained location, but a life is additional akin a extend of instructions. </p> </div> </div> </div> </div> </div> <div> <div> <h3 id="using-paths-for-memory-safety"> Using paths for recollection safety</h3> <p> The compiler uses paths to <b>detect use-after-free;</b> it detects whenever we're dereferencing a citation that is pointing at data that has already been destroyed. </p> <p> It does this alongside these two rules: </p> <ul> <li> When we modify an object, we grade any citation pointing <i>inside</i> that entity as "invalidated". </li> <li> When we try to use an "invalidated" reference, the compiler shows an error. </li> </ul> <div> <div> <p> Take a appearance at this <span>main</span> function. </p> </div> <div> <div> <pre><span>struct</span> <span>Entity</span> <span>{</span> <span>hp</span> <span>int</span><span>;</span> <span>}</span> <span>struct</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>main</span><span>(</span><span>)</span> <span>int</span> <span>{</span> <span>let</span> earth <span>=</span> <span>World</span><span>(</span>Vec&lt;<span>Entity</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>)</span><span>;</span> world<span>.</span>entities<span>.</span><span>push</span><span>(</span><span>Entity</span><span>(</span>42<span>)</span><span>)</span><span>;</span> <span>let</span> first_ref <span>=</span> &amp;world<span>.</span>entities<span>[</span>0<span>]</span><span>;</span> world<span>.</span>entities <span>=</span> Vec&lt;<span>Entity</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>;</span> <span>return</span> first_ref<span>.</span>hp<span>;</span> <span>}</span></pre> </div> </div> <div> <p> In it, these two things happened: </p> <ul> <li> At <span>world.entities = ...</span>, the compiler invalidated all references pointing inner it (<span>world.entities[]</span>); it invalidated <span>first_ref</span>. </li> <li> At <span>return first_ref.hp</span>, the compiler sees we're using <span>first_ref</span>, so shows an error. </li> </ul> </div> </div> <p> Note how I said: </p> <p> When we modify an object, we grade any citation pointing <i>inside</i> that entity as "invalidated". </p> <p> We don't invalidate references pointing <i>to</i> an object. We invalidate references pointing <i>inside</i> the object. </p> <div> <div> <p> Take a appearance at this <span>main</span> function. </p> </div> <div> <div> <pre><span>struct</span> <span>Ship</span> <span>{</span> <span>fuel</span> <span>int</span><span>;</span> <span>}</span> <span>func</span> <span>main</span><span>(</span><span>)</span> <span>int</span> <span>{</span> <span>let</span> vec <span>=</span> Vec&lt;<span>Ship</span><span>&gt;</span><span>.</span><span>new</span><span>(</span><span>)</span><span>;</span> vec<span>.</span><span>push</span><span>(</span><span>Ship</span><span>(</span>42<span>)</span><span>)</span><span>;</span> <span>let</span> vec_ref <span>=</span> &amp;vec<span>;</span> <span>let</span> elem_ref <span>=</span> &amp;vec<span>[</span>0<span>]</span><span>;</span> vec<span>.</span><span>push</span><span>(</span><span>Ship</span><span>(</span>73<span>)</span><span>)</span><span>;</span> vec_ref<span>.</span><span>push</span><span>(</span><span>Ship</span><span>(</span>81<span>)</span><span>)</span><span>;</span> <span>return</span> elem_ref<span>.</span>fuel<span>;</span> <span>}</span></pre> </div> </div> <div> <p> When we call <span>push</span>, that modifies the <span>vec</span>. </p> <p> That invalidates all references pointing <i>inside</i> <span>vec</span>. </p> <p> That method that <span>elem_ref</span> is invalidated (though <span>vec_ref</span> is motionless valid). </p> <p> So we can motionless use <span>vec_ref</span>, but we can't use <span>elem_ref</span>. </p> </div> </div> <p> Notice how this is all happening without describing whether a citation is mutable or not. </p> <p> Valen, however, has lone <b>one benevolent of get reference</b>. </p> <p> This can be confusing if you're coming from C++ and Rust, which the two have multiple kinds of references (C++ has <span>const</span> and non-<span>const</span>, Rust has <span>&amp;</span> and <span>&amp;mut</span>). </p> <p> In Valen, the mutability of item <b>isn't part of its type,</b> the surrounding function determines it. </p> <p> Valen does put <span>mut</span> on function parameters, but that's syntactic sugar. <span>mut</span> is not part of the parameter's type. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="38">38</a> </p> </div> <div> <div> <div> <div id="note38" data-noteid="38"> <p><span>38</span></p> <p> <span>mut</span> is part of the function signature. It's akin to how languages put <span>async</span> on the function, alternatively of on parameters. </p> </div> </div> </div> </div> </div> <div> <div> <h3 id="function-signatures-communicate-invalidations"> Function signatures communicate invalidations</h3> <p> So how did the compiler cognize that <span>push</span> modified the <span>vec</span>? </p> <p> <span>push</span> has to say so, in its signature, alongside the <span>mut</span> keyword. </p> <p> Here's <span>push</span>'s signature: </p> <div> <pre><span>func</span> <span>push</span>&lt;<span>T</span><span>&gt;</span><span>(</span><span>self</span> &amp;<span>Vec</span>&lt;<span>T</span><span>&gt;</span> <span>mut</span><span>)</span> <span>{</span> <span>}</span></pre> </div> <p> ...which is syntactic sugar for this: </p> <div> <pre><span>func</span> <span>push</span>&lt;<span>T</span><span>&gt;</span><span>(</span><span>self</span> &amp;<span>Vec</span>&lt;<span>T</span><span>&gt;</span><span>)</span> <span>mut</span><span>(</span><span>self</span><span>)</span> <span>{</span> <span>}</span></pre> </div> <p> Notice how <span>mut(self)</span> isn't part of <span>self</span>'s type. It's additional part of the <i>function.</i> </p> <p> So whenever <span>main</span> called <span>vec.push(...)</span>, <span>main</span> was passing <span>vec</span> in for <span>self</span>. </p> <p> The compiler afterward sees the <span>mut(self)</span>, knows <span>self</span> is really <span>vec</span>, so knows <span>vec</span> was <span>mut</span>ated. </p> <p> That's how it knew to invalidate item pointing <i>inside</i> <span>vec</span>. </p> <p> Here's another example: </p> <div> <pre><span>func</span> <span>step</span><span>(</span><span>world</span> &amp;<span>World</span><span>,</span> <span>entity</span> <span>in</span> world<span>.</span>entities<span></span><span>[</span><span>]</span> <span>mut</span><span>)</span> <span>{</span> entity<span>.</span><span>advance</span><span>(</span><span>)</span><span>;</span> <span>let</span> collision <span>=</span> world<span>.</span><span>get_collision_for_entity</span><span>(</span>entity<span>)</span><span>;</span> entity<span>.</span><span>resolve</span><span>(</span>collision<span>)</span><span>;</span> <span>}</span></pre> </div> <p> We're not <span>mut</span>ating the entire <span>world</span>; we're lone <span>mut</span>ating item in <span>world.entities[]</span>. </p> <p> This is fine since this won't invalidate callers' references to entities. </p> <p> For example, this <span>step_and_read</span> is calling the complete <span>step</span> function which <i>doesn't</i> invalidate the <span>entity</span>. </p> <div> <pre><span>func</span> <span>step_and_read</span><span>(</span><span>world</span> &amp;<span>World</span><span>,</span> <span>entity</span> <span>in</span> world<span>.</span>entities<span></span><span>[</span><span>]</span> <span>mut</span><span>)</span> <span>{</span> <span>step</span><span>(</span>world<span>,</span> entity<span>)</span><span>;</span> entity<span>.</span><span>read_book</span><span>(</span><span>)</span><span>;</span> <span>}</span></pre> </div> <p> And if we accomplishment the Valen compiler correct (and place LLVM), this <i>might</i> let us harness the optimizer in a way that no tongue always has before. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="39">39</a> </p> </div> <div> <div> <div> <div id="note39" data-noteid="39"> <p><span>39</span></p> <p> I conversation additional concerning this additional below, but TL;DR, if the optimizer knows that two functions lone overlap in says and not writes, afterward it can reorder them, perchance equal hoisting calculations out of a loop. </p> </div> </div> </div> </div> </div> <div> <div> <h2 id="a-twist-on-group-borrowing"> A twist on collection borrowing</h2> <p> The first collection borrowing designs included a lot of the complete (and more!). Here's the things that Valen volition be adding on top of it, to create it <i>sing.</i> </p> </div> </div> <div> <div> <h3 id="mutable-in-immutable"> Mutable-in-Immutable</h3> <p> Recall this program, anywhere we took in a <span>world</span> that was immutable <i>except</i> for its <span>entities</span> elements: </p> <div> <pre><span>struct</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>step</span><span>(</span><span>world</span> &amp;<span>World</span><span>,</span> <span>entity</span> <span>in</span> world<span>.</span>entities<span></span><span>[</span><span>]</span> <span>mut</span><span>)</span> <span>{</span> entity<span>.</span><span>advance</span><span>(</span><span>)</span><span>;</span> <span>let</span> collision <span>=</span> world<span>.</span><span>get_collision_for_entity</span><span>(</span>entity<span>)</span><span>;</span> entity<span>.</span><span>resolve</span><span>(</span>collision<span>)</span><span>;</span> <span>}</span></pre> </div> <p> We're receiving two indicator references, anywhere we can mutate through the additional particular one, and we can't mutate item exterior of it. </p> <p> Valen adds this so that we don't have to do the traditional borrow-checking form of taking in the complete earth mutably. </p> <p> This volition have a brace benefits. </p> <p> First, it could assistance alongside a program's architecture, since it helps us create <b>stronger APIs.</b> </p> <p> We can enforce that nothing in this complete function can alter any part of the <span>world</span> that we don't expect. </p> <p> I ideate that volition be particularly helpful whenever operating in a squad alongside enterprising newhires (or alongside merchandise managers who affection to throw vibe code at you). </p> <p> Second, I doubtful this characteristic could create Valen code <b>optimize better.</b> </p> <p> I won't go too deeply into it here, <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="40">40</a> but basically, whenever you provision the optimizer additional fine-grained data concerning what power alter and what won't change, it can improved acknowledge places anywhere it can rearrange code to be faster. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="41">41</a> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="42">42</a> </p> <h3 id="temporary-uniqueness"> Temporary Uniqueness</h3> <p> One of Valen's goals is to be capable to <b>seamlessly call into Rust code</b>, as effortlessly as Kotlin calls into Java, or C++ into C. </p> <p> Of course, this volition be tricky, since collection borrowing and Rust have distinct kinds of references: </p> <ul> <li> Group borrowing allows others to alter the data that your citation is pointing at. </li> <li> In Rust, all citation is either shared (<span>&amp;</span>) or distinctive (<span>&amp;mut</span>). When you clasp a reference, nobody alternatively can alter what your citation is pointing at. </li> </ul> <p> So the inquiry that arose was: Can we rotate a collection borrowing citation into a Rust reference, temporarily? </p> <p> It turns out, yes! </p> <p> The scheme is beautiful simple. When Valen is calling Rust: </p> <ul> <li> We can hand a Valen citation into a Rust <span>&amp;mut</span> if it's the <i>only</i> citation that can attain that data during that call. </li> <li> If we have multiple Valen references that can item to the identical object, they can lone be handed into Rust <span>&amp;</span> references. </li> </ul> <p> I conversation a small bit concerning this in <a href="https://en.mycoding.id/category/technology" target="_blank">Memory Safety Across the Valen/Rust Boundary</a>, inspect it out! </p> <p> This impermanent conversion <i>could</i> develop into a broader characteristic one day. We desire Valen to assistance item akin Rust's <span>Vec&lt;&amp;mut Ship&gt;</span>, anywhere all component is a distinctive reference, and collection borrowing doesn't have that. </p> <p> I doubtful Valen can have item akin a "unique group", e.g. a <span>unique(world.ships[])</span> note on a function, which would forestall making new references pointing at that part of the hierarchy. </p> <p> This aspect needs additional idea though. One of Valen's top strengths is that it lone has one benevolent of get reference... so introducing a second "unique" citation requires several careful consideration. </p> </div> <div> <div> <div> <div id="note40" data-noteid="40"> <p><span>40</span></p> <p> Ask me on Mastodon or Bluesky and I'm blessed to explain! </p> </div> <div id="note41" data-noteid="41"> <p><span>41</span></p> <p> This power necessitate patches to LLVM to create it improved capable to harness the information. It tends to think in conditions of <span>noalias</span>, not in conditions of "read-only". Tricky, but possible! </p> </div> <div id="note42" data-noteid="42"> <p><span>42</span></p> <p> This won't necessarily average Valen volition be faster than C++, Rust, etc. I <i>think</i> you can do additional refactoring or use <span>unsafe</span> in those languages to get equal speedups. Valen's chief advantage current would be in ergonomics and flexibility, not necessarily speed. </p> </div> </div> </div> </div> </div> <div> <div> <h3 id="wildcard-descendant-paths"> Wildcard Descendant Paths</h3> <p> This is another characteristic that helps Valen call into Rust code. </p> <p> While trying to get the <a href="https://en.mycoding.id/category/technology" target="_blank">Golden Spike</a> to work, I ran into a conundrum. </p> <p> When Valen calls a Rust function that returns a citation (like <span>-&gt; &amp;Gem</span> below), how does it cognize <i>where</i> that citation points? </p> <p> For example: </p> <div> <pre><span>impl</span> <span>Chest</span> <span>{</span> <span>pub</span> <span>fn</span> <span>gem</span><span>(</span><span>&amp;</span><span>self</span><span>)</span> -&gt; <span>&amp;</span><span>Gem</span> <span>{</span> <span>&amp;</span><span>self</span><span>.</span>gem <span>}</span> <span>}</span></pre> </div> <p> Valen was confused by this, since Valen likes to cognize the way for all reference. </p> <p> In Valen's ideal world, it would see the complete akin this: </p> <div> <pre><span>func</span> <span>gem</span><span>(</span><span>self</span> &amp;<span>Chest</span><span>)</span> -&gt; &amp;<span>Gem</span> <span>in</span> <span>self</span><span>.</span><span>gem</span> <span>{</span> &amp;<span>self</span><span>.</span>gem <span>}</span></pre> </div> <p> But alas! Valen can't infer the <span>in self.gem</span> from the Rust code. </p> <p> But if you zoom out a bit, the Rust code is trying to province that it's returning item to <b>"somewhere inside"</b> <span>self</span>. </p> <p> So, let's add that idea to Valen! </p> <p> Valen now interprets the complete Rust function as if it were this: </p> <div> <pre><span>func</span> <span>gem</span><span>(</span><span>self</span> &amp;<span>Chest</span><span>)</span> -&gt; &amp;<span>Gem</span> <span>in</span> <span>self</span><span>.</span><span>gem</span>... <span>{</span> &amp;<span>self</span><span>.</span>gem <span>}</span></pre> </div> <p> The <span>in self.gem...</span> method "points <i>somewhere inside</i> <span>self.gem</span>". </p> <p> This is called a <b>wildcard descendant path</b>, and it certainly needs a improved name. </p> <p> I depict this a small additional in <a href="https://en.mycoding.id/category/technology" target="_blank">Memory Safety Across the Valen/Rust Boundary</a>. </p> <p> I doubtful this volition be helpful for additional than fair Rust interop. It could erase inner particulars from signatures, and create archive APIs a small additional elastic and forward-compatible. However, we should observe out current too, since that identical intent can be served by another features in theory. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="43">43</a> </p> </div> <div> <div> <div> <div id="note43" data-noteid="43"> <p><span>43</span></p> <p> For example, we could have a category publically re-export a personal collection under a community name. Something akin an "associated group", so to speak. </p> </div> </div> </div> </div> </div> <div> <div> <h2 id="how-this-all-fits-in"> How this all fits in</h2> <p> Above, I mentioned the "memory safety holy grail", and the <b>three challenges</b> that we need to resolve to discover it: </p> <ul> <li> Can we create a <i>more relaxed</i> get checker? </li> <li> Can we create a get checker peruse <i>more complex data?</i> </li> <li> Can we create those two systems activity together at the identical time? </li> </ul> <p> Valen's get checker is the key to #1: it lets us have multiple references to any object, and lets us peruse and compose through any of them. </p> <p> #2 and #3 volition be in another article (since this article is getting massive!) but I can't oppose giving a <b>quick preview of what it's all about.</b> </p> <p> These are my hasty scribbles to try and explain it in fractional a page. Nobody should try to comprehend it. Quick, <a href="https://en.mycoding.id/category/technology" target="_blank">jump ahead</a>! </p> <p> Recall this example from above: </p> <div> <pre><span>struct</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>step</span><span>(</span><span>world</span> &amp;<span>World</span><span>,</span> <span>entity</span> <span>in</span> world<span>.</span>entities<span></span><span>[</span><span>]</span> <span>mut</span><span>)</span> <span>{</span> <span>}</span></pre> </div> <p> I desire users to have the choice of using citation counted <span>class</span>es whenever they don't desire to define the paths. Like this: </p> <div> <pre><span>class</span> <span>World</span> <span>{</span> <span>entities</span> <span>Vec</span>&lt;<span>Entity</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>step</span><span>(</span><span>world</span> <span>World</span><span>,</span> <span>entity</span> <span>Entity</span><span>)</span> <span>mut</span> <span>{</span> <span>}</span></pre> </div> <p> It would be amazing to provision the users the liberty to simplify akin that. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="44">44</a> </p> <p> Of course, blending citation counting and borrowing is <b>infamously difficult.</b> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="45">45</a> </p> <p> The answer lies in a idea test from 2023 I called <a href="https://en.mycoding.id/category/technology" target="_blank">Arrrlang</a>. Its name was a joke, but it had an engaging premise: portray the heap as N earth arrays, anywhere N is the figure of types in your program. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="46">46</a> </p> <p> It occurred to me: collection borrowing <i>understands</i> arrays. And citation counting can be idea of as N arrays, all having references to all other. </p> <p> If we put those two facts together, afterward the key understanding emerges: if we <b>describe reference-counted classes to a get checker as if it's a bunch of arrays,</b> afterward we power be capable to have get references into them in a memory-safe way. </p> <p> A compiler doesn't need to <i>actually compile</i> citation counted objects to an array, of course. <b>But it <i>can</i> depict it that way to the get checker,</b> using group-borrowing terms. </p> <p> If you do it that way, abruptly a lot of problems disappear, and it clarifies exactly what construction blocks we need to add to collection borrowing: </p> <ul> <li> A "multi-typed group", akin to a Vale region, as opposed to vanilla collection borrowing anywhere all collection needs a type. <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="47">47</a> <a href="https://en.mycoding.id/category/technology" target="_blank" data-noteid="48">48</a> </li> <li> A "run-time" group. References into the run-time collection don't get invalidated. </li> </ul> <p> Like I said, none of this volition create sense. Keep an eye out for the next article that talks concerning all this! </p> </div> <div> <div> <div> <div id="note44" data-noteid="44"> <p><span>44</span></p> <p> Reference counting has a lot small restrictions (e.g. references don't need to be temporary, akin in get checking), which method you unlock a lot additional patterns (observers, intrusive connected lists, etc). It additionally method nobody can liberated an entity during you're accessing it, which is most frequently a fine thing. </p> <p> But it depends on your perspective. Reference counting occasionally has problems alongside cycles, and it's not extremely compatible alongside linear types. For most things, I akin citation counting. For the additional complex parts, or parts that need speed, I akin borrowing. </p> <p> I think it's fine for a tongue to assistance both. </p> </div> <div id="note45" data-noteid="45"> <p><span>45</span></p> <p> It's difficult for all the identical reasons as why <span>Rc&lt;RefCell&lt;T&gt;&gt;</span> has that <span>RefCell</span> in there. </p> </div> <div id="note46" data-noteid="46"> <p><span>46</span></p> <p> It was an example of a "zero-cost" tongue that really had several cost, in the form of ID-chasing and limits checking. </p> </div> <div id="note47" data-noteid="47"> <p><span>47</span></p> <p> This volition additionally be helpful for enums! </p> </div> <div id="note48" data-noteid="48"> <p><span>48</span></p> <p> Fun fact, this is how they portray heaps under the hood in <a href="https://en.mycoding.id/category/technology" target="_blank">Iris</a>, which was used to formally verify that parts of Rust are safe. </p> </div> </div> </div> </div> </div> <div> <div> <h2 id="thats-all-for-now"> That's all for now</h2> <p> Thanks for reading! </p> <p> In the next few articles, I'll explain additional concerning how we'll blend in citation counting and generational references, and how Valen's collection get checker is implemented. </p> <p> This is fair the tip of the iceberg, so remain tuned by subscribing to my <a href="https://en.mycoding.id/category/technology" target="_blank">RSS feed</a>, <a href="https://en.mycoding.id/category/technology" target="_blank">r/valen</a>, or joining the <a href="https://en.mycoding.id/category/technology" target="_blank">Valen discord</a>. And prosecute me on <a href="https://en.mycoding.id/category/technology" target="_blank">Bluesky</a> and <a href="https://en.mycoding.id/category/technology" target="_blank">Mastodon</a>! </p> <p> Cheers, </p> <p> - Evan Ovadia </p> </div> </div> <div> <div> <h2 id="appendix-the-type-stability-exception"> Appendix: The type-stability exception</h2> <p> This part isn't implemented in Valen yet. Stay tuned! </p> <p> Group borrowing can additionally be astute adequate to cognize that if you say <span>my_vec.push(42)</span>, afterward equal although <span>push</span> says <span>mut(self)</span>, it won't invalidate pointers to <span>my_vec.size</span>. </p> <p> This makes awareness since no matter how anyone modifies a <span>my_vec</span> (which is a <span>Vec</span>), the item at <span>my_vec.size</span> volition motionless be there. Nobody can modify a <span>Vec</span>'s <span>size</span> to be item another than an integer. In another words, it's "type-stable". </p> <p> Generalizing a bit, collection borrowing volition never invalidate any type-stable data. </p> <p> It won't invalidate pointers to any contained type-stable things (primitives, structs, or fixed-size arrays), or any type-stable things inner them. It lone invalidates pointers pointing inner any type-unstable things (enums' contents, pointer's pointee). </p> <p> For example, in this program, nobody modifying the contents of <span>Level</span> can invalidate your citation to its <span>Terrain</span>. </p> <div> <pre><span>struct</span> <span>Level</span> <span>{</span> <span>terrain</span> <span>Terrain</span><span>;</span> <span>entities</span> <span>HashMap</span>&lt;<span>EntityId</span><span>,</span> <span>Entity</span><span>&gt;</span><span>;</span> <span>location_to_entity</span> <span>HashMap</span>&lt;<span>Location</span><span>,</span> <span>EntityId</span><span>&gt;</span><span>;</span> <span>}</span> <span>func</span> <span>add_entity</span><span>(</span><span>level</span> &amp;<span>Level</span> <span>mut</span><span>,</span> <span>entity</span> <span>Entity</span><span>)</span> <span>{</span> level<span>.</span>location_to_entity<span>.</span><span>insert</span><span>(</span>entity<span>.</span>loc<span>,</span> entity<span>.</span>id<span>)</span><span>;</span> level<span>.</span>entities<span>.</span><span>insert</span><span>(</span>entity<span>.</span>id<span>,</span> entity<span>)</span><span>;</span> <span>}</span> <span>func</span> <span>main</span><span>(</span><span>)</span> <span>{</span> <span>let</span> flat <span>=</span> <span>;</span> <span>let</span> terrain_ref <span>=</span> &amp;level<span>.</span>terrain<span>;</span> level<span>.</span><span>add_entity</span><span>(</span><span>Entity</span><span>(</span>1<span>,</span> <span>Loc</span><span>(</span>4<span>,</span> 5<span>)</span><span>,</span> 42<span>)</span><span>)</span><span>;</span> <span>print</span><span>(</span>terrain_ref<span>.</span>tiles<span>.</span><span>len</span><span>(</span><span>)</span><span>)</span><span>;</span> <span>}</span></pre> </div> </div> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/valen-s-memory-safety-a-new-kind-of-borrow-checking-72057</guid> <pubDate>Sun, 11 Oct 2026 13:06:22 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> <item> <title><![CDATA[I'm having my third child at 39. It's a different experience from when I was pregnant with my other 2 boys.]]></title> <description><![CDATA[I'm having my third child at 39. It's a different experience from when I was pregnant with my other 2 boys.. I was expecting alongside my archetypal two kids at 29 and 31. Now, I'm having a third kid at 39, and this gestation is different.]]></description> <media:thumbnail url="https://i.insider.com/6ac7d39842403ad8039a4b8a?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/i-m-having-my-third-child-at-39-it-s-a-different-experience-from-when-i-was-pregnant-with-my-other-2-boys-72054</link> <content:encoded><![CDATA[<div 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/6ac7d384301bb0551f493ef0?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac7d384301bb0551f493ef0?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac7d384301bb0551f493ef0?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac7d384301bb0551f493ef0?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac7d384301bb0551f493ef0?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac7d384301bb0551f493ef0?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6ac7d384301bb0551f493ef0?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="composite image, on the remaining is the author alongside her two boys whenever they were young, and on the correct she is taking a mirror selfie during expecting at 39" 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>The author is expecting for the third period at 39.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of Bethaney Phillips</span> </span> </figcaption> </span> </span></figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>I'm having my third kid at 39. It's a distinct cognition from whenever I was expecting alongside my another 2 boys.</p><p>My 40th anniversary is in April, and my third son is due fair two months before my <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">milestone age</a>. It's a fact that came as a bigger astonishment to me than anyone else.</p><p>A few days following a missed duration and continual cramping, I asked my hubby to go buy a test. It lit up alongside twice lines so quickly that, in my shock, I wondered if there were multiple babies. Later, I learned I was hosting fair one new babe.</p><h2 id="22b29076-fb54-4d75-b835-bb9a87a74338" data-toc-id="22b29076-fb54-4d75-b835-bb9a87a74338">Things are distinct this time</h2><p>The <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">pregnancy was unexpected</a>, but not unwelcome. After multiple miscarriages, apt because of my bicornuate (or heart-shaped) uterus, I idea our days of having babies were over. However, this one established a viable place to clasp onto, and he's now complete half-grown, having fair completed his anatomy scan alongside nonstop movement.</p><p>Unlike my <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">earlier pregnancies</a>, this one is taking a greater toll. At five months pregnant, I'm additional tired and nauseous, and my belly has gotten bigger faster. That meant before acidic reflux, additional washroom breaks, additional months of waddling, and all the difficulties that arrive alongside pregnancy: it's a procedure to remain up, difficult to curve over, and I'm fair plain slow. Every day, the words, "And that's Uncle Joe, he's a moving kinda slow" from Petticoat Junction perform in my head. Not dissimilar Uncle Joe, I'm moving extremely gradually at all times.</p><p>And that's alongside <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">extra sleep</a> &mdash; following getting my sons (7 and 9) to sleep all night, I'm in bed correct rearward them, normally wrecked out by 8:30 or 9. This build is doing a lot of growing, and it's exhausted.</p><p>Much to my husband's chagrin, there was no "fun period" of this pregnancy. I went direct from changeless nausea to emotion uncomfortable. This is apt because of it being a third advanced pregnancy. Despite lone gaining 15 pounds thus far, I'm abbreviated alongside a abbreviated torso, so whenever the baby grows, I develop alongside alongside him.</p><p>One item that has made existence <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">easier this go-around</a> is that my children are older now. Now, I have two helpers who can choice things up, fetch drinks, or obtain out the trash. At home, they do most of my bending and gathering and are blessed to help; it's a far cry from the first days of having two under 2.</p><h2 id="69b127aa-2e2f-4b4a-9862-a0533d96b375" data-toc-id="69b127aa-2e2f-4b4a-9862-a0533d96b375">I have a spotless invoice of health, although we'll be doing additional common monitoring</h2><p>My doctor noted that 35-39 is a "gray area" for the <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">advanced maternal age</a> protocol. Though chromosomal and cistron type lifeblood tests are recommended following 35, my coverage disagreed, opting not to shield the recommended prenatal lifeblood tests because of my heritage. Thankfully, we weren't on the hook for the complete $12,154 invoice because of the company's earnings necessity guidelines &mdash; families up to 400% of the national poorness flat are eligible for dense discounts &mdash; but my coverage rant is beside the point.</p> <p>The tests were done, and all came rear alongside fine news. Considering the annual addition in hazard to pregnancies in one's 30s, it came as a huge relief. There volition be a item anywhere my doctor visits addition &mdash; to date, I've been seen formerly a month, but following 32 weeks, that jumps to formerly a week for fetal monitoring and lifeblood force checks. Medically, this is the lone alter from my former pregnancies I've seen so far, gratitude to an alternatively spotless invoice of health. Hopefully that continues to be the case, but there's no denying this gestation is taking a toll on my body.</p><p>Pregnancy is a young person's game, but thankfully, I'm complete midway through. In the meantime, I'll continue to sleep and rest, assisting us the two through a fit pregnancy.</p> </div> <p> <h2> Read next </h2> </p>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/i-m-having-my-third-child-at-39-it-s-a-different-experience-from-when-i-was-pregnant-with-my-other-2-boys-72054</guid> <pubDate>Sun, 11 Oct 2026 13:04:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Bethaney Phillips)]]></author> </item> <item> <title><![CDATA[Kenapa Serverless Jadi Masa Depan Cloud Computing]]></title> <description><![CDATA[Kenapa Serverless Jadi Masa Depan Cloud Computing. Serverless mengubah metode aplikasi modern dibangun dan dijalankan. Dalam video ini, Anda akan memahami sepertiapa arsitektur Serverless dan jasa seperti Google...]]></description> <media:thumbnail url="https://i1.ytimg.com/vi/o-5uJ9aLpJk/maxresdefault.jpg"/> <category><![CDATA[Indonesian]]></category> <link>https://en.mycoding.id/kenapa-serverless-jadi-masa-depan-cloud-computing-72048</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/o-5uJ9aLpJk?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>Kenapa Serverless Jadi Masa Depan Cloud Computing</h2><p>Serverless mengubah metode aplikasi modern dibangun dan dijalankan. Dalam video ini, Anda akan memahami sepertiapa arsitektur Serverless dan jasa seperti Google Cloud Run memungkinkan aplikasi berjalan tanpa mesti mengelola server secara langsung, dengan skalabilitas otomatis dan model biaya yang lebih efisien. Pembahasan mencakup konsep alas serverless, deployment berbasis container, integrasi dengan jasa cloud, serta karena kenapa pendekatan ini banyak digunakan untuk microservices, API, dan aplikasi modern. Setelah memahami konsep ini, Anda akan memiliki deskripsi yang lebih jelas tentang sepertiapa membangun aplikasi yang lebih fleksibel, efisien, dan siap berkembang di era cloud computing. 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 #DataScience #ArtificialIntelligence #CyberSecurity #Networking #Programming #Database</p>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/kenapa-serverless-jadi-masa-depan-cloud-computing-72048</guid> <pubDate>Sun, 11 Oct 2026 13:00:03 +0700</pubDate> <author><![CDATA[support@mycoding.id (Mc Project)]]></author> </item> <item> <title><![CDATA[I paid people to try and follow my README]]></title> <description><![CDATA[I paid people to try and follow my README. Comments]]></description> <media:thumbnail url="https://shkspr.mobi/blog/wp-content/uploads/2020/01/Storm-Trooper-Chocolate-Money.jpg"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/i-paid-people-to-try-and-follow-my-readme-72058</link> <content:encoded><![CDATA[<div itemprop="articleBody"> <p>Developers suck at penning documentation. We akin to say RTFM but frequently there ain't no FM to R. At finest we have a half-arsed gathering of notes, several obsolete tips, and a nexus to a desolate forum complete of group asking the identical questions again and again. That's no way to treat our users.</p> <p>I na&iuml;vely accept there's a improved way. As I've written before, you should sit downward and <a href="https://en.mycoding.id/category/technology" target="_blank"><em>actually</em> test your readme</a>. Spin up a caller Virtual Machine, go through what you've written, and see if it makes sense.</p> <p>But it is <em>really</em> difficult to disregard your own biases. Of way you cognize that certain commands necessitate sudo and evidently whenever you wrote -foo you meant --foo and everyone knows that you have to reboot afterwards.</p> <p>How do you get rid of those biases? I paid people!</p> <p>As part of my <a href="https://en.mycoding.id/category/technology" target="_blank">NLnet aid use for ActivityBot</a>, I stated I wanted to test the instal cognition alongside genuine users and I was prepared to pay them &euro;25 for an hr of their time. I stuck out the call on Mastodon, gathered a few people, and had a video call alongside them.</p> <p>The format was simple. I explained that I was looking for feedback on the first-run experience. I knew that it wasn't ideal and actively wanted constructive criticism. I asked the unpaid to portion their display and, crucially, to conversation aloud. Tell me what they were doing. What they didn't understand, what confused them, what delighted them, what disappointed them, etc.</p> <p>I took notes by hand (fuck feeding the machine) and spent multiple hours being told what incorrect assumptions I'd made.</p> <p>Amongst the highlights I discovered were:</p> <ul> <li>The nexus to the demo tool was wrong.</li> <li>Some group peruse a README in the terminal.</li> <li>What does it really average to rename a file?</li> <li>How do you rename a hidden file?</li> <li>Should a demo tool be accessible on the web or fair the user's local machine?</li> <li>Why does several content explicitly need to be quoted and several not?</li> <li>My jokes aren't comic and are actively confusing.</li> <li>Some of the specialized terminology needed explaining.</li> <li>The ordering of the distinct sections was confusing.</li> <li>I hadn't really explained what the application would do.</li> <li>A entire division which was technically engaging to me was utterly confusing to everyone else.</li> <li>Not all web servers use permissions in the identical way.</li> </ul> <p>And on it went!</p> <p>After all meeting I updated the README according to what group established difficult, afterward I re-tested it alongside the next person.</p> <p>In total, I paid out about &euro;150 to have a bunch of group criticise me to my face. Hey, cheaper than therapy, right?</p> <p>I cognize person is going to say "why not fair ask an LLM to simulate a range of users?" The answer is extremely uncomplicated - I desire to conversation to genuine people. People are brilliant! They can create you laugh, you can see their cat whenever it wanders on to the call, they bring a distinctive viewpoint to the problem, and they're really blessed whenever you provision them a &euro;25 voucher. Some volition gladly do it for liberated and create <em>you</em> happy!</p> <p>When I was doing specialized penning for GOV.UK, all my beautiful prose was stated a second-eye by another human. They eviscerated all my flowery phrases and turned the document into item additional readable. They were the ones who caught the mistakes that no enchantment chequer could. They were capable to have a appropriate conversation alongside me. More importantly, I could <em>hear</em> the frustration in their sound - that's the item which lets you cognize a error needs to be corrected.</p> <p>I don't assertion that <a href="https://en.mycoding.id/category/technology" target="_blank">ActivityBot's README</a> is now ideal - far from it - but it is now demonstrably easier to follow. Developers need to conversation to <em>real</em> people. You don't have to pay them if you can't oversee it - but discover a few group who volition conversation aloud during they try to prosecute your instructions. I justify you that your README volition rotate into much improved for it.</p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/i-paid-people-to-try-and-follow-my-readme-72058</guid> <pubDate>Sun, 11 Oct 2026 12:47:29 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> <item> <title><![CDATA[My friends use AI regularly, but I refuse to. I'm learning to keep my beliefs and opinions about it to myself.]]></title> <description><![CDATA[My friends use AI regularly, but I refuse to. I'm learning to keep my beliefs and opinions about it to myself.. I refuse to use AI, but my allies are continually pushing me to try it. It has created several uncomfortable situations, but I try not to portion my opinions.]]></description> <media:thumbnail url="https://i.insider.com/6ac7f524301bb0551f49400f?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/my-friends-use-ai-regularly-but-i-refuse-to-i-m-learning-to-keep-my-beliefs-and-opinions-about-it-to-myself-72042</link> <content:encoded><![CDATA[<div 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/6ac7f50c42403ad8039a4cc8?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac7f50c42403ad8039a4cc8?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac7f50c42403ad8039a4cc8?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac7f50c42403ad8039a4cc8?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac7f50c42403ad8039a4cc8?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac7f50c42403ad8039a4cc8?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6ac7f50c42403ad8039a4cc8?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="Person wearing glasses plant on a laptop at a wooden array beside ample sunlit windows." 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>The author refuses to use AI.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of Ashley Archambault</span> </span> </figcaption> </span> </span></figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>My archetypal true encounter alongside AI was at a <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">teacher training</a> concerning two years ago, anywhere the goal was to display the distinct ways AI could preserve teachers' time.</p><p>My reply to using AI to scheme my next instruction scheme was not positive. I admittedly saw the comfort in stating your lesson's goal and yielding a complete instruction scheme in seconds. It was tempting to provision it a try, but all I could think concerning was how I wouldn't equal cognize how to instruct without designing my own instruction plans.</p><p>I afterward decided to ask AI for an age-appropriate <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">chore chart</a> for my 10-year-old son at the time. It was the one item in my existence that I could think of that I really needed assistance with. The catalog AI gave me was adequate, but I knew I would never citation it. It felt chilly and generic.</p><p>I decided afterward not to use AI anymore; I desire I could say the identical for my friends.</p><h2 id="5ffba054-9bb4-44f8-baf1-e44e588204c2" data-toc-id="5ffba054-9bb4-44f8-baf1-e44e588204c2"><strong>I awareness equal force to commencement using AI</strong></h2><p>All my near allies use AI regularly to do everything from designing their <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">weekly meal plans</a> to scheduling out their complete weeks. They rave concerning how brilliant and helpful it is.</p><p><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Getting on commission alongside AI</a> is nearly starting to awareness akin equal pressure.<strong> </strong>I do acknowledge that I cannot entirely oppose scientific change, but choosing to do my own item alternatively of using AI is my choice correct now.</p><p>What makes me most uncomfortable is emotion akin I'm being interrogated concerning why I'm choosing not to use it.</p><p>I'd affection to remain on the rooftops and cry concerning why I don't desire to use AI, but since I affection my friends, I don't desire to condemn them and their choices.</p><h2 id="df2d0ea0-bfd7-4abf-b253-7750456dec69" data-toc-id="df2d0ea0-bfd7-4abf-b253-7750456dec69"><strong>Because of a fine friend, AI did me a big favor once</strong></h2><p>One of my allies talked me out of a mediocre haircut decision by <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">asking ChatGPT</a> to alter a photo she had of me alongside the haircut.</p> <p>It was not a fine look, and in this instance, a companion used AI to preserve me from regretting a rash haircut decision and many years of awkwardly expanding my tress out. Still, this one test wasn't adequate to lure me to AI use in my mundane life.</p><p>While I do my finest to assistance and hype up my friends, I create a item of telling my girlfriends that I favor their untouched, first photos. And it's the truth. I explain that I affection seeing all the imperfections, and that the unfiltered type of them is the one I discover additional beautiful.</p><p>In this way, I awareness akin I can motionless province my opinions concerning AI during showing my affection and regard for them simultaneously.</p><h2 id="135b1bb6-ea2c-4484-8ff0-28537b10e1ec" data-toc-id="135b1bb6-ea2c-4484-8ff0-28537b10e1ec"><strong>I now desire to be additional thoughtful whenever sharing my opinions</strong></h2><p>I think it's been a blessing in disguise to be so near to group using AI since it's forced me to study how to communicate my feelings concerning it in a nonconfrontational way.</p><p>I power have <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">strong opinions</a> concerning the technology, but that doesn't average one of my finest allies needs a address from me for asking ChatGPT to display her how to add additional macromolecule to her diet. I'd fairly hear to her inform me excitedly concerning the week of dinners she's looking onward to since I fair affection listening to her.</p><p>Whether or not I'm using AI in my day-to-day existence is irrelevant to our companionship unless she asks for my straightforward opinion on it.</p><p>What's more, not wanting to disrespect my friends' decisions to use AI has helped me communicate my own feelings additional thoughtfully, taking everyone's feelings into account. It doesn't average I concur alongside it or that I'm going to commencement using it.</p><p>I'm motionless beautiful resistant to the technology, but I'm equal additional resistant to making anyone who uses it awareness bad concerning it.</p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/my-friends-use-ai-regularly-but-i-refuse-to-i-m-learning-to-keep-my-beliefs-and-opinions-about-it-to-myself-72042</guid> <pubDate>Sun, 11 Oct 2026 12:47:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Ashley Archambault)]]></author> </item> <item> <title><![CDATA[AI is creating a 'human premium' for art created by people]]></title> <description><![CDATA[AI is creating a 'human premium' for art created by people. Comments]]></description> <media:thumbnail url="https://ichef.bbci.co.uk/news/1024/branded_news/6fb8/live/8086eea0-c3cb-11f1-a64c-550be9e3c66b.jpg"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/ai-is-creating-a-human-premium-for-art-created-by-people-72047</link> <content:encoded><![CDATA[<div id="__next"><div><div><div data-component="byline-block"><div><div><div data-testid="byline"><p>13 hours ago</p><p><span data-testid="byline-contributors"><div data-testid="byline-contributors-contributor-0"><p><span><img src="https://static.files.bbci.co.uk/bbcdotcom/web/20261005-153342-40cbc1e8b4-web-3.23.0-2/grey-placeholder.png" aria-label="image unavailable"><img sizes="8vw" srcset="https://ichef.bbci.co.uk/news/240/cpsprodpb/dd76/live/b9d8db10-c3c0-11f1-bc2e-018d645d8d21.png.webp 240w,https://ichef.bbci.co.uk/news/320/cpsprodpb/dd76/live/b9d8db10-c3c0-11f1-bc2e-018d645d8d21.png.webp 320w,https://ichef.bbci.co.uk/news/480/cpsprodpb/dd76/live/b9d8db10-c3c0-11f1-bc2e-018d645d8d21.png.webp 480w,https://ichef.bbci.co.uk/news/640/cpsprodpb/dd76/live/b9d8db10-c3c0-11f1-bc2e-018d645d8d21.png.webp 640w,https://ichef.bbci.co.uk/news/800/cpsprodpb/dd76/live/b9d8db10-c3c0-11f1-bc2e-018d645d8d21.png.webp 800w,https://ichef.bbci.co.uk/news/1024/cpsprodpb/dd76/live/b9d8db10-c3c0-11f1-bc2e-018d645d8d21.png.webp 1024w,https://ichef.bbci.co.uk/news/1536/cpsprodpb/dd76/live/b9d8db10-c3c0-11f1-bc2e-018d645d8d21.png.webp 1536w" src="https://ichef.bbci.co.uk/news/1536/cpsprodpb/dd76/live/b9d8db10-c3c0-11f1-bc2e-018d645d8d21.png.webp" loading="lazy" alt="Ros Atkins overview image"></span></p><p><span>Ros Atkins</span><span data-testid="byline-contributors-contributor-0-role-location">Presenter of 'The Value Crisis'</span></p></div></span></p></div></div></div></div></div><div><div data-component="image-block"><figure><div><p><img src="https://static.files.bbci.co.uk/bbcdotcom/web/20261005-153342-40cbc1e8b4-web-3.23.0-2/grey-placeholder.png" aria-label="image unavailable"><img sizes=" 1008px) 66vw, 96vw" srcset="https://ichef.bbci.co.uk/news/240/cpsprodpb/2a51/live/5a354ce0-c3dc-11f1-bc2e-018d645d8d21.jpg.webp 240w,https://ichef.bbci.co.uk/news/320/cpsprodpb/2a51/live/5a354ce0-c3dc-11f1-bc2e-018d645d8d21.jpg.webp 320w,https://ichef.bbci.co.uk/news/480/cpsprodpb/2a51/live/5a354ce0-c3dc-11f1-bc2e-018d645d8d21.jpg.webp 480w,https://ichef.bbci.co.uk/news/640/cpsprodpb/2a51/live/5a354ce0-c3dc-11f1-bc2e-018d645d8d21.jpg.webp 640w,https://ichef.bbci.co.uk/news/800/cpsprodpb/2a51/live/5a354ce0-c3dc-11f1-bc2e-018d645d8d21.jpg.webp 800w,https://ichef.bbci.co.uk/news/1024/cpsprodpb/2a51/live/5a354ce0-c3dc-11f1-bc2e-018d645d8d21.jpg.webp 1024w,https://ichef.bbci.co.uk/news/1536/cpsprodpb/2a51/live/5a354ce0-c3dc-11f1-bc2e-018d645d8d21.jpg.webp 1536w" src="https://ichef.bbci.co.uk/news/1536/cpsprodpb/2a51/live/5a354ce0-c3dc-11f1-bc2e-018d645d8d21.jpg.webp" loading="eager" alt="BBC A treated depiction of Garry Casparov losing chess to a computer"><span>BBC</span></p></div></figure></div></div><div><div data-component="text-block"><div><p>A few weeks back, in a erstwhile financial institution construction that's now a music venue in Falmouth, Cornwall, I was DJ-ing at a night I run called Rave Machine. It was a noisy, high-energy, sweaty affair, fair as a night's dancing should be.</p></div></div></div><div><div data-component="text-block"><div><p>All of the elements - the crowd, performers, staff, music, the journey residence - connected to create item special, a one-off. It was additionally entirely human.</p></div></div></div><div><div data-component="text-block"><div><p>Something, in theory, fine out of attain of what innovation could perchance offer.</p></div></div></div><div><div data-component="text-block"><div><p>In the DJ world, though, innovation has already changed the equation. In the 1990s, a DJ had to not lone choice the tracks, but additionally thread them together armed lone alongside vinyl records, a brace of turntables and a mixer. Now, much additional aid is on offer, including application that volition sync strikes on distinct tracks should you ask it to (I don't). Apple Music and Spotify have an AI tune-mixing choice too.</p></div></div></div><div><div data-component="image-block"><figure><div><p><img src="https://static.files.bbci.co.uk/bbcdotcom/web/20261005-153342-40cbc1e8b4-web-3.23.0-2/grey-placeholder.png" aria-label="image unavailable"><img sizes=" 1008px) 66vw, 96vw" srcset="https://ichef.bbci.co.uk/news/240/cpsprodpb/fb02/live/271ddbd0-c3f8-11f1-9a39-31b474234113.jpg.webp 240w,https://ichef.bbci.co.uk/news/320/cpsprodpb/fb02/live/271ddbd0-c3f8-11f1-9a39-31b474234113.jpg.webp 320w,https://ichef.bbci.co.uk/news/480/cpsprodpb/fb02/live/271ddbd0-c3f8-11f1-9a39-31b474234113.jpg.webp 480w,https://ichef.bbci.co.uk/news/640/cpsprodpb/fb02/live/271ddbd0-c3f8-11f1-9a39-31b474234113.jpg.webp 640w,https://ichef.bbci.co.uk/news/800/cpsprodpb/fb02/live/271ddbd0-c3f8-11f1-9a39-31b474234113.jpg.webp 800w,https://ichef.bbci.co.uk/news/1024/cpsprodpb/fb02/live/271ddbd0-c3f8-11f1-9a39-31b474234113.jpg.webp 1024w,https://ichef.bbci.co.uk/news/1536/cpsprodpb/fb02/live/271ddbd0-c3f8-11f1-9a39-31b474234113.jpg.webp 1536w" src="https://ichef.bbci.co.uk/news/1536/cpsprodpb/fb02/live/271ddbd0-c3f8-11f1-9a39-31b474234113.jpg.webp" loading="lazy" alt=" a crowd"></p></div><p><figcaption>Ros Atkins at his DJ night in Cornwall - a basically individual experience, he writes</figcaption></p></figure></div></div><div><div data-component="text-block"><div><p>If you were out dancing, would it matter to you if a DJ was, well, not really DJing? If you loved the music being played, would you attention if innovation was doing the work?</p></div></div></div><div><div data-component="text-block"><div><p>It's a inquiry that generative AI - the category of AI that creates satisfied - is asking of us all. One of the thrills of that night in Falmouth was seeing our particular guest, Andy Cato from Groove Armada, artfully weaving an gathering of tracks. How would I awareness if a DJ was fair pressing play? (And that does happen).</p></div></div></div><div><div data-component="text-block"><div><p>I citation all of this since that cognition in Falmouth connects to a far broader question: whether we really attention if a part of art has been created by a human, be that a painting, song, book, poem, or any another category of art.</p></div></div></div><div><div data-component="subheadline-block"><div><p><h2>Renaissance frescoes and chess champions</h2></p></div></div></div><div><div data-component="text-block"><div><p>The music phase Deezer says 44% of tracks uploaded to it are AI-generated. Its investigation additionally established that 97% of listeners couldn't inform what was AI-generated and what wasn't. But here's a third statistic: additional than fractional of those surveyed stated they did attention if it was made by AI. They desire humans to be involved.</p></div></div></div><div><div data-component="text-block"><div><p>Daniel Susskind, an economics prof at King's College London, says many of us location huge value on the individual function in making art. It's what makes the imaginative procedure distinct from additional functional, applicable tasks, he thinks.</p></div></div></div><div><div data-component="text-block"><div><p>"I was formerly in a area of accountants, and one of them stood up and said, 'My clients arrive to me for the individual touch, the individual process'," he remembers. "And I said, 'That isn't why they arrive to you, they arrive since they desire their taxes done properly'."</p></div></div></div><div><div data-component="text-block"><div><p>But it's distinct alongside art, he says. "If I stroll into the Sistine Chapel and appearance at the ceiling, I think not lone is that extraordinarily beautiful, but isn't it amazing that a individual hand, tissue and lifeblood akin my own, came up alongside that. A intellect akin quarry dreamt that up," he says.</p></div></div></div><div><div data-component="text-block"><div><p>As Susskind describes it, what we value isn't fair the destination, it's the cognition that a individual - one of us - got us there. We can amazement at that achievement.</p></div></div></div><div><div data-component="image-block"><figure><div><p><img src="https://static.files.bbci.co.uk/bbcdotcom/web/20261005-153342-40cbc1e8b4-web-3.23.0-2/grey-placeholder.png" aria-label="image unavailable"><img sizes=" 1008px) 66vw, 96vw" srcset="https://ichef.bbci.co.uk/news/240/cpsprodpb/6260/live/464840f0-c3c5-11f1-bc2e-018d645d8d21.jpg.webp 240w,https://ichef.bbci.co.uk/news/320/cpsprodpb/6260/live/464840f0-c3c5-11f1-bc2e-018d645d8d21.jpg.webp 320w,https://ichef.bbci.co.uk/news/480/cpsprodpb/6260/live/464840f0-c3c5-11f1-bc2e-018d645d8d21.jpg.webp 480w,https://ichef.bbci.co.uk/news/640/cpsprodpb/6260/live/464840f0-c3c5-11f1-bc2e-018d645d8d21.jpg.webp 640w,https://ichef.bbci.co.uk/news/800/cpsprodpb/6260/live/464840f0-c3c5-11f1-bc2e-018d645d8d21.jpg.webp 800w,https://ichef.bbci.co.uk/news/1024/cpsprodpb/6260/live/464840f0-c3c5-11f1-bc2e-018d645d8d21.jpg.webp 1024w,https://ichef.bbci.co.uk/news/1536/cpsprodpb/6260/live/464840f0-c3c5-11f1-bc2e-018d645d8d21.jpg.webp 1536w" src="https://ichef.bbci.co.uk/news/1536/cpsprodpb/6260/live/464840f0-c3c5-11f1-bc2e-018d645d8d21.jpg.webp" loading="lazy" alt="Getty Images Visitors perspective the Sistine Chapel frescoes at the Vatican Museums on June 01, 2020 in Vatican City, Vatican. "><span>Getty Images</span></p></div><p><figcaption>Many group awareness awe whenever they appearance inner the Vatican's Sistine Chapel, says Daniel Susskind </figcaption></p></figure></div></div><div><div data-component="text-block"><div><p>Of course, it could be asserted that computers and AI application were themselves created by humans. If Susskind feels awe strolling into the Sistine Chapel, others power cognition awe of a distinct category using a chatbot akin ChatGPT.</p></div></div></div><div><div data-component="text-block"><div><p>Susskind points to another example, this period a chess equivalent in 1997, whenever a earth champion, Garry Kasparov, misplaced for the archetypal period to a computer, Deep Blue. At the time, there were fears the computer's achievement would average our involvement in chess would wane. In fact, chess is additional famous than ever, played by millions.</p></div></div></div><div><div data-component="text-block"><div><p>"It wasn't merely the moves on the commission that &#8202;people attention about. It's the fact that it's a individual being sitting rearward them, moving those pieces alongside that matters," Susskind argues.</p></div></div></div><div><div data-component="text-block"><div><p>And several think that the advent of AI has really placed additional value on things created by people. You power call that a individual premium.</p></div></div></div><div><div data-component="text-block"><div><p>Kyle Chayka, a newsman at The New Yorker focused on technology, says AI penning is now extensively considered to be "generic, obsequious and banal". As a result, he says, "I think readers are coming to value extremely evidently individual writing, and perchance equal penning that's messier, small structurally audio or composed or perfected, than they perchance formerly would've desired."</p></div></div></div><div><div data-component="text-block"><div><p>Chayka goes on: "I think example and explanatory scheme is going in the identical direction, anywhere the average is too effortlessly accessible, and so designers are leaning into being weirder and additional eye-catching and additional unusual, trying to discover things that AI can't create so easily."</p></div></div></div><div><div data-component="text-block"><div><p>In reply to the surge in AI-created content, academics are racing to create a universally recognised sign to signify item that is "human made" (similar to the "Fairtrade" tag that emerged in the 1980s). Labels akin "AI-free" are already appearing on covers of several books, films, and albums.</p></div></div></div><div><div data-component="text-block"><div><p>For C Thi Nguyen, a doctrine prof at the University of Utah, it's a inquiry of our underlying values.</p></div></div></div><div><div data-component="image-block"><figure><div><p><img src="https://static.files.bbci.co.uk/bbcdotcom/web/20261005-153342-40cbc1e8b4-web-3.23.0-2/grey-placeholder.png" aria-label="image unavailable"><img sizes=" 1008px) 66vw, 96vw" srcset="https://ichef.bbci.co.uk/news/240/cpsprodpb/ef40/live/8a09ef30-c3e5-11f1-a64c-550be9e3c66b.jpg.webp 240w,https://ichef.bbci.co.uk/news/320/cpsprodpb/ef40/live/8a09ef30-c3e5-11f1-a64c-550be9e3c66b.jpg.webp 320w,https://ichef.bbci.co.uk/news/480/cpsprodpb/ef40/live/8a09ef30-c3e5-11f1-a64c-550be9e3c66b.jpg.webp 480w,https://ichef.bbci.co.uk/news/640/cpsprodpb/ef40/live/8a09ef30-c3e5-11f1-a64c-550be9e3c66b.jpg.webp 640w,https://ichef.bbci.co.uk/news/800/cpsprodpb/ef40/live/8a09ef30-c3e5-11f1-a64c-550be9e3c66b.jpg.webp 800w,https://ichef.bbci.co.uk/news/1024/cpsprodpb/ef40/live/8a09ef30-c3e5-11f1-a64c-550be9e3c66b.jpg.webp 1024w,https://ichef.bbci.co.uk/news/1536/cpsprodpb/ef40/live/8a09ef30-c3e5-11f1-a64c-550be9e3c66b.jpg.webp 1536w" src="https://ichef.bbci.co.uk/news/1536/cpsprodpb/ef40/live/8a09ef30-c3e5-11f1-a64c-550be9e3c66b.jpg.webp" loading="lazy" alt="Getty Images World Chess Champion Garry Kasparov (L) makes a move 07 May in New York during his fourth equivalent against the IBM Deep Blue chess computer"><span>Getty Images</span></p></div><p><figcaption>Russian chess grandmaster Garry Kasparov was beaten by IBM's Deep Blue device in 1997 - the archetypal period a earth victor misplaced to a device in tournament conditions</figcaption></p></figure></div></div><div><div data-component="text-block"><div><p>He says you can frequently activity out your values by following what he calls a "why chain". If you akin item or desire to do something, ask "why?". If the answer is to create prosperity or be successful, keep asking 'why?' When the procedure ends, that volition be what you really value, he explains.</p></div></div></div><div><div data-component="text-block"><div><p>The question, he says, is whether individual involvement and shared individual cognition volition keep its location at the end of the "why chain".</p></div></div></div><div><div data-component="text-block"><div><p>Author John Lanchester is optimistic. He thinks the value of what lone humans can do volition prevail. In fact, he sympathises alongside the idea of a 'human premium'.</p></div></div></div><div><div data-component="text-block"><div><p>"If you commodify one benevolent of thing, the things you can't commodify commencement to appear additional important," he tells me.</p></div></div></div><div><div data-component="text-block"><div><p>All of that power audio heartening for group expecting that humans volition remain chief to the innovation of culture.</p></div></div></div><div><div data-component="text-block"><div><p>But I'm not so sure. The amount of AI-generated satisfied is expanding so quickly that we may shortly battle to differentiate what has or hasn't engaged AI.</p></div></div></div><div><div data-component="text-block"><div><p>You may fine have seen safety of the AI 'actor' Tilly Norwood, made final twelvemonth by a business that bills itself as the world's "first AI endowment studio". The Screen Actors Guild in the US was not impressed. "It has no existence cognition to diagram from, no emotion, and, from what we've seen, audiences aren't curious in observing computer-generated satisfied untethered from the individual experience," they wrote.</p></div></div></div><div><div data-component="text-block"><div><p>I'm not saying AI volition substitute actors - of way not. But what feels untethered and different now, may not, in several situations, awareness so different in time.</p></div></div></div><div><div data-component="text-block"><div><p>It's additionally value remembering that lengthy before Large Language Models went mainstream, we'd already allowed innovation to form our traditional tastes.</p></div></div></div><div><div data-component="text-block"><div><p>As lately as the 2000s, we motionless sought out many of the civilization we consumed. We'd buy a book, a cinema ticket, an album. Sometimes we motionless do.</p></div></div></div><div><div data-component="text-block"><div><p>But increasingly, civilization fair arrives - in an endless stream, sorted and served by an algorithm that is continually predicting our tastes.</p></div></div></div><div><div data-component="text-block"><div><p>At archetypal glance, this appears convenient. The work's being done for us. But as the function of the algorithm goes up, so the function of humans goes down.</p></div></div></div><div><div data-component="text-block"><div><p>"There's the mythical fig of your big brother's companion or something, who passes on fine music sensation to you," says Chayka, whose publish Filterworld explores the impacts of algorithms on culture. "And now we depend on algorithmic recommendations to do that identical item for us. To current us to new things."</p></div></div></div><div><div data-component="image-block"><figure><div><p><img src="https://static.files.bbci.co.uk/bbcdotcom/web/20261005-153342-40cbc1e8b4-web-3.23.0-2/grey-placeholder.png" aria-label="image unavailable"><img sizes=" 1008px) 66vw, 96vw" srcset="https://ichef.bbci.co.uk/news/240/cpsprodpb/0163/live/fbac88e0-c3c8-11f1-bc2e-018d645d8d21.jpg.webp 240w,https://ichef.bbci.co.uk/news/320/cpsprodpb/0163/live/fbac88e0-c3c8-11f1-bc2e-018d645d8d21.jpg.webp 320w,https://ichef.bbci.co.uk/news/480/cpsprodpb/0163/live/fbac88e0-c3c8-11f1-bc2e-018d645d8d21.jpg.webp 480w,https://ichef.bbci.co.uk/news/640/cpsprodpb/0163/live/fbac88e0-c3c8-11f1-bc2e-018d645d8d21.jpg.webp 640w,https://ichef.bbci.co.uk/news/800/cpsprodpb/0163/live/fbac88e0-c3c8-11f1-bc2e-018d645d8d21.jpg.webp 800w,https://ichef.bbci.co.uk/news/1024/cpsprodpb/0163/live/fbac88e0-c3c8-11f1-bc2e-018d645d8d21.jpg.webp 1024w,https://ichef.bbci.co.uk/news/1536/cpsprodpb/0163/live/fbac88e0-c3c8-11f1-bc2e-018d645d8d21.jpg.webp 1536w" src="https://ichef.bbci.co.uk/news/1536/cpsprodpb/0163/live/fbac88e0-c3c8-11f1-bc2e-018d645d8d21.jpg.webp" loading="lazy" alt="Getty AI-generated depiction of Tilly Norwood on a red carpet"><span>Getty</span></p></div><p><figcaption>The AI-generated 'actor' Tilly Norwood has created controversy</figcaption></p></figure></div></div><div><div data-component="text-block"><div><p>I recognise this from my own habits. Back in the 1990s, whenever I started collecting dancing music, I'd discover new music through document shops and recommendations from group I trusted. I can motionless do that, and do. But these days the algorithm's doing a lot of that activity for me - and it can be really helpful. I'll discover tunes I wouldn't have discovered otherwise.</p></div></div></div><div><div data-component="text-block"><div><p>To an extent, I am letting innovation guide me.</p></div></div></div><div><div data-component="text-block"><div><p>Chayka thinks algorithms have made us lazy, and "prevent us from going deeper" in our traditional taste. Sometimes we power discover a part of art that requires activity - a long, difficult book, perhaps, or a weird-seeming movie. "It power alienate us initially, but eventually it inspires us," Chayka says.</p></div></div></div><div><div data-component="text-block"><div><p>"I think that benevolent of civilization has fallen by the wayside in favor of civilization as satisfied to consume that's not going to alter your life, it's fair going to rotate your brain off for a few hours."</p></div></div></div><div><div data-component="image-block"><figure><div><p><img src="https://static.files.bbci.co.uk/bbcdotcom/web/20261005-153342-40cbc1e8b4-web-3.23.0-2/grey-placeholder.png" aria-label="image unavailable"><img sizes=" 1008px) 66vw, 96vw" srcset="https://ichef.bbci.co.uk/news/240/cpsprodpb/fbb4/live/ace3a940-c3c9-11f1-bc2e-018d645d8d21.jpg.webp 240w,https://ichef.bbci.co.uk/news/320/cpsprodpb/fbb4/live/ace3a940-c3c9-11f1-bc2e-018d645d8d21.jpg.webp 320w,https://ichef.bbci.co.uk/news/480/cpsprodpb/fbb4/live/ace3a940-c3c9-11f1-bc2e-018d645d8d21.jpg.webp 480w,https://ichef.bbci.co.uk/news/640/cpsprodpb/fbb4/live/ace3a940-c3c9-11f1-bc2e-018d645d8d21.jpg.webp 640w,https://ichef.bbci.co.uk/news/800/cpsprodpb/fbb4/live/ace3a940-c3c9-11f1-bc2e-018d645d8d21.jpg.webp 800w,https://ichef.bbci.co.uk/news/1024/cpsprodpb/fbb4/live/ace3a940-c3c9-11f1-bc2e-018d645d8d21.jpg.webp 1024w,https://ichef.bbci.co.uk/news/1536/cpsprodpb/fbb4/live/ace3a940-c3c9-11f1-bc2e-018d645d8d21.jpg.webp 1536w" src="https://ichef.bbci.co.uk/news/1536/cpsprodpb/fbb4/live/ace3a940-c3c9-11f1-bc2e-018d645d8d21.jpg.webp" loading="lazy" alt="Joseph Okpako/WireImage General perspective of the assemblage as Lorde performs during day three of Glastonbury celebration 2025 at Worthy Farm, Pilton on June 27, 2025 in Glastonbury, England"><span>Joseph Okpako/WireImage</span></p></div><p><figcaption>Live, in-person events are becoming additional popular. Above, a assemblage at Glastonbury Festival final twelvemonth at an 11.30am achievement for the musician Lorde</figcaption></p></figure></div></div><div><div data-component="text-block"><div><p>And it's a self-reinforcing loop; creators modify their activity as they search out the notice the algorithm can provide.</p></div></div></div><div><div data-component="text-block"><div><p>And here's the key point: this change - to discovering civilization via algorithms - is one we've already mostly accepted. So whenever AI starts making books, films, and music in ample numbers - power we fair gesture and obtain that too?</p></div></div></div><div><div data-component="text-block"><div><p>Back in 1986, in Washington DC, protesting teachers lined the streets exterior a gathering centre. They weren't furious concerning their wages or prosperity cuts. In this case, the entity of their ire was the calculator. Maths instructor John Saxon had taken up the cause. "The kids are not learning their math facts since they're becoming calculator hooked," he proclaimed. "&#8202;If they had stated me a dreary box, I wouldn't cognize that&hellip; six times eight's 48 'cause it rhymes, and seven times nine is 63 'cause it does not."</p></div></div></div><div><div data-component="text-block"><div><p>We all have our ways of remembering times tables.</p></div></div></div><div><div data-component="text-block"><div><p>Needless to say, this is an disagreement that Saxon lost. But several of those arguments awareness familiar.</p></div></div></div><div><div data-component="text-block"><div><p>Of course, several things are certainly out of range of technology, at smallest for now. Think of my sweaty DJ night in Falmouth a few weeks ago, alongside 250 another ravers.</p></div></div></div><div><div data-component="text-block"><div><p>Alex Mahon says she's noticed an uptick in appreciation for in-person experiences akin these - perchance as a backlash to the amount of our lives now spent on a smartphone screen.</p></div></div></div><div><div data-component="text-block"><div><p>She's chief administrator of Superstruct Entertainment, among the world's foremost celebration and live amusement groups.</p></div></div></div><div><div data-component="text-block"><div><p>"People desire to go to additional live things," she says. "They desire to have things that are unforeseeable&hellip; unpredictable. The particular instant is live. The excitement, the finding is hearing it in individual alongside others."</p></div></div></div><div><div data-component="text-block"><div><p>In the case of culture, whenever is it OK to outsource to technology, and whenever is it not? The additional I appearance at this, the small I'm certain we can assume what choices we'll make.</p></div></div></div><div><div data-component="text-block"><div><p>Each of us volition have to decide whenever it matters if item is made by a human.</p></div></div></div><div><div data-component="image-block"><figure><div><p><img src="https://static.files.bbci.co.uk/bbcdotcom/web/20261005-153342-40cbc1e8b4-web-3.23.0-2/grey-placeholder.png" aria-label="image unavailable"><img sizes=" 1008px) 66vw, 96vw" srcset="https://ichef.bbci.co.uk/news/240/cpsprodpb/c006/live/24774480-ef9f-11f0-a422-4ba8a094a8fa.png.webp 240w,https://ichef.bbci.co.uk/news/320/cpsprodpb/c006/live/24774480-ef9f-11f0-a422-4ba8a094a8fa.png.webp 320w,https://ichef.bbci.co.uk/news/480/cpsprodpb/c006/live/24774480-ef9f-11f0-a422-4ba8a094a8fa.png.webp 480w,https://ichef.bbci.co.uk/news/640/cpsprodpb/c006/live/24774480-ef9f-11f0-a422-4ba8a094a8fa.png.webp 640w,https://ichef.bbci.co.uk/news/800/cpsprodpb/c006/live/24774480-ef9f-11f0-a422-4ba8a094a8fa.png.webp 800w,https://ichef.bbci.co.uk/news/1024/cpsprodpb/c006/live/24774480-ef9f-11f0-a422-4ba8a094a8fa.png.webp 1024w,https://ichef.bbci.co.uk/news/1536/cpsprodpb/c006/live/24774480-ef9f-11f0-a422-4ba8a094a8fa.png.webp 1536w" src="https://ichef.bbci.co.uk/news/1536/cpsprodpb/c006/live/24774480-ef9f-11f0-a422-4ba8a094a8fa.png.webp" loading="lazy" alt="Thin, lobster red banner alongside pale content saying ‘InDepth newsletter’. To the correct are dreary and pale picture images of Emma Barnett and John Simpson. Emma has dark-rimmed glasses, lengthy fair tress and a striped shirt. John has abbreviated pale tress alongside a pale garment and dreary blazer. They are set on an oatmeal, curved backdrop alongside a green overlapping circle. "></p></div></figure></div></div><div><div data-component="text-block"><div><p><a href="https://en.mycoding.id/category/technology" target="_blank"><i id="bbc-indepth">BBC InDepth </i></a><i id="is-the-home-on-the-website-and-app-for-the-best-analysis,-with-fresh-perspectives-that-challenge-assumptions-and-deep-reporting-on-the-biggest-issues-of-the-day.-emma-barnett-and-john-simpson-bring-their-pick-of-the-most-thought-provoking-deep-reads-and-analysis,-every-saturday.">is the residence on the website and app for the finest analysis, alongside caller perspectives that difficulty assumptions and profound reporting on the biggest issues of the day. Emma Barnett and John Simpson bring their choice of the most thought-provoking profound says and analysis, all Saturday.</i><a href="https://en.mycoding.id/category/technology" target="_blank"> <i id="sign-up-for-the-newsletter-here">Sign up for the newsletter here</i></a></p></div></div></div></div></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/ai-is-creating-a-human-premium-for-art-created-by-people-72047</guid> <pubDate>Sun, 11 Oct 2026 12:34:28 +0700</pubDate> <author><![CDATA[support@mycoding.id (Mira Azkia)]]></author> </item> <item> <title><![CDATA[Google Search Console Performance Report Extremely Delayed]]></title> <description><![CDATA[Google Search Console Performance Report Extremely Delayed. The hunt achievement reports in Google Search Console is now complete 64 hours delayed, which is incredibly different for this report. Generally, we see this report...]]></description> <media:thumbnail url="https://images.seroundtable.com/google-performance-report-64-hours-gtv1HC2b.png"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/google-search-console-performance-report-extremely-delayed-72049</link> <content:encoded><![CDATA[<div class="order-4 order-4 text-lg"> <p><img src="https://images.seroundtable.com/google-performance-report-broken-hero-k9JcbIwj.jpg" alt="Google Performance Report Broken Hero"></p><p>The hunt achievement reports in Google Search Console is now complete 64 hours delayed, which is incredibly different for this report. Generally, we see this study updated inside a few hours but complete the former few days, <a href="https://en.mycoding.id/category/business" target="_blank">post-spam update</a>, the study has been lagging. </p><p>Here is a screenshot of what the hunt achievement study looked akin to me at about 7am ET on Sunday, October 11, 2026:</p><p><a href="https://en.mycoding.id/category/business" target="_blank" target="_blank"><img src="https://images.seroundtable.com/google-performance-report-64-hours-gtv1HC2b.png" alt="Google Performance Report 64 Hours"></a></p><p>The final period we had specified an extended and grave postpone in achievement reporting was <a href="https://en.mycoding.id/category/business" target="_blank">in December 2025</a>. </p><p>Google fixed it final time, but it took a during for Google to verify there was an issue. Google Search Console frequently has data delays, but mostly not alongside the achievement report. We normally see delays alongside the leaf indexing reporting and another components of Search Console, but not the achievement reports.</p><p>This is an essential study that SEOs and location owners use frequently to see crucial metrics concerning how your location performs in Google Search results. This is particularly true now since the tools have been having a coarse period abrasion data for its third-party Google tracking <a href="https://en.mycoding.id/category/business" target="_blank">over the former few weeks</a>.</p><p>Some are saying this is a sign a center update is coming soon. I doubt that this is a sign of that, but a center update have to be coming shortly - that everyone agrees on.</p><p>Many are noticing this as you'd expect:</p><p></p><blockquote class="twitter-tweet"><p lang="en" dir="ltr">@rustybrick Update: Google Search Console motionless hasn’t updated, and it’s now been nearly 62 hours.</p>— Anoop K (@Lead_mindz) <a href="https://en.mycoding.id/category/business" target="_blank">October 11, 2026</a></blockquote> <p>I have not seen Google comment on these new delays as of yet, if I do, I volition update this story. </p><p></p><blockquote class="twitter-tweet"><p lang="en" dir="ltr">@OliDietzel same, fair updated - i should do a new narrative for all updated postpone :) https://t.co/jKaikkQKpQ</p>— Barry Schwartz (@rustybrick) <a href="https://en.mycoding.id/category/business" target="_blank">October 11, 2026</a></blockquote> <p>Forum conversation at <a href="https://en.mycoding.id/category/business" target="_blank">X</a>.</p> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/google-search-console-performance-report-extremely-delayed-72049</guid> <pubDate>Sun, 11 Oct 2026 12:15:00 +0700</pubDate> <author><![CDATA[support@mycoding.id (Barry@Rustybrick.com (Barry Schwartz))]]></author> </item> <item> <title><![CDATA[I started a cookie business and scaled too quickly. We got caught up in a growth-at-all-costs mentality — here's how I turned it around.]]></title> <description><![CDATA[I started a cookie business and scaled too quickly. We got caught up in a growth-at-all-costs mentality — here's how I turned it around.. Inspired by her daughter's allergies, Partake Foods founder, Denise Woodard raised millions, overcoming growth challenges alongside storytelling skills.]]></description> <media:thumbnail url="https://i.insider.com/6ac942ad7bf24b4467e69dfd?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/i-started-a-cookie-business-and-scaled-too-quickly-we-got-caught-up-in-a-growth-at-all-costs-mentality-here-s-how-i-turned-it-around-72043</link> <content:encoded><![CDATA[<div 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/6ac9947642403ad8039a5510?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac9947642403ad8039a5510?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac9947642403ad8039a5510?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac9947642403ad8039a5510?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac9947642403ad8039a5510?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac9947642403ad8039a5510?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6ac9947642403ad8039a5510?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="Partake Foods founder, Denise Woodard." 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>Partake Foods founder, Denise Woodard, says storytelling has been a big part of her company's success.</span> <span> <span e-name="image-source" itemprop="creditText">Denise Woodard</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 Denise Woodard, originator and CEO of Partake Foods. The following has been edited for dimension and clarity.</em></p><p>I spent my occupation in person packaged products and spent important period at The Coca-Cola Company. Then my female Vivienne came along.</p><p>She's 11 now, but correct about her archetypal birthday, we had a brace of scary incidents that alerted us to the fact that she had multiple <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">life-threatening food allergies</a>. She was allergic to foods I regard to be excellent simple: eggs, tree nuts, bananas, and sesame.</p><p>I started to acknowledge that food allergies were going to rotate into a big part of our mundane lives. I was really disappointed alongside the options from a sensation and nutritional perspective. Most of all, I idea concerning how, emotionally, she wouldn't be capable to partake in so many social events akin anniversary parties, playdates, and academy snack time, and that she'd continually awareness excluded and othered.</p><p>I wanted to create a resolution for that.</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/6ac9469e7bf24b4467e69e44&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:6450,&quot;aspectRatioH&quot;:4300}}' alt="Denise Woodard alongside female baking in kitchen."> </p></div> <span> <figcaption e-name="image-caption"> Woodard and her female Vivienne whenever she was younger.&nbsp; <span e-name="image-source" itemprop="creditText"> Partake Foods </span> </figcaption> </span> </figure> <p>In June 2016, I unified my food business as Vivi's Life LLC, since I fair wanted to create my daughter's existence easier.</p><h2 id="fa5a6598-36be-47ed-9ea4-3e7962847ecb" data-toc-id="fa5a6598-36be-47ed-9ea4-3e7962847ecb">I was knocking on doors, marketing cookies out of my car</h2><p>We officially launched in the New York market, in autonomous stores, in August 2017, and from afterward all the way through 2019, I was knocking on doors and marketing cookies out of my car.</p><p>Our <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">marketing strategy</a> was excellent grassroots: local commerce shows and events, and demos in market stores. We didn't have any additional dollars, and those things disbursal our family time. It was a full-family adventure. We used to run about alongside a demo array in the rear of our car, and if we were in the city for the day and went to a shop that wasn't marketing cookies, we would exactly drag up and do a demo in that moment.</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/6aca14a67bf24b4467e6a07f&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:2409,&quot;aspectRatioH&quot;:2681}}' alt="Denise Woodard, in the shop alongside array samples of her mini cookies."> </p></div> <span> <figcaption e-name="image-caption"> Woodard used samples and sensation tests as an first promotion tool.&nbsp; <span e-name="image-source" itemprop="creditText"> Denise Woodard </span> </figcaption> </span> </figure> <p>The storytelling and the tasting of the merchandise were our complete promotion scheme for the archetypal brace of years. Even as we've scaled and moved distant from demos, storytelling is specified a huge part of the business, and not fair the person marketing.</p> <p>When I think concerning how we got our <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">first investors</a> on board, akin Marcy Venture Partners, the prosperity that Jay-Z co-founded, it was the storytelling of why I was doing what I was doing and what I wanted it to remain for that sold them.</p><p>If I were launching today, I'd motionless lean into a grassroots approach, but there are additional scalable ways to inform your narrative now. There are lone so many group I could conversation to in a natural foods grocer in New York, whereas on TikTok, millions of group can exactly see your story.</p><p>As the earth gets additional automated, I think individual contact and storytelling are equal additional valuable.</p><h2 id="c74f767f-4c1a-41ba-bf64-459da20c7830" data-toc-id="c74f767f-4c1a-41ba-bf64-459da20c7830"><strong>I ran into one difficulty that could've killed my small business</strong></h2><p>When we had an opportunity, we went following it, and I think we went following it too boldly in conditions of distribution. In 2019, we were in 300 stores, doing $350,000 in revenue. We completed 2020 in 5,000 stores, doing 10 times that amount, and afterward we doubled our entrance figure following that.</p><p>It expenses money, and it takes infrastructure and process, and it requires <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">brand awareness</a> that we couldn't pay for. That became an nearly deadly difficulty for the business. Rather than jumping in the two feet first, we should have waited to demonstrate several things out.</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/6ac9448642403ad8039a5354&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:3648,&quot;aspectRatioH&quot;:5472}}' alt="Denise Woodard operating on her laptop at an outdoor array alongside Partake cookies packaging scattered on the table."> </p></div> <span> <figcaption e-name="image-caption"> At one point, Partake Foods scaled too quickly.&nbsp; <span e-name="image-source" itemprop="creditText"> Denise Woodard </span> </figcaption> </span> </figure> <p>Like so many startups, we additionally got caught up in a growth-at-all-costs mentality. So many investors and another founders shooed distant the concentration on component economics: you'll get profitable whenever you scale. Then the market turned, and all of a abrupt it was profitable at all costs. That's not a toggle you can flip on and off without affecting people's careers and the trajectory of the business.</p><p>I desire I had taken a additional temperate approach.</p><h2 id="bbdc747a-a61b-40fe-9758-201781b74e09" data-toc-id="bbdc747a-a61b-40fe-9758-201781b74e09">I'm motionless operating on trusting my own intuition</h2><p>It's really crucial to get multiple perspectives, but as the founder, I cognize additional concerning this endeavor than anyone else. Someone's years of cognition doesn't equate to them having additional cognition than you do concerning what's correct for your business.</p><p>Sometimes <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">the advice</a> wasn't equal stated to me. I have specified admiration for what Daniel Lubetzky built at KIND and Hamdi Ulukaya built at Chobani, but the two of those were in a extremely focused category. I watched their journeys and afterward applied the way they built to my own business in a way that I shouldn't have. We're functioning in a extremely distinct category. And I desire that we had innovated sooner.</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/6ac9495a301bb0551f4946aa&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:1024,&quot;aspectRatioH&quot;:768}}' alt="Denise Woodard and squad in pale lab coats and hairnets in an gathering row kitchen."> </p></div> <span> <figcaption e-name="image-caption"> Woodard has accomplished a lot alongside a comparatively small team.&nbsp; <span e-name="image-source" itemprop="creditText"> Denise Woodard </span> </figcaption> </span> </figure> <p>Now Partake Foods is launching a macromolecule and fiber granola afterward this autumn and soft-baked individually wrapped cookies in Q1 of 2027. <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Protein is on fire</a> in all the data, and fiber-maxing is the next hot thing.</p><h2 id="c353c116-ecfb-48e9-b816-b9fadc16f735" data-toc-id="c353c116-ecfb-48e9-b816-b9fadc16f735"><strong>The traditional chief of your endeavor is additional crucial than the size</strong></h2><p>In September, we announced that the Girl Scouts biscuit program chose to partner alongside us, and the cookies volition be accessible for acquisition from the Girl Scouts' Digital Cookie mobile app in January 2027.</p><p><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">The Girl Scouts program</a> is complete 100 years old. I'd contend they likely have their choice of partners, but I think they chose us since of the brand equity we've built alongside the food allergy community. This has taught me that fair since you're not the biggest business doesn't average you don't bring value to much larger partnerships.</p><p>To me, traditional chief is what's important. It's whenever a individual or brand has earned adequate relevance, trust, and authenticity that they don't fair act in civilization &mdash; they have the capability to move it. For Partake, the traditional chief I desire us to build is about inclusivity.</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/6ac94d8e301bb0551f4946e0&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4480,&quot;aspectRatioH&quot;:6720}}' alt="Denise Woodard, sitting on ablue couch alongside a laptop."> </p></div> <span> <figcaption e-name="image-caption"> Partake Foods is focused on food allergies and inclusivity.&nbsp; <span e-name="image-source" itemprop="creditText"> Denise Woodard </span> </figcaption> </span> </figure> <p>We started alongside food allergies, but I've continually believed the idea is much bigger than that.</p><p>Our commission is 80% women of color, the squad is extremely diverse, and we have a 501(c)(3) aimed at <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">increasing diversity</a> in the food industry. It's all about this ethos of construction a bigger table. I have this plus-one mentality: How can you continually bring one additional individual into the room, create one additional introduction? Somebody saying yes or making an introduction has entirely changed the trajectory of my endeavor and my existence so many times over.</p><p><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Size doesn't necessarily matter</a> whenever it comes to having influence. We slid into Ben &amp; Jerry's LinkedIn DMs in 2020 whenever we were a squad of five people. In January 2023, we announced our alliance alongside them to provision the gluten-free oatmeal biscuit pieces inner their varieties of Oatmeal Dream Pie accessible in pints and scoop shops.</p><p>I was one individual marketing cookies out of my car. What endeavor did I have thinking I was going to go discover Jay-Z? Dream big and fire your shot. If you don't, it's not going to happen.</p><p><em>Do you have a small endeavor instruction to share? Email the editor, Manseen Logan, at mlogan@businessinsider.com.</em></p> </div> <p> <h2> Read next </h2> </p> <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> <div> <p><span>Brianne Garrett is a journalist, editor, and strategist focused on entrepreneurship, lifestyle, and food. Before pivoting to freelancing, she held editorial roles at brands including Sweet July, Forbes, and Wine Spectator. She's additionally the originator of Stella, a newsletter, podcast, and community phase that champions and connects Black women in media.&nbsp;A dual inhabitant of the United States and United Kingdom,&nbsp;she lives between London and New York.</span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/i-started-a-cookie-business-and-scaled-too-quickly-we-got-caught-up-in-a-growth-at-all-costs-mentality-here-s-how-i-turned-it-around-72043</guid> <pubDate>Sun, 11 Oct 2026 12:08:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Brianne Garrett)]]></author> </item> <item> <title><![CDATA[I got divorced abroad and decided to stay in Europe. My $900 pension goes so much further in a tiny French village.]]></title> <description><![CDATA[I got divorced abroad and decided to stay in Europe. My $900 pension goes so much further in a tiny French village.. For Karen Anderson, living in France is additional applicable than living in the US. She can oversee accommodation and has improved admission to healthcare.]]></description> <media:thumbnail url="https://i.insider.com/6ac90b5242403ad8039a50c6?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/i-got-divorced-abroad-and-decided-to-stay-in-europe-my-900-pension-goes-so-much-further-in-a-tiny-french-village-72044</link> <content:encoded><![CDATA[<div 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/6ac90aab7bf24b4467e69b91?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac90aab7bf24b4467e69b91?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac90aab7bf24b4467e69b91?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac90aab7bf24b4467e69b91?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac90aab7bf24b4467e69b91?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac90aab7bf24b4467e69b91?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6ac90aab7bf24b4467e69b91?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="A divided depiction shows Karen Anderson position in a galley beside a French horizon alongside rock rooftops and a chapel spire." 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>Karen Anderson moved to a small settlement in Northwestern France.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of Karen Anderson/ Getty Images</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 Karen Anderson, 57, a Californian who moved to the UK in 2011 and now lives in a small settlement in northwestern France. The conversation has been edited for dimension and clarity.</em></p><p>I was operating as a 911 dispatcher for a California constabulary division whenever I met my ex-husband, who is English. After courtship for a year, we got wed in 2011 and eventually moved to his residence country, the United Kingdom.</p><p>I wanted a distinct existence and the chance to cognition additional of the world. For years, we divided our period between the UK, anywhere he worked, and France. And in 2016, we <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">bought a home in France </a>for &euro;45,000 ($50,450), far small than item we could have afforded in the UK.</p><p>At closing, I recall being handed additional than 100 pages of paperwork. We were foreigners purchasing a residence in a tongue we didn't understand, so it was extremely scary. But our hands were held during the process.</p><h2 id="47ce947d-779a-4b7b-8b44-a5f8f43636b5" data-toc-id="47ce947d-779a-4b7b-8b44-a5f8f43636b5">After my divorce, I decided to remain in France</h2><p>In 2021, I returned to the US to attention for my mom, who had been diagnosed alongside cancer. After getting screened myself, I was additionally diagnosed, so I ended up staying in the States for concerning a twelvemonth during undergoing treatment. During that time, I <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">got a job at Amazon</a>, which helped me get health coverage.</p><p>I eventually returned to Europe, but by 2023, my ex-husband and I decided to divorce. Although we were wed in California, we had to separation under French law. The procedure was difficult and took three years to finalize.</p><p>While the separation was motionless underway, I <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">returned to the US</a> to see whether I could create a existence there again. It took me concerning six months to discover work, and I eventually became a escape attendant alongside Frontier Airlines. Unfortunately, I could lone oversee a twin bed in a home I shared alongside 13 another women, so I decided to move rear to Europe.</p><p>Once our separation was finalized, my ex-husband bought out my portion of the house. This year, I <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">bought a residence of my own in France</a> for &euro;59,100 ($66,159). The procedure couldn't have been additional distinct from the archetypal period around. I lone had to sign three documents electronically, and that was it. The scheme has changed so much in small than 10 years.</p><p>For me, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">staying in France</a> is really concerning affordability. My $900 monthly pension from my erstwhile job as a dispatcher is adequate to shield my mortgage, utilities, residence insurance, and car insurance.</p> <p>If I were living in the US, I would motionless need to activity fair to assistance myself, but there aren't many job opportunities at my age.</p><h2 id="97780e15-2590-41a6-bd8f-14858a7c5fcf" data-toc-id="97780e15-2590-41a6-bd8f-14858a7c5fcf">I live in a small, idyllic settlement in northwestern France</h2><p>I live in Saint-Servais, a settlement of concerning 400 group in <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Brittany, in northwestern France</a>, mostly known as the birthplace of cr&ecirc;pes. Breton has a distinct identity, and its group have their own tongue and traditions.</p><p>What I affection most concerning living current is that there fair aren't as many temptations. You don't awareness the identical force to buy matter things. The manner is uncomplicated and tranquil.</p><p>Saint-Servais is surrounded by farmland, alongside sectors of corn grown for livestock feed, as fine as sheep, pigs, and chickens. Despite being so small, the settlement has a eatery and a chapel courtship rear to the 14th or 15th century.</p><p>There aren't many mundane conveniences. There's no bakery, butcher, or market store, so I run concerning two and a fractional miles whenever I need to choice up groceries or caller bread, which is crucial to me.</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/6ac906aa301bb0551f4943b5&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:5568,&quot;aspectRatioH&quot;:3712}}' alt="Stone homes lined up on a street, a lofty cathedral stands lofty in the background."> </p></div> <span> <figcaption e-name="image-caption"> A settlement in Brittany, France.&nbsp; <span e-name="image-source" itemprop="creditText"> Andrea Pistolesi/Getty Images </span> </figcaption> </span> </figure> <p>There's no ray contamination or traffic noise in Saint-Servais. I can appearance exterior and see the stars all night of the year, which amazes me. There aren't constabulary sirens or much crime, either.</p><p>Like many homes in the village, quarry is made of rock and, to be honest, it's been a bit of a prosperity pit. It's concerning 732 quadrate feet. It's small but extremely cute. The dirt flat is underground, and the two bedrooms are upstairs, one of which has an ensuite bathroom. Altogether, I have three bathrooms, which is extremely different for a home this size.</p><p>Because the dirt flat is underground, I have a awesome agreement of humidity. Dampness is a genuine issue throughout Europe since of the cool, rainy climate. We get concerning six months of rain all year, which is extremely distinct from California.</p><p>There isn't chief heating or air conditioning in most homes here. I warmth quarry alongside a wood-burning stove, and I cut my own firewood. I could instal a warmth pump, which additionally provides chill air; it's motionless comparatively new. France is rearward the times in several ways &mdash; we lone got fiber net in my area in the final few years.</p><h2 id="700ec09b-e358-498c-af64-1b15064f29cc" data-toc-id="700ec09b-e358-498c-af64-1b15064f29cc">My norm of existence is improved in France</h2><p>In America, we live to work. In France, group activity to live. The norm workweek is 35 hours, and many businesses near from noon to 2 pm for lunch &mdash; they obtain it extremely seriously. I came from the US, anywhere I worked 80 to 100 hours a week at the constabulary department. I entirely loved my job, but it owned me.</p><p>I lately got a job as a genuine asset agent. I'm comparatively new, and correct now my hours are scattered. I'm not fairly there yet on understanding how to curtail self-employment.</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/6ac948c042403ad8039a5373&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4554,&quot;aspectRatioH&quot;:3415}}' alt="An uphill cobblestone street in the medieval old town of Dinan alongside multiple traditional Breton granite and half-timbered houses."> </p></div> <span> <figcaption e-name="image-caption"> A town in Brittany, France.&nbsp; <span e-name="image-source" itemprop="creditText"> Clement LEONARD/Getty Images </span> </figcaption> </span> </figure> <p>Europe <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">has awesome healthcare</a>. In the UK, our healthcare was covered despite of whether you worked since of the National Health Service. France is a small different. Everyone &mdash; citizens and lawful residents alike &mdash; is reimbursed for concerning 70% of most healthcare costs. Then you buy a top-up, or what the French call a "mutuelle," to shield the rest.</p><p>How much you pay depends on the safety you choose. Because I earlier had cancer, I obtain complete coverage, and I've continually been looked after.</p><p>The challenge, though, is access. Doctors and dentists are few and far between. My doctor is two hours away, but my local drugstore now has a Telebox anywhere I can have a video consultation and get direction or a prescription.</p><h2 id="da7f31dd-1833-4f9c-9973-fe816f257d15" data-toc-id="da7f31dd-1833-4f9c-9973-fe816f257d15">I don't see myself moving rear to the US</h2><p><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Living in France</a> on my own has been a big passage &mdash; it's not exactly the existence I envisioned.</p><p>It may appearance akin a aspiration to another people, but Americans don't continually see the sacrifices you create to live abroad. I don't have my children or grandchildren nearby, and I really young female that.</p><p>At this point, I can't ideate moving rear to America. I wouldn't be capable to oversee the healthcare or housing.</p><p>I'd affection to have a partner again someday. Will several man whisk me away? Maybe. Maybe not. But I don't pin my hopes on that.</p><p>For now, I have a awesome circle of friends, and I'm blessed alongside the existence I've built. France has stated me the capability to bask existence without worrying concerning the next paycheck or what it volition oversee me.</p> </div> <p> <h2> Read next </h2> </p> <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>Alcynna Lloyd is a genuine asset newsman alongside Business Insider.&nbsp; She writes concerning homebuying behavior, small homes, multi-generational housing, immigration trends, and accommodation affordability.</span><span>Prior to joining Business Insider, Lloyd was the Digital Media Manager at HousingWire.</span><span>Do you have feedback or a tip? &nbsp;Find her on <a href="https://en.mycoding.id/category/business" target="_blank">X/Twitter</a>, <a href="https://en.mycoding.id/category/business" target="_blank">LinkedIn</a>, or email alloyd@insider.com.&nbsp;</span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/i-got-divorced-abroad-and-decided-to-stay-in-europe-my-900-pension-goes-so-much-further-in-a-tiny-french-village-72044</guid> <pubDate>Sun, 11 Oct 2026 12:02:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Alcynna Lloyd)]]></author> </item> <item> <title><![CDATA[I left my $200K Microsoft job to bet on my startup. Work became less fun, and AI made me feel ready to build it alone.]]></title> <description><![CDATA[I left my $200K Microsoft job to bet on my startup. Work became less fun, and AI made me feel ready to build it alone.. Junead Khan remaining Microsoft following two years to prosecute his AI startup. He explains why he discontinue his six-figure job without customers or VC funding.]]></description> <media:thumbnail url="https://i.insider.com/6ac795f97bf24b4467e693eb?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/i-left-my-200k-microsoft-job-to-bet-on-my-startup-work-became-less-fun-and-ai-made-me-feel-ready-to-build-it-alone-72045</link> <content:encoded><![CDATA[<div 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/6ac7950f42403ad8039a48bd?width=1300&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac7950f42403ad8039a48bd?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac7950f42403ad8039a48bd?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac7950f42403ad8039a48bd?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac7950f42403ad8039a48bd?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac7950f42403ad8039a48bd?width=1300&amp;format=jpeg&amp;auto=webp 1300w" sizes=" 1280px) 900px" alt="Junead Khan" 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>Junead Khan remaining Microsoft in 2025 to concentration on construction his AI startup, Treasury, without a cofounder or project chief funding.</span> <span> <span e-name="image-source" itemprop="creditText">Junead Khan</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 Junead Khan, a 25-year-old entrepreneur in Seattle. He worked at Microsoft before resigning final twelvemonth to concentration on his startup, Treasury. The following has been edited for dimension and clarity.</em></p><p>I had a really fine cognition at Microsoft whenever I archetypal joined full-time in 2023.</p><p>It was my archetypal job out of college, and I joined correct in the center of <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">the AI boom</a>. I was engaged in the rollout of data centers throughout the world. It was a awesome opportunity.</p><p>Then Microsoft informed several <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">service outages</a>, and by first 2025, I saw a greater accent on safety and assistance stability. It felt akin shipping things got slower. That started to obtain several of the fun out of the job for me.</p><p>At the identical time, I was observing new AI coding tools emerge. I wanted to test alongside them and get admission to them faster. I was making extremely fine <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">money at Microsoft</a>: I earned additional than $200,000 in 2024, including inventory and bonuses. But I didn't awareness akin I was learning all the AI skills I wanted to learn.</p><p>I started to think additional earnestly concerning leaving the business and following an <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">AI startup</a> I'd been operating on on the side.</p><p>Still, I wasn't prepared to discontinue immediately.</p><h2 id="45e85962-895d-4c45-a1cd-3a5beb802ecf" data-toc-id="45e85962-895d-4c45-a1cd-3a5beb802ecf">I built my startup on the flank of my full-time job</h2><p>My endeavor idea came to me during my elder twelvemonth of college.</p><p>I was delivered and raised in the UK but came to the US<strong> </strong>in 2019<strong> </strong>to prosecute a bachelor's flat in <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">computer science</a> at the University of North Carolina. I had prosperity to oversee in the two countries, and I felt akin the existing financial tools weren't operating fine for me.</p> <p>Around the identical time, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">AI models</a> were getting much better. I started wondering if I could use the innovation to build a financial adviser tool for the average individual who power not have admission to one or desire to pay thousands of dollars a twelvemonth for one.</p><p>So following graduating from university and before starting at Microsoft afterward that summer, I started construction Treasury, which I depict as an AI prosperity coach.</p><p>For approximately the next two years, I worked on the endeavor at night and on the weekends alongside my day job. Eventually, I started thinking earnestly concerning <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">leaving Microsoft</a>.</p> <h2 id="d53b7f7a-efaa-44e3-8f29-375b89a20703" data-toc-id="d53b7f7a-efaa-44e3-8f29-375b89a20703">I waited for my Microsoft inventory and reward before leaving</h2><p>Last year, I applied to a few startup accelerators, including <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Y Combinator</a>. My thinking was that if I got accepted, I'd discontinue Microsoft and activity on Treasury complete time.</p><p>But I didn't get accepted.</p><p>At that point, I decided I didn't desire to delay for person alternatively to provision me approval to go all in on Treasury. So, I started thinking of the prosperity I'd earned at Microsoft as my own kernel funding.</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/6ac79e527bf24b4467e693fe&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:2251,&quot;aspectRatioH&quot;:1688}}' alt="Junead Khan"> </p></div> <span> <figcaption e-name="image-caption"> Junead Khan stated AI coding tools helped provision him the confidence to depart Microsoft and build his startup without a cofounder.&nbsp; <span e-name="image-source" itemprop="creditText"> Junead Khan </span> </figcaption> </span> </figure> <p>I additionally wanted to be strategic concerning whenever I left. I waited for several of my inventory to vest and until I'd been at Microsoft lengthy adequate that I wouldn't have to repay part of my sign-on bonus.</p><p>Last August, following concerning two years<strong> </strong>at Microsoft, I resigned and officially launched my business two months later.</p> <h2 id="4ff70e18-b322-4546-be73-70194d560d00" data-toc-id="4ff70e18-b322-4546-be73-70194d560d00">I built an spectators by sharing the highs and lows</h2><p>When I remaining Microsoft, I started documenting what I was construction on social media, chiefly on TikTok and Instagram, but I additionally <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">posted on LinkedIn</a> and X. Part of the calculation was practical. If I wasn't going to lift project backing and expend prosperity on paid advertising, I needed to discover another way to assistance group detect the product.</p><p>I additionally idea that, as AI made application engineering additional accessible, having a individual brand and an spectators would rotate into increasingly crucial to my career. Even if Treasury didn't succeed, I idea documenting my journey could put me in a improved stance if I decide to appearance for another job one day.</p><p>The issue was that I had basically no social media following at the time, but I had to commencement somewhere. I began sharing my entire endeavor journey on social media: the highs, the lows, and equal unsuccessful merchandise launches. I wanted to display what it was really akin to build a startup by myself without <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">VC funding</a>.</p><p>I think that method resonated alongside people. Over the former year, my following has grown to about 30,000 throughout platforms.</p><p>About a twelvemonth ago, I had small than 500 followers on TikTok. Today, I have additional than 9,000.</p><p>My direction for expanding your social media existence is to concentration on telling your narrative in the way that suits you best. People power assume that method making TikTok or Instagram videos, but that won't be the finest fit for everyone.</p><p>For several people, it power be penning articles or making long-form videos. Find the phase and satisfied that activity finest for you and your style.</p><h2 id="74740c7e-267d-41a1-be73-043c15422abe" data-toc-id="74740c7e-267d-41a1-be73-043c15422abe"><strong>AI made me think I could build the business solo</strong></h2><p>One logic I felt comfortable trying this on my own was how much AI had changed application development.</p><p>A few years earlier, I think I power have needed a cofounder to assistance me build the merchandise rearward the business. But today, <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Claude Code</a> and Codex authorize me to code so much faster. Building a essential type of a application merchandise without a cofounder or VC backing felt achievable.</p><p>If I eventually decide to lift money, I'd fairly do it following I've had a chance to validate the idea alongside an spectators on my own conditions than provision up equity before I've really tried.</p><p>Today, I'm motionless the lone individual operating on Treasury.</p> <div data-track-view='&quot;tout_collection&quot;}' data-track-click-shared='&quot;tout_click&quot;}'> <div> <h2>Read additional concerning group who've established themselves at a company crossroads</h2> </div> </div><h2 id="e9f48de7-0e6a-4771-aa2f-2b344996a0ca" data-toc-id="e9f48de7-0e6a-4771-aa2f-2b344996a0ca"><strong>I'm motionless living off my savings</strong></h2><p>Treasury now has paying customers and has generated additional than $6,000 in revenue.</p><p>It's motionless extremely early. I don't pay myself a salary. The prosperity the endeavor makes stays in the company, and I've been living off the funds I accumulated before leaving Microsoft.</p><p>When I initially quit, I told myself I'd provision the business a twelvemonth and afterward see anywhere things stood.</p><p>I've continued since I accept I've built a fine merchandise and have an spectators that wants the business to succeed. Now I'm focused on figuring out how to attain additional group and develop the business.</p><p>Leaving a well-paying job without paying customers or exterior backing was a risk. But one item I've learned through the procedure is not to delay for person alternatively to provision you approval to prosecute something.</p><p>I used to think: If I enter this accelerator, afterward I'll quit. If this happens, afterward I'll do the next thing. Sometimes we appearance for those things as validation.</p><p>I've learned that sometimes the lone approval you need is your own.</p><p><em>Do you have a narrative to share? Reach out to the newsman via email at </em><a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;outbound_click&quot;}' rel=" nofollow"><em>jzinkula@businessinsider.com</em></a><em>, or via Signal at jzinkula.29.</em></p> </div> <p> <h2> Read next </h2> </p> <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>Jacob Zinkula is a elder economics newsman alongside Business Insider. He joined in 2022 and covers&nbsp;the <a href="https://en.mycoding.id/category/business" target="_blank">job market</a>, <a href="https://en.mycoding.id/category/business" target="_blank">the tech industry</a>, and <a href="https://en.mycoding.id/category/business" target="_blank">careers</a>.</span><span>Before joining Business Insider, Jacob earned a Master&rsquo;s in Business &amp; Economic Reporting from Columbia University. Prior to alumnus school, he worked as a credit analyst. He graduated from the University of Notre Dame alongside a bachelor&rsquo;s flat in Finance and a insignificant in Journalism.</span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/i-left-my-200k-microsoft-job-to-bet-on-my-startup-work-became-less-fun-and-ai-made-me-feel-ready-to-build-it-alone-72045</guid> <pubDate>Sun, 11 Oct 2026 12:00:02 +0700</pubDate> <author><![CDATA[support@mycoding.id (Jacob Zinkula)]]></author> </item> <item> <title><![CDATA[Learning to use local AI is exciting, overwhelming, and frustrating]]></title> <description><![CDATA[Learning to use local AI is exciting, overwhelming, and frustrating. I'm embarking on a journey I've so far been hesitant to go on: really using AI on the regular. Giving my most individual data to haze services has been a major...]]></description> <media:thumbnail url="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Asus_TUF_A14_Hermes_local_AI_ADiBenedetto_0001.jpg?quality=90&amp;strip=all&amp;crop=0%2C10.732984293194%2C100%2C78.534031413613&amp;w=1200"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/learning-to-use-local-ai-is-exciting-overwhelming-and-frustrating-72041</link> <content:encoded><![CDATA[<div id="zephr-anchor"><p>I&rsquo;m embarking on a journey I&rsquo;ve so far been hesitant to go on: really using AI on the regular. Giving my most individual data to haze services has been a important clasp up for me, but it&rsquo;s increasingly imaginable to run mighty models locally to see what they&rsquo;re capable of. Is this tech so helpful that it&rsquo;s value throwing gobs of prosperity at a device or a laptop alongside many of overpriced RAM? I&rsquo;ll try to assistance you discover out. I&rsquo;m not an AI expert, it&rsquo;s going to be a journey for me, but perchance I can assistance you see if that journey is value taking &mdash; and I&rsquo;ll be posting my way through it.</p><p>A big part of Apple&rsquo;s throw for its new Mac desktops is how fine they are for local AI, and there&rsquo;s an complete row of new <a href="https://en.mycoding.id/category/technology" target="_blank">RTX Spark</a> <a href="https://en.mycoding.id/category/technology" target="_blank">Windows machines</a> <a href="https://en.mycoding.id/category/technology" target="_blank">landing</a> <a href="https://en.mycoding.id/category/technology" target="_blank">imminently</a> alongside <a href="https://en.mycoding.id/category/technology" target="_blank">up to 128GB of RAM</a> aimed at using agentic AI. Local AI and agents are just, like, <em>so</em> hot correct now. But, in all seriousness, the idea of having a small gofer living solely in the box on my array that answers lone to me and not overlords from OpenAI, Google, Microsoft, or Anthropic hits a bit distinct than trusting haze services or subscribing to a chatbot. Don&rsquo;t get me wrong, there&rsquo;s motionless no way I&rsquo;m gonna have it compose for me, edit for me, or create <a href="https://en.mycoding.id/category/technology" target="_blank">ugly fliers</a>. But now, alongside several privacy on my flank perchance I can eventually think of helpful occupied activity to &ldquo;trust&rdquo; it with.</p><p>So as part of my ongoing evaluation of the <a href="https://en.mycoding.id/category/technology" target="_blank">M5 Ultra Mac Studio</a>, as fine as experimenting on another Mac and Windows systems, I&rsquo;ve installed several local LLMs and I&rsquo;m commencement to tinker. Here&rsquo;s how things are going.</p><div><div><div><p><strong>1/4</strong><span><figcaption><em>Hermes Agent can be used alongside haze or local models.</em></figcaption></span></p></div></div></div><p>I started by installing the open-source <a href="https://en.mycoding.id/category/technology" target="_blank">Hermes Agent</a> on the Mac Studio. Hermes is a self-hosted AI delegate desktop app that plant on macOS, Windows, and Linux. It&rsquo;s entirely liberated to use if you rod to local LLMs. Since this M5 Ultra Mac Studio has 256GB of unified memory, I could run fair concerning any example I want. This is how things quickly get overwhelming. There are <a href="https://en.mycoding.id/category/technology" target="_blank">more models out there than I can count</a>, and several have specialized uses. Generally, models alongside many billions of parameters are capable to do additional than smaller ones alongside lone a few billion. And since we don&rsquo;t have to concern concerning paying for tokens whenever operating a example locally, I figured I&rsquo;d go big to start.</p><p>Using Hermes&rsquo; straightforward onboarding interface and example picker, I chose the <a href="https://en.mycoding.id/category/technology" target="_blank">Qwen 3.8 Flash Next</a> example &mdash; a 125-billion indicator example that&rsquo;s about 105GB in size. I additionally scheme on spending several period alongside much smaller Qwen models on devices akin an M6 Mac Mini, M5 MacBook Air, an Asus TUF Gaming A14 alongside AMD Strix Halo processor, and, eventually, RTX Spark. (Care to portion what local models and hardware you use? You cognize anywhere to depart your comments. &#129761;)</p><p>It wasn&rsquo;t lengthy to get up and operating alongside Hermes and Qwen, and equal create them controllable via my phone by using a <a href="https://en.mycoding.id/category/technology" target="_blank">Telegram bot</a>. But then, I was presented alongside my customary nemesis whenever it comes to using AI: the content box.</p><p>&ldquo;What do I do alongside this thing?&rdquo;</p><div><div><div><div class=""><div><p><a href="https://en.mycoding.id/category/technology" target="_blank" data-pswp-height="2165" data-pswp-width="1080" target="_blank" rel="noreferrer"><img alt="My Hermes regular briefing, sent to me regular via Telegram. Basic, I know." data-chromatic="ignore" loading="lazy" decoding="async" data-nimg="fill" sizes=" 1023px) 50vw, 700px" srcset="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=256 256w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=376 376w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=384 384w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=415 415w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=480 480w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=540 540w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=640 640w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=750 750w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=828 828w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=1080 1080w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=1200 1200w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=1440 1440w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=1920 1920w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=2048 2048w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=2400 2400w" src="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/hermes-telegram-daily-briefing-cron-job.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=2400"></a></p></div></div><p><figcaption><em>My Hermes regular briefing, sent to me regular via Telegram. Basic, I know.</em></figcaption></p></div></div></div><p>First up, to get things going, I followed several helpful <a href="https://en.mycoding.id/category/technology" target="_blank">YouTube advice</a> and had Hermes create me a regular dawn briefing &mdash; to fair commencement small alongside a cron job and justify things are working. It scans my email and calendar, tells me item value my contiguous attention, and gives me a abbreviated climate report. It&rsquo;s not all that useful, and you evidently don&rsquo;t need a $12,000 device to build it, but it&rsquo;s item I can create complete time. The concise kept failing to create at first, but afterward I eventually figured out that macOS couldn&rsquo;t be idle whenever the job fired up at 7:30am. Duh! It plant akin clockwork now, but I have to think of additional info for it to drag for me to create the results additional helpful.</p><p>A additional helpful project was reorganizing my Steam library. I have complete 400 games on Steam, and I lately started categorizing them for whenever I desire to perform item new on a whim. Steam doesn&rsquo;t categorize your games for you, so you alternatively have to do it manually, one-by-one. But here&rsquo;s anywhere an agentic lackey could fit correct in. I asked, &ldquo;Can you reorganize my Steam library?&rdquo; Hermes could see most of my games by fair viewing the already installed Steam client. It quickly came up alongside several institution options for me. I decided to have it arrange my games by genre, but depart several of my own specialized categories(favorites, co-op titles, gathering games, games to perform alongside my wife, etc.).</p><p>You have to provision a local AI several permissions complete your device for it to obtain actions for you, and in the case of my equivalent archive I had to enroll a <a href="https://en.mycoding.id/category/technology" target="_blank">Steam web API key</a> and provision it to Hermes. Once it had that access, it lone took a few minutes for it to churn through sorting all the games into categories. And the API key was uncomplicated to revoke correct after, since I don&rsquo;t need it further. The idea is for it to fair do this dense lifting for me once, and afterward I&rsquo;ll document new games into the categories as I eventually buy them. It did a fine job overall, and now my Steam archive is effortlessly browsable.</p><div><div><div><div id=":R6qbcprar96:"><p><a href="https://en.mycoding.id/category/technology" target="_blank" data-pswp-height="1896" data-pswp-width="2726" target="_blank" rel="noreferrer"><img alt="&lt;em&gt;Starting the procedure of having Hermes arrange my Steam library.&lt;/em&gt;" data-chromatic="ignore" loading="lazy" decoding="async" data-nimg="fill" sizes=" 1023px) 100vw, 744px" srcset="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=376 376w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=384 384w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=415 415w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=480 480w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=540 540w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=640 640w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=750 750w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=828 828w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=1080 1080w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=1200 1200w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=1440 1440w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=1920 1920w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=2048 2048w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=2400 2400w" src="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-09-at-5.35.23-PM.png?quality=90&amp;strip=all&amp;w=2400"></a></p><p><a href="https://en.mycoding.id/category/technology" target="_blank" data-pswp-height="2232" data-pswp-width="3172" target="_blank" rel="noreferrer"><img alt="&lt;em&gt;The end result. Not bad.&lt;/em&gt;" data-chromatic="ignore" loading="lazy" decoding="async" data-nimg="fill" sizes=" 1023px) 100vw, 744px" srcset="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=376 376w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=384 384w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=415 415w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=480 480w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=540 540w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=640 640w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=750 750w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=828 828w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=1080 1080w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=1200 1200w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=1440 1440w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=1920 1920w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=2048 2048w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=2400 2400w" src="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/Screenshot-2026-10-11-at-12.53.12-AM.png?quality=90&amp;strip=all&amp;w=2400"></a></p></div><p><strong>1/2</strong><span><figcaption><em>Starting the procedure of having Hermes arrange my Steam library.</em></figcaption></span></p></div></div></div><p>Another uncomplicated item I did was data analysis. I had Hermes obtain a appearance at financial records to crunch several numbers for me, and I additionally had it create me a spec difference spreadsheet for a new laptop. These are small things, but they&rsquo;re the two tasks I cannot or volition not rely alongside any haze assistance &mdash; I don&rsquo;t desire to upload that delicate data to the cloud, and in the case of a new laptop, that info was under embargo. Keeping them on my device was the difference in me using this tool or not.</p><p>The bigger bit of automation I&rsquo;m currently operating on is a manuscript to run a sequence of laptop benchmark tests. I run all our benchmarks manually, and tending to a laptop to run a dozen or so tests &mdash; three times over, to obtain the average &mdash; is incredibly time-consuming. I&rsquo;d affection to automate at smallest several of it. Even strolling Hermes through all of the required procedures and getting it to spit out vibe coded Python scripts has been a bit of an endeavor, and it remains a activity in progress. But I&rsquo;m expecting to create several affirmative headway.</p><div><div><div><div class=""><div><p><a href="https://en.mycoding.id/category/technology" target="_blank" data-pswp-height="1360" data-pswp-width="2040" target="_blank" rel="noreferrer"><img alt="Apple demoed this collection of four Mac Studios wired up in a collection for local AI at a briefing I attended final month. That’s nearly $50,000 value of compute." data-chromatic="ignore" loading="lazy" decoding="async" data-nimg="fill" sizes=" 1023px) 50vw, 700px" srcset="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=256 256w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=376 376w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=384 384w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=415 415w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=480 480w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=540 540w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=640 640w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=750 750w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=828 828w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=1080 1080w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=1200 1200w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=1440 1440w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=1920 1920w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=2048 2048w, https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=2400 2400w" src="https://platform.theverge.com/wp-content/uploads/sites/2/2026/10/100926_Apple_Mac_Studio_M5_Ultra_local_AI_cluster_ADiBenedetto_0002.jpg?quality=90&amp;strip=all&amp;crop=0%2C0%2C100%2C100&amp;w=2400"></a></p></div></div><p><figcaption><em>Apple demoed this collection of four Mac Studios wired up in a collection for local AI at a briefing I attended final month. That&rsquo;s nearly $50,000 value of compute.</em></figcaption></p></div></div></div><p>It&rsquo;s motionless first days of me operating alongside Hermes, and I&rsquo;m expecting this is fair the tip of the iceberg on the helpful things I get it to do for me. But it&rsquo;s additionally apparent that equal these mighty local models don&rsquo;t create for a magical aide that can do anything. Things motionless don&rsquo;t continually activity as intended &mdash; my regular briefing already broke, multiple times.</p><p>I perspective Hermes and local AI as fair a tool, a device program to run on my computer. I don&rsquo;t desire a digital friend. I&rsquo;m not saying &ldquo;thank you&rdquo; or &ldquo;please,&rdquo; or typing &ldquo;sorry&rdquo; whenever I alter my intellect on something. I&rsquo;m remaining as stone-cold and indifferent whenever ordering it about as I am clicking a mouse about an functioning system.</p><p>I anticipation to remain vigilant and careful during I continue evaluation and learning alongside local AI. Let&rsquo;s see anywhere it takes <span>me.<span></span></span></p><div><p><span><strong>Follow topics and authors</strong> from this narrative to see additional akin this in your personalized homepage nourish and to obtain email updates.</span></p><ul><li id="follow-author-article_footer-dmcyOmF1dGhvclByb2ZpbGU6NDQ2"><span aria-expanded="false" aria-haspopup="true" role="button" tabindex="0"><span><span><svg width="9" height="9" viewbox="0 0 9 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="Follow"><path d="M5 0H4V4H0V5H4V9H5V5H9V4H5V0Z"></path></svg></span><span>Antonio G. Di Benedetto</span></span></span></li><li><li><li><li><li><li><li></ul></div></div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/learning-to-use-local-ai-is-exciting-overwhelming-and-frustrating-72041</guid> <pubDate>Sun, 11 Oct 2026 12:00:00 +0700</pubDate> <author><![CDATA[support@mycoding.id (Antonio G. Di Benedetto)]]></author> </item> <item> <title><![CDATA[British Airways is launching the world's largest business-class cabin on its Airbus A380s. Take a look inside.]]></title> <description><![CDATA[British Airways is launching the world's largest business-class cabin on its Airbus A380s. Take a look inside.. British Airways unveiled its division designs for its retrofitted Airbus A380s, including 106 business-class suites spanning the high deck.]]></description> <media:thumbnail url="https://i.insider.com/6ac4d763225e4c4a50a38428?width=1200&amp;format=jpeg"/> <category><![CDATA[Business]]></category> <link>https://en.mycoding.id/british-airways-is-launching-the-world-s-largest-business-class-cabin-on-its-airbus-a380s-take-a-look-inside-72046</link> <content:encoded><![CDATA[<div 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/6ac4d7f7d4357587843b9b97?width=2000&amp;format=jpeg&amp;auto=webp" srcset="https://i.insider.com/6ac4d7f7d4357587843b9b97?width=400&amp;format=jpeg&amp;auto=webp 400w, https://i.insider.com/6ac4d7f7d4357587843b9b97?width=500&amp;format=jpeg&amp;auto=webp 500w, https://i.insider.com/6ac4d7f7d4357587843b9b97?width=700&amp;format=jpeg&amp;auto=webp 700w, https://i.insider.com/6ac4d7f7d4357587843b9b97?width=1000&amp;format=jpeg&amp;auto=webp 1000w, https://i.insider.com/6ac4d7f7d4357587843b9b97?width=1300&amp;format=jpeg&amp;auto=webp 1300w, https://i.insider.com/6ac4d7f7d4357587843b9b97?width=2000&amp;format=jpeg&amp;auto=webp 2000w" sizes=" 1280px) 900px" alt="A render of an overview of the business-class division on a British Airways updated A380" 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>British Airways is re-fitting its Airbus A380s alongside 106 business-class suites.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of British Airways</span> </span> </figcaption> </span> </span></figure> </div> <div data-component-type="image-modal" data-load-strategy="lazy"> <p>Airlines affection endeavor class, and&nbsp;<a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">British Airways'</a>&nbsp;latest updates to its&nbsp;<a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">Airbus A380s</a>&nbsp;are proof.</p><p>This week, the transporter unveiled a important overhaul to the interiors of its superjumbos, including what it says is the world's largest business-class cabin, alongside complete 100 suites spanning the double-decker jet's high floor.</p><p>"This is the largest sole funding that any transporter has always made in reconfiguring an aircraft, stretching from nose to rear and touching all sole aspect of the cognition on board," CEO Sean Doyle stated at a media event, which Business Insider attended.</p><p>Over 35,000 idiosyncratic parts are installed on all airplane as part of the retrofit, which includes new galleys and staircases, British Airways said.</p><p>While <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">the A380</a> has fallen out of favor alongside many airlines since the pandemic, it motionless plays a key function in British Airways' fleet. The emblem transporter has 12 specified airplanes&nbsp;&mdash; the second most rearward Emirates.</p><p>"You're going to see a glance into the forthcoming of long-haul air journey on British Airways, and it represents the funding we've been making in our premium experience, and the A380 is one of our flagships in demonstrating our dedication to that mission," Doyle said.</p> <div data-component-type="post-slides" data-load-strategy="lazy"> <div> <h2>British Airways is making a rare bet on the A380.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4d692225e4c4a50a38424&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:5000,&quot;aspectRatioH&quot;:3333}}' alt="British Airways Airbus A380 Superjumbo passenger aircraft, spotted flying on final method for landing on London Heathrow Airport runway in the United Kingdom. The twice decker broad build airliner is the world&#039;s largest jet. The BA A380 airplane has the registration rear figure G-XLED and is powered by 4x RR Trent 970 engines. The pictured airplane is arriving from Johannesburg JNB International Airport in South Africa as Flight BA56. British Airways is the emblem transporter carrier of the United Kingdom alongside chief hub at Heathrow Airport, functioning a fleet of 244 planes and associate of Oneworld aviation alliance group. Since 2011 BA merged alongside Iberia creating the International Airlines Group IAG, the third largest transporter collection in the world. September 11, 2024 (Photo by Nicolas Economou/NurPhoto via Getty Images)"> </p></div> <span> <figcaption e-name="image-caption"> <span>A British Airways Airbus A380.</span> <span> <span e-name="image-source" itemprop="creditText">Nicolas Economou/NurPhoto via Getty Images</span> </span> </figcaption> </span></figure> <div> <p>Airbus stopped making the A380 in 2021, as many carriers former their superjumbo jets to preserve expenses during the pandemic.</p><p>However, its enormous size allows area for additional features and plush first-class suites.</p><p>Although the airplane category is expected to halt flying by 2040, British Airways is spending millions retrofitting its A380s as its most opulent offering.</p> </div> </div> <div> <h2>British Airways earlier unveiled its luxurious first-class suite in 2024.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/67488ff3fa0140cdd5661a9d&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4032,&quot;aspectRatioH&quot;:3024}}' alt="British Airways&#039; new archetypal category suite mockup"> </p></div> <span> <figcaption e-name="image-caption"> <span>The A380 volition characteristic 12 first-class suites.</span> <span> <span e-name="image-source" itemprop="creditText">Pete Syme/Business Insider</span> </span> </figcaption> </span></figure> <div> <p>"Our ambition throughout this entire transformation journey is to obtain British Airways to the next flat and to create it really special," Calum Laming, chief client officer, stated during <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">British Airways' first-class suite reveal</a> in 2024.</p><p>While most US airlines have cut <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">first class</a>, European carriers have been investing in additional luxury.</p><p>At the time, British Airways stated it was set to debut in mid-2026, but this has been pushed rear and could stumble into next year.</p><p>The transporter says its retrofitted A380 is expected to debut "in the coming months."</p> </div> </div> <div> <h2>First-class passengers have their own choice of snacks inner their suite.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4d8da225e4c4a50a38435&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:5712,&quot;aspectRatioH&quot;:4284}}' alt="A choice of chocolates and snacks in a box for British Airways pictured at an October media event"> </p></div> <span> <figcaption e-name="image-caption"> <span>A BA employee holds a choice of snacks for archetypal class.</span> <span> <span e-name="image-source" itemprop="creditText">Pete Syme/Business Insider</span> </span> </figcaption> </span></figure> <p>This includes peppermints, chips, chocolate bars, and hydration sachets from ViDrate.</p> </div> <div> <h2>And they get amenity kits made by Swaine, a luxury British brand established in 1750.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4e371d4357587843b9bf4&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:5712,&quot;aspectRatioH&quot;:4284}}' alt="A British Airways first-class amenity kit in white, made by Swaine, alongside the products laid out at a media event."> </p></div> <span> <figcaption e-name="image-caption"> <span>The amenity kit on display.</span> <span> <span e-name="image-source" itemprop="creditText">Pete Syme/Business Insider</span> </span> </figcaption> </span></figure> <div> <p>The kits are accessible in blue or cream, and merge a choice of skincare products from Wildsmith, including a visage mist, hand and build lotion, ceramide multi-balm, lip balm, and visage cream.</p><p>It launched in first October for <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">first-class passengers</a> on all British Airways' outbound long-haul flights.</p> </div> </div> <div> <h2>The new business-class suites equivalent the identical contemporary color palette.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4c828d4357587843b9b1b&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4000,&quot;aspectRatioH&quot;:2252}}' alt="A render of a business-class suite on a British Airways updated A380"> </p></div> <span> <figcaption e-name="image-caption"> <span>A rendering of a business-class suite on commission an A380.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of British Airways</span> </span> </figcaption> </span></figure> <p>British Airways additionally stated it includes added retention space, informed by client feedback.</p> </div> <div> <h2>Business class, or Club World, volition inhabit the complete high deck, alongside 106 seats.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4c829d4357587843b9b1c&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4000,&quot;aspectRatioH&quot;:2252}}' alt="A render of a top perspective of the business-class division on a British Airways updated A380"> </p></div> <span> <figcaption e-name="image-caption"> <span>The updated A380 volition characteristic the world's largest business-class cabin.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of British Airways</span> </span> </figcaption> </span></figure> <div> <p>It reflects travelers' expanding willingness to pay additional for luxury experiences since the epidemic &mdash; <a href="https://en.mycoding.id/category/business" target="_blank" data-track-click='&quot;bi_value_unassigned&quot;}' rel="">especially among affluent American passengers.</a></p> </div> </div> <div> <h2>The division additionally has its own snack station, called the Club Kitchen.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4c828f66e1154bdfa366f&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4000,&quot;aspectRatioH&quot;:2250}}' alt="A render of the business-class association galley on a British Airways updated A380"> </p></div> <span> <figcaption e-name="image-caption"> <span>A render of BA's Club Kitchen.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of British Airways</span> </span> </figcaption> </span></figure> <p>Passengers volition be capable to get drinks and snacks, akin popcorn and chips. British Airways additionally stated there volition be "dedicated live areas" to advance group to move openly throughout the airplane.</p> </div> <div> <h2>Downstairs, the updated A380 volition contain 84 premium-economy seats.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4c82a225e4c4a50a383b0&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4000,&quot;aspectRatioH&quot;:2250}}' alt="A render of a rear overview of the premium-economy-class division on a British Airways updated A380"> </p></div> <span> <figcaption e-name="image-caption"> <span>Premium economics comes alongside larger in-flight amusement screens.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of British Airways</span> </span> </figcaption> </span></figure> <p>They volition arrive alongside brand-new bedding and pillows.</p> </div> <div> <h2>The seats characteristic privacy wings, too.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4c82bd4357587843b9b1f&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4000,&quot;aspectRatioH&quot;:2250}}' alt="A render of a near perspective of the premium-economy-class division on a British Airways updated A380"> </p></div> <span> <figcaption e-name="image-caption"> <span>A render of the premium-economy cabin.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of British Airways</span> </span> </figcaption> </span></figure> <p>Passengers volition obtain a reusable amenity kit that's designed as a tote bag for onward travel, featuring a Dr.PAWPAW moisturizing balm and more.</p> </div> <div> <h2>Plus, there are bigger screens in coach.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4c829d4357587843b9b1d&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4000,&quot;aspectRatioH&quot;:2250}}' alt="A render of a rear overview of the economy-class division on a British Airways updated A380"> </p></div> <span> <figcaption e-name="image-caption"> <span>There are 215 seats in economy.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of British Airways</span> </span> </figcaption> </span></figure> <p>British Airways says economics passengers volition additionally get upgraded bedding and pillows alongside additional filling than before.</p> </div> <div> <h2>The seats are wider as well.</h2> <figure data-type="img" e-name="image-figure-image" data-media-container="image" itemscope itemtype="https://schema.org/ImageObject" role="button" tabindex="0" aria-label="Click to open depiction in exhibition view"> <div> <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-content-type="image/jpeg" data-srcs='//i.insider.com/6ac4c82b225e4c4a50a383b1&quot;:{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;aspectRatioW&quot;:4000,&quot;aspectRatioH&quot;:2250}}' alt="A render of a near perspective of the economy-class division on a British Airways updated A380"> </p></div> <span> <figcaption e-name="image-caption"> <span>A rendered depiction of rows of seats in coach.</span> <span> <span e-name="image-source" itemprop="creditText">Courtesy of British Airways</span> </span> </figcaption> </span></figure> <p>Passengers volition additionally get blankets designed for added warmth and comfort.</p> </div> </div> </div> <p> <h2> Read next </h2> </p> <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>Pete Syme is an aviation newsman for Business Insider, based in London.</span><span>He writes concerning all things connected to the industry, from&nbsp;aviation safety&nbsp;and&nbsp;CEO&nbsp;interviews&nbsp;to&nbsp;route&nbsp;reveals&nbsp;and&nbsp;airplane tours. Pete additionally uses data for industry analyses and to visualize breaking news events.</span><span></span><span>Before joining Business Insider in 2022, he graduated alongside an MA in Newspaper Journalism from City, University of London, and a BA in English from the University of Exeter.</span> </p> </div> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/british-airways-is-launching-the-world-s-largest-business-class-cabin-on-its-airbus-a380s-take-a-look-inside-72046</guid> <pubDate>Sun, 11 Oct 2026 11:58:01 +0700</pubDate> <author><![CDATA[support@mycoding.id (Pete Syme)]]></author> </item> <item> <title><![CDATA[Nitter: Update Oct 10th seeking funding and legal help]]></title> <description><![CDATA[Nitter: Update Oct 10th seeking funding and legal help. Comments]]></description> <media:thumbnail url="https://en.mycoding.id/site/assets/img/og-image.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/nitter-update-oct-10th-seeking-funding-and-legal-help-72038</link> <content:encoded><![CDATA[<div> <img src="image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0BAMAAAA5+MK5AAAACXBIWXMAAAsSAAALEgHS3X78AAAAD1BMVEUAAACgSkKhSkP+bGD/bGDVL4Y1AAAAAXRSTlMAQObYZgAABtNJREFUeNrt3NGRI8cORFF8wJRnggxoxaP/NskCaQtANtkXnfieqKmzuEtucyY2wuPxeDwej8fj8Xg8Ho/H4/F4PB6Px+PxeDwe7XwO5vc3uOMmefINrzvlWaFfX/++10PkypvkD0J7CP3zc/qnOF//I7+t+KzSr69/Y9PfSL/eS/+8mH6Z/kL658X0y/QX0j8vpl/vpX920v/9wG/RL83X3US/XkbPe9f+ZHqYflPxj6bfW/yj6WH6PcU/m35r8c+m37r2h9PT9DuKfzj9zuKfTk/Tbyj+6fQbi388/b61P54epuuLfz79tuKfTw/T5cUD6HcVD6DftXYCPU0XF0+g31Q8gp6ma4tH0O8pnkFP06XFM+i3FA+h37F2CD1M/+lHZD+i31A8hR6mC6+AoeuLx9D1a+fQ03RZ8Ry6vHgQPU1XFQ+iq4sn0cVrJ9HDdNE1UHRt8Sh6mK65B4suLZ5FD9MlF4HRlcXD6Mq10+hpuqB4Gl1YPI6eps+Lx9F1xfPosrXz6GH6+DJAuqp4ID1Mn96GSBcVT6SL1o6kp+mz4pF0TfFMepo+Kp5JlxQPpafpk+KhdEXxVLpg7VR6mD44AUufF4+lh+mCV0ocfVw8lz5eO5iepneLB9OnxZPpaXqzeDJ9WDyaPls7mh6mD39+haSPimfTw/TZrygw6ZPi4fQwvXMQnT4onk4frB1PT9PrxePp/eL59DS9XDyf3i5+Ab279gX0ML162AZ6s/gN9DC9eNoKeq/4FfTe2nfQ0/RS8TvoreKX0NP0SvFL6J3it9DT9ELxW+iN4tfQ62tfQw/Tz48k0M9WWS4eQM9Dzz768RdWiwfRP8dfeLb259PPd1lc++PphX+h5l66uHgUXVs8il5Y+4vpn210afEsunTtu+ixmK4sHkZXFk+jF9b+Yvq1jC4sHkfXFb+Zfi2j64rn0WVr59Flj2+r6Z9tdFXxQLqq+N30zza6qHgiXbT2jfRYTNcUj6RrimfSC2tfQf9LXDyI/j9x8Rz6FeIXOhI9z+m5l64onkQXF4+i99a+gh7S4rH0efEsurR4Fl1aPJc+Lh5GV761w+jNta+gp654MH1aPI0uLB5H1xVPpg+Lx9F1b+08uuwDCzR9VjyPLiseSFc9vgHpqsc3OH1SPJEueqEj0iu/A7yYPigeSdcUj6RrHt+YdMnjG57eL55JlxQPpSuK59PbxUPpird2Kl3w+EalCx7fNtCbxWPp8+Kx9HnxK+i94rn08Vs7lz7+wGIHvVU8mD4tHkyfPr6R6cPHtyX0TvFk+vCFDk0vFJ976Y3i0fRZ8Wz66PGNTR89vu2hl4uH0yfFw+mT4hfRq8XT6YO3djp98PiGp/cf3zbRi8Xj6f3i+fR28avoteL59PZb+wJ69wOLXfRS8QvozeL//iyg99b+/w305uPbNnqh+BX0nK2dTG/+vHkb/XoZfVY8mj5bO5uepreKZ9NHxcPpaXqneDh9UjydPlg7nR6mN4rH0/vF4+lher14Pr1dPJ/e/sBiF/16Gb1b/AJ6d+0b6Gl6sfgNdPX/IE+iF4rPvfRC8bGB3ir+2kHvrH0JvfGP2Sv20a+zr40t9ELx6pv+mh6mC6+KoeuLx9D1a+fQ03RZ8Ry6vHgQPU1XFQ+iq4sn0dN0UfEkurh4FF27dhQ9TNfcl0WXFs+ih+mSC8PoyuJhdOXaafQ0XVA8jS4sHkdP0+fF4+i64nl02dp59DB9fGkgXVU8kB6mT29NpIuKJ9LD9OG1kXRN8Ui6Zu1Mepo+Kp5JlxQPpafpk+KhdEXxVLpg7VR6mD44AUufF4+lh+mCV0ocfVw8lz5eO5iepneLB9OnxZPpaXqzeDJ9WDyanqb3ikfTZ8Wz6aO1s+lh+uxXFJj0SfFwepjeOYhOHxRPpw/Wjqen6fXi8fR+8Xx6ml4unk9vF7+A3l37AnqYXj1sA71Z/AZ6mF48bQW9V/wKepheO24HvVX8Dnpr7UvoaXql+CX0TvFb6Gl6ofgt9Ebxa+j1ta+hh+nnR+6hl4vfQw/Tj89cRK8Wv4heXfsmepp+WPwmerH4VfQ0/az4VfRa8bvoafpR8bvopeKX0StrX0YP008O3kYvFL+NHqb/9COyH9HPi19HP1/7Pnqa/sfi99GPi19IT9P/VPxC+mnxG+mHa99ID9P/cPpK+lnxK+lh+n8fv5N+VPxOevyWfjp30793g2fQ8730eDE9TX8hPV5MT9NfSI8X0/O99DD9jfT8+g2q9Lhtvn6DfMjSj+nXQnp+/Qb5EPnhTaQ3eMbf9NObhMfj8Xg8Ho/H4/F4PB6Px+PxeDwej8fj8Xg82vkHF0PoYBY2MCwAAAAASUVORK5CYII=" alt="Nitter"> <p> On 24 August 2026 X&nbsp;Corp. sent cease and desist alphabet demanding a imperishable takedown of Nitter instances and the project's repository. On 8&nbsp;September 2026, they sent another, alongside the identical demands and lawful threats. </p> <p> My September 7th update stated the project would continue alongside legal depiction in place. That was according to assurances I received and believed, which have since turned out to be untrue. I apologize for the misleading information. </p> <p> <strong>Nitter currently has no lawful counsel.</strong> </p> <p> I'm seeking <strong>funding and lawful help</strong> to combat for the forthcoming of Nitter. If you're a lawyer, an organization, or anyone who can help, delight get in touch. Any additional news volition be posted here. </p> <hr> <h2>Contact</h2> <p> <a href="https://en.mycoding.id/category/technology" target="_blank">zedeus@pm.me</a> &middot; <a href="https://en.mycoding.id/category/technology" target="_blank">@zedeus:nolog.chat</a> </p> <hr> <h2>Donations</h2> <div> <p> Donations go archetypal toward lawful costs, if needed. Anything not needed for that supports my betterment of Nitter or its successor. </p> <ul> <li><a href="https://en.mycoding.id/category/technology" target="_blank">Liberapay</a></li> <li><a href="https://en.mycoding.id/category/technology" target="_blank">Patreon</a></li> <li><a href="https://en.mycoding.id/category/technology" target="_blank">Ko-fi</a></li> </ul> BTC bc1qpqpzjkcpgluhzf7x9yqe7jfe8gpfm5v08mdr55 ETH 0x24a0DB59A923B588c7A5EBd0dBDFDD1bCe9c4460 XMR 42hKayRoEAw4D6G6t8mQHPJHQcXqofjFuVfavqKeNMNUZfeJLJAcNU19i1bGdDvcdN6romiSscWGWJCczFLe9RFhM3d1zpL SOL FF5bheiD5AqPEdc3eyjymJ8AoMRF1hS78Ht6FiSZZF1t ZEC u1vndfqtzyy6qkzhkapxelel7ams38wmfeccu3fdpy2wkuc4erxyjm8ncjhnyg747x6t0kf0faqhh2hxyplgaum08d2wnj4n7cyu9s6zhxkqw2aef4hgd4s6vh5hpqvfken98rg80kgtgn64ff70djy7s8f839z00hwhuzlcggvefhdlyszkvwy3c7yw623vw3rvar6q6evd3xcvveypt </div> <hr> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/nitter-update-oct-10th-seeking-funding-and-legal-help-72038</guid> <pubDate>Sun, 11 Oct 2026 11:37:55 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> <item> <title><![CDATA["Robot" Is a Social Construct: Why Your Dishwasher Is Not a Robot]]></title> <description><![CDATA["Robot" Is a Social Construct: Why Your Dishwasher Is Not a Robot. Comments]]></description> <media:thumbnail url="https://robotgirlgang.com/wp-content/uploads/2026/09/rgg-site-icon-master.png"/> <category><![CDATA[Technology]]></category> <link>https://en.mycoding.id/robot-is-a-social-construct-why-your-dishwasher-is-not-a-robot-72039</link> <content:encoded><![CDATA[<div> <p>The most productive way to nerd snipe a roboticist is to current them alongside a arguable definition of a &ldquo;robot&rdquo;. When I served on an manufacturing safety standards betterment committee, we formerly spent a memorable two complete days trying to define &ldquo;robot&rdquo; sufficiently broadly so as to justify the norm would use to all fairly forseeable uses of manufacturing robotic arms in manufacturing automation, but sufficiently narrowly so as to justify we did not accidentally power newly developed types of manufacturing robots into a norm that would wrongly constrain them. This was, I say alongside all honesty, was an immensely fun two days. I affection this benevolent of thing. I volition be pedantic all day long.</p> <p>So of course, my esteemed coworker Tina decided to lob a grenade at me by <a href="https://en.mycoding.id/category/technology" target="_blank" data-type="link" data-id="https://robotgirlgang.com/2026/08/19/a-dishwasher-is-a-robot/">asserting that a dishwasher is a robot.</a> </p> <p>There are two ways I could womansplain to her fair how incorrect she is. One is to encounter her at her flat by debating the specialized definition. My chief specialized matter alongside her clarification is that I do not concur alongside how she describes the &ldquo;manipulation&rdquo; capabilities of a dishwasher. The spray arms and soap publish mechanisms are fair that, mechanisms &ndash; they do not grip objects, and manipulation is concerning handling objects. Dishwashers are entirely <em>automated</em> systems, and increasingly astute ones (though I side-eye the manufacturer that makes my dishwasher calling it &ldquo;fully autonomous&rdquo; since it cracks it open on completion to let everything cool). But they&rsquo;re not robots. They autumn abbreviated of the specialized definition Tina used.</p> <p>But the substitute I favor is to communicate Tina that she is incorrect since robots are not really defined by their technology, so arguing that way is meaningless. The word, and how we choose to use it, is entirely a social construct. </p> <p>&ldquo;Robot&rdquo; as a term is an innovation of discipline fabrication &ndash; and specifically, of Karel &#268;apek in his 1920 perform Rossum&rsquo;s Universal Robots. Robots continued to be explored through discipline fabrication for decades before the archetypal item called a robot became <a href="https://en.mycoding.id/category/technology" target="_blank">a merchandise you could buy</a>. Automated machines <em>not</em> called robots existed fine before the term was coined, and continue to be today. And that&rsquo;s since &ldquo;robot&rdquo; is not really a descriptor of specialized functionality; it is used to depict an automated device we awareness several benevolent of way about. </p> <p>It&rsquo;s specifically since the term and the idea were invented and developed through discipline fabrication that this is the case. Science fabrication spends a lot of period using the idea of aliens, robots, and synthetic intellect as a lens through which to perspective ourselves as humans.<sup data-fn="2d4185fa-8289-4af1-970c-18388c36cc2b"><a href="https://en.mycoding.id/category/technology" target="_blank" id="2d4185fa-8289-4af1-970c-18388c36cc2b-link">1</a></sup> It&rsquo;s why Spock and Data and The Doctor and Seven of Nine are all specified compelling characters in Star Trek &ndash; they be as narrative constructs through which to ask the inquiry &ldquo;what does it average to be human?&rdquo;<sup data-fn="2690e15d-99a1-45d8-89bc-72c0ad61ae62"><a href="https://en.mycoding.id/category/technology" target="_blank" id="2690e15d-99a1-45d8-89bc-72c0ad61ae62-link">2</a></sup></p> <p>So that&rsquo;s why we choose to use the term &ldquo;robot&rdquo; to several automated machines and not others. We use the term for technologies which awareness new, a small scary, and create our squishy biologic brains awareness a small bit weird concerning what this innovation power average for us. We power be concerned concerning what this innovation having several particular capability method concerning our jobs, or our relationships alongside another people, or our areas of ability or talent. Technology that looks akin the individual form or appears to imitate aspects of individual awareness power create us inquiry a religious condemnation we may clasp concerning how existence is created. Our interactions alongside item that looks and appears individual power create us think uncomfortable thoughts concerning how we (individually or as a society) treat another individual beings. Or we power acknowledge that community conversation concerning how awesome it would be to have item that looks akin a human, appears akin a human, and has all the capability of a human, but without any entitlements or washroom breaks or pay in toggle for its labor feels beautiful gross, actually, if you&rsquo;ve idea exactly at all concerning how our former of slavery has had an effect on so many aspects of contemporary America. </p> <p>We see this in the way what we call a &ldquo;robot&rdquo; has changed and evolved complete time, and the way that alter is so tightly correlated alongside the novelty of the innovation and the flat to which we awareness we comprehend the possible social implications of it. Outside of sci fi, &ldquo;robot&rdquo; used to fair average robotic arms used in gathering lines. When I attended the RoboBusiness gathering circa 2007, I recall the gathering data specifically stating it was NOT for manufacturing robotic arms since they didn&rsquo;t regard those robots anymore. Meanwhile, Roombas were province of the art and everyone was enthusiastic concerning wheeled mobile robots. A decade later, manufacturing robotic arms were allowed rear in since power- and force-limited cobots and advanced imagination systems attached to robot arms opened up novel new applications and capabilities that group had lone fair started to contemplate being automatable. These days, many folks are blessed to chuckle off the Roomba and robotic grassland mowers as &ldquo;basically a toy&rdquo; and humanoid robots are (unfairly) scaring the rubbish out of everyone concerning their job prospects (or safety in the visage of someone&rsquo;s robot army). All of these things encounter the ISO definition of robot that Tina used, but as a culture, we&rsquo;ve moved on to calling item new a &ldquo;robot&rdquo; and starting to demote the another material since we&rsquo;re not impressed alongside (read: frightened of) it anymore.</p> <p>In short, a device is a robot whenever it makes us sit alongside uncomfortable truths concerning ourselves. </p> <p>And my dishwasher does not power me to analyze my own existential purpose. </p> <p>QED. Not a robot.</p> <div id="76" id="1" class="pp-multiple-authors-layout-boxed.multiple-authors-target-the-content" class="pp-multiple-authors-boxes-wrapper pp-multiple-authors-wrapper box-post-id-76 box-instance-id-1"> <p><span> <ul> <li> <div> <p><img alt="Photo of blog author Mikell Taylor, smiling faintly and holding up a cocktail" src="https://robotgirlgang.com/wp-content/uploads/2026/09/IMG_9036-scaled-e1789818516875.jpg" srcset="https://robotgirlgang.com/wp-content/uploads/2026/09/IMG_9036-scaled-e1789818516875.jpg" height="80" width="80"> </p> </div> <div> <p>Mikell is a elephantine robotics nerd who likes to create that everyone&rsquo;s problem. She enjoys holding powerful opinions, being correct concerning things, and arguing passionately concerning low-stakes topics following a brace of bourbons. Outside of robots, she cooks, hyperfixates on dorky tv and movies, and raises two kids who couldn&rsquo;t attention small concerning robots.&nbsp;</p> </div> </li> </ul> </span> </p> </div> </div>]]></content:encoded> <guid isPermaLink="true">https://en.mycoding.id/robot-is-a-social-construct-why-your-dishwasher-is-not-a-robot-72039</guid> <pubDate>Sun, 11 Oct 2026 11:34:43 +0700</pubDate> <author><![CDATA[support@mycoding.id (Adi Gunawan)]]></author> </item> </channel> </rss>