diff --git a/content/src/content/docs/blog/this-week-in-effect/2025/02/28.mdx b/content/src/content/docs/blog/this-week-in-effect/2025/02/28.mdx new file mode 100644 index 000000000..ee0989a9e --- /dev/null +++ b/content/src/content/docs/blog/this-week-in-effect/2025/02/28.mdx @@ -0,0 +1,166 @@ +--- +title: This Week in Effect - 2025-02-28 +excerpt: Dmytro Maretskyi speaking at Effect Days. Technical updates in Effect. +date: 2025-02-28 +authors: + - davide_scognamiglio + - mirela_prifti + - michael_arnaldi +tags: + - This Week In Effect +--- + +import { YouTube } from "@astro-community/astro-embed-youtube" +import Tweet from "astro-tweet" +import TwitchPlayerNonInteractive from "@/components/TwitchPlayerNonInteractive.astro" + +Hi Effecters! + +Welcome back to This Week In Effect (**TWIE**) - your weekly update of the latest developments in the Effect community and ecosystem. + +Effect is a powerful TypeScript library that helps developers create complex, synchronous, and asynchronous programs. One key feature that sets Effect apart is how it leverages structured concurrency to provide features such as async cancellation and safe resource management, making it easier to build robust, scalable, and efficient programs. + +To get started, below you’ll find links to our documentation as well as our guide for installing Effect. Enjoy! + +- [Effect Documentation](/docs/getting-started/introduction/) +- [Installing Effect](/docs/getting-started/installation/) + +Recent major updates: + +- The [Effect Days](https://effect.website/events/effect-days) conference is returning this March 2025! 🎉 +- The [Effect community](https://discord.gg/effect-ts) on Discord reached 3830+ members! +- [Effect 3.13](https://effect.website/blog/releases/effect/313) has been released. + +  +## Technology + +Here are all the technical changes from this week. + +### Effect Core +- [Schema: more precise return types when filters are involved](https://github.com/Effect-TS/effect/pull/4488) (Improvement) +- [Schema: Improve Literal return type — now returns SchemaClass instead of Schema](https://github.com/Effect-TS/effect/pull/4492) (Improvement) +- [Simplify signatures in Array module](https://github.com/Effect-TS/effect/pull/4495) (Optimization) +- [Ensure fibers can't be added to Fiber 'Handle,Set,Map' during closing](https://github.com/Effect-TS/effect/pull/4496) (Bug Fix) +- [Schema: Remove Redundant annotations Typings from Union Interface](https://github.com/Effect-TS/effect/pull/4499) (Optimization) +- [Schema: Add Missing declare API Interface to Expose Type Parameters](https://github.com/Effect-TS/effect/pull/4501) (Bug Fix) +- [Schema: More Accurate Return Types for DataFromSelf and Data](https://github.com/Effect-TS/effect/pull/4502) (Improvement) +- [Schema: Fix Constraint Definitions for DataFromSelf and Data](https://github.com/Effect-TS/effect/pull/4506) (Bug Fix) +- [Schema: More Accurate Return Type for parseJson(schema)](https://github.com/Effect-TS/effect/pull/4507) (Improvement) +- [Schema: More Accurate Return Types for ArrayEnsure and 'NonEmptyArrayEnsure'](https://github.com/Effect-TS/effect/pull/4508) (Improvement) +- [Schema: More Accurate Return Types](https://github.com/Effect-TS/effect/pull/4509) (Improvement) +- [Schema: More Accurate Return Type for compose](https://github.com/Effect-TS/effect/pull/4510) (Improvement) +- [Schema: add missing from property to brand interface](https://github.com/Effect-TS/effect/pull/4514) (Bug Fix) +- [Schema: improve ArrayEnsure and NonEmptyArrayEnsure return types](https://github.com/Effect-TS/effect/pull/4516) (Improvement) +- [Schema: improve type definitions for TaggedClass, TaggedError, and TaggedRequest](https://github.com/Effect-TS/effect/pull/4517) (Improvement) +- [Schema: Use additionalProperties instead of patternProperties for simple records](https://github.com/Effect-TS/effect/pull/4519) (Bug Fix) +- [Schema: fix wrong EitherFromUnion return type](https://github.com/Effect-TS/effect/pull/4520) (Bug Fix) +- [Schema: fix Datetime transformations](https://github.com/Effect-TS/effect/pull/4521) (Bug Fix) +- [Schema: Cleanup as any usage and add Tuple2 API interface](https://github.com/Effect-TS/effect/pull/4523) (Feature) +- [Schema: More Accurate Return Type for parseNumber](https://github.com/Effect-TS/effect/pull/4524) (Improvement) +- [Schema: Export MakeOptions type](https://github.com/Effect-TS/effect/pull/4533) (Bug Fix) +- [Match.tag + Match.withReturnType can use literals without as const](https://github.com/Effect-TS/effect/pull/4530) (Improvement) + +### Effect AI +- [Introduce AiModel and AiModel.Plan](https://github.com/Effect-TS/effect/pull/4504) (Feature) + +### Effect Platform +- [Fix w3c traceparent header parsing](https://github.com/Effect-TS/effect/pull/4525) (Bug Fix) + +### General Chores +- [Chore: simplify test-types script](https://github.com/Effect-TS/effect/pull/4498) +- [Chore: test types against TypeScript’s nightly releases](https://github.com/Effect-TS/effect/pull/4515) +- [chore: notify on failed TypeScript's nightly type test runs](https://github.com/Effect-TS/effect/pull/4528) + + +  +## Community highlights +- [IYK](https://iyk.app) just launched a new project for Disturbed’s 20th-anniversary tour to allow fans attending the show to scan a QR code to “check-in” and purchase merch. The project, powered by Effect on the backend, was led by Stephen Bluck. + + +- Antoine Coulon gave a talk at the **TypeScript Paris** conference about Using Effect to build Production-Ready TypeScript Software. + + +- Dillon Mulroy live-streamed an episode of his series **Building a budget syncing app for Splitwise and YNAB with AI and EffectTS 🚀** and four episodes of his new series **Freelance project with TypeScript, Svelte 5, and EffectTS 🚀** on his Twitch channel. + + +  +## Effect Days 2025 +The Effect Days conference is happening on March 19-21, 2025, and it’s the perfect chance to connect with the Effect community and celebrate the Effect ecosystem in person! [Get your ticket! 🎟️](https://effect.website/events/effect-days) + + +Workshop tickets are officially sold out, but a few spots remain for the main conference! + + +We're excited to announce the main sponsor of this year's conference: Effectful Technologies. founded by the creators of Effect! + + +This week, we announced [Dmytro Maretskyi](https://github.com/dmaretskyi) as a conference speaker. Dmytro is an Architect at [DXOS](https://www.dxos.org/) and will show how to rethink the way applications handle state & data consistency by combining DXOS's local-first infrastructure with the power of Effect and AI-driven automation. + + +Shout out to our conference sponsors, [Inato](https://inato.com/), [Evryg](https://www.evryg.com/), and [Effectful](https://effectful.co/). + +Inato is a global clinical trial marketplace that brings research to patients where they live. The Inato team is a long-time supporter of Effect and actively advocates for it within the developer community. + + +Evryg is a Paris-based software consulting firm specializing in Effect. The Evryg team leverages deep expertise in Effect to deliver innovative software solutions for clients. + + +  +## Effect content update + +The fourteenth episode of **Re-building Contentlayer with Effect** has been published on the Effect YouTube Channel. + + + +  +## Cause & Effect Podcast +Don't forget to listen to our **Cause & Effect** podcast hosted by Johannes Schickling, and available on [Youtube](https://www.youtube.com/@effect-ts), [X(Twitter)](https://x.com/EffectTS_/status/1861446144137531585), and audio platforms like [Spotify](https://open.spotify.com/episode/7Bkn7A8EXnoqWWmI0czAdz) and [Apple Podcast](https://podcasts.apple.com/us/podcast/cause-effect/id1781879869). This podcast highlights stories from software engineers and companies using Effect in production. Each episode explores their journey of adopting Effect, the learning process, the challenges faced, and the benefits of integrating Effect into their tech stack. + +In our first episode, we were joined by [Attila Večerek](https://x.com/attilavecerek), Tech Lead & Staff Engineer, who discussed how [Zendesk](https://www.zendesk.com) incrementally adopted Effect in a polyglot environment with a large codebase. Give it a listen and let us know what you think on our social media or [Discord](https://discord.gg/effect-ts)! + + + +  +## Effect Merch Store +In December 2024, we unveiled the [Effect Merch Store](https://effect.website/merch), with a selection of Effect-branded items designed for the community. All orders are processed through [Printful](https://www.printful.com/). + + + +  +## Effect job opportunities + +More and more companies are adopting Effect in their projects — here’s a list of companies looking for software engineers with Effect experience: + +- **Superwall**: [Full-stack TS developer](https://twitter.com/jakemor/status/1854248980454228411) with backend & infrastructure experience. + +- **Expand.ai**: [Founding Engineer](https://www.expand.ai/careers/founding-engineer) + +- **Platonic Systems**: [Remote Effect Engineers](https://twitter.com/platonicsystems/status/1861470819861311945) + +- **Inato**: [Senior Product Engineer](https://jobs.lever.co/inato/2bbbe759-d4ce-4cc4-8267-8bc998189469) + +- **Medbill.ai**: [Founding Software Engineers (full-stack and backend)](https://www.linkedin.com/posts/codingtom_medbill-ai-activity-7260092522708762624-N7TH) + +- **Oneiro Solutions**: Software Engineer - Core Team. [Join our Discord](https://discord.com/channels/795981131316985866/796153351372275743) and DM **leighman** for further info. + +- **Microsub**: [TS Developer](https://x.com/0xdownshift/status/1880013835878154510) + +- **Samsung Food**: [Full Stack Developer](https://whisk.bamboohr.com/careers/110) + +- Stealth team looking for an Engineer with experience in Effect. The job posting is available in the `#job-board` channel on [our Discord](https://discord.com/channels/795981131316985866/796153351372275743/1333146824852115518). + +*Disclaimer: Please note that these job postings are shared for informational purposes, and we encourage applicants to verify details directly with the hiring companies.* + + +  +## Closing notes + +That's all for this week. Thank you for being a vital part of our community. Your feedback is highly valued as we fine-tune this format. Feel free to share your thoughts, and we'll do our best to tailor it to the needs of our community. + +_Effect Community Team_