Top các câu chuyện trên HackerNews ngày 2025-06-21 #
- Hurl là một công cụ dòng lệnh, dùng để chạy và kiểm thử các yêu cầu HTTP ở định dạng thuần văn bản, hỗ trợ chuỗi yêu cầu, thu thập giá trị và đánh giá phản hồi, phù hợp cho kiểm thử API và tích hợp CI/CD.
- ExTracker là một trình theo dõi BitTorrent được viết bằng Elixir, hỗ trợ nhiều BEP, cung cấp hiệu năng cao và sử dụng bộ nhớ thấp, phù hợp cho phát triển và thử nghiệm.
- Phoenix.new là một môi trường thời gian chạy AI từ xa, hỗ trợ tương tác trình duyệt và triển khai trực tiếp, nhằm mục đích thay đổi quy trình làm việc của nhà phát triển, giảm sự phụ thuộc vào phát triển cục bộ.
- Bằng cách biên dịch các mô hình ngôn ngữ lớn thành MegaKernel, có thể đạt được suy luận độ trễ thấp, phù hợp với cấu hình GPU đơn và đa GPU, tối ưu hóa chi phí tính toán và giao tiếp.
- Bài viết thảo luận một cách mỉa mai về vấn đề vô gia cư ở Mỹ, chỉ trích những người và chính sách không sẵn lòng thực hiện hành động thực tế để giải quyết vấn đề.
- Tác giả đã đạt được tiến bộ trong việc mô phỏng hệ thống Mac OS X ban đầu, bằng cách tối ưu hóa và gỡ lỗi để giải quyết các vấn đề vận hành của trình mô phỏng PearPC.
- Chính sách thu phí tắc nghẽn ở Manhattan đã giảm tắc nghẽn giao thông thành công, nâng cao hiệu quả đi lại, tỷ lệ ủng hộ của công chúng tăng lên đáng kể.
- Hướng dẫn Makefile này giới thiệu chi tiết về mục đích sử dụng, cú pháp và phương pháp sử dụng Makefiles, giúp người dùng quản lý quá trình biên dịch các dự án lớn.
- Bài viết ghi lại lịch sử và các hoạt động kỷ niệm Ngày Tháng Sáu (Juneteenth) thông qua ảnh, thể hiện ý nghĩa văn hóa và sự tham gia của cộng đồng trong ngày lễ liên bang của Hoa Kỳ này.
- Kêu gọi Ủy ban Châu Âu chia tách các công ty công nghệ lớn, thúc đẩy sự đa dạng và cạnh tranh công bằng trong nền kinh tế kỹ thuật số, bảo vệ lợi ích của công dân.
Hurl: Chạy và kiểm thử các yêu cầu HTTP bằng văn bản thuần #
Hurl: Run and test HTTP requests with plain text
https://github.com/Orange-OpenSource/hurl
Hurl là một công cụ dòng lệnh, được sử dụng để chạy các HTTP request được định nghĩa trong một định dạng văn bản thuần đơn giản. Nó có khả năng chuỗi các request, thu thập giá trị và đánh giá truy vấn trên các header và body của response. Hurl có nhiều chức năng, có thể được sử dụng để lấy dữ liệu hoặc để kiểm tra các HTTP session. Nó có thể dễ dàng xử lý nội dung HTML, REST/SOAP/GraphQL API, hoặc bất kỳ API dựa trên XML/JSON nào.
Lấy Trang Chủ #
Sử dụng Hurl để khởi tạo một yêu cầu GET để lấy trang chủ:
GET https://example.org
HTTP 200
[Captures]
csrf_token: xpath "string(//meta[@name='_csrf_token']/@content)"
Thao tác đăng nhập #
Thực hiện đăng nhập bằng yêu cầu POST và sử dụng token CSRF đã thu thập trước đó:
POST https://example.org/login?user=toto&password=1234
X-CSRF-TOKEN: {{csrf_token}}
HTTP 302
Yêu cầu chuỗi #
Hurl hỗ trợ yêu cầu chuỗi, ví dụ:
GET https://example.org/api/health
GET https://example.org/api/step1
GET https://example.org/api/step2
GET https://example.org/api/step3
Công cụ kiểm thử HTTP #
Hurl không chỉ có thể chạy các yêu cầu HTTP mà còn có thể được sử dụng để kiểm tra các phản hồi HTTP. Nó hỗ trợ các loại truy vấn và khẳng định khác nhau, bao gồm XPath và JSONPath trên phần thân phản hồi, cũng như các khẳng định về mã trạng thái và tiêu đề phản hồi. Hurl đặc biệt phù hợp cho REST/JSON API.
Kiểm tra nội dung HTML #
Sử dụng XPath để kiểm tra nội dung HTML:
GET https://example.org
HTTP 200
[Asserts]
xpath "normalize-space(//head/title)" == "Hello world!"
GraphQL và SOAP API #
Hurl cũng hỗ trợ kiểm tra GraphQL và SOAP API:
POST https://example.org/graphql
{
human(id: "1000") {
name
height(unit: FOOT)
}
}
HTTP 200
POST https://example.org/InStock
Content-Type: application/soap+xml; charset=utf-8
SOAPAction: "http://www.w3.org/2003/05/soap-envelope"
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:m="https://example.org">
<soap:Header></soap:Header>
<soap:Body>
<m:GetStockPrice>
<m:StockName>GOOG</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
HTTP 200
Kiểm tra hiệu năng #
Hurl cũng có thể được sử dụng để kiểm tra hiệu năng của các HTTP endpoint:
GET https://example.org/api/v1/pets
HTTP 200
[Asserts]
duration < 1000
Thời lượng tính bằng ms #
Duration in ms
GET https://example.org/data.tar.gz
HTTP 200
[Asserts]
sha256 == hex,039058c6f2c0cb492c533b0a4d14ef77cc0f78abccced5287d84a1a2011cfb81;
Tích hợp CI/CD #
Hurl dễ dàng tích hợp vào CI/CD, hỗ trợ báo cáo văn bản, JUnit, TAP và HTML.
Tại sao nên chọn Hurl? #
- Định dạng văn bản: Phù hợp cho phát triển và vận hành
- CLI nhanh chóng: Phù hợp cho phát triển cục bộ và tích hợp liên tục
- Tệp nhị phân đơn lẻ: Dễ cài đặt, không cần thời gian chạy
- Được điều khiển bởi curl Hurl là một tệp nhị phân nhẹ được viết bằng Rust. Công cụ HTTP của Hurl được hỗ trợ bởi libcurl, một trong những thư viện truyền tệp mạnh mẽ và đáng tin cậy nhất. Thông qua định dạng tệp văn bản của nó, Hurl thêm cú pháp đường cho việc chạy và kiểm tra các yêu cầu HTTP, nhưng nó vẫn là curl mà chúng ta yêu thích: nhanh chóng, hiệu quả, hỗ trợ IPv6/HTTP/3.
Phản hồi #
Ủng hộ sự phát triển của Hurl bằng cách đánh dấu sao cho Hurl trên GitHub! Hoan nghênh các phản hồi, đề xuất, báo cáo lỗi hoặc đưa ra các ý kiến cải tiến.
Tài nguyên #
- Giấy phép
- Blog
- Hướng dẫn
- Tài liệu (Tải xuống HTML, PDF, Markdown)
- GitHub
Mục lục #
- Mẫu
- Lấy dữ liệu
- Tiêu đề HTTP
- Tham số truy vấn
- Xác thực cơ bản
- Truyền dữ liệu
- Gửi dữ liệu
- Sử dụng truy vấn GraphQL
- Sử dụng dữ liệu động
- Kiểm tra phản hồi
- Kiểm tra mã trạng thái
- Kiểm tra tiêu đề phản hồi
- Kiểm tra REST API
- Kiểm tra phản hồi HTML
- Chứng chỉ SSL
- Kiểm tra toàn bộ phần thân
- Báo cáo
- Khác
- Phiên bản HTTP
- Địa chỉ IP
- Thăm dò và thử lại
- Trì hoãn yêu cầu
- Bỏ qua yêu cầu
- Kiểm tra hiệu suất điểm cuối
- Sử dụng SOAP API
- Thu thập và sử dụng CSRF token
- Hành động bí mật màu đỏ
- Kiểm tra dấu thứ tự byte (BOM) trong phản hồi
HN | Độ nóng: 414 điểm | 97 bình luận | Tác giả: flykespice #
https://news.ycombinator.com/item?id=44324592
- Hurl rất hữu ích để thực hiện các kiểm thử yêu cầu HTTP, hỗ trợ chế độ bộ kiểm thử và chế độ gọi riêng lẻ, giúp phân tách giao diện và triển khai.
- Ngôn ngữ cấu hình của Hurl không đủ trực quan, và sự hỗ trợ xác nhận trong tài liệu không đầy đủ.
- Hurl, với tư cách là một công cụ, hữu ích cho việc phát triển được hỗ trợ bởi LLM, thực thi quan điểm của phía client, không có truy cập dữ liệu backdoor.
- Hurl có thể được tích hợp với ngôn ngữ Rust, cung cấp chức năng tích hợp với công cụ
cargo test
. - Hurl giúp các nhóm kiểm soát phiên bản các kiểm thử, cải thiện tính minh bạch và theo dõi trách nhiệm.
- Có người nghi ngờ về sự cần thiết của Hurl, cho rằng các framework như Django đã cung cấp đủ các móc kiểm thử.
- Kiểm thử API độc lập với ngôn ngữ có thể được sử dụng làm tài liệu, giúp chia sẻ giữa các nhóm và tái sử dụng các hợp đồng kiểm thử.
- Hurl là một sự thay thế cho Postman, tránh được sự phức tạp khi khởi động cửa sổ Electron.
- Hurl cung cấp một bộ kiểm thử đặc tả độc lập trong quá trình chuyển đổi ngăn xếp máy chủ, giúp giảm bớt khối lượng công việc.
- Phần mẫu của Hurl thể hiện tốt mục đích sử dụng của công cụ, đặc biệt đối với những người có thể nhanh chóng đánh giá tính hữu dụng của công cụ.
- Hurl có thể chạy như một extension IDE, hỗ trợ tham chiếu các file JSON làm đầu ra dự kiến và chạy nhiều file trong một thư mục.
Show HN: Tôi đã viết một BitTorrent tracker mới bằng Elixir #
Show HN: I wrote a new BitTorrent tracker in Elixir
https://github.com/Dahrkael/ExTracker
Trang web này nói về một dự án BitTorrent Tracker được điều khiển bởi Elixir có tên là ExTracker. Dưới đây là bản tóm tắt tiếng Việt của trang web:
Trạng thái và đặc điểm của dự án: Dự án ExTracker hiện vẫn đang trong quá trình phát triển, mặc dù chưa hoàn toàn sẵn sàng để sử dụng ở cấp độ công nghiệp, nhưng nó đã có thể hoạt động bình thường. Dự án có một phiên bản thử nghiệm đang chạy tại extracker.dahrkael.net:6969, kích hoạt tất cả các chức năng hiện tại (thống kê thời gian thực).
Triển khai chức năng: Tiến độ triển khai dự án được biểu thị bằng các biểu tượng khác nhau:
- 🔲 Biểu thị chưa được triển khai
- 🔰 Biểu thị triển khai một phần
- ✅ Biểu thị đã hoàn thành
- ❌ Biểu thị sẽ không triển khai
Các tính năng quan trọng bao gồm:
- ✅ Hiệu năng cao (sử dụng tất cả các lõi khả dụng, lưu trữ trong bộ nhớ)
- ✅ Sử dụng bộ nhớ thấp (khoảng 200MB RAM cho mỗi 1 triệu node)
- ✅ Cấu hình bằng không (khởi động và chạy ngay)
Các đề xuất cải tiến BitTorrent (BEPs) liên quan đến Tracker bao gồm:
- ✅ BEP 0: Đặc tả giao thức BitTorrent
- ✅ BEP 15: Giao thức UDP Tracker
- ✅ BEP 23: Tracker trả về danh sách node nén
- 🔲 BEP 27: Torrent riêng tư
- ✅ BEP 7: Mở rộng IPv6 Tracker
- 🔲 BEP 21: Mở rộng seed một phần
- ✅ BEP 24: Tracker trả về IP bên ngoài
- 🔲 BEP 31: Mở rộng thử lại khi Tracker thất bại
- ✅ BEP 41: Mở rộng giao thức UDP Tracker
- 🔰 BEP 48: Mở rộng giao thức Tracker: Scrape
- ✅ BEP 52: Đặc tả giao thức BitTorrent v2
Các tính năng khác:
- ✅ Hỗ trợ HTTPS
- ✅ Sao lưu database vào đĩa
- ❌ WebTorrent
- 🔰 Danh sách trắng/đen info hash
- 🔰 Quản lý node (thực thi theo khoảng thời gian, dọn dẹp, cấm, v.v.)
- 🔰 Các chỉ số
- 🔰 Hỗ trợ GeoIP (thống kê, giới hạn node)
Cách thiết lập: ExTracker có ba cách chạy chính:
- Chạy trực tiếp từ mã nguồn: Cần cài đặt Erlang và Elixir trên hệ thống.
- Chạy từ bản phân phối: Hiện tại không có bản phân phối chính thức (sắp ra mắt), nhưng bạn có thể tự tạo và triển khai.
- Sử dụng Docker: Bạn có thể chạy trực tiếp image docker có sẵn hoặc như một phần của docker-compose.
Bản quyền và giấy phép: ExTracker thuộc bản quyền của Dahrkael, được phân phối theo các điều khoản của Apache License, Version 2.0. Xem tệp LICENSE trong thư mục gốc của kho lưu trữ để biết thêm chi tiết.
Về: ExTracker là một BitTorrent Tracker được điều khiển bởi Elixir, các chủ đề liên quan bao gồm torrent, elixir, p2p và bittorrent-tracker.
HN | Độ nóng: 370 điểm | 68 bình luận | Tác giả: dahrkael #
https://news.ycombinator.com/item?id=44323253
- Tác giả đã sử dụng Elixir để viết một BitTorrent tracker mới và cung cấp ảnh Docker để thử nghiệm nhanh chóng.
- Mặc dù có người cho rằng tracker là sản phẩm của quá khứ, nhưng tác giả tin rằng chúng vẫn có vai trò trong internet hiện đại.
- Tác giả dự định tiếp tục phát triển và thêm một số tính năng nâng cao tùy chọn.
- Có người khuyên tác giả nên học cách sử dụng OTP để thiết kế dịch vụ, đồng thời giới thiệu các cuốn sách liên quan.
- Tác giả trả lời rằng, mặc dù ban đầu đã thử nghiệm theo phong cách OTP, nhưng để tăng khả năng mở rộng, tác giả đã chọn thiết kế hiện tại.
- Có người cho rằng việc sử dụng ETS (Erlang Term Storage) là chấp nhận được, vì nó là một hệ thống lưu trữ trong bộ nhớ được tích hợp trong OTP.
- Có người bày tỏ sự tò mò về thiết kế “OTP-first” và đặt câu hỏi liệu việc sử dụng ETS có không phù hợp với nguyên tắc “OTP-first” hay không.
- Có người chia sẻ về ảnh hưởng của việc học Elixir đối với tư duy lập trình, bao gồm cách ly trạng thái, dữ liệu không chia sẻ, thất bại và khởi động lại, so khớp mẫu, struct tốt hơn class, pipeline, v.v.
- Có người khuyên nên sử dụng các ứng dụng Logger và Telemetry thay vì sử dụng trực tiếp IO.puts, và cân nhắc thêm OTel.
- Tác giả trả lời rằng, ngoài việc in bảng, dự án đã sử dụng Logger và Telemetry tùy chọn được cung cấp ở định dạng Prometheus và HTML.
- Có người hỏi tác giả về OTel sink yêu thích của tác giả là gì.
- Có người cho biết đang sử dụng Elixir để xây dựng một công cụ thông báo tuyệt vời và tin rằng Elixir rất phù hợp cho công việc này.
- Có người hỏi công cụ thông báo này là riêng tư hay mã nguồn mở, và cho rằng Elixir cần một công cụ thông báo tốt hơn.
- Có người trả lời rằng, việc sử dụng PubSub của Phoenix để triển khai công cụ thông báo là rất dễ dàng và đã được thử nghiệm trong thực tế.
- Có người đề cập đến Knock.app, một công cụ thông báo được xây dựng bằng Elixir.
- Có người hỏi DHT và PEX là gì, và có người đã cung cấp liên kết Wikipedia để giải thích.
- Có người giải thích rằng DHT và PEX cho phép các client torrent tìm thấy peer mà không cần tracker trung tâm.
- Có người chỉ ra rằng, mặc dù có DHT và PEX, nhưng vẫn cần một số node trung tâm khi kết nối vào mạng.
- Có người làm rõ rằng, các node trung tâm này chỉ hoạt động trong giai đoạn khám phá peer ban đầu, sau đó peer có thể tự tìm thấy torrent group.
- Có người đề cập rằng, nếu kết nối vào mạng DHT, thì không cần máy chủ trung tâm, trừ khi là cho DNS, v.v.
- Có người đưa ra ý kiến rằng, ngay cả khi có hàng triệu bootstrap node, thì cũng có thể tìm thấy chúng bằng cách nhúng vào file torrent hoặc sử dụng SRV DNS record, v.v.
- Có người thảo luận về cách tìm bootstrap node của IPv6, và đưa ra một số phương pháp khả thi.
Phoenix.new – Môi trường chạy AI từ xa cho Phoenix #
Phoenix.new – Remote AI Runtime for Phoenix
https://fly.io/blog/phoenix-new-the-remote-ai-runtime/
Bài viết này được viết bởi Chris McCord, người sáng tạo ra framework Phoenix của Elixir, giới thiệu một dự án bí mật mà ông đang thực hiện tại Fly.io – Phoenix.new. Phoenix.new là một tác nhân (agent) mã hóa hoàn toàn trực tuyến được thiết kế riêng cho Elixir và Phoenix, nhằm mục đích trở thành cách nhanh nhất để xây dựng các ứng dụng cộng tác, thời gian thực.

