1. Why I Chose Common Lisp

Total comment counts : 30

Summary

The article details the author’s journey from Clojure to Common Lisp. Here are the key points:

  • Discontent with Clojure: The author was frustrated with Clojure’s slow startup times for CLI applications, and despite attempts to use native-image for faster execution, he was unsuccessful.

  • Search for a New Lisp: After deciding Clojure was no longer suitable for his needs, the author explored other Lisp dialects:

    • Scheme: Dismissed due to a fragmented community and insufficient ecosystem.
    • Racket: Previously used in school but found it too slow and bloated.
    • Janet: Considered appealing due to its syntax, fast executables, and C FFI, but the author had already started learning Common Lisp.
  • Common Lisp:

    • Learning Experience: Initially challenging, especially with resources like CLtL2 and the HyperSpec. The author appreciated the standardization of Common Lisp, akin to C, with multiple implementations.
    • Advantages: The author values Common Lisp for its Object System (CLOS) and Conditions System, which he found enriching.
  • Conclusion: The author has settled on Common Lisp for his programming needs, finding it robust and suitable for his requirements. He shares his experience to help newcomers to Common Lisp, detailing his acclimation process and the language’s benefits.

Top 1 Comment Summary

The article discusses the author’s experience using Steel Bank Common Lisp (SBCL), highlighting its dynamic capabilities. Here’s a summary:

  • The author worked on a project using SBCL, built a native binary, and delivered it to a client.
  • After some time, when the source code was lost, the client returned with new requirements.
  • Using just the old binary, the author was able to:
    • Launch a REPL (Read-Eval-Print Loop) from the binary.
    • Navigate to the necessary package within the SBCL environment.
    • Write and implement a new function to address the client’s new needs directly in the running system.

The author was impressed by how SBCL allowed for such flexibility and ease in modifying and extending a system without access to the original source code, a task they felt would be much more challenging with other technology stacks.

Top 2 Comment Summary

The article discusses the contrasting experiences of two individuals with Lisp dialects. One person transitioned from Common Lisp to Clojure, appreciating Clojure’s concurrency features, and finds the idea of moving back to Common Lisp intriguing. Conversely, another user expresses satisfaction with Clojure’s scripting tool, babashka, for its efficiency in quick scripting tasks, questioning what issues the author of the original statement might have encountered with babashka.

2. Kenney.nl: Free Game Assets

Total comment counts : 20

Summary

The article discusses the benefits of joining the Kenney Club, which includes:

  • Support for Game Asset Creation: By becoming a member, you support the development of new game assets.
  • Exclusive Access: Members get early access to new creations, special goodies, and entry to an exclusive club channel.
  • Learning Resources: For those new to game development, Kenney offers free and open-source Starter Kits for various game genres to help beginners start their projects easily.
  • Tools for 3D Modeling: They provide tools that allow users to create 3D models without needing extensive software knowledge, at an affordable price, compatible with most game engines.

Additionally, there’s a subscription option for receiving email updates and promotions, with the site using reCAPTCHA for security, adhering to Google’s Privacy Policy and Terms of Service.

Top 1 Comment Summary

The article discusses the author’s experience with purchasing the Kenney asset bundle from itch.io during a sale. The bundle includes numerous game assets which the author finds very useful for quickly prototyping and developing small games over weekends. The high quality of these assets not only inspires game ideas but also makes the game development process more enjoyable and motivating compared to using lower quality, self-made art.

Top 2 Comment Summary

The article highlights that Kenney, known for creating free game assets, frequently contributes to OpenGameArt.org (OGA), a platform offering libre/free assets. Additionally, it mentions Itch.io as another source for freely licensed game assets under CC0 and CC-BY licenses.

3. Obvious things C should do

Total comment counts : 30

Summary

