The author reflects on childhood envy of others' obsessions with hobbies like video games and football, realizing they could only simulate obsession rather than genuinely experience it. After more than 20 years, they came to understand this inability to become obsessed was actually fortunate.
rakhim-exotext-com
30 items from rakhim-exotext-com
The author argues there is no single "Bible" or best book for any topic, as learning requires multiple resources from different perspectives. They compare it to creating a 3D model from multiple photos, where each resource contributes differently based on individual compatibility. The key is to understand one's own learning preferences rather than relying solely on popular recommendations.
The author explains their process for creating educational programming videos, which involves scriptwriting with visual metaphors, audio recording and editing, hand-drawn visuals, and final video editing. They use sticky notes and boxes to represent programming concepts like constants, variables, and functions, particularly focusing on visualizing recursion.
The author argues that while programmers believe they're building products for people today, many major software interfaces remain confusing and unintuitive. Modern digital products often require users to learn specific interactions, similar to how earlier generations struggled with early computer systems.
The article distinguishes programming as solving explicit problems algorithmically, coding as implementing solutions in formal languages, and software engineering as building real-world products that include communication, management, and scalability concerns.
The author describes a progression from cycling uphill to impress others, then oneself, then without motivation, before finally choosing to walk instead. The piece reflects on letting go of performance pressures and finding peace in simpler actions.
The author expresses strong dislike for smartphones, comparing them to temporary plastic utensils that feel physically and mentally uncomfortable to use. They criticize smartphone operating systems as insulting to ergonomics and human-computer interaction research, while lamenting how society increasingly penalizes those who avoid using smartphones for banking, shopping, and communication.
Here we go
0.5The author decided to build a new blogging platform called Exotext after issues with Hugo. They want a simple writing experience with minimal JavaScript, fast page rendering, and good typography. The platform will focus on portability, community features, and easy image uploads.
The author explores various JavaScript markdown editors for a blogging platform, finding most have issues like framework dependencies or complexity. After testing options including Tiptap, SimpleMDE, and EasyMDE, they settled on using Codemirror directly for its simplicity and customization flexibility.
The author questions whether web fonts are necessary despite using IBM Plex serif delivered via Cloudflare Fonts. They note that serif fonts aren't ideal for everyone and that standard sans-serif font stacks look unappealing on Windows, while mentioning Verdana as a potential alternative.
The author discusses releasing a simple note-taking app called Textpod and receiving numerous feature requests. They explain that implementing complex features would undermine the app's core simplicity, making it just another complex note-taking tool.
The article recommends several lesser-known science fiction movies including The Man From Earth, Primer, Pandorum, Upstream Color, Coherence, Timecrimes, Prospect, Vesper, and The Artifice Girl. It also mentions more well-known studio films like Moon, Gattaca, and Children of Men, plus nostalgic picks such as Cube and Sliders.
The article describes how Jupyter notebooks used for user guides can serve as end-to-end tests. By making notebooks parametrized with environment variables and running them automatically via nbclient, teams can test both documentation integrity and code functionality during continuous integration pipelines.
The author observes a growing disconnect between older and younger web developers, noting that some newer developers are unfamiliar with traditional multi-page web applications and have shifting notions of programming concepts. Examples include confusion about browser navigation and JavaScript-specific questions being categorized as computer science topics.
This article describes a GitHub Actions workflow for building and publishing multi-platform Rust binaries. The setup automates building for Windows, Linux, and macOS (Intel and ARM), publishing to crates.io, and creating Docker images for amd64 and arm64 platforms.
The author notes that many modern, handcrafted blogs built with React, Tailwind, or custom static site generators lack RSS feeds. They observe that standard blogging platforms like WordPress and Ghost reliably provide working RSS, while custom-built sites often omit this feature or have technical issues with their RSS implementation.
The article describes a method for making structural changes to SQLite tables that cannot be done with simple ALTER commands. It outlines a five-step process involving creating a new table with the desired structure, copying data, and renaming tables. The approach is demonstrated with a specific example of adding ON DELETE CASCADE to a foreign key constraint.
The author has added a new feature to Exotext that converts YouTube links into embeds when properly formatted. To test this feature, they are sharing some YouTube videos they watched in December 2024.
The article criticizes how tech companies design software to behave like manipulative salespeople rather than precise machines. It argues this damages people's understanding of computers by conditioning them to accept unreliable, pushy interactions instead of clear, deterministic commands.
The author prefers using a dedicated Git client like Sublime Merge for staging files rather than doing it within their code editor. They believe staging is a crucial step for preliminary self-review, and using a separate tool provides a fresh perspective on code changes. This approach helps maintain objectivity by separating the "writing code" and "reading code" experiences.
The author argues that Google's design influence through Material Design has made many tech products look similar and often confusing. While Google's interfaces are criticized as chaotic, developers often mimic them for familiarity and cost reasons. This "do it like Google" effect extends beyond tech to other industries, potentially lowering design standards.
Knight Ride is a browser-based puzzle game where players control a chess knight to reach a target square while capturing enemy pieces for points. The game features limited moves, point multipliers, and various bonuses like streaks and board-clearing rewards. It was built using HTML, JavaScript, and CSS without game engines or chess libraries.
The article describes methods for playing Half-Life 1 and 2 on Apple Silicon Macs, including using Crossover, Parallels Desktop virtualization, and building a native version from source code. It provides a detailed guide for compiling the Source engine and configuring the game files to run natively on macOS.
The article critiques how digital platforms like Netflix and Spotify have evolved from simple, reliable services into algorithm-driven experiences that prioritize engagement over user control. It argues that many platforms are converging toward TikTok-like formats, sacrificing consistency and meaningful library management.
Google has made YouTube less addictive by making it less engaging. The platform now recycles the same videos and provides irrelevant recommendations, reducing its appeal and encouraging users to log off.
AI's ability to answer complex questions stems from failures to build structured information systems like the semantic web. Modern LLMs infer structure from chaotic internet data rather than accessing organized knowledge bases, representing a brute-force workaround.
Finland operates as a high-context society where standardized systems and extensive documentation create predictable social norms. People generally know how to act in most situations due to limited variation and well-established rules. This cultural approach emphasizes following established defaults rather than seeking exceptions or alternatives.
The article argues that AI-assisted coding is fundamentally different from traditional programming abstractions because AI is probabilistic rather than deterministic. Unlike compilers that produce consistent outputs from the same inputs, AI systems operate like contractors with non-deterministic behavior. This distinction matters for understanding control and trust in software development.
Apple's first macOS version Tahoe received negative reviews for its toy-like interface with rounded corners and low information density. Subsequent versions evolved toward more professional, serious designs with improved contrast, borders, and functionality. The operating system transitioned from entertainment-focused to professional-oriented tools over multiple releases.
The author argues that examples are the most effective form of documentation for developers, noting that 95% of the time a single example would suffice but is often unavailable. They critique formal technical documentation as being too complex for developers who juggle multiple technologies, using Python's max function documentation as an example of overly technical explanations.