Articles/lisp
- Asynchronicity and the Tartarus of Node.js
This article explains why we created our own library to overcome the challenges of programming with synchronous sockets in cl-electron.
2024-07-16
- Publish A Nyxt Extension To Earn A Fine Prize
Publish a Nyxt extension to contribute to Nyxt's extension ecosystem and earn $100 for each accepted extension. The platform encourages collaboration between extension seekers and publishers, providing a marketplace for sharing useful configurations. Join as a developer to participate and share your extensions.
2023-12-12, updated 2024-03-12
- How We Document Our Lisp Software
This article discusses best practices for documenting Lisp software, emphasizing good naming conventions, interlinked documentation, examples, and thoroughness. Benefits for users include easier understanding of code, better maintainability, and enhanced readability.
2023-10-02, updated 2024-03-12
- NJSON—One JSON Library to Rule Them All
NJSON is a powerful JSON handling library for Lisp that simplifies exploring and working with complex JSON data. It offers features like interactive data exploration, validation, destructuring, and error handling. By using NJSON, users can efficiently navigate through large JSON objects, extract specific data, and easily handle different JSON structures. It provides macros like =jget= for exploration and =jbind= for destructuring, making JSON interactions more intuitive and error-resistant. NJSON is a valuable tool for users dealing with extensive JSON datasets, providing a smoother and more efficient JSON API interaction experience.
2023-09-16, updated 2024-03-12
- Why not Elisp to build Nyxt?
This article explains why Nyxt uses Common Lisp over Elisp, highlighting benefits such as better performance, more robust implementations, improved CFFI, concurrency support, and package management. Choosing Common Lisp allows for greater flexibility and efficiency in handling complex computational tasks like those required in the Nyxt browser.
2023-08-21, updated 2024-03-12
- Why Lisp?
This article explains why we use Common Lisp as our primary development language. It explores benefits such as future-proofing, longevity, and interactivity via the REPL. It emphasizes Lisp's adaptability over time, ease of development, and compatibility with older code. Consider exploring Common Lisp for its unique advantages in programming.
2023-05-06, updated 2024-03-12
- The risk of SaaS
The article highlights the risks of relying on SaaS and proprietary products, emphasizing the importance of independence and control. By using free, open-source dependencies and a customizable language like Common Lisp, users can avoid licensing issues, fix bugs, and add features themselves. Independence leads to resilience, decentralization, privacy, and security, ultimately giving users more control.
2023-05-06, updated 2024-03-12
- The false language dichotomy
This article challenges the classification of programming languages, citing the benefits of embracing diverse language features and capabilities. It explores how Lisp, often perceived as a scripting language, can also function as a system language, offering flexibility for complex projects like operating systems.
2022-08-09, updated 2024-03-12
- How to design powerful DSLs for users
Learn how to design and implement domain-specific languages (DSLs) to replace databases, CSVs, and configuration files in your applications. Discover how DSLs can enhance user experience and empower users through the example of DSLs developed for the Nyxt browser. Watch the video presentation for practical insights and inspiration.
2022-06-26, updated 2024-03-12
- Why should I care about Gopher?
Discover the unique treasure trove of quality, engaging content on the Gopher web, free from the noise of mainstream platforms. By requiring commitment to publish, Gopher acts as a filter, ensuring meaningful contributions. Embrace this hidden gem accessed through Nyxt for a refreshing online experience.
2022-04-15, updated 2024-03-12
- Why isn't Nyxt just an Emacs extension?
Nyxt is not just another Emacs extension, but a standalone application with a big dream. By starting fresh, Nyxt offers a more modern, user-friendly, and visually appealing web browsing experience. It avoids the steep learning curve of Emacs, providing a separate environment that can be shaped into whatever users desire. Enjoy Nyxt for a refreshing browsing experience beyond the confines of traditional Emacs.
2021-12-07, updated 2024-03-12
- How can I make Emacs my web browser?
Nyxt presents an Emacs-like web browsing experience, offering extensibility, freedom in customization, and a keyboard-driven interface. Users will benefit from the powerful tools for tinkering and exploration, along with the dynamic self-documentation and live hackability features that make Nyxt and Emacs unique choices for technically inclined individuals. Transitioning from Vim to Nyxt or utilizing Evil-mode in Emacs allows for a seamless experience.
2021-11-16, updated 2024-03-12
- Getting Started on Nyxt Hacking: Episode 1
This article series explores Nyxt hacking for beginners, offering step-by-step tutorials to tweak and customize Nyxt for a unique browsing experience. Users learn to create commands to enhance functionalities like changing YouTube video playback speeds beyond the default limits. By following these tutorials, users can extend Nyxt's capabilities, improve their browsing experience, and gain valuable hacking skills.
2021-10-07, updated 2024-03-12
- Writing Nyxt Extensions: Example of nx-search-engines
This article provides a step-by-step guide on writing extensions for the Nyxt browser in Common Lisp. By following the guide, users can automate package creation, leverage Nyxt APIs, make extensions customizable, and share their creations. This process offers users the opportunity to enhance their browsing experience, contribute to the Nyxt community, and expand their programming skills.
2021-03-26, updated 2024-03-12
- Continuous testing and packaging in Common Lisp
This article explores continuous testing and packaging in Common Lisp, emphasizing benefits for users like preventing errors, automating release processes, enforcing code quality, and easing distribution packaging. It discusses leveraging tools like GitHub Actions, SBCL and CCL compilers, Roswell, automation scripts, and the linux-packaging library.
2020-11-16, updated 2024-03-12
- Typed, customizable hooks
This article introduces typed, customizable hooks in Nyxt, offering benefits such as enhanced power, reliability, and ease of use for users. These hooks support disabling and enabling handlers, handler combinations, and typed hooks to prevent errors. Additionally, global and object-bound hooks are supported.
2020-10-14, updated 2024-03-12
- Class-based, functional configuration
Nyxt allows users to customize the browser using a class-based, functional configuration. By leveraging Common Lisp and a functional paradigm, users can easily modify and revert settings, compose options, and create personalized classes without affecting global state.
2020-09-30, updated 2024-03-12
- Emacs Hacks
Use Nyxt with Emacs to improve efficiency and functionality. Interact with Nyxt and other programs using Common Lisp power. Enhance tasks like downloading with Youtube-dl and note-taking with Org-mode. Custom scripts and extensions empower seamless integration and control. Embrace the power of Emacs hacks for a productive workflow.
2018-12-16, updated 2024-03-12
- Command Line Programs
Nyxt allows users to run command line programs. Users can automate tasks, such as downloading videos, by binding shell commands to keybindings. Additionally, Nyxt offers a "shell" mode for executing simple one-liner commands. By leveraging Nyxt's extensibility, users can customize workflows and interact with any type of program through IPC.
2018-10-19, updated 2024-03-12