The article discusses ongoing issues in the Standard C programming language and how the D programming language’s compiler, ImportC, addresses these shortcomings:

  1. Compile-Time Function Evaluation (CTFE): Standard C does not support executing functions at compile time, which ImportC does. This feature allows for compile-time unit testing, making it easier to write and maintain tests without needing a separate build process.

  2. Order of Declarations: In C, forward references are not allowed, meaning declarations must appear before they are used. ImportC allows declarations in any order, removing the need for forward declarations and improving code readability and maintainability.

  3. Header Files: C traditionally requires separate header files (.h files) which must match exactly with their corresponding implementation files (.c files). This often leads to errors and extra work. ImportC eliminates this by allowing direct import of .c files, bypassing the need for header files entirely.

The article critiques the lack of modernization in C’s standard development, suggesting that while C remains crucial, its compiler technology could benefit from updates that have been implemented in other modern languages and tools like ImportC.

Top 1 Comment Summary

The article discusses the benefits of header files in C programming. The author appreciates how header files provide a clear separation between public interfaces and private implementations, making it easier for users to understand how to use a library by simply reviewing its header files. The author also notes that documentation is placed in the header files, enhancing readability and usability for those who want to use the library without needing to sift through implementation details.

Top 2 Comment Summary

The article discusses several programming and compiler-related issues, focusing on C/C++ language features:

  1. Evaluating Constant Expressions: The complexity arises when trying to evaluate expressions at compile time within a single translation unit. The author wonders how experts handle this limitation without excessive code duplication.

  2. Compile Time Unit Tests: There’s mention of the possibility of implementing compile-time tests, particularly if they can be defined as macros, which could simplify the process if combined with constant expression evaluation.

  3. Forward Referencing of Declarations: This feature would require compilers to operate in two passes instead of one, potentially affecting performance, especially for large codebases where compile time is critical.

  4. Importing Declarations: The proposed change would break existing practices like pseudo-templating in C through file reimportation with variable changes or exposing internal functions of libraries like SQLite which aren’t normally accessible via headers.

The author poses these issues to spark discussion or seek solutions from more experienced individuals, questioning how these problems might be addressed or mitigated in practice.

4. World’s darkest and clearest skies at risk from industrial megaproject

Total comment counts : 21

Summary

The article discusses a significant environmental threat to the Paranal Observatory in Chile’s Atacama Desert due to a proposed industrial complex by AES Andes, a subsidiary of AES Corporation. This complex, which includes a port, ammonia and hydrogen production plants, and thousands of electricity generation units, is planned to be built very close to the observatory, just 5 to 11 kilometers away. The project could lead to light pollution, dust emissions, and increased atmospheric turbulence, all of which would severely impair the observatory’s ability to conduct astronomical observations.

Paranal Observatory is renowned for its pristine dark skies, making it the darkest and clearest site for astronomical observations globally. It has been pivotal in major scientific discoveries, including imaging the first exoplanet and contributing to research recognized by the 2020 Nobel Prize in Physics. The article emphasizes the need to relocate the industrial project to preserve the site’s unique conditions, which are vital for both current and future astronomical research, including the upcoming Extremely Large Telescope. The plea for relocation is supported by ESO’s leadership and the broader astronomical community, highlighting the global importance of maintaining such natural treasures for scientific advancement.

Top 1 Comment Summary

The article discusses the lack of transparency regarding an “industrial megaproject” in Chile, which turns out to be a green energy initiative by AES Andes called Project Inna. This project aims to produce green hydrogen, electricity, and ammonia using wind and solar power. It is part of Chile’s broader National Green Hydrogen Strategy and is still in the early stages of development, with its environmental impact being assessed. The article hints at the project’s contentious nature due to land use concerns, which are often a point of contention beyond just fossil fuel industry arguments.

Top 2 Comment Summary

The article describes the author’s experience of navigating through complete darkness in the Welsh countryside under specific conditions: a new moon, slight fog, and being in a deep valley. The author enjoyed the challenge of finding their way to the local pub in such darkness. Interestingly, when sharing this experience, some city dwellers find it hard to believe, likely due to their unfamiliarity with such profound darkness.

5. Phi 4 available on Ollama

Total comment counts : 17

Summary

