Drop #430 (2024-03-01): Just Another Drop

Zed; JSR; Bunscape

The dark forces of anti-time were absolutely against me this week. Thus, today’s Drop is “just another regular Drop” vs. a Weekend Project Editon. But, I’m sure there will be at least one neat thing to pore over this weekend for all.

But, if you’re really looking for something to do, perhaps drop a reply to this edition, or via 🐘/🦋/📫 with some WPE topics you would like to see covered. I’m hesitant to double down on any singular piece of tech without some foreknowledge of what might be interesting to a majority of folks.

TL;DR

(This is an AI-generated summary of today’s Drop)

  • The Zed editor, a Rust-based IDE, emphasizes performance, collaboration, customizability, and speed, aiming to redefine developer expectations from their coding environment. It’s now open-source and initially macOS-only, with plans for broader support. Zed’s architecture allows for handling complex projects efficiently, and it offers features like real-time collaboration through Zed Channels and extensive customizability by the community source.
  • Deno’s new JSR open-source package registry offers a modern, efficient alternative to npm, focusing on ECMAScript Modules (ESM) and TypeScript support. It’s designed for use across various JavaScript environments, including Node, Bun, and Cloudflare Workers, simplifying dependency management and module publishing source.
  • Bunscape introduces an innovative approach to web browsing and data storage by utilizing DNS records for serving web pages, potentially enhancing privacy, security, and decentralization. This suite of tools includes a browser for DNS-served pages, challenging conventional web infrastructure assumptions source.

Zed

The Zed editor (GH) has been built from the ground up with performance, collaboration, customizability, and speed in mind. This Rust-based nascent-IDE is not just another entry in the overcrowded space of development tools. The authors mean to redefine what developers can expect from their coding environment. I’ve been hesitant to include it in a full Drop since it has not, until recently, been an open-source application. It’s also still macOS-only when it comes to binary download availability. There is support for building on linux, and I think we’ll see support for others added quickly, since the team has made a real commitment to ensuring Zed will follow along a path of community-driven development and innovation.

Zed’s performance is a headline feature, thanks to its Rust foundation. If you’ve been using Visual Studio Code for a while, you’re going to be amazed at how fast Zed is. This performance advantage is not just theoretical; it translates into a smoother, more responsive experience for folks working on everything from small scripts to massive codebases. The editor’s architecture ensures that it can handle complex projects with ease, making it an attractive option for developers looking for speed without compromise.

Collaboration is another focus area for Zed’s. They have something called Zed Channels, the editor breaks down physical barriers, letting folks work together in real-time, no matter their location on the globe (it likely works from 🛰️ space, too). This feature helps facilitate pair programming, debugging sessions, and even fostering a sense of community and shared purpose among the folks using the app and working on a project.

Customizability and extensibility are also tier one features of Zed. The new, open-source nature of the project means that folks will not just be consumers of the editor; they are potential contributors who can shape its future. Whether it’s adding support for a new programming language, tweaking the UI, or introducing a novel feature, the community will have the power to make Zed their own.

The decision to open source Zed is a pretty bold statement of intent. It signals the Zed team recognizes that the best way to achieve the goal of building the world’s most advanced code editor is through openness, collaboration, and community engagement. This move is not just about making Zed better; it’s about challenging the status quo and offering a credible alternative to, let’s just say it, Visual Studio Code’s dominance. By rallying a community of developers around a shared vision, Zed aims to leverage collective intelligence and creativity to build something truly exceptional.

The section header is a view of me writing this edition with Zed, and it has many of the features we all likely rely on when using VS Code or something similar. It’s far from feature complete, and there are some very rough edges, still. But, it’s a project to keep an eye on, and if you’re a budding Rust developer, it’s a great way to get involved in a project that has a lot of potential.

JSR

Deno’s new JSR open-source package registry is a unique take on the JavaScript module ecosystem. It’s designed to be a modern, more efficient alternative to npm, focusing on embracing ECMAScript Modules (ESM) as the standard and providing first-class support for TypeScript. JSR is optimized for TypeScript and supports ES modules exclusively, which means it’s fully geared for modern web development.

The cool part about JSR is that it’s not just for Deno. It works with npm-based projects too, including Node, Bun, and Cloudflare Workers. This means that anyone can use JSR to manage dependencies across a variety of JavaScript environments, making it a versatile tool in your arsenal. The registry is free, open-source, and designed to be simple and fast, providing an excellent developer experience.

JSR’s also lets us publish TypeScript modules directly, handling API documentation generation, type declarations, and transpilation on the backend. This frees folks from the complexities of setting up build and transpilation steps for their packages, letting us focus on writing code.

I’ve noted before that I’m not the biggest fan of TypeScript, preferring JSDoc over it. But TypeScript isn’t too difficult to work with, and it’s all over ObersvableHQ-land and is foundational in WebR-land. So, I may just need to bite the bullet.

However, Deno’s decision to support npm packages and Node.js compatibility has raised questions about its commitment to its original mission. Deno was initially conceived as a more secure, simpler alternative to Node.js, without the baggage of the older system. By introducing npm support, Deno has made pragmatic concessions to ensure wider adoption and ease the transition for developers coming from the Node.js ecosystem. While some may see this as a departure from Deno’s original goals, it can also be viewed as a strategic move to unify the JavaScript community and provide a bridge between the old and the new.

JSR may just be a way out “legacy” for the Deno team. If there is serious adoption of this new repository, it could be a way to wean folks off of npm and onto a more modern, secure, and efficient package management system. It’s definitely an interesting move, and it will be cool to see how it plays out in the long run.

Bunscape

Bunscape an odd suite of tools that’s should make one take a step back and ponder the assumptions we make about web browsing and data storage. At its core, Bunscape is designed to store and retrieve binary data in DNS records. But that’s not all—it also includes a browser that can surf pages served over DNS instead of the traditional HTTP protocol. Yes, it truly, always is DNS.

With Bunscape, you’re — essentially — accessing web content without relying on the conventional web infrastructure. By using DNS records to serve pages, Bunscape opens up a bonkers number of possibilities for web hosting and content distribution. This could be particularly useful in scenarios where HTTP access is restricted or when looking to increase privacy and security.

Think about it. This could potentially reduce reliance on centralized web servers, mitigate some forms of censorship, and even offer a way to host content in a more resilient manner! It’s either a big step towards a more decentralized web, where content can be served and accessed in novel ways; or, just a crazy idea by a madman.

The repository provides all the necessary tools and documentation to get y’all up and running, and this little diversion is a great way to learn about DNS and its capabilities beyond domain name resolution.

FIN

Remember, you can follow and interact with the full text of The Daily Drop’s free posts on Mastodon via @dailydrop.hrbrmstr.dev@dailydrop.hrbrmstr.dev ☮️

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.