The latest JavaScript updates, CSS tricks, and a developer's 18-month journey with Rust.
â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â [SitePoint logo](~/AAAHUQA~/RgRoZUa0P0UgYWNjZWRmMTIzNGVjMTNkMTE3OGFmYmYzYjk4MzJjNjNEFGh0dHBzOi8vc2l0ZXBvbnQuY29tVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) June 24, 2024 | [Read Online](~/AAAHUQA~/RgRoZUa0P0TbaHR0cHM6Ly9iZXJyaW1hLmVvY2FtcGFpZ24xLmNvbS93ZWItdmVyc2lvbj9lcD0yJmxjPTg3MDdlZTg2LTUyZjAtMTFlZS1hZjUyLTRiNTM4MmJhM2I5NCZwPTlkYjJkN2E0LTM0YzctMTFlZi05MzU3LTFmN2Q4ZTdiMDJiMSZwdD1jYW1wYWlnbiZ0PTE3MTk4NDUzMDAmcz03Zjc3YThjYzU4YTYwMzZkMTA0ODQ2ZjM2NDgxOTE4NTExN2M4NDU4MTZmYzFhMDBhNTVkN2M3MTJhMGI5NjRiVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) SitePoint Source Welcome, Developers! ð Today, we check out the exciting new JavaScript set methods now available across major browsers, explore current methods for CSS conditionals, and reveal why MobX might be your new best friend in React development. Plus, a reminder of the pitfalls of blind trust in programming and a hot take (or rant?) about the challenges of migrating to Rust. â Let's dive in. From our Sponsor: Buildkits
~/AAAHUQA~/RgRoZUa0P0UgMDUxNTQ1Njg3MzkxNjU1OTlkYmYzNTM1ODNhNmU3ZDREGmh0dHBzOi8vd3d3LmJ1aWxka2l0cy5kZXYvVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd ~/AAAHUQA~/RgRoZUa0P0UgMjc2YzExZmUwZTNiOWUxN2FkYjAyYjVjMzc2YjQ3MmNEmGh0dHBzOi8vbWwuc2l0ZXBvaW50LmNvbS9saW5rL2MvWVQweU16RXhOemMyTmprMk5UZzFOREkyT1RrMkptTTlhVEp5TUNabFBUQW1ZajB4TWpFeE5qUXdOVGs1Sm1ROVpqWnJOM1V6YWc9PS5RcndWOWk0QWI0a0RRVndLRnU4Sk1QUnFQVUNPZk50blNGREwtMXBNQU1vVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQdð The ultimate marketplace for SaaS boilerplates
Boilerplates help you ship faster and smarter, so you can focus on what truly matters â building great products. Our marketplace features over 150 boilerplates across diverse stacks, including Next.js, Laravel, Django, and more. Say goodbye to starting from scratch, and find your ideal boilerplate here. [Get started now](~/AAAHUQA~/RgRoZUa0P0UgMDUxNTQ1Njg3MzkxNjU1OTlkYmYzNTM1ODNhNmU3ZDREGmh0dHBzOi8vd3d3LmJ1aWxka2l0cy5kZXYvVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) ð ï¸New JavaScript Set Methods JavaScript developers, rejoice! The latest browser updates bring seven new Set methods, now available across major engines without polyfills. Learn how these methods can simplify your data handling and improve your JavaScript projects.
P.S. The newly released [Typescript 5.5](~/AAAHUQA~/RgRoZUa0P0UgNjE5ZjFlODBiNjE1ZTZlNjllYjczMTBjYjljZjA5YmJEYmh0dHBzOi8vd3d3LmluZm93b3JsZC5jb20vYXJ0aWNsZS8zNzE1MjQ2L3R5cGVzY3JpcHQtYWRkcy1zdXBwb3J0LWZvci1lY21hc2NyaXB0cy1zZXQtbWV0aG9kcy5odG1sVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) includes support for these set methods. [By Brian Smith â](~/AAAHUQA~/RgRoZUa0P0UgNzYzM2ZkNWQ1NmY0ZGUxMmRmZGYwYTY2MjJjMDc5YmVEQGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2Jsb2cvamF2YXNjcmlwdC1zZXQtbWV0aG9kcy9XBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~) ð§ CSS Conditionals: Clever Hacks While Waiting for if() The CSS Working Group recently resolved to [add an if() function to CSS](~/AAAHUQA~/RgRoZUa0P0UgODgxMjcwYTRjYmMwOTQzMzU1OWQ2OTgzOWViODJjNzNEMGh0dHBzOi8vbGVhLnZlcm91Lm1lL2Jsb2cvMjAyNC9jc3MtY29uZGl0aW9uYWxzL1cFc3BjZXVCCmZ0tMGCZnVeNCVSG3RyaXN0cmFtYmFsZHdpbjkxQGdtYWlsLmNvbVgEAABkHQ~~), but its implementation will take some time. So, what can developers do in the meantime? Lea Verou explores various clever methods to achieve conditional logic in CSS today, albeit with some caveats that showcase the necessity of the if() function. [By Lea Verou â](~/AAAHUQA~/RgRoZUa0P0UgMDQzYmI0ZmM4NzMyYmQzMDQwODhjZGEwZTZkNzc3ZWZENGh0dHBzOi8vbGVhLnZlcm91Lm1lL2Jsb2cvMjAyNC9jc3MtY29uZGl0aW9uYWxzLW5vdy9XBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~) ð§ MobX Memoizes Components (You Don't Need React Compiler) If you're using MobX with React, you might be tempted to use the React Compiler for auto-memoizing components. But with MobX, you don't need it! MobX efficiently manages state and re-renders, often using less memory and working more effectively across multiple components. [By Mike Johnson â](~/AAAHUQA~/RgRoZUa0P0UgMzI1YjZlYzgyM2JiMDE0YWQ2NGEwMjg5MTNiYTNhZmJEPWh0dHBzOi8vd3d3Lm1pa2Vqb2huc29uLmRldi9wb3N0cy8yMDI0LzA2L21vYngtcmVhY3QtY29tcGlsZXJXBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~) ð« Programmers Should Never Trust Anyone, Not Even Themselves Faith in your work is essential, but blind trust and assumptions can lead to a house of cards. Sung Kim also argues that while abstractions are essential for efficient thinking, they can create a false sense of understanding. Programmers should strive for healthy skepticism with the principle of 'trust, but verify.' [By Sung Kim â](~/AAAHUQA~/RgRoZUa0P0UgM2JmMTdjODczMjMyY2QyZGNmODBkYjRmZWFlNzY3NWZESWh0dHBzOi8vY2FyYm9uLXN0ZWVsLmdpdGh1Yi5pby9qZWt5bGwvdXBkYXRlLzIwMjQvMDYvMTkvYWJzdHJhY3Rpb25zLmh0bWxXBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~) ð« I spent 18 months rebuilding my algorithmic trading platform in Rust. Iâm filled with regret. Rust, praised for its speed and safety, seemed like the perfect language for Austin's project, but his excitement quickly turned into frustration. He details struggles with Rust's verbose syntax, cryptic error messages, and a community he found less welcoming than advertised.ð¿ And here's a juicy [reddit thread](~/AAAHUQA~/RgRoZUa0P0UgMTQ4NTM4NjA1YmE3YWJiODM0NWQ5YTM3OGIwZDhlYTZEYmh0dHBzOi8vd3d3LnJlZGRpdC5jb20vci9wcm9ncmFtbWluZy9jb21tZW50cy8xZHFhMmRtL2lfc3BlbnRfMThfbW9udGhzX3JlYnVpbGRpbmdfbXlfYWxnb3JpdGhtaWMvVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) about the article. [By Austin Starks â](~/AAAHUQA~/RgRoZUa0P0UgYmQ2ZjdjMjQwMTkyZGJhMWUyNzhkZDA5OTI3MjllYWVEgGh0dHBzOi8vbWVkaXVtLmNvbS9AYXVzdGluLXN0YXJrcy9pLXNwZW50LTE4LW1vbnRocy1yZWJ1aWxkaW5nLW15LWFsZ29yaXRobWljLXRyYWRpbmctaW4tcnVzdC1pbS1maWxsZWQtd2l0aC1yZWdyZXQtZDMwMGRjYzE0N2UwVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) ð§° The Toolbox Tools and products we're excited about today: ApyHub Fusion Build, test, document, and collaborate on your APIs in real-time with Fusion. Say goodbye to bottlenecks and hello to seamless API management. [Learn more â](~/AAAHUQA~/RgRoZUa0P0UgZWI0ZWU0MWVhMTY0ZDZlYzJkZjY5NzJmM2ExY2M1NTlEL2h0dHBzOi8vd3d3LnByb2R1Y3RodW50LmNvbS9wb3N0cy9hcHlodWItZnVzaW9uVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) Flox Quickly create reproducible, cross-platform development environments from 100k+ software packages with Flox. No containers needed! Enjoy transparent access to all system resources using a simple declarative framework. [Learn more â](~/AAAHUQA~/RgRoZUa0P0UgNzFiNTlhNzdmMzZjM2E4ZjNmZTFjN2NhYTZmNTIxNzFEKGh0dHBzOi8vd3d3LnByb2R1Y3RodW50LmNvbS9wb3N0cy9mbG94LTJXBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~) Sherloq Collaborative AI repository for SQL users. Manage, save, and share your SQL code seamlessly within your IDE. Focus on data analysis and insights with ease, without the hassle of hunting for queries. [Learn more â](~/AAAHUQA~/RgRoZUa0P0UgNjdjYjc1NDQxZDRiZjIyYzMwN2EyNmZmN2Y2YTAyMzVEKWh0dHBzOi8vd3d3LnByb2R1Y3RodW50LmNvbS9wb3N0cy9zaGVybG9xVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) ~/AAAHUQA~/RgRoZUa0P0UgMjc2YzExZmUwZTNiOWUxN2FkYjAyYjVjMzc2YjQ3MmNEmGh0dHBzOi8vbWwuc2l0ZXBvaW50LmNvbS9saW5rL2MvWVQweU16RXhOemMyTmprMk5UZzFOREkyT1RrMkptTTlhVEp5TUNabFBUQW1ZajB4TWpFeE5qUXdOVGs1Sm1ROVpqWnJOM1V6YWc9PS5RcndWOWk0QWI0a0RRVndLRnU4Sk1QUnFQVUNPZk50blNGREwtMXBNQU1vVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd~/AAAHUQA~/RgRoZUa0P0UgMjc2YzExZmUwZTNiOWUxN2FkYjAyYjVjMzc2YjQ3MmNEmGh0dHBzOi8vbWwuc2l0ZXBvaW50LmNvbS9saW5rL2MvWVQweU16RXhOemMyTmprMk5UZzFOREkyT1RrMkptTTlhVEp5TUNabFBUQW1ZajB4TWpFeE5qUXdOVGs1Sm1ROVpqWnJOM1V6YWc9PS5RcndWOWk0QWI0a0RRVndLRnU4Sk1QUnFQVUNPZk50blNGREwtMXBNQU1vVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQdð The ultimate marketplace for SaaS boilerplates Boilerplates help you ship faster and smarter, so you can focus on what truly matters â building great products. Our marketplace features over 150 boilerplates across diverse stack, including Next.js, Laravel, Django, and more. Say goodbye to starting from scratch, and find your ideal boilerplate here. [Get started now â](~/AAAHUQA~/RgRoZUa0P0UgMDUxNTQ1Njg3MzkxNjU1OTlkYmYzNTM1ODNhNmU3ZDREGmh0dHBzOi8vd3d3LmJ1aWxka2l0cy5kZXYvVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) Come say hi! SitePointâs community is a place where you can come to talk tech, development, and design. Join us today and get involved with other members who share your interests in tech! [Join now â](~/AAAHUQA~/RgRoZUa0P0UgMDk5Y2ViNDEzMjE3ZjE2ZGRiNDgyZTJkMTlkMGZjNzhEJGh0dHBzOi8vd3d3LnNpdGVwb2ludC5jb20vY29tbXVuaXR5L1cFc3BjZXVCCmZ0tMGCZnVeNCVSG3RyaXN0cmFtYmFsZHdpbjkxQGdtYWlsLmNvbVgEAABkHQ~~) That's a wrap for today! Let us know how you felt about today's newsletter. ~/AAAHUQA~/RgRoZUa0P0UgN2FiMGY2MzhmMjI5ZDEwNmI2ZjE4NDQ4MjY1MmVkYTVEWWh0dHBzOi8vZm9ybS50eXBlZm9ybS5jb20vdG8vdTVEQ3B0QkcjYW5zd2Vycy1ob3dfZGlkX3lvdV9mZWVsPTAxSFdUSE40WUtXVzVGQkhOQ0NDVllDSFYxVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd
~/AAAHUQA~/RgRoZUa0P0UgNWExMzVmNzEwYjNhMjA1MDhhZTJiNjkyNTA4MWJmNThEWWh0dHBzOi8vZm9ybS50eXBlZm9ybS5jb20vdG8vdTVEQ3B0QkcjYW5zd2Vycy1ob3dfZGlkX3lvdV9mZWVsPTAxSFdUSE40WUtQSkE4Uk44QUJZV1QzNkNXVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd
~/AAAHUQA~/RgRoZUa0P0UgNDAyMzRjYjRlNmU0NTJlYTEwOGVlZTliNjliMDBmNTdEY2h0dHBzOi8vZm9ybS50eXBlZm9ybS5jb20vdG8vdTVEQ3B0QkcjYW5zd2Vycy1ob3dfZGlkX3lvdV9mZWVsPTEzNjg3YjBhLTMwZmQtNDQxNC1iZDFlLTRkNjQ1ZGIzYTkwMVcFc3BjZXVCCmZ0tMGCZnVeNCVSG3RyaXN0cmFtYmFsZHdpbjkxQGdtYWlsLmNvbVgEAABkHQ~~ What do you want to see more of? ~/AAAHUQA~/RgRoZUa0P0UgNjhjNjE0MTdiYzYzYzQ1OWJhNmY1ZTkyOGE4MGNkNTREXmh0dHBzOi8vZm9ybS50eXBlZm9ybS5jb20vdG8vdTVEQ3B0QkcjYW5zd2Vycy1zZWVfbW9yZV9vZj0wMjQ1MWQ0ZC05Y2NhLTQzNmMtYmFhOS0zYzAzNmM4ODZhMGRXBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~
~/AAAHUQA~/RgRoZUa0P0UgYWNmMDZjMTUyODhjNzg1YjlkNDNjMjAxZjg2ZDg5YWFEXmh0dHBzOi8vZm9ybS50eXBlZm9ybS5jb20vdG8vdTVEQ3B0QkcjYW5zd2Vycy1zZWVfbW9yZV9vZj1iZGYzZDg5ZS0xYmU1LTRjNTctYjhmNy1iNzljM2RiYjkyMmVXBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~
~/AAAHUQA~/RgRoZUa0P0UgNWQ0ZDhkZGEyNGZjYjkzMThkYjcwNjFiY2U5ZDVkNjdEXmh0dHBzOi8vZm9ybS50eXBlZm9ybS5jb20vdG8vdTVEQ3B0QkcjYW5zd2Vycy1zZWVfbW9yZV9vZj00ZGYzYzQwZC1lMzhhLTQ0OWYtOGJmMi1kYWEwMDI1YTFkMWVXBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~
~/AAAHUQA~/RgRoZUa0P0UgNzQ2ZDlhZTA4ZWVjM2Q2ZmM2MTlmZGRiZGU5NWIzZjNEXmh0dHBzOi8vZm9ybS50eXBlZm9ybS5jb20vdG8vdTVEQ3B0QkcjYW5zd2Vycy1zZWVfbW9yZV9vZj1hYTAzMzMxNi0zM2I4LTQzOWEtYTMwZi1hOTI1MGU0YjJhYjNXBXNwY2V1QgpmdLTBgmZ1XjQlUht0cmlzdHJhbWJhbGR3aW45MUBnbWFpbC5jb21YBAAAZB0~ 71 Balmain Street
Cremorne
Vic
3121
Australia Your received this email because you signed up on our website or made purchase from us. [facebook social link](~/AAAHUQA~/RgRoZUa0P0UgNzFkNDYyNTdhOTZmY2FlNzQzNzUyYmQwZGZmMWFmYzREI2h0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaXRlcG9pbnQvVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd) [x social link](~/AAAHUQA~/RgRoZUa0P0UgMGUwYzdmZTc0NjFjNjAzNjk3MjhiYTVkMGJhNThmNWZEJGh0dHBzOi8vdHdpdHRlci5jb20vc2l0ZXBvaW50ZG90Y29tL1cFc3BjZXVCCmZ0tMGCZnVeNCVSG3RyaXN0cmFtYmFsZHdpbjkxQGdtYWlsLmNvbVgEAABkHQ~~) [linkedin social link](~/AAAHUQA~/RgRoZUa0P0UgYmIzOWEyZTBkMWZlOWY2OTMyMGNkMDA5ZjdkNWE0MTNEJ2h0dHBzOi8vbGlua2VkaW4uY29tL2NvbXBhbnkvc2l0ZXBvaW50L1cFc3BjZXVCCmZ0tMGCZnVeNCVSG3RyaXN0cmFtYmFsZHdpbjkxQGdtYWlsLmNvbVgEAABkHQ~~) [Unsubscribe from this list](~/AAAHUQA~/RgRoZUa0P4QWAWh0dHBzOi8vYmVycmltYS5lb2NhbXBhaWduMS5jb20vdW5zdWJzY3JpYmU_ZXA9MiZsPWNhYTY1ODU4LTRhYzYtMTFlZS04MDE2LTRkY2U5YmEwOGU2ZCZsYz04NzA3ZWU4Ni01MmYwLTExZWUtYWY1Mi00YjUzODJiYTNiOTQmcD05ZGIyZDdhNC0zNGM3LTExZWYtOTM1Ny0xZjdkOGU3YjAyYjEmcHQ9Y2FtcGFpZ24mcHY9NCZzcGE9MTcxOTg0MjUzOCZ0PTE3MTk4NDUzMDAmcz04NjU3MTJmNjQ3MmZmOTU2ODNjNmRiMjlmMTk5ZjcxZjQ1ODA5YzQ5NmZhNzc0ZDM5NGY0NzQ0M2Y1ZWI0MGFmVwVzcGNldUIKZnS0wYJmdV40JVIbdHJpc3RyYW1iYWxkd2luOTFAZ21haWwuY29tWAQAAGQd)