The article discusses Phi-4, a 14 billion parameter language model:

  • Data Sources: Phi-4 is trained on synthetic datasets, filtered public domain websites, academic books, and Q&A datasets.
  • Training Process: It has undergone supervised fine-tuning and direct preference optimization to enhance instruction following and safety.
  • Capabilities: Designed to support research in language models and serve as a component for AI features, focusing on general-purpose AI applications in English.
  • Limitations: Not tailored or tested for all possible applications, indicating its general rather than specialized use.

The model has a context length of 16k tokens, making it suitable for handling extensive text inputs.

Top 1 Comment Summary

The article discusses an experiment comparing the performance of phi-4 with gpt-4o and gpt-4o-mini using high-precision few-shot learning examples. Initially, a similar experiment was conducted with gpt-4o-mini, which showed that few-shot examples could significantly enhance its performance. When phi-4 was tested in the same manner:

  • With few-shots, phi-4 achieved a 97% consistency rate with gpt-4o, showcasing a dramatic improvement over its baseline performance.
  • Without few-shots, phi-4 only reached a 37% consistency rate, indicating a substantial reliance on few-shot learning for better performance.

In comparison, gpt-4o-mini had a higher baseline performance without few-shots at 59%, but with few-shots, it matched phi-4’s enhanced performance. This highlights phi-4’s impressive capability to learn from few-shot examples, nearly matching the performance of gpt-4o.

Top 2 Comment Summary

The article expresses amazement at the rapid advancement of technology, specifically local AI models. The author believes that within two years, we will have personalized AI voice assistants that evolve with their users, similar to the AI character JOI from the movie “Blade Runner 2049”. This development is anticipated to significantly impact human social interactions and personal growth.

6. Decentralized Syndication – The Missing Internet Protocol

Total comment counts : 22

Summary

The article discusses the evolution and challenges of internet protocols aimed at decentralization:

  1. Internet’s Decentralized Design: The internet was designed to be decentralized, with protocols like TCP/IP, SMTP, DNS, and HTTP developed over time to enhance its functionality.

  2. Content Discovery Problem: Despite these advancements, the internet lacked a protocol for content discovery. Initially, people used forums and mailing lists, but as the internet grew, this method became insufficient.

  3. Enterprises and Centralization: Companies filled this gap with search engines and proprietary platforms, leading to centralized content control. Blogging platforms and later social networks made content creation easier but also more controlled by private entities.

  4. RSS and Its Limitations: RSS attempted to solve content syndication but was limited to single websites and required manual aggregation, which was not scalable for widespread use. The shutdown of Google Reader highlighted the fragility of such centralized solutions.

  5. Shift to Closed Platforms: The failure of RSS led to a shift towards platforms like Twitter and Facebook, which initially supported open data but later closed their APIs, focusing on profit and retention.

  6. Bluesky and AT Protocol: Bluesky, with its AT Protocol, promises a decentralized, open-data approach. However, concerns about the sustainability and cost of maintaining decentralized networks like Bluesky arise due to high storage requirements.

  7. Proposal of RSDS: The author suggests a new protocol, RSDS (Really Simple Decentralized Syndication), aiming to provide a cost-effective and simple solution for global content syndication, adhering to principles of true decentralization.

In summary, the article critiques the current state of internet protocols concerning content discovery and syndication, highlights the failures of past solutions, and proposes a new decentralized model to address these issues.

Top 1 Comment Summary

The article discusses the author’s desire for a customizable RSS interface that allows users to selectively or automatically republish articles to various personal feeds. The author believes that the current social media model, which features a single, overwhelming feed, promotes excessive scrolling and FOMO (Fear Of Missing Out) to keep users engaged and exposed to ads. They suggest that transforming an RSS reader into a platform where users can share and follow curated news feeds could offer a more productive and user-friendly alternative, potentially reducing the manipulative aspects of traditional social media feeds.

Top 2 Comment Summary

The article humorously compares the current development status of two decentralized social networking protocols, Atproto and ActivityPub. While Atproto is still in the development phase (implied by “waiting for Atproto to proto”), ActivityPub is already operational. This situation is likened to an Onion article where ancient Sumerians are baffled by the creation of the world, suggesting a similar confusion or disconnect between the expectations for Atproto and the reality of ActivityPub’s current functionality.

7. Stop Trying to Schedule a Call with Me