Bài viết bắt đầu bằng cách giới thiệu các tính năng của Phoenix.new. Phoenix.new chạy hoàn toàn trong trình duyệt, cung cấp cho người dùng và tác nhân một root shell, trong một máy ảo tạm thời (Fly Machine), tác nhân có thể tự do cài đặt phần mềm và chạy chương trình mà không làm hỏng máy cục bộ của người dùng. Người dùng chỉ cần mở giao diện VSCode, nhấp vào nút shell và có thể vào máy ảo biệt lập được chia sẻ với tác nhân Phoenix.new.
Thứ hai, Phoenix.new là một hệ thống tác nhân được thiết kế đặc biệt cho Phoenix, Phoenix là về các ứng dụng cộng tác thời gian thực và Phoenix.new hiểu điều đó. Do đó, Phoenix.new bao gồm một trình duyệt đầy đủ trong cả giao diện người dùng (UI) và các công cụ tác nhân của nó. Tác nhân Phoenix.new sử dụng trình duyệt này ở chế độ “không đầu” (headless) để kiểm tra các thay đổi frontend của chính nó và tương tác với ứng dụng. Vì nó là một trình duyệt đầy đủ, tác nhân có thể thấy nội dung trang thực tế và trạng thái JavaScript, bất kể có ai thao tác hay không.
Bài viết tiếp tục thảo luận về những lợi ích của quyền truy cập root. Các tác nhân xây dựng phần mềm theo cách giống như các nhà phát triển con người, chúng không thiết kế tỉ mỉ các lớp Docker container, cũng không thực sự trải qua các chu kỳ phát hành. Tác nhân muốn bật một shell và bắt đầu làm việc. Một máy ảo hoàn toàn biệt lập có nghĩa là Phoenix.new có thể “làm bẩn” tùy ý. Nếu nó muốn thêm một gói vào mix.exs, sau đó chạy mix phx.server hoặc mix test và kiểm tra đầu ra, thì điều đó là có thể. Nếu nó muốn thêm một gói APT vào hệ điều hành cơ bản, nó cũng có thể làm như vậy và đảm bảo nó hoạt động. Nó sở hữu toàn bộ môi trường.
Bài viết cũng đề cập đến cách Phoenix.new giúp các nhà phát triển triển khai ứng dụng trực tuyến. Các ứng dụng do Phoenix.new tạo ra sống trên đám mây ngay từ khi khởi động. Chúng có các URL riêng tư, có thể chia sẻ (chúng tôi phát hiện bất kỳ cổng ràng buộc nào mà tác nhân tạo ra và cung cấp URL xem trước trong phx.run, tích hợp chuyển tiếp cổng), chúng tích hợp với Github và kế thừa tất cả các biện pháp bảo vệ cơ sở hạ tầng của Fly.io: ảo hóa phần cứng, WireGuard và mạng biệt lập.
Bài viết kết thúc bằng việc thảo luận về tương lai của Phoenix.new. Tác giả tin rằng chúng ta đang ở trong một cuộc cách mạng lớn về quy trình làm việc của nhà phát triển. Các tác nhân có thể thực sự làm việc ngay hôm nay, cho dù có con người hay không. Tác giả dự đoán rằng tương lai của phát triển có thể ít giống việc mở một shell và tìm một tệp để chỉnh sửa hơn, mà giống như việc tham gia vào một môi trường CI, nơi các tác nhân làm việc suốt ngày đêm. Phát triển cục bộ sẽ không biến mất, nhưng phần lớn các lần lặp lại sẽ diễn ra ở đâu sẽ có sự thay đổi. Tác giả đã sử dụng Phoenix.new để phân loại các vấn đề phoenix-core Github và chọn các vấn đề để giải quyết. Anh ấy đóng máy tính xách tay, uống một tách cà phê và chờ đợi PR đến – Phoenix.new cũng biết cách PR hoạt động. Chúng tôi đã bắt đầu và lĩnh vực này chỉ mới bắt đầu.
HN | Độ nóng: 351 điểm | 160 bình luận | Tác giả: wut42 #
https://news.ycombinator.com/item?id=44328326
- Phoenix.new cung cấp một môi trường container hóa, cho phép các agent từ xa chạy mà không cần sự chấp thuận của tác vụ người dùng, điều này được coi là một sự đổi mới.
- Sự tích hợp sâu sắc của Phoenix.new với fly.io cho phép người dùng tương tác trực tiếp với sản phẩm mà không cần sao chép và dán đầu ra thông qua các công cụ trò chuyện.
- Kasm Workspace có thể hoạt động như một môi trường phát triển AI, hỗ trợ desktop Linux dựa trên Docker từ xa.
- Sự đổi mới của agent từ xa nằm ở chỗ nó cho phép quy trình làm việc của agent không đồng bộ, điều này mới mẻ đối với nhiều người.
- Những người tạo ra Phoenix.new cho biết, đây là một cụm Elixir toàn cầu, trải dài trên toàn hành tinh.
- Phoenix.new có thể được coi là một môi trường IDE phát triển hoàn chỉnh, nhưng nó giống một môi trường runtime từ xa hơn, nơi các agent hoàn thành công việc.
- Phoenix.new bao gồm một trình duyệt Chrome không đầu, các agent có thể điều khiển nó để kiểm tra các chức năng frontend.
- Playwright cung cấp một máy chủ MCP, có thể thực hiện các chức năng tương tự.
- Phoenix.new không thực hiện huấn luyện mô hình, chỉ sử dụng các mô hình nguồn mở hoặc được lưu trữ hiện có, code được gửi đến các nhà cung cấp này.
- UI của Phoenix.new không có các bài kiểm tra khả năng truy cập chuyên dụng, nhà phát triển cần hướng dẫn agent xây dựng hoặc kiểm tra khả năng truy cập.
- Phoenix.new xử lý các vấn đề về thư viện của bên thứ ba, các agent có thể truy cập tài liệu thư viện bằng một cách nào đó.
- Kinh nghiệm sử dụng Fly API để cấu hình môi trường cho thấy fly-replay đóng một vai trò quan trọng trong việc định tuyến và proxy.
Biên dịch LLM thành MegaKernel: Một con đường dẫn đến suy luận độ trễ thấp #
Compiling LLMs into a MegaKernel: A path to low-latency inference
Bài viết này giới thiệu một trình biên dịch mới được phát triển, trình biên dịch này có thể chuyển đổi quá trình suy luận của các mô hình ngôn ngữ lớn (LLM) thành một “siêu hạt nhân” (megakernel) duy nhất, đây là một GPU kernel hợp nhất tất cả các tính toán và giao tiếp cần thiết, có khả năng hoàn thành tất cả các thao tác trong một lần khởi chạy. Phương pháp này cải thiện đáng kể hiệu suất bằng cách giảm độ trễ suy luận LLM từ 1,2 đến 6,7 lần. Trình biên dịch rất dễ sử dụng, chỉ cần vài chục dòng code Python để biên dịch LLM thành một siêu hạt nhân hiệu suất cao.

