GN⁺: HN에 묻다: "효과가 있으면 어리석지 않다"는 당신의 이야기는 무엇인가요?
(news.ycombinator.com)GN⁺의 의견
- 이 글은 소프트웨어와 기술을 창의적이고 때로는 비정상적인 방법으로 사용하여 원하는 결과를 얻는 '저주받은 해킹'에 대한 것임.
- 기술 애호가들과 소프트웨어 엔지니어들에게는 이러한 해킹이 기술의 한계를 넘어서는 창의성을 발휘할 수 있는 영감을 제공함.
- 이 주제는 기술의 유연성과 사용자의 창의적 해결책을 찾는 능력을 강조하며, 때로는 기술을 의도하지 않은 방식으로 사용하여 놀라운 결과를 이끌어내는 사례들을 탐구하는 데 흥미를 느끼게 함.
Hacker News 의견
-
스타트업이 Microsoft Outlook용 플러그인을 개발했으며, 이는 성공적이었다. 고객들은 Outlook Express용 동일한 기능을 원했지만, OE는 플러그인 아키텍처가 없었다. 그러나 Windows 훅과 DLL 인젝션을 사용하여 매크로 시스템을 구축할 수 있었다. 이 시스템은 화면에서 모든 동작을 볼 수 있었지만, 완벽하게 작동했다. 점심시간에 누군가가 화면을 보지 않도록 OE 사용자를 설득하자고 농담했고, 이 아이디어는 실제로 작동했다. 전체 데스크톱의 스크린샷을 찍어 전체 화면으로 표시하고, GUI 조작을 숨긴 후 OE가 업데이트될 때까지 기다린 다음 전체 화면 오버레이를 종료하는 방식이었다.
-
1999년에 터키의 인기 있는 소셜 플랫폼인 Eksi Sozluk을 단일 텍스트 파일을 사용하여 데이터베이스로 만들었다. 단 3시간 만에 웹 프레임워크 없이 Delphi로 작성된 EXE 파일로 사이트를 구축했다. 현재는 .NET/MySQL을 사용하고 있으며, 터키 정부에 의해 "국가 안보"와 같은 이유로 금지되었지만 여전히 인기가 있으며, 금지된 도메인에도 불구하고 여전히 합법적인 사업체로 남아 있어 세금을 내고 콘텐츠 삭제 요청을 수락하고 있다.
-
90년대 HBO에서 컨설팅을 했을 때, MS Mail on Mac 서버에서 MS Exchange on PC로의 마이그레이션 작업을 진행했다. 문제는 Mac의 MS Mail에 주소록 내보내기 기능이 없어 개인 비서들이 연락처를 일일이 복사해야 했다. 이 문제를 해결하기 위해 화면 핫키 도구를 실험했고, 전체 프로그래밍 언어를 갖춘 도구를 사용하여 연락처를 자동으로 CSV 파일로 변환하여 Exchange로 가져올 수 있는 도구를 개발했다.
-
Google Chrome 초기에 Windows 스크린 리더와 호환되도록 만드는 작업을 맡았다. Chrome의 설계는 Firefox나 IE와 달랐기 때문에, 접근성 API를 올바르게 구현하는 것이 도전적이었다. 정적 웹 페이지에서 작동하도록 시도했지만, 스크린 리더가 Chrome에서 웹 특정 기능을 활성화하지 않았다. 결국 Chrome의 실행 파일 이름을 firefox.exe로 변경한 후 실행했을 때 모든 기능이 작동하기 시작했다. 이후 스크린 리더 벤더와 연락하여 Chrome을 웹 브라우저로 처리해달라고 요청했다.
-
15년 이상 전에 모바일 CPU에서 기가바이트 단위의 텍스트를 색인화하는 작업을 했다. 단어 정규화 로직이 매우 느렸기 때문에 캐시를 사용하여 속도를 크게 향상시켰다. 캐시 삭제 로직을 개발할 때, 데스크톱 시뮬레이터에서는 빨라졌지만 임베디드 장치에서는 느려졌다. 결국 가장 단순한 삭제 로직을 사용하여 출시했다.
-
데이터베이스가 부팅-크래시 루프에 빠져 있었고, 특정 테이블에 대한 innodb_history_list가 손상되었다. 데이터베이스가 즉시 충돌하기 때문에 세션을 열고 테이블을 삭제하는 것이 불가능했다. 여러 터미널 창을 열고 "while true; do mysql -e 'drop table xyz;' done"을 실행하여 수백만 번의 시도 끝에 데이터베이스에 연결에 성공했다.
-
첫 컴퓨터의 CD 드라이브가 고장 났을 때, 새로운 것을 살 여유가 없어서 거의 1년 동안 플로피 디스크를 사용했다. 결국 드라이브를 분해하여 문제를 발견했고, 폴란드 소시지인 키엘바사를 사용하여 기어에 윤활유를 바르고 드라이브를 고쳤다.
-
30년 된 천연가스 히터가 스마트 온도 조절기를 지원하지 않았기 때문에, 플라스틱 기어를 온도 조절 바퀴에 붙이고 라즈베리 파이에 연결된 서보로 온도를 조절할 수 있는 시스템을 만들었다.
-
소매 외환에서 근무할 때, 고객들이 보고 있는 가격과 주문이 입력된 가격에 대해 이의를 제기하는 경우가 많았다. 이 문제를 해결하기 위해 거래 버튼을 클릭할 때 가격을 로그로 기록하는 솔루션을 개발했다. 로그 파일에는 Java Swing GUI 요소들을 ASCII 아트로 변환하여 기록했다.
-
프로덕션 서비스에서 SSD 전체를 mmap하여 C++ 데이터 구조로 캐스팅하는 방식을 사용했다. 해당 SSD에는 파일 시스템이 없었고, 데이터로 가득 찬 거대한 구조체 배열을 직접 저장했다. SSD가 고장 나면 백업에서 모든 데이터를 복구해야 했지만, 이 방식은 놀랍도록 빠르고 저렴했다.