Total comment counts : 61

Summary

The article discusses the author’s frustration with the aggressive sales tactics and customer interaction methods used by software as a service (SaaS) companies. When trying out new services:

  1. Initial Contact: The process starts with benign check-ins from customer success representatives, which the author finds unnecessary since documentation should suffice for basic inquiries.

  2. Escalation: The communications escalate with more persistent follow-ups from “customer success fun-gineers,” often before the user has fully evaluated the service. This can lead to the user either ignoring the emails or feeling pressured to respond.

  3. Marketing Overload: If the user does not unsubscribe, they are bombarded with updates and marketing emails, creating a dilemma about whether to stay subscribed for potential updates or to unsubscribe and possibly miss out on new features.

  4. Sales Process: If the user shows interest, they are drawn into a series of calls involving sales teams. These include:

    • The Salesperson: Focuses on pushing the sale with little regard for the specifics of what the customer needs, using a standardized approach.
    • The Sales Engineer: Attempts to demonstrate the product’s full capabilities, often irrelevant to the user’s specific needs, and sometimes struggles with technical glitches during demos.
  5. Compliance and Security: When asked about security, the companies provide certifications that might not reflect actual practices, suggesting a veneer of compliance rather than genuine security measures.

  6. Decision Making: The sales team tries to involve higher-ups in the customer’s organization for the final pitch, but this is often avoided by the executives, leaving the initial contact person to deal with the proposal, which can strain the relationship.

The author portrays the entire experience as overly cumbersome, filled with unnecessary interactions, and somewhat disingenuous, highlighting a gap between the service’s marketing and its actual utility and user experience.

Top 1 Comment Summary

The article discusses the challenges faced by small startup owners when dealing with large businesses in sales and procurement processes:

  1. Demos Over Trials: Large companies often request demos instead of using the startup’s free trial, which wastes the startup’s time.

  2. Price and Feature Comparison: Startups are sometimes used by big businesses merely to negotiate better deals with their current enterprise software providers, with no real intention of switching.

  3. Security Questionnaires: Startups are burdened with lengthy and complex security questionnaires, often without assurance of a sale, adding to their workload at inconvenient times.

  4. Long Procurement Cycles: The sales cycle with big companies can last 3-6 months, involving multiple parties like procurement departments and third-party resellers who are more focused on their margins than on the startup’s needs.

  5. Payment Delays: Even after closing a deal, startups might have to wait 60-90 days to receive payment, exacerbating cash flow issues while they continue to provide services.

The author expresses frustration over these practices and indicates a willingness to charge premium prices to big businesses to compensate for these challenges.

Top 2 Comment Summary

The article discusses the author’s attempt to implement business practices that counter conventional corporate strategies, particularly those aimed at maximizing revenue through tactics like value-based pricing. Here are the key points:

  • Transparency and Availability: The author advocates for making all information freely and transparently available without any barriers.

  • Honesty About Weaknesses: Instead of hiding flaws, the company should openly discuss its weaknesses, reducing the need for customers to dig for this information.

  • Efficient Customer Interaction: Ensure that customer inquiries are handled immediately by knowledgeable staff, avoiding the need for escalations.

  • Ethical Use of AI: AI should only interact with customers if explicitly requested, and must clearly disclose its non-human nature.

  • Flexible Engagement: Offer various subscription options for email communications, allowing customers to choose how often they receive updates.

  • Customer-Centric Alternatives: If a product isn’t suitable for a customer, suggest alternatives that might better meet their needs, rather than trying to fit the customer into the existing product framework.

The author critiques value-based pricing for being slow, invasive, and potentially off-putting to customers, suggesting that these counter-strategies aim for a more customer-friendly and ethical approach to business operations.

8. Bad Apple but it’s 6,500 regexes that I search for in Vim

Total comment counts : 16

Summary

