3P by neo 2023-11-11 | favorite | 댓글 1개

커서리스: 미래에서 온 외계 마법

  • Cadey는 새 직장에서 일을 시작하기 전에 RSI(반복성 스트레스 부상) 증상이 나타남을 언급함.
  • RSI 증상은 이미 예상하고 있었으며, 현재 회복 중이라고 함.
  • 이전에 RSI가 발생했을 때는 기술 관련 글쓰기로 대처했지만, 이번에는 프로그래밍 능력이 필요함을 표현함.
  • Cadey는 주로 emacs를 사용하지만, 이번에는 Visual Studio Code를 사용하고 있으며, 그 이유는 'Cursorless'라는 확장 프로그램 때문임.

커서리스의 마법 같은 기능

  • 'Cursorless'는 음성 제어 소프트웨어와 통합되어 음성으로 AST 수준의 코드 편집을 가능하게 하는 플러그인임.
  • 'Cursorless'의 가장 마법 같은 부분은 문서 내 개별 앵커인 '대상(Targets)'과 대상에 상대적인 위치인 '목적지(Destinations)' 개념임.
  • 문서의 모든 토큰에는 색깔이 있는 모자가 문자 위에 표시되어, 위치, 목적지, 그리고 그 사이의 경로를 기반으로 명령을 내릴 수 있게 함.
  • 예를 들어, 'function'이라는 단어는 'green urge'로 참조되어 해당 단어를 삭제하거나 이동하는 데 사용될 수 있음.

커서리스의 진정한 힘

  • 'Cursorless'는 단순한 편집 동작뿐만 아니라, AST를 이해하고 있어서 함수 전체를 걸쳐 동작을 수행할 수 있는 능력을 가짐.
  • 예를 들어, 함수를 비동기 함수로 리팩토링하는 것이 'Cursorless'를 사용하면 간단해짐.
  • Cadey는 반복적으로 'Cursorless'를 사용하면서 점차 명령들이 두 번째 자연스러움처럼 익숙해짐을 설명함.

자신만의 명령 작성

  • 'Cursorless'와 'Talon'을 사용하여 자신만의 명령을 작성하는 것이 가능함.
  • 'Talon' 명령은 패턴(말하는 단어)과 캡처(추출하고자 하는 것)로 나뉨.
  • 가장 복잡한 'Talon' 규칙을 예로 들어, Go 언어에서 메서드를 선언하는 방법을 설명함.

포인터 개념의 새로운 설명 시도

  • Cadey는 Go 언어에서 포인터 개념을 설명하기 위해 'raising'과 'lowering'이라는 용어를 실험 중임.
  • Go 언어의 포인터 문법이 C 스타일을 사용하는 것에 대한 대안으로, 포인터 값과 일반 값 사이를 'raising'과 'lowering'으로 표현하는 방법을 탐색 중임.

GN⁺의 의견

  • 이 기사에서 가장 중요한 점은 'Cursorless' 확장 프로그램이 음성 제어를 통해 프로그래밍의 접근성을 향상시키고, RSI와 같은 부상으로 인해 타이핑이 어려운 사람들에게도 코딩을 가능하게 한다는 것임.
  • 'Cursorless'의 기능이 특히 흥미로운 이유는 코드를 음성으로 편집할 수 있는 혁신적인 방법을 제공하며, 이는 소프트웨어 개발의 미래에 대한 새로운 가능성을 열어줌.
Hacker News 의견
  • 글쓴이의 놀라움과 자신의 Talon 실험 레포지토리 공유

    글쓴이는 자신의 글이 인기를 끌고 있는 것에 놀라움을 표현하며, Talon 실험 관련 GitHub 레포지토리를 공유함.

  • Talon을 이용한 코드 조작과 음성 명령의 유용성

    Talon이 tree-sitter AST를 활용하여 코드의 '부분'을 조작하는 것은 Vim의 textobjects와 유사하나 음성 구성 요소가 추가됨. 음성 명령을 통해 키보드 조작 중 다른 작업을 예약하는 기능이 흥미로움.

  • 음성 대신 키보드를 사용하는 avy와의 비교

    avy와 유사하게 작동하지만, 키보드 대신 음성을 사용하며, AST 인식 명령어와 결합됨.

  • 음성으로 프로그래밍하는 데모에 대한 링크와 감탄

    음성으로 프로그래밍하는 데모 영상 링크 공유와 해당 영상이 주는 매혹적인 경험에 대한 언급.

  • Cursorless에 대한 개요와 실제 사용 예시를 보여주는 Strange Loop 발표

    Cursorless에 대한 일반적인 개요와 실제 사용 모습을 볼 수 있는 Strange Loop 발표 영상 링크.

  • Cursorless 개발에 대한 지지와 개인적인 사용 장벽 느낌

    Cursorless 개발에 대한 지지를 표현하면서도, 실제로 사용하기 위한 정신적인 시작 비용이 높다고 느낌.

  • 음성 명령어 선택에 대한 궁금증

    'urge'와 'bat'와 같은 특정 단어 선택의 이유에 대한 질문과 관련 알파벳으로 시작하는 다른 단어 사용 가능성에 대한 의문.

  • 시선 추적 기술을 이용한 커서 위치 조정 가능성에 대한 질문

    시선이 머무는 위치에 커서를 위치시킬 수 있는 시선 추적 기술의 현재 상태에 대한 의문 제기.

  • RSI 경험과 타이핑 스타일 변경으로 인한 개선 사례 공유

    RSI 문제를 겪었던 경험과 다양한 인체공학적 도구를 시도했으나, 타이핑 방식을 바꾸는 것이 큰 도움이 되었다는 개인적인 사례 공유.