Ý tưởng cốt lõi của bài viết là, các hệ thống LLM truyền thống thường dựa vào một loạt các lần khởi chạy GPU kernel và các lệnh gọi giao tiếp bên ngoài, dẫn đến việc sử dụng phần cứng không đầy đủ. Trình biên dịch mới được phát triển tự động hợp nhất các thao tác này (trải rộng trên nhiều lớp, vòng lặp và GPU) thành một siêu hạt nhân. Thiết kế này loại bỏ chi phí khởi động, cho phép phần mềm pipeline chi tiết trên các lớp và cho phép chồng chéo tính toán và giao tiếp giữa các GPU.
Mặc dù có những ưu điểm này, việc biên dịch LLM thành siêu hạt nhân là cực kỳ khó khăn. Các framework máy học cấp cao hiện có (như PyTorch, Triton và TVM) không hỗ trợ tạo siêu hạt nhân end-to-end. Ngoài ra, các hệ thống LLM hiện đại được xây dựng từ nhiều thư viện kernel chuyên dụng: NCCL hoặc NVSHMEM để giao tiếp, FlashInfer hoặc FlashAttention để có cơ chế attention hiệu quả, CUDA hoặc Triton cho các tính toán tùy chỉnh. Sự phân mảnh này gây khó khăn cho việc tích hợp toàn bộ pipeline suy luận vào một kernel thống nhất.
Bài viết tiếp tục giới thiệu Mirage Persistent Kernel (MPK), một trình biên dịch và hệ thống thời gian chạy được phát triển bởi một nhóm từ CMU, UW, Berkeley, NVIDIA và Đại học Thanh Hoa, có khả năng tự động chuyển đổi suy luận LLM đa GPU thành siêu hạt nhân hiệu suất cao. MPK mở ra lợi thế của việc hợp nhất GPU end-to-end với nỗ lực thủ công tối thiểu từ các nhà phát triển.
Ưu điểm của bài viết là, MPK đạt được độ trễ suy luận LLM cực thấp bằng cách loại bỏ chi phí khởi động kernel và tối đa hóa việc chồng chéo tính toán, tải dữ liệu và giao tiếp giữa các GPU. Hình 1 cho thấy so sánh hiệu suất của MPK với các hệ thống suy luận LLM hiện có trên cấu hình GPU đơn và đa GPU. Trên một GPU NVIDIA A100 40GB duy nhất, MPK giảm độ trễ giải mã mỗi token từ 14,5 mili giây xuống 12,5 mili giây, gần với giới hạn lý thuyết là 10 mili giây dựa trên băng thông bộ nhớ 1,6TB/s để tải 16GB trọng số.
Bài viết cũng thảo luận về cách MPK hoạt động, được chia thành hai phần: phần đầu tiên giới thiệu trình biên dịch MPK, trình biên dịch này chuyển đổi đồ thị tính toán của LLM thành đồ thị tác vụ được tối ưu hóa; phần thứ hai bao gồm thời gian chạy MPK, thời gian chạy này thực thi đồ thị tác vụ bên trong siêu hạt nhân để đạt được thông lượng cao và độ trễ thấp.
Trong đồ thị tác vụ MPK, mỗi tác vụ đại diện cho một đơn vị tính toán hoặc giao tiếp được gán cho một bộ xử lý đa luồng (SM) GPU duy nhất và mỗi sự kiện đại diện cho một điểm đồng bộ hóa giữa các tác vụ. Đồ thị tác vụ cho phép MPK khám phá các cơ hội pipeline sẽ bị bỏ lỡ trong đồ thị tính toán. MPK cũng tự động tạo ra các triển khai CUDA hiệu suất cao cho mỗi tác vụ, sử dụng bộ siêu tối ưu hóa kernel Mirage để đảm bảo mỗi tác vụ chạy hiệu quả trên GPU SM.
Cuối cùng, MPK bao gồm một hệ thống thời gian chạy chạy trên GPU, hệ thống này thực thi hoàn toàn đồ thị tác vụ bên trong một siêu hạt nhân GPU duy nhất, cho phép kiểm soát chi tiết việc thực thi và lập lịch tác vụ trong quá trình suy luận mà không cần bất kỳ lần khởi chạy kernel nào. MPK tĩnh chia tất cả các bộ xử lý đa luồng (SM) thành hai vai trò, worker và scheduler, số lượng của chúng được cố định khi khởi động kernel và khớp với số lượng SM vật lý, tránh mọi chi phí chuyển đổi ngữ cảnh động.
HN | Độ nóng: 300 điểm | 76 bình luận | Tác giả: matt_d #
https://news.ycombinator.com/item?id=44321672
- Biên dịch các mô hình ngôn ngữ lớn (LLMs) thành MegaKernel là một con đường đầy hứa hẹn để đạt được suy luận độ trễ thấp.
- Mô hình lập trình CUDA có thể hạn chế việc sử dụng hiệu quả các tài nguyên phần cứng, đặc biệt là trong các trường hợp độ trễ thấp và kích thước batch nhỏ.
- Khả năng tích hợp công việc vào PyTorch như một backend thử nghiệm là rất thú vị.
- Dự án MPK tương tự như dự án MegaKernel của Stanford, nhưng MPK sử dụng phương pháp tiếp cận dựa trên trình biên dịch, dễ lập trình hơn.
- Tối ưu hóa huấn luyện có thể không quan trọng bằng tối ưu hóa suy luận, vì huấn luyện thường liên quan đến các kernel lớn hơn.
- Bài báo FlashDMoE đã triển khai các mô hình MoE phân tán nhanh chóng trong một kernel duy nhất.
- CPU đa năng sẽ tiếp tục tồn tại như một tiểu não điều phối GPU.
- Ý tưởng biên dịch trực tiếp phần mềm thành phần cứng có thể không trở thành xu hướng chủ đạo.
- Ánh xạ trực tiếp LLM vào phần cứng có thể có ý nghĩa trong tương lai, nhưng hiện tại việc giữ trọng số trong bộ nhớ và tái sử dụng các khối tính toán dùng chung có ý nghĩa hơn.
- Các công ty khởi nghiệp về phần cứng AI đã làm những việc tương tự, nhưng chúng tổng quát hơn, chủ yếu chuyên về kiến trúc hơn là trọng số.
- Triển khai LLM cục bộ và rút dây mạng có thể dễ dàng thực hiện công việc cách ly không khí.
- Ý tưởng LLM-in-a-box rất hữu ích cho công việc yêu cầu cách ly không khí.
- Triển khai LLM trên các thiết bị chuyên dụng tương tự như thiết bị USB khai thác Bitcoin là một ý tưởng thú vị.
Tôi sẽ làm mọi thứ để chấm dứt tình trạng vô gia cư ngoại trừ xây thêm nhà (2018) #
I will do anything to end homelessness except build more homes (2018)
https://www.mcsweeneys.net/articles/i-will-do-anything-to-end-homelessness-except-build-more-homes
Bài viết này được viết bởi Homa Mojtabai, có tiêu đề “I Will Do Anything to End Homelessness Except Build More Homes” (Tôi Sẽ Làm Mọi Thứ Để Chấm Dứt Tình Trạng Vô Gia Cư Ngoại Trừ Xây Thêm Nhà), được đăng vào ngày 9 tháng 5 năm 2018. Bài viết sử dụng giọng văn châm biếm để khám phá mức độ nghiêm trọng của vấn đề vô gia cư ở Hoa Kỳ, đồng thời chỉ trích những người không sẵn lòng giải quyết vấn đề này bằng cách thay đổi hành vi hoặc chính sách của bản thân.
Mở đầu bài viết, tác giả bày tỏ sự quan tâm của mình đối với vấn đề vô gia cư và tuyên bố sẵn sàng làm mọi thứ để giải quyết vấn đề này, nhưng với điều kiện là không thay đổi luật phân vùng, không ảnh hưởng đến khả năng tự lái xe đi làm một mình hoặc không thay đổi bất kỳ hiện trạng nào. Tác giả châm biếm mô tả việc mình sẵn sàng thỉnh thoảng cho người đói một chiếc bánh sandwich và khoe khoang với bạn bè, nhưng với điều kiện là họ không được ăn trước mặt mình.
Tác giả nhấn mạnh rằng mọi người đều nên có giường để ngủ, nhưng đồng thời chỉ ra sự phá hoại giá trị tài sản của những người vô gia cư. Anh ta tự xưng là một nhà đổi mới, đóng góp cho xã hội bằng cách thành lập các công ty sử dụng công nghệ để sản xuất các sản phẩm như ấm trà thông minh. Anh ta tin rằng mình là người chiến thắng, cộng đồng cũng là người chiến thắng, nhưng cách giải quyết vấn đề vô gia cư là tránh đối mặt trực tiếp với vấn đề, chẳng hạn như viết thư cho biên tập viên báo địa phương, đăng những bài viết phân biệt đối xử trên mạng xã hội và thường xuyên gọi cảnh sát.
Trong bài viết, tác giả đề cập đến việc mình sở hữu một biệt thự mini dành cho một gia đình được thừa kế từ cha mẹ, hoặc một căn hộ sang trọng, anh ta không muốn phá vỡ lối sống của mình vì việc xây dựng thêm nhà ở. Anh ta châm biếm mô tả ngôi nhà của mình bị lấp đầy bởi những thứ lặt vặt hoặc cho những người trẻ tuổi từ các thành phố khác thuê, đồng thời nhấn mạnh rằng mình là một người làm việc chăm chỉ, hào phóng và mọi thành tựu của anh ta đều do nỗ lực của bản thân mà có.
Tác giả cũng đề cập đến vấn đề tập trung của cải ở Hoa Kỳ, nhưng anh ta quan tâm hơn đến việc phải nói không với những người ăn xin khi mua sắm ở Whole Foods. Anh ta bày tỏ sự nghi ngờ đối với những người vô gia cư tự xưng là cựu chiến binh và đặt câu hỏi về tính xác thực của họ.
Cuối cùng, tác giả châm biếm nói rằng nếu cung cấp nhà ở cho những người vô gia cư, họ có thể bắt đầu sắp xếp cuộc sống, tìm việc làm và tổ chức lại, điều này có thể dẫn đến những thay đổi như phổ cập bảo hiểm y tế, xây dựng giao thông công cộng, v.v., cuối cùng dẫn đến việc ô tô biến mất, không khí trở nên trong lành hơn, và đây là điều mà tác giả không muốn thấy. Vì vậy, anh ta thà duy trì cuộc khủng hoảng vô gia cư còn hơn là xây dựng thêm nhà ở.
Cuối bài viết kêu gọi độc giả ủng hộ tác giả và duy trì trang web không có quảng cáo bằng cách trở thành người bảo trợ. Đồng thời, cung cấp các liên kết để đăng ký Substack và bản tin của McSweeney’s Internet Tendency, cũng như các bài viết liên quan khác để đọc thêm.
HN | Độ nóng: 262 điểm | 376 bình luận | Tác giả: 2color #
https://news.ycombinator.com/item?id=44325617
- Một số người cho rằng vấn đề vô gia cư không chỉ là vấn đề chi phí nhà ở, mà còn là vấn đề sức khỏe tâm thần, lạm dụng chất gây nghiện và thiếu hệ thống hỗ trợ.
- Một số người chỉ ra rằng nhiều người vô gia cư là do khó khăn kinh tế tạm thời, vấn đề gia đình hoặc vấn đề pháp lý mà phải lang thang trên đường phố.
- Có người cho rằng, nhiều người vô gia cư không phải vì vấn đề sức khỏe tâm thần hoặc ma túy mà trở thành vô gia cư, mà chính những vấn đề này đã khiến họ vô gia cư.
- Có người đưa ra ý kiến, ngay cả khi nhà ở miễn phí cũng không thể giải quyết vấn đề vô gia cư, vì có những nơi trú ẩn miễn phí nhưng tình trạng vô gia cư vẫn tồn tại.
- Có người thông qua giả định về tình huống cực đoan, cho rằng nếu loại bỏ tất cả các hạn chế phân vùng, có thể xây dựng các khách sạn con nhộng, giảm chi phí nhà ở.
- Có người lo ngại, những khách sạn như vậy cuối cùng sẽ chứa đầy những người có vấn đề về sức khỏe tâm thần, nghiện ma túy và bạo lực, khiến hầu hết mọi người thà sống trong lều.
- Có người đề xuất, ký túc xá đại học dường như có thể giải quyết các vấn đề tương tự, có lẽ người lớn cũng có thể.
- Có người chỉ ra rằng, ký túc xá đại học khác với tình huống của người vô gia cư, vì ký túc xá không có vấn đề về sức khỏe tâm thần và nghiện ma túy.
- Có người cho rằng, có một mái nhà nên là một quyền chứ không phải là một đặc ân, việc bất động sản được coi là một khoản đầu tư đã dẫn đến vấn đề này.
- Có người nhấn mạnh, nhiều người vô gia cư thà chọn đường phố vì những vấn đề trong các khu trú ẩn (như bạo lực, lạm dụng ma túy, trộm cắp, v.v.).
- Có người đưa ra ý kiến, coi nhà ở là một quyền chứ không phải là một đặc ân là một chuyện, nhưng đưa nó vào luật và đảm bảo không phá hủy các lĩnh vực khác lại là một chuyện khác.
- Có người chỉ ra rằng, các vấn đề về sức khỏe tâm thần của người vô gia cư thường trở nên trầm trọng hơn do tình trạng vô gia cư.
- Có người dựa trên nghiên cứu chỉ ra rằng, nguyên nhân chính của tình trạng vô gia cư là do giá thuê nhà tăng cao, chứ không phải là vấn đề sức khỏe tâm thần.
- Có người đề cập rằng, nhiều người vô gia cư được gọi là người vô gia cư “vô hình”, vì họ trông bình thường, thậm chí có thể có việc làm.
Infinite Mac OS X #
Infinite Mac OS X
https://blog.persistent.info/2025/03/infinite-mac-os-x.html
Bài viết này chủ yếu giới thiệu về công việc và tiến trình của tác giả trong việc mô phỏng hệ thống Mac OS X đời đầu.