The article discusses how the author managed to display the music video “Bad Apple” within the text editor Vim by using only search queries to highlight text, effectively creating an animation from static text. Here’s a summary:

  1. Motivation: The author was inspired by the meme of running “Bad Apple” in unexpected places, similar to running DOOM on unconventional devices.

  2. Preparation:

    • The video was converted into around 6,500 PNG frames using FFmpeg.
    • Each frame was then transformed into a 2D array of 0s and 1s representing pixel colors, reducing the resolution from 480x360 to 120x90 due to terminal size constraints.
  3. Implementation in Vim:

    • A grid of characters was used where searching for specific characters would highlight them, creating an image.
    • Vim’s search highlighting was customized to create solid blocks for better visibility.
    • A square font was used to ensure the characters formed square pixels, improving the visual output.
  4. Search Techniques:

    • The author utilized Vim’s advanced search features like \zs and \ze for precise matching.
    • Vim allows for complex searches including specific line and column numbers, enabling the creation of rectangles via search patterns.
  5. Optimization:

    • The challenge was to minimize the number of rectangles needed for each frame to keep the search string short and maintain a decent frame rate.
    • Initial approaches considered analyzing “hot” pixels but were abandoned in favor of leveraging Vim’s existing search capabilities.
  6. Outcome: By using these search techniques, the author successfully animated “Bad Apple” within Vim, showcasing the editor’s capabilities in a unique way. However, the solution was not optimized for performance due to the complexity of the search strings required for each frame.

Top 1 Comment Summary

The article discusses Nolen’s innovative approach to combining several terminal-based programming techniques into one project:

  1. Bad Matrix - This involves manipulating the terminal output to create visual effects, referenced with a link to an external article about this technique.

  2. Animating Text Art in Javascript - Nolen uses JavaScript to animate text art in a flipbook style, where text is printed onto a fixed grid and changes over time to create animation.

  3. oxo - A project where Nolen formats and prints a tic-tac-toe board to the terminal, allowing for regex pattern matching to determine win/loss/draw conditions.

The author expresses admiration for Nolen’s ability to amplify these techniques significantly (“1,000x something”), mentioning that while they’ve used similar methods separately, Nolen managed to combine them effectively in one project, culminating in an impressive display described as taking “the cake.” There’s also a mention of an edit to add a missing link, suggesting the article was updated post-publication.

Top 2 Comment Summary

The article discusses a tech demo of the song “Bad Apple” being run on the Nintendo Entertainment System (NES). The demo, which includes full audio, showcases the impressive feat of compressing about one gigabyte of data into a system where games typically use much less storage and have very limited processing capabilities, specifically mentioning the NES’s three 8-bit CPU registers. The author expresses admiration for this technical achievement, noting how it was executed using an Everdrive.

9. IP addresses through 2024

Total comment counts : 14

Summary

The article discusses the evolution and current state of IP address allocation as of January 2025, focusing on the transition from IPv4 to IPv6:

  1. Historical Context: In 1992, the Internet Engineering Task Force (IETF) foresaw the need for a new IP protocol due to the expected massive increase in connected devices, leading to the creation of IPv6, which offers a much larger address space.

  2. IPv4 vs. IPv6 Adoption: Despite the predicted need, IPv6 deployment has been slow and lacks urgency. The reliance on IPv4 continues due to the effectiveness of Network Address Translators (NATs), which allow many devices to share a limited number of public IPv4 addresses.

  3. NATs and Address Management: NATs have been crucial in managing the IPv4 address space, allowing over 30 billion devices to operate with about 3 billion public IPv4 addresses. However, this solution is not infinite, and as device numbers grow, NATs might not suffice.

  4. Future Predictions: The article speculates on two possible futures for the Internet:

    • Fragmentation of the IPv4 Internet into disconnected segments based on content distribution server networks.
    • Increased deployment of IPv6 to maintain a cohesive network. The author leans towards a future of network fragmentation.
  5. IP Address Allocation in 2024: The transition to new allocation models has been slow post-IPv4 exhaustion in 2021. The article notes that while traditional allocations from Regional Internet Registries (RIRs) are less common, the transition to new methods or IPv6 is still underway without a clear resolution.

  6. Commercial Pressures: There are business motivations pushing both towards maintaining the status quo with IPv4 and NATs, and towards embracing IPv6 to avoid fragmentation and address space limitations.

