1. Apple Photos phones home on iOS 18 and macOS 15
Total comment counts : 82
Summary
The article discusses the author’s discovery of a new, automatically enabled feature in Apple’s Photos app called “Enhanced Visual Search,” which allows for advanced image recognition. This feature was found in both iOS and macOS but was not widely publicized by Apple or the media. The author expresses concerns over privacy, noting that:
Lack of User Consent: The feature was enabled by default without asking for user consent, which the author finds intrusive.
Privacy Concerns: The author believes that privacy is compromised when data leaves the device, and criticizes Apple for not keeping data on-device as advertised in past marketing (“What happens on your iPhone, stays on your iPhone”).
Technical Trust Issues: The author admits to not understanding the technical details provided by Apple about how the feature works but remains skeptical due to Apple’s history of security vulnerabilities.
Control Over Privacy: On macOS, users can control outgoing connections with tools like Little Snitch, but iOS does not allow similar tools, which the author sees as Apple restricting user autonomy over their privacy.
User Autonomy: The author argues that users should have the choice to opt into features that might compromise their privacy, especially when there’s no clear benefit to the user.
The article portrays a broader critique of Apple’s approach to user privacy and control, emphasizing the need for transparency and user consent in software features that could potentially share data off-device.
Top 1 Comment Summary
The article expresses a desire for software that only sends data to the internet with explicit user consent. The author criticizes the trend where software automatically shares user data without clear, prior permission, highlighting issues with privacy and trust. Specifically, they discuss Apple’s approach to a new feature, suggesting that Apple might avoid asking for permission because they anticipate user resistance, which reflects broader concerns about how companies handle user data and telemetry.
Top 2 Comment Summary
The article discusses the challenges and ethical considerations of implementing telemetry (usage tracking) in a free, open-source app. The developer expresses frustration over not being able to gather usage data due to privacy concerns:
- User Surprise: Users are surprised to learn the app doesn’t collect usage data.
- Data Bias: Opt-in telemetry would skew data since only a non-representative subset of users would opt-in.
- User Opposition: Opt-out telemetry is seen as invasive by some users, leading to strong opposition.
- Privacy Concerns: The developer acknowledges the risks of telemetry being abused or misused, even if anonymized.
- Regret: There’s a sense of regret that beneficial features (like understanding user needs better) are sacrificed due to these privacy issues.
The developer feels caught between improving the app through data and respecting user privacy, lamenting the loss of potential improvements due to these constraints.
2. 38C3: Illegal Instructions
Total comment counts : 7
Summary
error
Top 1 Comment Summary
Joscha Bach, in his talk titled “Self-Models of Loving Grace” at the 38th Chaos Communication Congress (38C3), explores the concept of self-awareness, consciousness, and the models we construct of ourselves and others. Here are some key points from his discussion:
Understanding Self and Others: Bach discusses how humans create internal models not just of the physical world but also of other minds and their own consciousness. These models help us predict behaviors and understand emotions and thoughts.
Consciousness: He delves into what consciousness might be, suggesting it’s an emergent property of complex information processing. Consciousness, according to Bach, isn’t a singular thing but a process where the system (like the brain) becomes aware of its own operations.
Self-Models: Bach explains that our self-model includes not only our physical body but also our mental states, emotions, and intentions. These models are dynamic, constantly updated by experiences and interactions, and can be seen as an attempt to simulate an ideal self or version of reality.
Love and Grace: He touches upon how our self-models relate to love and grace. Love, in this context, might be viewed as a deep understanding and connection with another’s self-model, while grace could be the acceptance and kindness we extend towards the imperfections in our models of others.
Ethics and AI: Bach also discusses the implications of these concepts for artificial intelligence. He ponders how AI might develop or simulate self-awareness and what ethical considerations arise when creating entities with such capabilities.
Future of Humanity: The talk concludes with speculative thoughts on how understanding self-models could influence human evolution, suggesting that with greater control over our self-models, we might engineer better versions of ourselves or even transcend current human limitations.
Overall, Bach’s talk intertwines philosophy, cognitive science, and AI to explore how we perceive ourselves and others, aiming to foster a deeper understanding and potentially more compassionate interactions in our increasingly interconnected world.
Top 2 Comment Summary
The article discusses an issue where using the video player on an iPhone causes the device to become extremely hot and simultaneously drain its battery, even when it is plugged into a charger.
3. Fish 4.0: The Fish of Theseus
Total comment counts : 36
Summary
The article discusses the decision by the maintainers of the Fish shell to rewrite it from C++ to Rust, a process initiated about two years ago with a now-famous pull request. Here are the key points:
Popularity and Origin: The pull request to rewrite Fish in Rust became unexpectedly popular despite being initially intended as an in-joke among developers.
Language Shift: Fish has undergone significant language shifts before, moving from C to C++, and now to Rust. Rust, which didn’t exist when Fish began in 2007, offers a very different programming paradigm.
Reasons for Switching:
- Tooling and Compatibility: C++ lacks a standardized, easy way to install modern compilers on outdated systems, making it difficult to support users on older Linux distributions or macOS.
- Concurrency: Fish’s execution of internal commands is serial, limiting potential features like asynchronous operations. Rust’s approach to concurrency was more appealing.
- Safety and Ergonomics: C++ has issues like unsafe functions, verbose string handling, and problematic libraries like curses which were sources of errors and bugs. Rust promises better safety and ergonomics.
Challenges with C++:
- Header files, templates, and the complexity of standard library usage often led to errors.
- Performance was prioritized over user experience, leading to potential safety issues like use-after-free bugs.
Learning from Experience: The article reflects on what was learned from the transition, aiming to provide insights for others considering similar shifts in programming languages for their projects.
Community and Contributions: C++ did not attract many contributors to Fish, possibly due to its complexity and the learning curve associated with it.
The rewrite to Rust, now in its beta phase with Fish 4.0, is presented as a case study in adopting modern, safer programming practices while improving the development and user experience.
Top 1 Comment Summary
The article discusses the transition of the Fish Shell project from C++ to Rust. Here are the key points:
Project Transition: Fish Shell has successfully moved from being entirely written in C++ to Rust, marking potentially one of the largest projects to undergo such a transition.
Development Details: The project did not release as a hybrid C++ and Rust program during its transition phase. Although a release was made during this period, Fish 3.7 was still identified as a C++ program. The final testing phase was completed at the end before the full transition to Rust.
Interoperability: There’s discussion on the challenges and motivations behind adding C++ features to Rust for interoperability, suggesting Fish Shell as a case study for such practices.
Development Practices: There’s a mention of the desire to write new Rust code directly in a C++ codebase without the need for generating temporary bindings, highlighting a potential area for improvement in development practices.
Rust Criticisms: One common criticism of Rust mentioned is its support for version detection over feature detection. The article argues that feature detection is more beneficial for software ecosystems like distros, web browsers, and compilers, as it avoids issues like version spoofing seen in browsers and compilers.
External Links: Links are provided to further discuss feature detection versus version detection, Fish Shell releases, and discussions about C++ to Rust transitions.
Overall, the article celebrates the successful transition of Fish Shell to Rust, discusses the technical and strategic decisions made during the project, and touches on broader software development practices.
Top 2 Comment Summary
The author discusses their experience moving from bash to zsh and then to fish shell. Initially, they felt advanced using zsh, but after trying fish shell, they found zsh to be cumbersome by comparison. They recommend others try fish shell as a daily driver for a few weeks, comparing it favorably to Sublime Text for its excellent out-of-the-box experience and customizable features.
4. WebGL Fluid Simulation
Total comment counts : 25
Summary
The article is a brief invitation to try out an app named Fluid Simulation.
Top 1 Comment Summary
The article expresses the author’s fondness for an early version of a WebGL fluid and particle simulation project. The project exhibits a cyberpunk aesthetic at lower resolutions, reminiscent of a netrunner’s environment, and at higher resolutions, it takes on a ghostly, ethereal quality. The link provided leads to the project’s demonstration.
Top 2 Comment Summary
The article mentions a modification to a light model on ObservableHQ where the author, Tom Larkworthy, has altered the model from an additive to a subtractive one. This change makes the visual effect resemble ink dispersing in water. The link provided directs to the modified project on ObservableHQ.
5. NASA, Axiom Space Change Assembly Order of Commercial Space Station
Total comment counts : 6
Summary
The article discusses a strategic partnership between NASA and Axiom Space to develop a commercial space station. Originally, Axiom Space planned to attach its first module, Habitat 1, to the International Space Station (ISS) and then add three more modules sequentially. However, under a revised plan:
- Axiom Space will first launch the Payload, Power, and Thermal Module to the ISS. This module will allow Axiom Station to detach from the ISS as early as 2028 and operate independently in low Earth orbit (LEO).
- NASA has awarded Axiom Space a contract to support this development, aiming to foster commercial use of space and reduce reliance on the ISS before its planned retirement in 2030.
- The new sequence supports NASA’s broader goal of transitioning to a commercial LEO economy, ensuring continued microgravity research capabilities post-ISS.
- This move is part of NASA’s strategy to procure services from multiple commercial providers, thereby maintaining U.S. leadership in space exploration and microgravity research.
This shift in assembly sequence is designed to expedite the operational readiness of Axiom Station as a free-flying destination, while also aligning with NASA’s long-term plans for LEO activities.
Top 1 Comment Summary
The article questions whether any useful heavy equipment on the International Space Station (ISS) could be moved to the Axiom module before the ISS is decommissioned. The equipment would need to be something the ISS can function without during its remaining operational time.
Top 2 Comment Summary
The article discusses the Alpha Magnetic Spectrometer (AMS-02), an instrument on the International Space Station, which is involved in exploring the mysteries of dark matter. It suggests that the AMS-02 might be nearing the end of its operational life. Despite this, as a CERN experiment, it has significantly contributed to scientific research. The links provided likely lead to further details on NASA’s website about the AMS-02 and its contributions to understanding dark matter.
6. We’ve not been trained for this: life after the Newag DRM disclosure [video]
Total comment counts : 12
Summary
The article discusses the aftermath of a presentation by Michał Kowalczyk, q3k, and Jakub Stepniewicz at 37C3, where they revealed their findings on trains that were programmed to fail when serviced by unauthorized workshops. Here’s a summary:
Parliamentary Sessions: There were three sessions where train operators disclosed paying large sums to Newag for unlocking trains, despite Newag claiming ignorance about the locks.
Legal Actions: Newag initiated lawsuits against the researchers, accusing them of copyright infringement and unfair competition, using complex legal arguments.
Media Engagement: The researchers had to repeatedly explain the concept of reverse engineering to journalists.
Investigations: There have been six official investigations, including two criminal ones, following the revelations.
New Revelations: Additional cases involving different train operators have come to light since the initial presentation.
Licensing: The talk is licensed under a Creative Commons Attribution 4.0 International License, allowing for public use.
Multilingual Support: The presentation has been translated into several languages, with audio tracks available for selection in video players.
Top 1 Comment Summary
The article mentions a previous discussion on Hacker News about a legal issue, and provides a link to a legal fund established by the Chaos Computer Club (CCC) to support their legal efforts. The CCC is raising funds due to what they describe as a situation that has “completely derailed.”
Top 2 Comment Summary
The article discusses Newag, a company that continues to secure large government contracts. Specifically, Newag’s Griffin 200 locomotives are now ready for service with PKP Intercity, indicating that despite any previous controversies or issues, Newag remains a significant player in Poland’s railway sector, continuing to supply rolling stock to state-owned companies.
7. Finding and exploiting hidden features of Animal Crossing’s NES emulator (2018)
Total comment counts : 4
Summary
The article details a discovery by a researcher looking into hidden developer menus in the original “Animal Crossing” game for GameCube. Here are the key points:
Unused Feature: The researcher found that the game included an unused feature allowing NES games to be loaded from a memory card, despite this functionality never being utilized by Nintendo.
NES Emulator: The game contains a full NES/Famicom emulator capable of playing most NES games. Normally, players could only play specific NES games provided in-game as furniture items like Excitebike or Golf.
Generic NES Console: There was also a generic “NES Console” item in the game, which didn’t come with any game. It was thought to be unplayable, but it actually searches for NES ROM images on the memory card when interacted with.
Reverse Engineering: The researcher explored the game’s code to understand how these features worked:
- Scene Initialization: Functions like
select_init
andfamicom_emu_init
were identified, which relate to loading different scenes or menus within the game, including the NES emulator. - Debugging: By manipulating function pointers in a debugger, the researcher could force the game to display special menus or switch scenes.
- Scene Initialization: Functions like
Scene Transitions: The transition from normal gameplay to the NES emulator was handled by a function named
Game_play_fbdemo_wipe_proc
, which deals with screen effects like wipes and fades, setting the stage for different game scenes.
The article concludes by noting the researcher’s intent to explore further how these scene transitions and function pointers are set during normal gameplay, hinting at the complexity and depth of game development even in seemingly simple features.
Top 1 Comment Summary
The article mentions a recent YouTube video that explores the scoring system for letters sent to villagers in the game “Animal Crossing.” The video explains the interesting rules used to score these letters.
Top 2 Comment Summary
The article in question is from 2018 and remains relevant and worth reading for those interested in its subject matter.
8. Joco almost died at launch. Now, it’s a lifeline for e-bike delivery riders
Total comment counts : 6
Summary
The article discusses Joco, an e-bike startup founded by two entrepreneurs named Jonathan Cohen, one from Queens, New York, and the other from London. Here are the key points:
Location and Scale: Joco plans to convert a 15,000-square-foot parking garage near Hudson Yards in NYC into a hub for electric two, three, and four-wheelers, focusing on delivery workers’ needs like charging stations, docking, and concierge services.
Business Model: Initially launched to compete with Citi Bike for consumer rides, Joco faced legal challenges from the NYC Department of Transportation, leading to a pivot towards serving gig workers and enterprise clients with e-bike rentals, fleet management, and maintenance.
Services Offered: Joco provides daily or weekly bike rentals, fleet management, and has introduced battery charging cabinets to address safety concerns related to e-bike battery fires.
Customer Focus: The company emphasizes exceptional customer service, going beyond financial sense to build loyalty among its users, such as personally assisting customers with bike issues.
Financials: Despite operating in a capital-intensive industry, Joco has managed to become profitable with relatively modest venture capital funding of $7.5 million.
Future Plans: Joco is planning for international expansion and has already started selling battery cabinets to various clients, including residential buildings and logistics companies.
The article portrays Joco’s evolution from a consumer-focused bikeshare service to a specialized provider for delivery workers, highlighting its resilience and focus on customer care as pivotal to its survival and growth.
Top 1 Comment Summary
The article discusses the frustration over the NYC DOT’s decision to protect Lyft’s monopoly on bike rental services by restricting competition, even when competitors like Joco were willing to operate without using public space. The author argues that the DOT’s justification for granting Lyft a monopoly—to encourage investment in the system—seems unnecessary given that competitors were ready to invest despite the structural disadvantage of not having access to public space. This suggests that a competitive market could exist without monopolistic privileges for Lyft.
Top 2 Comment Summary
The article expresses skepticism about the growth and prominence of certain tech companies. The author questions the legitimacy of the coverage these companies receive in tech media like TechCrunch, suggesting that their recognition might be due to paid promotions rather than genuine business merit or innovation.
9. Personal Mail Server on OpenBSD (2019)
Total comment counts : 16
Summary
The article provides a detailed guide on how to set up and configure your own email server using OpenBSD 6.4. Here are the key points:
Server Acquisition: The author suggests obtaining an OpenBSD server from Vultr.com, which supports OpenBSD and offers a cost-effective solution for hosting a mail server. They also provide a referral link for a discount.
Initial Setup: Steps include checking if the server’s IP address is blacklisted, configuring SSH access, updating system packages, setting the correct time, and securing SSH by changing the default port and disabling root login.
User Setup: Instructions on adding a non-root user and setting permissions using
doas
for enhanced security.DNS Configuration: Add necessary DNS records like A, AAAA, and MX records for the email server.
Mail Server Software: OpenBSD comes with SMTP server software pre-installed. The guide provides a configuration file for SMTPD.
SSL/TLS and Security: Using
acme-client
for obtaining SSL certificates, and addressing issues like open file limits for Dovecot, which is used for IMAP/POP3 services.DKIM Setup: Configuration for signing outgoing emails with DKIM to avoid spam filters.
Personal Note: The author mentions that the blog serves as a personal reminder and a resource for others interested in similar tech adventures, focusing on Unix-like systems and related technologies.
This guide is comprehensive for someone looking to self-host an email server on OpenBSD, covering security, setup, and basic email server functionalities.
Top 1 Comment Summary
The article praises openbsd.amsterdam for successfully running a hosting company using the OpenBSD operating system, highlighting their commitment to the OpenBSD stack.
Top 2 Comment Summary
The article discusses an individual’s experience with managing an email server, where they:
- Combat spam effectively using a reverse DNS check, which filters out most spam emails, with Rspamd handling the remaining few.
- Receives around 50,000 emails daily, with only 500 being delivered to inboxes, out of which approximately 20 are spam.
- Implements a strategy to avoid false positives by rejecting spam at the SMTP connection level rather than using a spam folder, ensuring that if there is a false positive, the user receives an email notification from the Mail Transfer Agent (MTA).
10. Libsearch: Simple index-free full-text search for JavaScript
Total comment counts : 8
Summary
The article discusses libsearch
, a JavaScript library designed for simple, index-free full-text search. Here are the key points:
Functionality:
libsearch
provides a basic full-text search across JavaScript objects without the need for a pre-built search index, making it suitable for small to medium-sized datasets in client-side web applications. It uses regular expressions to match search queries, offering a performance that’s sufficient for real-time searching.API: The library exposes a single
search
function which requires two arguments (the query and the data to search) and has two optional arguments for additional options.Performance: Instead of indexing, which is common in more feature-rich search libraries,
libsearch
leverages modern JavaScript’s optimized regex engines to perform searches directly on the text. This approach avoids the overhead of index maintenance but can be slower for very large datasets.Search Method: It transforms search queries into a series of regular expressions, filtering documents through these expressions during runtime. This method approximates traditional TF-IDF (Term Frequency-Inverse Document Frequency) scoring by using document length rather than word count for efficiency.
Usage:
libsearch
can be integrated into web applications by including its script in HTML or through npm for Node.js environments. It comes with TypeScript type definitions for better integration with TypeScript projects.Development: The source code is written in TypeScript, with builds available for both ES modules and browser environments. The developer emphasizes simplicity and ease of use over the extensive feature sets found in other search libraries.
Advantages and Limitations: While it lacks some advanced features of other search libraries like lemmatization or complex indexing,
libsearch
offers a straightforward, fast enough solution for prototyping or applications where search isn’t the primary function but still needed.
Top 1 Comment Summary
The article discusses the lightweight nature of TypeScript (TS) code, mentioning that while it’s only 115 lines, some important features might still be missing. It provides a link to a GitHub repository (uFuzzy
) where users can compare JavaScript alternatives based on size, features, and performance. The author mentions their own experience of evaluating these options a few years ago and choosing uFuzzy
, linking to a demonstration of uFuzzy
search functionality.
Top 2 Comment Summary
The article discusses the ease of building a search functionality using what appears to be a sophisticated regular expression (RegEx) engine. The author expresses intrigue about how this library manages fuzzy search capabilities, like recognizing “Califnia” instead of “California,” and finds the implementation reasoning of this library interesting and clever.