1. Quake’s lightning gun bug explained [video]
Total comment counts : 16
Summary
error
Top 1 Comment Summary
A bug was missed in a code where the normalization was performed prior to zeroing out the Z component, resulting in an unnormalized vector.
Top 2 Comment Summary
The request is for an explanation of a skiing bug in the game Tribes. The person requesting the explanation would like it presented in a style similar to a certain video, as they have not found previous explanations to be satisfactory.
2. Our Plan for Python 3.13
Total comment counts : 23
Summary
The Python developers plan to reduce the time spent in the interpreter by at least 50% in version 3.13. This will be achieved through work on the Tier 2 optimizer, making copy-and-patch operations faster and improving allocation/deallocation speed and reducing cycle garbage collection (GC) overhead. The first two tasks are mainly focused on single-threaded performance, while the third task requires more research and experimentation. The Python developers also hope that partial evaluation will be beneficial to reducing the number of temporary objects.
Top 1 Comment Summary
The Python community is divided between the “Faster Python” team and the project to remove the GIL from CPython. While the Faster Python team is making progress, they are pushing back against the no GIL project because it will impact their goals and there is a performance impact on single threaded code. The Faster Python team argues that the “sub interpreters” they are adding will fulfill the same use cases of multithreaded code without a GIL. The internal battle is unfortunate as both projects are incredible and will push the language forward. The Faster Python team is better placed politically as they have GVR on the team, while the no GIL project is being proposed by an “outsider”.
Top 2 Comment Summary
The author of the article wants to see package management and distribution be standardized and fully incorporated into Python’s core, as it is currently messy and lacks a single source of truth. The author also points out a user interface fail with pip, which can no longer search for packages and directs users to browse the PyPI website in a browser, but notes that Conda, and other package management systems, can still search for packages.
3. Moving fast with the core Vim motions
Total comment counts : 44
Summary
The article is a guide to using different motions, or commands, in Vim to move the cursor around with precision. The author highlights various word and character motions to move horizontally and faster vertical movement options. The guide also introduces counts, which multiply the effect of a command. The article encourages the use of mnemonics to remember the commands and to enable relative line numbers to jump to desired positions faster. The guide emphasizes that combining motions with operators can allow for editing text like a “magic trick.”
Top 1 Comment Summary
The author talks about the benefits of using Vim as a tool for programming. He states that Vim is very expressive and people tend to use it in slightly different ways. According to the author, his usage centers around efficient movement, using line numbers and marks to hold on to specific areas, and lots of yanking and deleting to specific targets. He claims that using Vim makes him faster than most while doing large refactors in enormous codebases. Finally, he shares a link to the “greatest StackExchange answer ever” about productive shortcuts with Vim.
Top 2 Comment Summary
The article describes a Vim motion called d])
that allows for the deletion of text until the next unmatched )
character, regardless of the line on which it appears. The author notes that this motion is particularly helpful when deleting function parameters that span multiple lines or involve nested function calls.
4. On the slow productivity of John Wick
Total comment counts : 36
Summary
The article discusses the difference between productivity in office jobs versus creatives who work in the arts, using the example of Keanu Reeves in the movie John Wick. Reeves spent four months training eight hours a day to become skilled in various fighting techniques for the movie’s action sequences, ultimately resulting in the film’s success. The author questions whether productivity in office jobs, focused on multitasking and staying on top of obligations, is truly the most profitable use of our talents. The article suggests that undivided attention may be necessary to create work that is too good to be ignored, regardless of the industry.
Top 1 Comment Summary
The article discusses how Donald Knuth describes his job as one focused on long hours of studying and uninterruptible concentration in order to learn certain areas of computer science exhaustively and then digest that knowledge into a form accessible to people who don’t have time for such study. The author of the article finds this aspiration appealing but has not been successful in moving in that direction in their own career.
Top 2 Comment Summary
The article discusses the different types of work required for success in a project. While Keanu Reeves focused on deep, full-throttle work for hours on end, the director and support staff engaged in coordination work to ensure the success of the movie. Effective managers must recognize the different kinds of work and focus on juggling tasks to enable their team to excel in their specific roles. This understanding of division of labor helps ensure success in projects.
5. ESP32-C3 Wireless Adventure: A Comprehensive Guide to IoT [pdf]
Total comment counts : 18
Summary
error
Top 1 Comment Summary
Espressif, unlike other semiconductor companies, provides a comprehensive suite of services that include a Cloud SaaS for their chips, open source phone apps that connect to their chips, and integrations with voice assistants, among others. This approach, which avoids alienating distributors and partners, is unusual in the semi-conductor industry. If not for the US-China chip war and paranoia surrounding Chinese chips, Espressif would be much more popular.
Top 2 Comment Summary
The ESP-32-C3-MINI module is being used in an open source air quality monitor as a replacement and big improvement over the previously used ESP8266. The new module allows for direct programming through USB and has two reliable hardware serials. The reduced complexity of the BOM has allowed for them to produce several hundred stable and reliable boards and they plan to also use it for indoor air quality kits.
6. Crawling a quarter billion webpages in 40 hours (2012)
Total comment counts : 15
Summary
The author describes how they crawled 250 million web pages for less than $580 in just under 39 hours using 20 Amazon EC2 machines. While they intended to release the code, they decided not to, due to concerns about the burden it may place on individual websites. The author also discusses the issue of who gets to crawl the web, and whether services like Common Crawl may be a solution. The architecture of the crawler is also described, including the use of a whitelisted domain list from Alexa and partitioning of domains across 20 machines and 141 threads. The crawl was done in a breadth-first fashion and each thread maintained a separate url frontier file for each domain being crawled, with a dictionary used to keep track of the current position in the file.
Top 1 Comment Summary
The article warns against scraping the web from a local residential network, as the author found out when using a simple Python script to verify a large data set of URLs. The script was perceived as spam by a large CDN provider, and as a result, the author’s IP address was blocked on all websites served by the provider. The author had to contact the vendor and fill out a form to have the ban lifted, which was done in a day or two. The author suggests changing IP addresses with AT&T is difficult, and the ban made a quarter of the websites inaccessible.
Top 2 Comment Summary
The article provides a good overview of web scraping but misses out on the use of real browsers in crawling. The latest trend in web scraping is to use a real browser for crawling in headless mode. This is because HTTP libraries find it difficult to scrape front-end only rendering SPAs, and anti-bot scraping technology fingerprints browsers to detect bots and block them. However, from the author’s experience, it is best to avoid headless browser crawling unless it is essential. It is resource-intensive, and SPAs typically have a JSON file containing the desired data, and advanced browser fingerprinting is rare. Mimicking a current browser in the HTTP library can help bypass detection.
7. SETI scientists to devise plan for lunar listening station
Total comment counts : 13
Summary
The Breakthrough Listen project, the world’s largest SETI (Search for Extraterrestrial Intelligence) program, is leading an international coalition of SETI researchers to create a detailed plan for a SETI lunar observatory on the farside of the moon. This observatory would be the first of its kind and potentially the most ambitious alien-hunting mission in history. The farside of the moon is regarded as the most pristine place in the solar system for radio observation as it is shielded from Earth’s electromagnetic signals and has no atmosphere. The SETI researchers aim to establish the technical specifications for the mission, accounting for the various resource constraints such as limited power. The primary goal is to identify a credible path forward for a lunar farside radio technosignature mission that could be accomplished in the next five to seven years.
Top 1 Comment Summary
The author believes that while classical SETI is still worth pursuing, it is unlikely that there are contemporary civilizations interested in communicating with radio signals. Instead, the author is more interested in an idea presented in a research paper that suggests searching for potential artificial objects on the surface of the moon.
Top 2 Comment Summary
The article mentions that the cost of the Very Large Array today would be around 200 million dollars. The author finds it amazing to think about this, although it is not an exact comparison. The author is excited as they hope that other life forms can be communicated with.
8. Reddit’s blackout protest is set to continue indefinitely
Total comment counts : 53
Summary
The article informs that a hard speed limit on requests coming from bots is enforced to prevent abuse, and if the user is not a bot but appears to be one, they should change their user agent string to avoid seeing the message again. The developers are reminded to make only one request every two seconds to avoid being identified as a bot.
Top 1 Comment Summary
The article praises the Lemmy platform, which has the potential to replace Reddit with a system of federated communities that won’t be influenced by investors or executives. It mentions Reddit’s importance as a repository of knowledge and useful information, and suggests that the fediverse can liberate small internet communities from the control of Big Social Media. Lemmy may face some growing pains in the coming weeks and months, but it seems to have the potential to solve issues with discovery, single-sign-on, and moderation faced by other technologies like Usenet and web-based forums.
Top 2 Comment Summary
The article discusses a phenomenon of subreddit migration, where people are posting content on less popular “alternative” versions of popular subreddits, resulting in a noticeable decline in quality. Despite this decline, there is still a lot of posting, and it is unclear whether this is having the intended impact or not. The article suggests that there is a need for a viable, popular alternative to Reddit, as Digg died because of the emergence of Reddit.
9. Effective Rust (2021)
Total comment counts : 13
Summary
error
Top 1 Comment Summary
The author of the article appreciates the effort put into it but disagrees with the advice given about using panic in library code. The author disagrees that rarity of occurrence is a litmus test for using panic instead of Result<T,E>; instead, the author argues that the choice is based on whether the condition represents a programming bug or a recoverable error. The author recommends reading a treatise on this topic for a more comprehensive understanding.
Top 2 Comment Summary
The writer, who has been writing primarily no standard library C for 15 years, finds Rust as cumbersome as C++. They think languages with advanced type/macro systems typically become unwieldy and time-consuming to argue with, and people become greedy with deriving code. The writer believes the simplest tool is the most effective and finds Go to be the perfect tool for most use cases, while they fear the convoluted and hard-to-read nature of porting C language into Rust.
10. Sequence diagrams, the only good thing UML brought to software development
Total comment counts : 86
Summary
The article discusses the value of sequence diagrams in documenting parts of a system and their interactions. While the Unified Modeling Language (UML) of the late 1990s, which included sequence diagrams, has become obsolete and complex, sequence diagrams have survived because they are genuinely useful for mapping and visualizing the dynamic flow of messages across a system. The article recommends starting with the happy path when creating a sequence diagram, identifying the ideal way messages flow from beginning to end and then working outward towards more infrequent message flows, to ensure that the core happy path remains central and provides clarity.
Top 1 Comment Summary
The need for speed in software development has caused a degradation in practices, resulting in the loss of the profession of software architect and the neglect of careful consideration, quality, integrity and formal standards. Design is often half-assed or skipped entirely, with tech choices made on a whim by the loudest voice. The focus on shipping products quickly has become the unquestionable priority.
Top 2 Comment Summary
The article discusses how a lack of understanding of the Unified Modeling Language (UML) has led to its misuse and discouraged people from learning its real value. The article suggests that a reset is needed, where UML is not taught or required unless people genuinely care about its merits and are willing to use it appropriately. This would prevent UML from being misused as a marketable resume keyword and instead allow it to be appreciated by those who understand its value as a powerful modeling tool for complex systems.