The article concludes with an analysis suggesting that while IPv6 was designed to address the issue of address space, its adoption remains sluggish, and the future of the Internet’s architecture remains uncertain.

Top 1 Comment Summary

The article discusses the vastness of the IPv6 address space and contrasts it with IPv4:

  1. IPv6 Address Space: The author highlights that even after accounting for the host portion, the IPv6 address space is enormous. A /64 network in IPv6, which is the smallest commonly used subnet, contains as many addresses as the entire IPv4 address space.

  2. IPv4 vs. IPv6 Network Sizes: An IPv4 /32 is equivalent to one single address, while in IPv6, a /64 network provides an individual or a small business with an equivalent amount of address space to the entire IPv4 internet. This means any technical person can now have an IPv4-sized network in IPv6.

  3. Business Allocations: The article suggests that while small businesses might have been content with an IPv4 /24 (a “class C” network), large global companies like Cloudflare use much larger IPv6 networks (e.g., /20, /29, /32) for their operations. This allows for expansive and flexible network design without concerns about address exhaustion.

  4. Network Design: With IPv6, network design can focus on policy and security rather than conserving address space. The author notes that IPv6 is so large that concerns about running out of IP addresses are virtually non-existent, with the suggestion that we might run out of MAC addresses before IPv6 addresses.

  5. Misplaced Concerns: The author implies that concerns about the size of /28 IPv6 networks are misplaced given the scale of IPv6, emphasizing how IPv6 allows for a more liberal and less constrained approach to network allocation and management.

Top 2 Comment Summary

The article mentions discovering that the author of an article on an Australian-themed domain (with references to Australian animals like potaroo, quoll, and quokka) is Geoff Huston. This recognition brings back memories for the reader. Geoff Huston is noted for being inducted into the Internet Hall of Fame in 2012, among other accolades.

10. The Illustrated Guide to a PhD

Total comment counts : 31

Summary

The article provides a visual and metaphorical guide to understanding what earning a Ph.D. entails. The author, likely an academic, explains the process of acquiring knowledge through education stages:

  1. Elementary to High School: Basic knowledge acquisition.
  2. Bachelor’s and Master’s Degrees: Gaining and deepening a specialty.
  3. Ph.D.:
    • Involves reading research papers to reach the edge of human knowledge.
    • Ph.D. candidates focus on a very narrow topic, pushing against the current boundaries of knowledge.
    • The breakthrough or “dent” they make in this boundary represents their Ph.D. contribution.

The article also touches on the personal motivation behind the author’s efforts to fund graduate students in genetics, driven by his son’s rare genetic disorder, N-glycanase deficiency, which was identified through scientific advancements. This personal story underscores the importance of advancing scientific knowledge, particularly in genetics, to potentially help others.

Additionally, the author offers the guide under a Creative Commons license, allowing non-commercial distribution and use with proper attribution. The guide has been translated into various languages and is available in print form, with sales proceeds going to support graduate research in biology, specifically targeting genetic disorders. The author encourages feedback and requests for commercial use to be discussed via email.

Top 1 Comment Summary

The article is a reflection by the original author of a guide, expressing joy that their illustrations from 2010 are still circulating. The author offers encouragement to:

  • New PhD students: Wishing them luck and hoping they find a research problem they are passionate about.
  • Recent PhD graduates: Congratulating them and urging them to continue striving forward.
  • PhD holders many years out: Encouraging them to keep pushing forward but also suggesting there is value in exploring new directions in research, highlighting the potential discoveries at the intersection of different fields.

Top 2 Comment Summary

The article criticizes the current state of research in some academic fields, describing it as a ‘game’ where:

  • Researchers manipulate data to produce results that are often not reproducible.
  • The choice of publication venues is driven by the desire to get published rather than the quality or relevance of the research, sometimes involving payment for publication (APC - Article Processing Charges).
  • There’s a lack of focus on excellence, rigor, and real-world impact in research.
  • There’s an emphasis on obtaining degrees from prestigious institutions without necessarily earning them through merit.

The author expresses disappointment in the system and has been waiting for change for about a decade, indicating a systemic issue in academia that persists despite its recognized flaws.