- Infinite Mac hiện có thể chạy các hệ thống Mac OS X đời đầu, trong đó các phiên bản 10.1 và 10.3 được hỗ trợ tốt nhất. Mặc dù tốc độ chạy không nhanh, nhưng tác giả cho biết, điều này không khác nhiều so với hiệu suất trên phần cứng thực tế vào thời điểm đó. Infinite HD cũng đã được xây dựng lại, bổ sung thêm một số phần mềm độc lập nổi tiếng thời bấy giờ.
- Trước đây, tác giả đã theo dõi tiến trình của DingusPPC và cố gắng sử dụng nó để chạy Mac OS X trên Infinite Mac. Nhưng vào mùa hè năm ngoái, anh ấy đã gặp phải nút thắt cổ chai, khi cố gắng chạy thì gặp phải lỗi kernel hoặc lỗi đồ họa. Anh ấy đã cố gắng giảm thiểu vấn đề bằng cách sử dụng chế độ thực thi xác định, nhưng hướng đi tiếp theo không rõ ràng. Vì vậy, anh ấy quyết định tạm gác trình giả lập này và khám phá các con đường khác để chạy Mac OS X.
- PearPC trở thành một lựa chọn rõ ràng, vì nó được tạo ra vào đầu thế kỷ 21 để mô phỏng Mac OS X trên các máy x86 Windows và Linux. Mặc dù sự quan tâm đã giảm sau quá trình chuyển đổi sang Intel, nhưng PearPC đã hoàn thành nhiệm vụ này thành công trong một thời gian. Tác giả ban đầu nghĩ rằng PearPC là một kho mã “chết”, nhưng sau đó quyết định thử sử dụng nó để có được sự hài lòng khi làm cho mọi thứ hoạt động. Anh ấy phát hiện ra rằng kanjitalk755 (người bảo trì thực tế của Basilisk II và SheepShaver) gần đây đã thiết lập một nhánh thử nghiệm trên PearPC, có thể được xây dựng và chạy trên macOS hiện đại. Tác giả đã có thể sao chép công việc của họ, sau đó bắt đầu công việc chuyển trình giả lập lần thứ sáu của mình sang WebAssembly/Emscripten và Infinite Mac runtime.
- PearPC không còn được phát triển tích cực, điều này giúp mọi việc trở nên dễ dàng hơn, vì tác giả không cần phải lo lắng về việc hợp nhất các thay đổi ngược dòng hoặc phải vật lộn với cách cấu trúc các sửa đổi của mình để dễ dàng đóng góp trở lại. PearPC đã là một kho mã đa nền tảng, vì vậy việc thêm một mục tiêu khác tương đối dễ dàng. Ngoài ra, nó không sử dụng rộng rãi các luồng hoặc các khái niệm khó chuyển đổi khác. Trong vòng vài ngày, tác giả đã thành công trong việc làm cho PearPC xây dựng, xuất video, tải hình ảnh đĩa và kết nối đầu vào chuột và bàn phím. Việc có thể chạy Mac OS X 10.2 đáng tin cậy hơn trong trình duyệt khiến anh ấy cảm thấy rất hài lòng.
- Mặc dù PearPC chạy 10.2 đáng tin cậy hơn, nhưng cảm giác chậm hơn DingusPCC. Tác giả đã dành một chút thời gian vào năm ngoái để tối ưu hóa DingusPPC, một phần lấy cảm hứng từ trình giả lập TinyPPC trong nhánh SheepShaver. Anh ấy đã chuyển khung kiểm tra điểm chuẩn của DingusPPC, sau đó bắt đầu sao chép công việc hiệu suất trong PearPC (cả hai trình giả lập đều là trình thông dịch thuần túy dựa trên bảng tra cứu, vì vậy quá trình này tương đối đơn giản). Anh ấy đã thành công trong việc rút ngắn thời gian khởi động của 10.2 xuống khoảng 15 giây, mặc dù điều này giúp tiết kiệm cuộc sống, nhưng vẫn chưa đủ khi xét đến việc khởi động hoàn toàn mất gần 2 phút. Cuối cùng, anh ấy phải thêm một tuyên bố từ chối trách nhiệm trên giao diện người dùng, nói rằng Mac OS X có thể khởi động chậm. Anh ấy cũng nhớ lại những cuộc thảo luận “Bây giờ nó đã nhanh chưa?” của Mac OS X đời đầu - nó thực sự chậm, nhưng không chậm đến thế.
- Hiệu suất vẫn không tốt bằng DingusPPC, nút thắt cổ chai lớn nhất là không có bộ nhớ cache nào trong MMU, vì vậy tất cả các thao tác tải và lưu đều tốn kém, vì chúng liên quan đến các phép tính địa chỉ phức tạp. DingusPPC có một bộ nhớ cache phân lớp trưởng thành hơn, có vẻ rất hiệu quả. Nói chung, mặc dù PearPC có thể ổn định hơn DingusPPC khi chạy 10.2-10.4, nhưng kho mã của nó ít nguyên tắc hơn (tác giả đã gặp phải nhiều cam kết bí ẩn) và “gian lận” theo nhiều cách (nó có firmware và trình điều khiển video tùy chỉnh, và chỉ triển khai một tập hợp con các lệnh PowerPC cần thiết cho Mac OS X). Tác giả vẫn hy vọng rằng DingusPPC sẽ trở thành một lựa chọn nhanh chóng, ổn định và chính xác về lâu dài.
- Tác giả đã triển khai phương pháp “bảng giải mã thống nhất” trong trình thông dịch của PearPC, từng họ opcode một. Khi anh ấy xử lý các thao tác dấu phẩy động, anh ấy nghĩ rằng đây sẽ là một thay đổi cơ học khác. Tuy nhiên, anh ấy ngạc nhiên khi thấy hành vi trở nên thoái hóa - Dock xuất hiện một số trục trặc kết xuất và cửa sổ Finder hoàn toàn không thể mở được. Sau một số gỡ lỗi, anh ấy nhận thấy rằng việc điều phối các nhóm opcode 59 và 63 không chỉ là một tra cứu cơ bản trên các bit lệnh liên quan. Nó trước tiên kiểm tra bit FP của thanh ghi trạng thái máy (MSR) và nếu không được đặt, nó sẽ gây ra ngoại lệ “dấu phẩy động không khả dụng”.
- Tác giả ban đầu nghĩ rằng trình giả lập quá kén chọn - tất cả các chip PowerPC được sử dụng cho Mac đều có FPU, vì vậy điều này không bao giờ xảy ra. Tuy nhiên, việc đặt điểm dừng cho thấy ngoại lệ xảy ra thường xuyên trong quá trình khởi động Mac OS X. Mã nguồn xnu kernel vào thời điểm đó có sẵn, mặc dù tác giả không quen thuộc với các chi tiết, nhưng có một nơi xóa bit FP và đăng ký trình xử lý ngoại lệ kết quả. Anh ấy cho rằng đây là một sự tối ưu hóa để tránh lưu/khôi phục các thanh ghi FPU trong quá trình chuyển đổi ngữ cảnh (nếu chúng không được sử dụng). Kết quả là, một khi anh ấy triển khai kiểm tra FP tương đương trong mã điều phối được tối ưu hóa, các vấn đề kết xuất đã biến mất.
- Điều này khiến anh ấy nhớ lại các trục trặc kết xuất mà anh ấy gặp phải khi chạy Mac OS X dưới DingusPPC. Ngay cả khi khởi động từ CD cài đặt 10.2 (nó không bị lỗi kernel), cuối cùng anh ấy vẫn gặp phải tình trạng thiếu văn bản và các vấn đề khác: kiểm tra mã nguồn DingusPPC cho thấy nó chưa bao giờ kiểm tra bit FP và luôn cho phép các lệnh dấu phẩy động đi qua. Anh ấy đã thực hiện một hack nhanh để kiểm tra nó và gây ra ngoại lệ khi cần thiết, và các trục trặc đã biến mất!
- Việc triển khai thích hợp phức tạp hơn, và cuối cùng anh ấy đã sửa đổi nó một vài lần để tránh mất hiệu suất (một người đóng góp khác đã thực hiện một sửa đổi khác). Nhưng cuối cùng, DingusPPC đã trở nên ổn định hơn, đó là một tác dụng phụ tốt. Tốt hơn nữa, nó có thể chạy 10.1 một cách đáng tin cậy, điều mà PearPC không thể. Cuối cùng, anh ấy đã sử dụng sự kết hợp của hai trình giả lập để chạy nhiều phiên bản Mac OS X đời đầu hơn (thật không may, 10.0 vẫn không ổn định, kernel bản beta công khai bị lỗi ngay lập tức, nhưng anh ấy vẫn hy vọng vào tương lai).
- Xây dựng lại Infinite HD: Một trong những điểm hấp dẫn của Infinite Mac là máy được mô phỏng cũng gắn một “ổ cứng vô hạn”, chứa rất nhiều phần mềm phù hợp với thời đại đó để thử. Với việc Mac OS X đang chạy, đã đến lúc xây dựng một phiên bản thay thế vượt ra ngoài các ứng dụng Mac cổ điển của những năm 80 và 90. Anh ấy có những mục yêu thích của mình, nhưng cũng yêu cầu các đề xuất và nhận được rất nhiều ý tưởng.
- Đối với việc xây dựng hình ảnh đĩa thực tế, anh ấy đã mở rộng phương pháp tự động hóa ban đầu khi khởi chạy trang web. Hình ảnh đĩa phổ biến hơn trong những ngày đầu của Mac OS X so với ngày nay, vì vậy anh ấy đã thêm một phương pháp để nhập các tệp .dmg làm thư mục bổ sung vào hình ảnh được tạo. Tuy nhiên, anh ấy nhanh chóng phát hiện ra rằng, mặc dù có cùng phần mở rộng, nhưng có rất nhiều biến thể và hdiutil đi kèm với macOS hiện đại không phải lúc nào cũng có thể gắn các hình ảnh được tạo ra hơn 20 năm trước. Cuối cùng, anh ấy đã sử dụng một phương pháp Rube Goldberg, trước tiên trích xuất phân vùng thô thông qua dmg2img, sau đó tạo lại một hình ảnh đĩa “hiện đại” có thể được gắn và sao chép.
- Về việc lấy phần mềm thực tế, các trang web thông thường như Macintosh Garden thực sự có một số nội dung từ thời đại đó, nhưng đây không phải là ưu tiên của họ. Phần mềm Mac OS X từ đầu đến giữa những năm 2000 dường như là một điểm mù nhỏ - nó quá mới để được coi là “cổ điển” thực sự, nhưng quá cũ để có thể lấy từ các nhà cung cấp ban đầu (mặc dù có những ngoại lệ). Cuối cùng anh ấy đã sử dụng…
HN | Độ nóng: 260 điểm | 118 bình luận | Tác giả: kristianp #
https://news.ycombinator.com/item?id=44323719
- Dự án PearPC mất đi phần lớn động lực do người bảo trì ban đầu qua đời đột ngột
- Có ý kiến cho rằng một số nhà phát triển kỹ thuật cao có thể đã bị người ngoài hành tinh bắt đi
- Có người đề cập đến khả năng tự tử
- CherryOS bị cáo buộc sao chép công việc của PearPC
- Nhớ về blog “DrunkenBatman”, blog này đã biến mất sau năm 2019
- DrunkenBatman rút khỏi tầm nhìn công chúng sau khi có một bài phát biểu được cho là “tỉnh thức” tại hội nghị C4
- Có người bày tỏ sự tiếc nuối về sự biến mất của “DrunkenBatman”
- Có người đề cập đến trang web Infinite Mac, cung cấp phần mềm hệ thống Macintosh và NeXT cổ điển
- Có người chỉ trích bài viết không cung cấp siêu liên kết hoặc định nghĩa về Infinite Mac
- Có người chỉ ra rằng việc liên kết đến dự án là hữu ích, nhưng mô tả dự án ngắn gọn sẽ hữu ích hơn
- Có người ngạc nhiên về tính ngắn gọn của mã trình mô phỏng PPC CPU được đề cập trong bài viết
- Có người giải thích rằng trình mô phỏng kiến trúc RISC thường có lượng mã nhỏ hơn
- Có người đề cập rằng tập lệnh PowerPC phức tạp, có rất nhiều lệnh
- Có người đề cập rằng POWER là viết tắt của Power Optimization With Enhanced RISC
- Có người đề cập rằng McDonald’s ở New Zealand là một công ty bất động sản, địa chỉ trang web của họ là eieio.co.nz
- Có người đề cập đến một tập lệnh ISA có một lệnh tên là “EMACS”
- Có người thảo luận về sự khác biệt giữa kiến trúc RISC và CISC
- Có người đề cập rằng phương pháp mã hóa ảnh hưởng đến độ phức tạp của tập lệnh
- Có người hoài niệm về sự so sánh giữa macOS hiện đại và OS X 10.4
- Có người cho rằng macOS hiện đại và OS X 10.4 có sự khác biệt trong hành vi, nhưng không nhiều
- Có người cảm thấy macOS hiện đại và MacOS cũ có sự khác biệt lớn về ngoại hình
Định giá tắc nghẽn ở Manhattan là một thành công có thể đoán trước #
Congestion pricing in Manhattan is a predictable success
Bài viết này chủ yếu thảo luận về trường hợp thành công của chính sách thu phí tắc nghẽn ở khu Manhattan của Thành phố New York, đồng thời khám phá lý do tại sao chính sách này mãi vẫn chưa được thực hiện.
Bài viết bắt đầu bằng việc đề cập đến Maura Ryan, một nhà trị liệu giọng nói ở Thành phố New York, ban đầu cảm thấy tức giận về chính sách thu phí tắc nghẽn, vì điều đó có nghĩa là cô phải trả 9 đô la phí cầu đường mỗi ngày. Tuy nhiên, kể từ khi chính sách được thực hiện, thời gian di chuyển của cô đã giảm từ hơn một giờ xuống còn 15 phút, và thái độ của cô cũng thay đổi theo. Hiện tại, nhiều người dân New York ủng hộ chính sách thu phí này hơn là phản đối.
Bài viết chỉ ra rằng chính sách thu phí tắc nghẽn đã đạt được thành công có thể dự đoán được ở Manhattan, điều này khiến người ta không khỏi tự hỏi tại sao chính sách này lại mất quá nhiều thời gian để bắt đầu thực hiện. Bài viết thông qua ví dụ về Maura Ryan và phản hồi của những người dân New York khác, cho thấy chính sách thu phí tắc nghẽn đã giảm tắc nghẽn giao thông một cách hiệu quả và nâng cao hiệu quả di chuyển như thế nào.
Bài viết cũng đề cập đến các tin tức và chủ đề khác liên quan đến Hoa Kỳ, bao gồm biểu hiện của Đảng Dân chủ trong việc sử dụng quyền lực, các vụ tấn công ở Minnesota, tỷ lệ ủng hộ của Tổng thống Trump ở các bang dao động và sự rối loạn chức năng nội bộ của Đảng Dân chủ trong cuộc bầu cử thị trưởng Thành phố New York, v.v. Mặc dù những nội dung này được đề cập trong bài viết, nhưng chúng không phải là nội dung chính của bài viết, vì vậy chúng không được trình bày chi tiết.
Nói chung, bài viết này thông qua các ví dụ và dữ liệu cụ thể, cho thấy việc thực hiện thành công chính sách thu phí tắc nghẽn ở Thành phố New York, đồng thời đặt câu hỏi về sự chậm trễ trong việc thực hiện chính sách.
HN | Độ nóng: 259 điểm | 444 bình luận | Tác giả: edward #
https://news.ycombinator.com/item?id=44328032
- Chính sách thu phí tắc nghẽn ở Manhattan đã đạt được thành công có thể dự đoán được, tình trạng giao thông được cải thiện và môi trường đô thị trở nên dễ chịu hơn.
- Khu vực thu phí tắc nghẽn ở London kết thúc vào lúc 6 giờ tối, vì vậy vẫn có người lái những chiếc xe đắt tiền để khoe mẽ vào tối thứ Sáu hoặc thứ Bảy.
- London là một thành phố phù hợp cho việc đi bộ và giao thông công cộng, và thành phố đã trở nên thân thiện hơn với người đi bộ kể từ khi thực hiện thu phí tắc nghẽn.
- Chính sách thu phí tắc nghẽn mang lại một số lợi ích bất ngờ, chẳng hạn như giảm tội phạm đường phố.
- Thu phí tắc nghẽn chỉ là một nửa giải pháp, nửa còn lại nên là cải cách MTA, vì MTA luôn là một cơ quan quản lý hỗn loạn và lãng phí tiền bạc.
- MTA bắt đầu đầu tư vào việc xây dựng các kỹ năng chuyên môn nội bộ để giảm sự phụ thuộc vào các nhà thầu bên ngoài.
- Khu vực công của Hoa Kỳ nói chung có vấn đề thuê ngoài công việc cho khu vực tư nhân, điều này dẫn đến tăng chi phí và giảm hiệu quả.
- Tư nhân hóa thực chất là để chuyển tiền của chính phủ vào túi tư nhân, chứ không phải để nâng cao hiệu quả.
- Tư nhân hóa là phiên bản hiện đại của chính trị bảo trợ, có thể liên tục chuyển tiền của chính phủ cho những người thụ hưởng cụ thể.
- Cung cấp tiền cho người lao động thất nghiệp hoặc các dịch vụ công miễn phí là không được chấp nhận, vì vậy cần phải rửa tiền thông qua các công việc giả mạo.
- Liệu cử tri có thực sự thúc đẩy việc thuê ngoài hay các công ty tư vấn và công đoàn đang thúc đẩy quá trình này.
- Các cơ quan chính phủ Hoa Kỳ phụ thuộc vào các công ty tư nhân để thực hiện các nhiệm vụ của chính phủ, điều này dẫn đến tăng chi phí và thiếu kiến thức chuyên môn nội bộ lâu dài.
- Nhiều công ty tuyên bố tư nhân hóa có thể nâng cao hiệu quả thực tế chủ yếu dựa vào các hợp đồng của chính phủ, dẫn đến các vấn đề tương tự chỉ là thuê ngoài.
Học Makefiles #
Learn Makefiles
Trang web này là một hướng dẫn về Makefiles, nhằm giúp người dùng hiểu và nắm vững cách sử dụng Makefiles. Dưới đây là bản tóm tắt nội dung trang web bằng tiếng Việt:
Công dụng của Makefiles: Makefiles chủ yếu được sử dụng trong các chương trình lớn để quyết định những phần nào cần được biên dịch lại. Trong hầu hết các trường hợp, nó liên quan đến việc biên dịch các tệp C hoặc C++. Các ngôn ngữ khác thường có các công cụ riêng để thực hiện các chức năng tương tự như Make. Make cũng có thể được sử dụng trong các tình huống ngoài việc biên dịch, chẳng hạn như khi cần thực hiện một loạt các lệnh dựa trên sự thay đổi của tệp. Hướng dẫn này sẽ tập trung vào trường hợp sử dụng biên dịch C/C++.
Các lựa chọn thay thế cho Makefile: Các hệ thống xây dựng C/C++ thay thế phổ biến là SCons, CMake, Bazel và Ninja. Một số trình soạn thảo mã, chẳng hạn như Microsoft Visual Studio, có các công cụ xây dựng tích hợp riêng. Đối với Java, có Ant, Maven và Gradle. Các ngôn ngữ khác như Go, Rust và TypeScript cũng có các công cụ xây dựng riêng. Các ngôn ngữ thông dịch như Python, Ruby và Javascript gốc không cần các công cụ tương tự như Makefiles, vì khi các tệp của các ngôn ngữ này thay đổi, chúng không cần phải được biên dịch lại, chương trình sẽ sử dụng phiên bản mới nhất của tệp khi chạy.
Các phiên bản và loại Make: Có nhiều phiên bản triển khai của Make, nhưng hướng dẫn này chủ yếu áp dụng cho GNU Make, đây là triển khai tiêu chuẩn trên Linux và MacOS. Tất cả các ví dụ đều áp dụng cho Make phiên bản 3 và 4, hai phiên bản này gần như giống hệt nhau ngoại trừ một số khác biệt khó hiểu.
Chạy ví dụ: Để chạy các ví dụ này, bạn cần một terminal và cài đặt “make”. Đối với mỗi ví dụ, hãy đặt nội dung vào một tệp có tên là Makefile và chạy lệnh make
trong thư mục đó. Bắt đầu với một Makefile đơn giản nhất:
hello:
echo "Hello, World"
Đầu ra khi chạy ví dụ trên như sau:
$ make
echo "Hello, World"
Hello, World
Nếu bạn chưa quen với cấu trúc của Makefiles, có một video giới thiệu các bước này cũng như cấu trúc cơ bản của Makefiles.
Cú pháp Makefile: Makefile bao gồm một loạt các quy tắc. Một quy tắc thường trông như thế này:
targets: prerequisites
command
command
command
Mục tiêu là tên tệp, được phân tách bằng dấu cách. Thông thường mỗi quy tắc chỉ có một mục tiêu. Lệnh là một loạt các bước, thường được sử dụng để tạo mục tiêu. Các bước này cần bắt đầu bằng dấu tab, không phải dấu cách. Điều kiện tiên quyết cũng là tên tệp, được phân tách bằng dấu cách. Các tệp này cần phải tồn tại trước khi chạy lệnh của mục tiêu. Chúng còn được gọi là các dependency (phụ thuộc).
Bản chất của Make: Bắt đầu với một ví dụ hello world:
hello:
echo "Hello, World"
echo "This line will print if the file hello does not exist."
Có rất nhiều điều cần hiểu ở đây. Hãy chia nhỏ nó ra: Chúng ta có một mục tiêu tên là hello. Mục tiêu này có hai lệnh. Mục tiêu này không có điều kiện tiên quyết. Sau đó, chúng ta chạy make hello
. Các lệnh sẽ chạy miễn là tệp hello không tồn tại. Nếu tệp hello tồn tại, các lệnh sẽ không chạy. Điều quan trọng cần nhận ra là ở đây chúng ta đang thảo luận về hello vừa là mục tiêu vừa là tệp. Điều này là do cả hai có mối liên hệ trực tiếp với nhau. Thông thường, khi chạy một mục tiêu (tức là chạy các lệnh của mục tiêu), các lệnh sẽ tạo một tệp có cùng tên với mục tiêu. Trong ví dụ này, mục tiêu hello không tạo tệp hello.
Thêm các ví dụ nhanh: Makefile sau đây cuối cùng sẽ chạy tất cả ba mục tiêu. Khi bạn chạy make
trong terminal, nó sẽ xây dựng từng bước một chương trình có tên là blah: Make chọn mục tiêu blah, vì mục tiêu đầu tiên là mục tiêu mặc định. blah cần blah.o, vì vậy make tìm kiếm mục tiêu blah.o. blah.o cần blah.c, vì vậy make tìm kiếm mục tiêu blah.c. Mục tiêu blah.c không có dependency, vì vậy lệnh echo được thực thi…
Trang web này, bằng cách cung cấp các giải thích và ví dụ chi tiết, giúp người dùng hiểu các khái niệm và cú pháp cơ bản của Makefiles, cũng như cách sử dụng Makefiles để quản lý quá trình biên dịch các dự án lớn.
HN | Độ nóng: 242 điểm | 120 bình luận | Tác giả: dsego #
https://news.ycombinator.com/item?id=44325611
- Năm 1985, ai đó đã sử dụng Makefiles để tạo ra một trình kết xuất 3D trong phòng thí nghiệm đồ họa của Đại học Boston, rất thanh lịch, chỉ với 10 dòng code.
- Có người đã đề cập đến Brian Gardner, một chuyên gia trong lĩnh vực kết xuất 3D, người đã tham gia vào công việc kết xuất 3D của “The Iron Giant” và “Coraline”.
- Có người đã chia sẻ một số tùy chọn dòng lệnh make ít được biết đến, chẳng hạn như
--output-sync
,--load-average
và--shuffle
. - Có người đề nghị tác giả của make có thể biên soạn một danh sách các tùy chọn để người dùng dễ dàng tham khảo.
- Có người cho rằng, vì mọi người đều có thể tìm thấy hướng dẫn sử dụng, nên không cần thiết phải biên soạn một danh sách các tùy chọn.
- Có người chỉ ra rằng, hướng dẫn sử dụng của make đã liệt kê tất cả các tùy chọn, có thể xem các tùy chọn thường dùng thông qua
make --help
. - Có người đề cập đến tùy chọn
-B
được sử dụng để xây dựng vô điều kiện tất cả các mục tiêu. - Có người đặt câu hỏi liệu trên hệ thống nhiều người dùng, bộ lập lịch của hệ điều hành có thể xử lý các tác vụ song song hay không.
- Có người phản ánh rằng
make -j
gây ra sự không ổn định cho hệ thống, cho rằng đây là một bug. - Có người cho rằng nếu
make -j
làm hệ thống bão hòa, thì có nghĩa là hệ thống không có nút thắt cổ chai nghiêm trọng. - Có người đề nghị giá trị mặc định của
--jobs
nên là một số hữu hạn, thay vì vô hạn. - Có người đề cập rằng, khi sử dụng
--jobs
, nút thắt cổ chai lớn nhất là IO ngẫu nhiên, chứ không phải CPU hoặc bộ nhớ. - Có người cho rằng, nếu
make -j
gây ra sự không ổn định cho hệ thống, thì nên được phân loại là “sử dụng không đúng cách”. - Có người nhấn mạnh rằng, những người sử dụng công cụ chuyên nghiệp nên đọc hướng dẫn sử dụng của công cụ đó, đặc biệt là đối với các công cụ cơ bản.
Juneteenth qua Ảnh #
Juneteenth in Photos
https://texashighways.com/travel-news/the-history-of-juneteenth-in-photos/
Bài viết này là về lịch sử và các hoạt động kỷ niệm Ngày Giải phóng Nô lệ (Juneteenth) ở bang Texas, Hoa Kỳ, được ghi lại bằng hình ảnh. Dưới đây là bản tóm tắt bài viết bằng tiếng Việt:
Về Ngày Giải phóng Nô lệ (Juneteenth): Vào tháng 6 năm 1865, Thiếu tướng quân đội Liên bang Gordon Granger đến Galveston, tuyên bố chính quyền bang Texas là bất hợp pháp và ban hành một loạt mệnh lệnh, bao gồm cả việc giải phóng nô lệ. Trong đó, Lệnh chung số 3 liên quan đến chế độ nô lệ ở Texas. Lệnh này tuyên bố tất cả nô lệ được tự do, và chỉ ra rằng quyền và quyền tài sản giữa chủ cũ và nô lệ giờ đây là bình đẳng, mối quan hệ giữa họ chuyển thành mối quan hệ giữa chủ và người làm thuê. Mặc dù mệnh lệnh này đến với người Mỹ gốc Phi ở Texas muộn hơn hai năm rưỡi sau khi Tuyên ngôn Giải phóng được ban hành, nhưng nhiều cựu nô lệ khi nghe tin đã rời đồn điền để đi về phương Bắc. Những người ở lại Galveston đã tổ chức lễ kỷ niệm vào ngày 19 tháng 6 năm sau, ngày này sau đó được gọi là Ngày Giải phóng, dần dần phát triển thành “Ngày Giải phóng Nô lệ (Juneteenth)”. Các hoạt động kỷ niệm dần lan rộng sang các bang lân cận.
Năm 1979, Dân biểu đảng Dân chủ Al Edwards từ Houston đã đề xuất một dự luật yêu cầu chỉ định Ngày Giải phóng Nô lệ là một ngày lễ của tiểu bang. Dự luật đã được thông qua vào năm 1979 và được Thống đốc đảng Cộng hòa William Clements ký thành luật. Lễ kỷ niệm Ngày Giải phóng Nô lệ do tiểu bang tài trợ đầu tiên được tổ chức vào năm 1980. Vào ngày 17 tháng 6 năm 2021, Tổng thống Hoa Kỳ Joe Biden đã ký luật chỉ định Ngày Giải phóng Nô lệ là một ngày lễ liên bang.
Các hoạt động kỷ niệm Ngày Giải phóng Nô lệ (Juneteenth): Bài viết trưng bày những bức ảnh về các hoạt động kỷ niệm Ngày Giải phóng Nô lệ từ năm 1900 đến năm 2018. Những bức ảnh này ghi lại các hoạt động kỷ niệm được tổ chức ở những nơi như Austin, Houston và Corpus Christi, bao gồm biểu diễn ban nhạc, ghi chép nhật ký, xe diễu hành của câu lạc bộ nghệ thuật, lễ kỷ niệm của công chúa và hoàng tử, biểu diễn miền Tây, các trận đấu quần vợt, cuộc thi Hoa hậu Juneteenth nhí, v.v. Những bức ảnh này cho thấy sự đa dạng của các hoạt động kỷ niệm Ngày Giải phóng Nô lệ và sự tham gia của cộng đồng.
Câu chuyện của những người nô lệ trước đây: Bài viết cũng giới thiệu câu chuyện của một số người nô lệ trước đây, bao gồm Bob Lemmons và Anna Moore Schwien. Bob Lemmons sinh vào khoảng năm 1847, được đưa đến Texas vào năm 1854, sau khi được giải phóng, ông trở thành người học việc của chủ trang trại người Texas Duncan Lemmons, và cuối cùng đã mua trang trại của riêng mình. Anna Moore Schwien sinh năm 1856 tại một trang trại cừu gần New Braunfels, bà đã kết hôn trong một thời gian ngắn với một người nhập cư Đức, sau đó bị đuổi khỏi thị trấn vì kết hôn với một phụ nữ da đen, nhưng bà không hề oán hận, bà nói: “Bạn không thể lên thiên đường với sự thù hận.” Anna qua đời năm 1946.
Thông qua những câu chuyện và hình ảnh này, bài viết thể hiện ý nghĩa lịch sử và sự phát triển của các hoạt động kỷ niệm Ngày Giải phóng Nô lệ, cũng như cuộc sống của những người nô lệ trước đây và sự trân trọng của họ đối với tự do.
HN | Độ nóng: 221 điểm | 203 bình luận | Tác giả: ohjeez #
https://news.ycombinator.com/item?id=44320851
- Có người cảm thấy tên gọi “Juneteenth” không trực quan bằng “Emancipation Day”, vì nhiều người không biết ý nghĩa của “Juneteenth”.
- Có người ủng hộ tên gọi “Juneteenth”, cho rằng nó thể hiện văn hóa người Mỹ gốc Phi, buộc mọi người phải tìm hiểu và ghi nhớ lịch sử của người da đen.
- Có người cho rằng “Juneteenth” nghe giống như một từ hiện đại hơn là một thuật ngữ lịch sử lâu đời, có thể không khơi gợi được sự tò mò của mọi người.
- Có người chỉ ra rằng “Emancipation Day” có thể gây nhầm lẫn ở Mỹ, vì các bang khác nhau có “Emancipation Day” khác nhau để kỷ niệm các sự kiện khác nhau.
- Có người đề cập rằng tên của các ngày lễ ở nhiều quốc gia rất khó hiểu, cần phải tra cứu tài liệu mới hiểu được ý nghĩa của chúng.
- Có người nhấn mạnh rằng tên của lễ hội là để tưởng nhớ những người tổ tiên đã giành được tự do, chứ không phải để người ngoài dễ hiểu.
Chia Tách Các Gã Khổng Lồ Công Nghệ: Tuyên Bố của Xã Hội Dân Sự #
Break Up Big Tech: Civil Society Declaration
https://peoplevsbig.tech/break-up-big-tech-civil-society-declaration/
Bài viết này là một tuyên bố từ các tổ chức dân sự và người dân ở Châu Âu và trên toàn cầu, kêu gọi Ủy ban Châu Âu hành động ngay lập tức để phá vỡ sự độc quyền của các công ty công nghệ lớn (Big Tech) đối với thế giới kỹ thuật số. Các công ty công nghệ này không chỉ kiểm soát thị trường mà còn gây ra mối đe dọa cho nền dân chủ châu Âu. Bài viết nhấn mạnh rằng Châu Âu cần một nền kinh tế kỹ thuật số đa dạng và thịnh vượng, phục vụ nhu cầu của công dân châu Âu, chứ không phải lợi ích của các CEO công nghệ tỷ phú.
Bài viết chỉ ra rằng Ủy ban Châu Âu có một cơ hội ngàn năm có một để phá bỏ sự độc quyền quảng cáo của Google, sự độc quyền này phá hoại các phương tiện truyền thông tin tức, bóc lột người tiêu dùng và đã bị phán quyết là bất hợp pháp trong một phán quyết mang tính bước ngoặt ở Hoa Kỳ. Sức mạnh độc quyền của các công ty công nghệ lớn gây ra mối đe dọa cho nền dân chủ, chúng tập trung kiểm soát cơ sở hạ tầng kỹ thuật số cốt lõi của chúng ta, bao gồm công cụ tìm kiếm, mạng xã hội, cửa hàng ứng dụng và dịch vụ đám mây. Quyền lực không hạn chế của các công ty này cho phép họ lạm dụng nhân quyền, bóc lột doanh nghiệp và đè bẹp đối thủ cạnh tranh.
Thủ tướng Tây Ban Nha Pedro Sánchez cảnh báo rằng các tỷ phú công nghệ muốn “lật đổ nền dân chủ”. Khi một số ít tỷ phú và gã khổng lồ công nghệ kiểm soát Internet, họ sử dụng quyền lực và lợi nhuận khổng lồ của mình để gây ảnh hưởng đến diễn ngôn chính trị và can thiệp vào luật pháp dân chủ. Năm nay, các CEO công nghệ và chính quyền Trump đã hợp tác chặt chẽ để cố gắng cản trở luật kỹ thuật số mang tính biểu tượng của EU, những luật này yêu cầu các công ty công nghệ lớn phải chịu trách nhiệm.
Bài viết kêu gọi rằng, để giải quyết tác hại của các công ty công nghệ lớn, trước tiên phải đối mặt với sức mạnh của chúng. Ủy viên phụ trách cạnh tranh của EU, bà Teresa Ribera, nhận ra rằng việc chia tách có thể ngăn các công ty công nghệ lớn giành được quá nhiều sức mạnh thị trường. Các công ty này coi các khoản tiền phạt hàng tỷ euro là chi phí kinh doanh, trong khi các biện pháp khắc phục hành vi không hiệu quả và thường bị các công ty bỏ qua. Buộc những gã khổng lồ này bán một phần hoạt động kinh doanh của họ sẽ giảm xung đột lợi ích, cân bằng sân chơi cạnh tranh kỹ thuật số và giúp các công ty dễ dàng chịu trách nhiệm hơn về những tác hại xã hội ngày càng tăng của họ.
Bài viết đặc biệt đề cập rằng việc phá vỡ sự độc quyền quảng cáo của Google là một mục tiêu rõ ràng của EU, được sự ủng hộ của mười tám cựu tổng thống và thủ tướng châu Âu. Sự độc quyền của Google đã hút thu nhập một cách không công bằng từ các nhà xuất bản, bóp nghẹt ngành báo chí và truyền thông tin tức, đồng thời buộc người tiêu dùng phải trả nhiều tiền hơn cho các trung gian ngành thông qua “thuế công nghệ quảng cáo”. Trong phán quyết cuối cùng về công nghệ quảng cáo của Google, Ủy ban phải tái khẳng định rằng chỉ có việc Google buộc phải thoái vốn một phần dịch vụ mới có thể giải quyết các vấn đề cạnh tranh.
Bài viết cuối cùng nhấn mạnh rằng việc phá vỡ sự độc quyền công nghệ là một bước tiến tới một Internet tự do và công bằng hơn. Châu Âu có thể và phải chống lại các mối đe dọa từ các công ty công nghệ lớn và chính quyền Trump, kiên quyết bảo vệ luật pháp EU chống lại các công ty công nghệ lớn. Bài viết kêu gọi chia tách Google, chia tách các công ty công nghệ lớn và liệt kê một loạt các tổ chức và cơ quan đã ký vào tuyên bố này.
HN | Độ nóng: 194 điểm | 158 bình luận | Tác giả: janandonly #
https://news.ycombinator.com/item?id=44325596
- Yêu cầu EU buộc chia tách các công ty Mỹ là hành động chống lại sự điên rồ, nên thúc đẩy sự phát triển của các sản phẩm thay thế bản địa bằng cách cấm các dịch vụ của Mỹ
- Nếu các công ty hoạt động kinh doanh ở EU, họ phải tuân thủ các quy định của EU, yêu cầu chia tách là hợp lý
- Bản thân công nghệ không vốn dĩ mang tính độc quyền, mà là các công ty vận hành tập trung dẫn đến độc quyền, giải pháp là áp dụng các công nghệ phi tập trung
- Các hệ thống phi tập trung cuối cùng sẽ trở nên tập trung sau khi đạt được sức hút quy mô lớn, vì người dùng thông thường có xu hướng chọn các dịch vụ đơn giản hóa cuộc sống của họ
- Các hệ thống được xây dựng trên các giao thức phi tập trung có thể tránh được sự tập trung, người dùng có thể tự do lựa chọn dịch vụ, tránh bị khóa nhà cung cấp và độc quyền
- Các vấn đề về dịch vụ như tài khoản bị đánh cắp, giao dịch bị đảo ngược, truy đòi gian lận, v.v., không phải là không thể giải quyết trong các hệ thống phi tập trung, chỉ là các công ty không có động cơ để phát minh hoặc sử dụng các giải pháp này
- Ngay cả khi các giao thức phi tập trung có xu hướng tập trung về quy mô, người dùng vẫn có thể chọn các nhà cung cấp dịch vụ khác nhau
- Bằng cách yêu cầu khả năng tương tác và tuân thủ các tiêu chuẩn, có thể tìm thấy một điểm trung gian để giảm ảnh hưởng của các công ty công nghệ lớn
- Các tiêu chuẩn thay đổi chậm, bất lợi cho các trường hợp sử dụng phát triển nhanh chóng, các tiêu chuẩn hạn chế, chung và cho phép đổi mới ngược dòng và xuôi dòng thành công hơn
- HTTPS chứng minh sự thành công của nó, phù hợp với hầu hết các trường hợp sử dụng, các tiêu chuẩn phức tạp hơn, hiệu quả hơn có thể không phổ biến như vậy
- Nên giống như CERN, các tiêu chuẩn đơn giản được tạo ra bởi giới học thuật, sau đó được ngành công nghiệp phát triển dưới sự thúc đẩy của cộng đồng/cơ quan quản lý, và cuối cùng là công bố tiêu chuẩn