ACCESS.bus, developed by ACCESS Co., Ltd., was a short-lived attempt to create a low-cost, low-power alternative to USB in the late 1990s, primarily for connecting peripherals like keyboards and mice. Leveraging the already established I²C protocol, it aimed for simplicity and minimal hardware requirements. Despite backing from major Japanese manufacturers and some limited adoption in devices like digital cameras and PDAs, ACCESS.bus ultimately failed to gain significant traction against the rapidly growing dominance of USB, fading into obscurity by the early 2000s. Its failure was largely due to USB's broader industry support, superior performance for higher-bandwidth devices, and its eventual standardization and adoption across diverse platforms.
Without TCP or UDP, internet communication as we know it would cease to function. Applications wouldn't have standardized ways to send and receive data over IP. We'd lose reliability (guaranteed delivery, in-order packets) provided by TCP, and the speed and simplicity offered by UDP. Developers would have to implement custom protocols for each application, leading to immense complexity, incompatibility, and a much less efficient and robust internet. Essentially, we'd regress to a pre-internet state for networked applications, with ad-hoc solutions and significantly reduced interoperability.
Hacker News users discussed alternatives to TCP/UDP and the implications of not using them. Some highlighted the potential of QUIC and HTTP/3 as successors, emphasizing their improved performance and reliability features. Others explored lower-level protocols like SCTP as a possible replacement, noting its multi-streaming capabilities and potential for specific applications. A few commenters pointed out that TCP/UDP abstraction is already somewhat eroded in certain contexts like RDMA, where applications can interact more directly with the network hardware. The practicality of replacing such fundamental protocols was questioned, with some suggesting it would be a massive undertaking with limited benefits for most use cases. The discussion also touched upon the roles of the network layer and the possibility of protocols built directly on IP, acknowledging potential issues with fragmentation and reliability.
Ggwave is a small, cross-platform C library designed for transmitting data over sound using short, data-encoded tones. It focuses on simplicity and efficiency, supporting various payload formats including text, binary data, and URLs. The library provides functionalities for both sending and receiving, using a frequency-shift keying (FSK) modulation scheme. It features adjustable parameters like volume, data rate, and error correction level, allowing optimization for different environments and use-cases. Ggwave is designed to be easily integrated into other projects due to its small size and minimal dependencies, making it suitable for applications like device pairing, configuration sharing, or proximity-based data transfer.
HN commenters generally praise ggwave's simplicity and small size, finding it impressive and potentially useful for various applications like IoT device setup or offline data transfer. Some appreciated the clear documentation and examples. Several users discuss potential use cases, including sneaker authentication, sharing WiFi credentials, and transferring small files between devices. Concerns were raised about real-world robustness and susceptibility to noise, with some suggesting potential improvements like forward error correction. Comparisons were made to similar technologies, mentioning limitations of existing sonic data transfer methods. A few comments delve into technical aspects, like frequency selection and modulation techniques, with one commenter highlighting the choice of Goertzel algorithm for decoding.
This blog post explores improving type safety and reducing boilerplate when communicating between iOS apps and WatchOS complications using Swift. The author introduces two Domain Specific Languages (DSLs) built with Swift's result builders. The first DSL simplifies defining data models shared between the app and complication, automatically generating the necessary Codable conformance and WatchConnectivity transfer code. The second DSL streamlines updating complications, handling the asynchronous nature of data transfer and providing compile-time checks for supported complication families. By leveraging these DSLs, the author demonstrates a cleaner, safer, and more maintainable approach to iOS/WatchOS communication, minimizing the risk of runtime errors.
HN commenters generally praised the approach outlined in the article for its type safety and potential to reduce bugs in iOS/WatchOS communication. Some expressed concern about the verbosity of the generated code and suggested exploring alternative approaches like protobuf or gRPC, while acknowledging their added complexity. Others questioned the necessity of a DSL for this specific problem, suggesting that Swift's existing features might suffice with careful design. The potential benefits for larger teams and complex projects were also highlighted, where the enforced type safety could prevent subtle communication errors. One commenter pointed out the similarity to Apache Thrift. Several users appreciated the author's clear explanation and practical example.
Summary of Comments ( 1 )
https://news.ycombinator.com/item?id=43236370
Several Hacker News commenters discussed ACCESS.bus's technical merits compared to USB. Some argued that while ACCESS.bus offered advantages like cheaper connectors and isochronous data transfer crucial for audio, its downfall was due to poorer marketing and industry support compared to the Intel-backed USB. Others pointed out that ACCESS.bus's use of a 7-bit addressing scheme limited it to 127 devices, a significant constraint compared to USB's much larger capacity. The conversation also touched upon the complexity of ACCESS.bus drivers and its apparent susceptibility to noise, alongside its prevalence in specific niches like high-end audio equipment in Japan. A few commenters reminisced about using ACCESS.bus devices and noted the lack of readily available information about the technology today, contributing to its "forgotten" status.
The Hacker News post titled "ACCESS.bus: The Forgotten USB Competitor" generated several comments discussing the article about the now-obsolete ACCESS.bus. Many of the comments revolve around personal experiences and technical details related to the technology.
One commenter notes their surprise at learning ACCESS.bus wasn't simply a Japanese standard, having only encountered it on Sharp Zaurus devices. They express fondness for the connector, describing it as "robust" and "satisfyingly chunky." This sentiment regarding the physical connector is echoed by another commenter who recalls liking the connector more than mini-USB.
Several commenters discuss the prevalence of ACCESS.bus in specific devices. Multiple users mention seeing it on Casio digital cameras and Sharp organizers. One individual recalls encountering it on a GPS device. Another commenter notes that while it was seemingly ubiquitous in Japan for a period, they'd never seen it used on anything else, reinforcing the perception of it as a primarily Japanese standard.
The technical aspects of ACCESS.bus are also discussed. One commenter correctly points out that the article misrepresents the bus as being half-duplex, when in fact, it's a full-duplex standard capable of simultaneous send and receive. This correction leads to a brief discussion about the implications of half-duplex versus full-duplex communication.
Another technical point raised is the bus's relatively low speed compared to USB, with one comment suggesting this limitation contributed to its eventual downfall.
A few comments touch on the broader context of competing standards in the technology industry, with one commenter reminiscing about the "connector hell" of the late 90s and early 2000s before USB achieved dominance. Another comment laments the lack of a single, unified connector standard even today, despite USB's widespread adoption.
Finally, some comments express general appreciation for the article and the opportunity to learn about a piece of forgotten technology history. One user remarks on the cyclical nature of technology, noting how older standards sometimes reappear in modified forms.