- 12月10日
🚥 (주절주절) Factor와 Io
Factor와 Io 모두 예전에 덕질하던 프로그래밍언어.
이번엔 추억놀음이나 포스팅해보려고.
Factor https://factorcode.org/ https://en.wikipedia.org/wiki/Factor_(programming_language) 팩터는 Functional, Concatenative programming언어인데, Forth와 같은 방식의 평가규칙을 가졌지만, Semantics은 Smalltalk이나 Lisp 같이 고수준의 추상화를 작성하기 적절했었다. 그리고 Native compilation +...
- 12月07日
🐮 process-tree 정리의 rhapsody
발단 상황배경:
내 프로그램은 순박하게 yt-dlp을 실행한다. 실행된 yt-dlp은 또 내가 지정한대로, 실제 다운로더로서 aria2c을 실행하고, 이렇게 실행된 aria2c은 다시금 내가 지정한대로, 충실히, 자기자신을 10개 정도의 동시프로세스으로 복제하여 병렬실행된다. …그런데…
갑자기 Control-C(SIGINT)을 눌러 내 프로그램을 종료했다. 😕 yt-dlp 프로세스와 그 하위 aria2c 프로세스 10여개는 종료되었을까? … yt-dlp, aria2c에 기대하는 behavior은: 그렇다-이다.
그런데 그렇지 않을...
- 12月06日
🌋 (주절주절) react.js / next.js RCE 보안문제와 아기 히틀러 딜레마
2~3일 전부터 해외 커뮤니티에서는 크게 이슈가 됐고, 한국 뉴스피드 등은 이제 좀 올라오는거 같다.
HN: RCE Vulnerability in React and Next.js (github.com/vercel) 댓글을 보면 충격적이다.
예전 log4j RCE보다 내 생각엔 위험할 것 같다. …왜냐하면 누구나 아무 생각 없이 그냥 써왔을거고, 그러려고 선택한 스택일테니까. 🥟
공교롭게도, HN: 30 years ago today "Netscape and Sun announce JavaScript"...
- 11月30日
🐌 블로그 디자인 수정 + 제목 자동 emoji 붙여주기
블로그 CSS을 또 수정하고, 레이아웃도 좀 더 고쳤다. 간단하게 가볍게 보였으면 해서.
그런데 그간 고민해오던 것들이 있음:
(예전에) 귀찮아서 new-ping.pl-스크립트 같은거 짜놓고 자동 생성한 포스팅 제목으로 그대로 포스팅한 "Ping ….."-같은 제목의 포스팅들은 archives에서 봐도 뭐가 뭔지 구분이 안됨. h1-같은 markdown/org-mode에서 export한 제목과 각 포스팅의 제목(이것도 h1-같은 태그인)이 눈에 딱 들게 구분이 되지 않았음. archives에서 각 포스팅의...
- 11月22日
😪 scripts-rofi-perl5 릴리즈
https://github.com/ageldama/scripts-rofi-perl5
스크립트 많이 작성해서 자동화해서 쓰는데, 터미널 열거나 하기 귀찮고, 모두 한 디렉토리에 넣어두기도 정리가 안되는거 같아서 작성해서 몇 년 전부터 써왔다.
자동으로 최근 실행한 스크립트부터 표시하도록 히스토리를 저장해서 순위표시.1
최근에 "터미널 내부에서 실행하기" 기능을 추가하고 좀 많이 다듬어서 릴리즈.
터미널 안에서 실행되어야 하는 스크립트인데, 그냥 창없이 실행되면 낭패이기 때문에2, 과거 실행내역에 따라서, 터미널에서 실...
- 11月19日
🌘 Python 3.14 "no-GIL"보다 concurrent.interpreters, 그리고 Tcl 데자뷰
최근의 파이썬은 아주 오랬동안 multicore/parallelism을 지원하기 위해 걸림돌이었던 GIL에서 자유로워진 "no-GIL" 옵션이 베타 단계. ("free GIL" 혹은 "free threading"이라고도 부르는듯) https://blog.jetbrains.com/ko/pycharm/2025/08/faster-python-unlocking-the-python-global-interpreter-lock/
"no-GIL"이 분명히 중요한 변화이겠지만, 내겐...
- 11月16日
🕯️ 내 emacs elisp "requires"
Emacs 설정을 모듈별로 분리해서 정리해서 사용한다.
다음처럼 init.el-파일에서 로딩함: 사용예시
1 2 3 4 5 6 7 8 9 10 11 12 13 (ag-requires :tag-:*feats :compile ;; ... 바이트컴파일 'ag-feat-recentf ; dpkg=+ 'ag-feat-savehist ; dpkg=+ 'ag-feat-avy ; dpkg=elpa-avy :nocompile ;; ... 여기부터는 바이트컴파일X 'ag-feat-rg ; dpkg=elpa-rg...
- 11月10日
🧬 [TIL] common-lisp defmacro와 forward-declaration
의외로 단순한건데, 컴파일한 sbcl image에서 runtime에 unbound variable 컨디션을 발생시킬 수 있음.
1 2 3 4 5 6 7 8 9 10 11 12 (defmacro with-foo-bar (base-str (foo-var bar-var) &rest body) "BASE-STR에 foo, bar 문자열을 붙인 FOO-VAR, BAR-VAR 바인딩을 만들어, BODY을 해당 바인딩을 적용하여 실행" ;; NOTE let-대신 symbol-macrolet 사용해도 ok: `(let...
- 09月24日
▶️ [throttled-restart.tcl] throttling 적용하여 파일변경시 자동으로 프로세스 재시작하기와 Tcl 취향고백
코딩을 하다보면, 파일변경시에 자동으로 빌드, 서버재시작, 혹은 테스트케이스를 실행 되도록 하면 꽤 편리할 수 있다.
커먼리습 같은 경우엔 바로 실행중인 코드가 변경되는 방식이어서 신경 쓸게 별로 없고, Rails 같은 웹프레임웍은 자동으로 재시작하거나 변경된 코드를 다시 로딩해주기도 하고, PHP 계열도 웹브라우저를 refresh하면 자동적으로 새 코드으로 실행하게 된다.
다른 컴파일이 필요한 언어나, 파이썬, 펄 같은 언어들, 혹은 자동으로 코드에 반영되는 언어/프레임웍을 사용하더라도, 원하는 태스크(예: 테스트케이스 실행)...
- 09月20日
🧑⚖️ "the x files" / 90년대의 분위기
90년대 중반, 학생일 때, KBS2였나에서 그 유명한 시그널 음악과 성우들의 더빙으로 엑스파일을 처음 접했었다. 나는 당시에 이미 "에일리언", "터미네이터" 같은 헐리웃 영화들을 접해오며 SF취향의 싹을 키워오던 때였던 것 같다.
그런 "공상과학" 영화나 해외TV 드라마는 SF에 대한 취향, 더 나아가서는 여러가지 가능성의 상상과 특정한 분야에 대한 흥미를 갖는데 도움이 된 것 같다.
실제로 "스컬리효과"1를 받거나, 철학2에 대한 흥미를 갖기 시작한 것 같다. 물론...
- 09月19日
🥣 (주절주절) jwz의 netscape navigator 2.0 출시 30주년, 내 기억들, 그리고 오늘
https://www.jwz.org/blog/2025/09/netscape-navigator-2-0-was-released-30-years-ago-today/
jwz1이 넷스케이프 웹브라우저 2.0 출시 30주년 포스팅을 올렸다. jwz은 커먼리습, Lucid Emacs, Xscreensaver 등으로 유명하지만, 가장 역사적으로 큰 족적은 아마도 넷스케이프 웹브라우저의 초기 개발자라는 점일거 같다.
넷스케이프는 90년대의 닷컴시대를 열고, 우리가 현대에 알고 있는 웹브라우저를 대중이 쓸 수 있도록 만들어준 제품이었다고 생각한다....
- 09月18日
🚍 블로그 css 조금 더 수정
너무 흰색 배경에 눈이 짠한거 같아서 바꿔봤다.
darkmode 켜면 되기야 하겠지만.
과거 Solaris/SunOS의 SunView이나 CDE환경 색상을 좀 흉내내고 싶었다.
https://en.wikipedia.org/wiki/SunView https://en.wikipedia.org/wiki/Common_Desktop_Environment 나는 마음에 좀 드는거 같다.
hugo theme을 정리해서 공개/공유해도 좋겠다는 생각을 하는데… 너무 정리가 않되어 있어서. 다음으로 미뤄야겠다.
- 09月15日
🍆 freebsd + 고물랩탑 쓸만하다(재밌다!)
시도하기 이전에는 좀 오래되고, 이것저것 맛이 가기 시작한 싸구려 랩탑 asus e502ma-을 서브랩탑으로 집책상에서 써왔었다.
메모리도 4GB, 확장이 불가능하고. 배터리도 조금 부풀었고 충전도 잘 되지 않는다. 거기에 외부전원어댑터를 붙이지 않으면 어째서인지 eDP이 출력되지 않는다. ㅎㅎㅎ
그래도 어쨌든 debian-stable 설치해놓고 samba 서버로 책상에서 쓰거나 하기엔 적당했다. 딱히 동영상을 틀어 놓거나 하는 것도 포기해야 할 정도로 빠르지도 않았다. 웹브라우징도 느렸다.
그러다가 freebsd 설치를 했다...
- 09月15日
🔴 [작은 팁] freebsd 외장hdd 빠르게 쓰기 (exfat 파일시스템)
freebsd을 써오면서 좀 불만이었던게1, usb으로 외장 hdd을 연결할 때 호환성 혹은 성능이 너무 느림.
그래서 아예 빠른 유선랜을 연결해놓고 samba으로 파일을 백업/공유했었다.
호환성은 linux luks 지원도 아쉽지만, 대부분의 외장하드 파일시스템을 잘 지원하지 못하는거 같았어서.
그런데, 이번에 다시 시도하면서 그냥 얌전하게 fusefs + fusefs-exfat 사용하니 그럭저럭 괜찮은 성능이 나와서 이렇게 해야겠구나 생각.
fusefs + ntfs 같은 port도 있는데, 이것도 빠를거 같지만, exfat이...
- 09月13日
🩰 블로그 검색을 다시 짰다 (PageFind 제거)
pagefind이 freebsd 환경에서 동작하지 않아서, 그냥 다시 짰다.
fuse.js을 사용하는 예제 등이 있었지만1, 그럴거면 그냥 ajax으로 얻은 index.json-을 직접 검색해도 될거 같아서 그냥 javascript 작성 오랬만에.
그리고 ui등도 내 취향에 맞게 간단하게 만들어서 만족스럽다.
pagefind처럼 검색어에 따라 필요한 만큼만 http get하는게 아니라 조금 아쉽지만, 전체 index.json-fetch해도 500kb 안쪽인거 같아서 괜찮지 않을까 싶음. (거기에 브라우저캐슁도 먹으니까)...
- 05月08日
🩳 ddakong v1.1 릴리즈: FreeBSD / kqueue
릴리즈 v1.1 freebsd 지원: 빌드가능하도록 수정 + kqueue 이벤트처리 추가
(원래는 epoll/linux만 지원)
<https://github.com/ageldama/term-ddakong/releases/tag/v1.1>
darwin/osx, openbsd 등은 빌드+실행될거 같은데 확신은 못하겠믐. 매 릴리즈마다 크로스컴파일해서 바이너리릴리즈해왔는데, 리눅스는 aarch64, armhf, i686, x86_64 자동화해놨는데, freebsd은 아직이라 이번엔 스킵. …오랬만에 freebsd 켜서 쓰는데...
- 05月07日
🌹 ddakong v1.0 릴리즈: lua scripting 시스템
릴리즈 v1.0 ANSI C/DLL 플러그인만이 아니라, Lua scripting plugin 만들어서, 그냥 루아스크립팅만으로 플러그인 같은 확장이 가능해졌다.
그리고 이것저것 안정화/문서화하고, 더욱 hackable🪓🔥하고 가벼운 터미널입력기가 되었음.
https://github.com/ageldama/term-ddakong/releases/tag/v1.0
- 05月03日
✝️ ddakong v0.0.8 릴리즈: 안정화 및 플러그인 시스템
스크린샷: < https://github.com/ageldama/term-ddakong >
< https://github.com/ageldama/term-ddakong/releases/tag/v0.0.8 >
릴리즈 v0.0.8 안정화/문서화하고, 이제 플러그인 시스템을 도입해서 원하는대로 hackable🪓🔥한 터미널용 입력기가 되었다.
플러그인 작성해서:
한글만이 아니라 다른 언어 입력기로 사용할 수도 있음. UTF-8 이외에 다른 인코딩으로 출력가능함. (예: EUC-KR, EUC-JP …) 토글키...
- 05月02日
👶 ddakong 한글입력기 릴리즈
https://github.com/ageldama/term-ddakong 일단 내가 fbterm에서 가볍게 한글쓰고 싶어서 만듦.
ansi c99만으로 가볍게 작성했다. 다른 라이브러리 의존않고. 만족스럽다. 빌드하니까 25 KB 정도 나오네. 만족.
더 했으면 하는 일들은:
lua -or- dlopen 등으로 다른 입력기 지원하기 (예: 3벌식) utf-8 이외의 인코딩 지원하기 raspberry pi 32/64 바이너리 릴리즈 (armhf, arm64) 소스코드 조금 포매팅, 주석작성, 문서화 빌드개선 : 사용하는 함수 등 체...
- 04月09日
🧬 i3 키바인딩을 rofi으로 확인하고 실행하기
i3wm 써서 매일 리눅스 사용.
키보드만 써서 사용하는건 좋은데, 키바인딩이 늘어나서 맨날 i3 키바인딩 까먹음.
그래서 만들어봤다:
현재 i3 config에 등록된 키바인딩 자동으로 표시 🖥️ rofi에서 선택하면, 그걸 또 실행까지 해줌 🚀 gist: https://gist.github.com/ageldama/377d00159cfe0cb387f20297ca6a5e6b
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33...
- 04月02日
7️⃣ 가볍고 빠른 antiX Linux + runit, koreader 그리고 bloatware
antiX linux 오래된 랩탑으로 fedora 그냥 아무 생각없이 대충 쓰는데 좀 버벅. 어차피 메인드라이버도 아니고 그냥 그러려니 하고 살다가, 좀 답답해서 lightweight linux distro을 골라봤다.
https://antixlinux.com/
거기에 이전에 시도했던 void linux에서 마음에 들었었던 runit을 init으로 쓰는 spin으로 선택해서 설치했다.
결과는… 놀라울 정도로 가벼웠다.
luks disk encryption + btrfs을 기존에는 적용했다가(btrfs이 기본옵션이어서 귀찮아서),...
- 03月20日
👞 darkmode.js으로 변경
직접 짠 css/js에서 darkmode.js으로 변경했다. css에서 보색관계를 고려하는 것도 좀 귀찮고 해서.
변경도 예쁘게 애니메이션 나오고, system preference 지정도 자동으로 되고.
(미래의 나를 위해) css/html에서 class 1 2 3 .darkmode--activated .logo { mix-blend-mode: difference; } 1 <span class="darkmode-ignore">😬<span>
- 03月18日
🎃 xrandr 🖥️모니터 연결 자동전환 스크립트🐫
요즘 메인으로 사용하는 💻랩탑을 i3wm으로 세팅해서 쓰고 있다. 다 편한데, 🪟윈도나 icewm처럼 Windows+P 누르면, 다음 모니터연결 조합으로 전환되는게 부러웠다.
매번 터미널 열고 xrandr 치거나, arandr 열어서 세팅하기 귀찮으니까. (물론 시스템 시작하면, 내가 좋아하는 설정이 적용되도록 해놓았지만)
그래서 그냥 윈도의 Win+P 키처럼 동작하도록 스크립트를 짜봤다.
🐫...
- 03月16日
🚙 Hugo + pagefind 붙여서 검색기능 추가했다
https://pagefind.app/
페이지 생성시에 인덱싱하고 그걸로 웹브라우저내에서 js으로 검색하는 pagefind을 붙여봤다.
처음엔 좀 어색했는데, 커스터마이징을 별로 제공하지 않기는 했지만, 그래도 이것저것 뜯어서 CSS도 마음에 들게 좀 수정하고, JS/DOM 이벤트도 적당히 잡아서 마음에 들게 동작하게 고쳤다.
별로라고 생각하던 부분들도 다 뜯어 고치고 하면서 더 블로그가 마음에 들어진다. 🤠
- 03月15日
😹 css, design 새단장 + dark-mode
css 더 단순하게 만들고, 디자인들도 그냥 내 마음에 들게 뜯어 고침. 다크모드도 작업해서 만들어 넣고.
css 애니메이션도 작업해 넣었다가, gpu 너무 쓰는거 같아서 그냥 끄고 정적효과로만 냅둠.
hugo 같은 static site generator이 좋은 점, 그리고 그냥 단순한 css와 오래된 jquery으로 그냥 뚝딱거려서 작업.
- 03月12日
💻 data-driven programming & data-driven design & data-oriented programming ???
비슷한 용어들. 내가 이해한 정리들은 1:
data-driven programming 데이터처리를 중심으로 하는 프로그래밍언어나 도구, 스타일.
예를 들어, awk, perl은 입력의 패턴에 따라 코드를 나누고 출력을 만들기 수월한 방식을 제공.
https://en.wikipedia.org/wiki/Data-driven_programming a "replacement" for awk and sed (by Larry Wall) data-oriented design 현대 cpu의 아키텍처에 적절하도록, cpu...
- 11月05日
🌉 FreeBSD + Samba 4.16 + Symbolic Links 설정
freebsd에서 samba 파일서버 세팅은 프비핸드북 참고 https://docs.freebsd.org/en/books/handbook/network-servers/#network-samba
symlink을 samba에 노출하기 /usr/local/etc/smb4.conf 파일에 다음을 추가:
[global] ... allow insecure wide links = yes [share] ... follow symlinks = yes wide links = yes unix extensions = no mdns으로 samba 파일서...
- 11月05日
🚖 Debian Bookworm(12.2), Chromium + Wayland에서 ibus 한글 입력 고치기
나도 x11에서 wayland 기반으로 옮겨가고 있는데, 다른 것들은 대부분 괜찮거나 포기.1
가볍고 좋은데, debian chromium에서 ibus으로 한글 입력이 안되어서 알아봤다.
1) 문제 원인 :: gtk3 backend으로 chromium이 동작해서, ibus연동이 안됨. 힌트 얻음: https://bugzilla.redhat.com/show_bug.cgi?id=2058976 2) 확인 :: 실행중인 chromium이 어떤 버젼의 gtk3/4와 연결되었는지? 1 2 3 4 for pid in $(pgrep...
- 03月15日
🐀 내 책상에서 유선랜 환경
개인환경을 조금 특이하게 사용하는데, 그 이유와 방식.
why: 유선랜? (무선랜 대신) 키보드/마우스 입력이 가장 부드럽게 전달되어서 유선으로 연결해서 사용한다.
x2x으로 연결하거나, ssh-x11-forwarding으로 다른 컴퓨터에서 실행하는 프로그램을 디스플레이와 입력장치만 현재 자리에서 그대로 사용할 때에 네트웍 연결속도가 딜레이가 적어야 쾌적해서. 1
why: x11? (wayland 대신) 요즘 리눅스/bsd 데스크탑 기본설치하면 wayland으로 세팅하는 경우도 많은데, 네트웍을 통해서...
- 03月08日
😣 News 08/03/2023 .02 : reactjs, rust, zig, hiring, nes
"리액트가 날 인질으로 잡고 있어요" https://emnudge.dev/blog/react-hostage
…말해 뭘할까 싶은데. :see_no_evil:
포스팅 자체는 react, hooks 같은 것들의 complexity에 대한 이야기이지만.
오히려 흥미롭게 생각하는 것은, 과거 한국에서 '퍼블리셔'라고 하던 사람들이 어떻게 되었는가 생각해보며, 함께 지금의 '프론트엔드 개발자', 혹은 '앱 개발자', '리액트 개발자', '자바스크립트 개발자...
- 03月08日
⁉️ Ping 08/03/2023 .01 : 전자책읽기
linux에서 전자책 편안하게 읽는 방법들 간단하게 몇가지 팁들만 나열, 별로 내용은 길게 늘여 쓰지 않으려고:
linux, 그중에서도 가벼운 하드웨어와 단순하게 잘 동작하는 배포판.
여러가지 불필요한 군더더기 없고, 패키지들이 조금 오래된 버젼이어도, 안정적으로만 동작하면 상관 없음. 그래서, debian stable -or- testing 쓰면 속이 편함. 하드웨어는 raspberry pi 3/4 둘 다 좋았다. 1 …특히 전력소모도 거의 없고, 딱 모니터 연결해 놓고 팬소음 거의 없이 쾌적하게 책을 읽기 좋다. calibre...
- 03月02日
🧧 `ncal -3` 직접 Perl으로 짜봤다
ncal -3 이 뭐냐하면:
https://man7.org/linux/man-pages/man1/cal.1.html
…뭐 이런건데, 개인적으로 저전력 글쓰기 전용머신에서 사용하는 스크립트에서 배포판이 달라서 패키지를 못찾겠어서 1, …그냥 직접 짜서 대체했다.
https://github.com/ageldama/configs/commit/66bd92b42ba5a5ee03b9336370c3a8f84293e488
그래서 스크린샷은:
재밌었던 부분은:
어차피 Perl으로 전부 짜서 쓰는 스크립트였는데, 아예 외부 커맨드라인 도구 의존성을...
- 03月02日
🍯 C++: Golang-ish `defer`-macro
별거 없는데, 문득 심심해서 툭닥거려봤다.
원하는 것과 접근법 https://go.dev/blog/defer-panic-and-recover https://docs.rs/defer/latest/defer/fn.defer.html https://ziglang.org/documentation/master/#defer golang/zig에서처럼 defer 등록한 LIFO순서대로 호출되도록.
검색해보면, 대부분 RAII을 사용하거나 하는 것들이 보인다:
DDG: c++ golang defer...
- 02月26日
⛲ Ping 26/02/2023 .01 : 디자인 css 가볍게 수정
아예 아무런 스타일도 주지 않고, 그냥 알아서 html/css만으로 잘 보이도록 고쳤다. 웹폰트니 그런것도 그냥 껐고.
불필요한 스타일이나 폰트로딩을 줄여서 가볍고, 어차피 웹브라우져의 'reader mode' 지원 같은걸로 내가 스타일 주는 것보다 훨씬 읽기 편안하게 볼 수 있을테니까.
lynx, w3m 같은 텍스트 웹브라우져에서 읽으나 그냥 무거운 웹브라우져으로 읽으나 사람마다 알아서 잘 읽히도록 하는데에만 집중해봤다.
- 02月19日
💤 Ping 19/02/2023 .02 : 이름에 대한 추측 (2) HAL, IBM, JCL
(…지난번 C/C++/D/Zig 이름에 대한 추측 에 이어서, 그냥 떠올라서)
HAL 9000 –> IBM
ASCII방식, 혹은 그냥 알파벳에서 한글자씩 앞으로 땡기면, "IBM"이 된다. JCL
IBM의 "Job Control Language", 메인프레임 등에서 스크립팅을 위해 쓴다고 한다. "IBM"에서 다시 또 한글자씩 앞으로 땡기면, "JCL". ㅎㅎ뭐 그냥 그렇다고.
- 02月19日
🈲 Ping 19/02/2023 .01 : 어른이 되기
(최근 며칠 우울하고 내가 어른이기는 한가 싶은 자괴감에 빠졌었다. 그래서인지 자기합리화를 위해 이런 글을 쓰고 있는거 같기도 하다.)
나의 옛날 이야기 80년대의 기억에는, 참 자주도 불량식품 단속에 대한 이야기가 나오던 것 같아. 그리고 실제로도 만화, 애니메이션, 게임, 장난감 등등의 라이센스나 품질관리에 대한 관념이 희박했던거 같아.
지금은 이것저것 검정이나 인증마크를 더 붙이기 바쁘게 되어서 너무 과도하지 않은가 싶을 정도니까, …그래도 없는 것 보다는 낫지 않을까.
물론 80, 90년대는 일본문화개방도 되지 않았었고 엄...
- 02月07日
🧑🍼 Ping 07/02/2023 .01 : C++, D, Zig의 이름에 대한 추측
문득 떠오른 생각이라서, 그냥 추측.
C : 로마숫자(roman numeral) 으로 100.
처음부터 의도한 숫자가 100이 아니었을거란건 나도 알거 같아. BCPL이나 그런 역사에 대해 나도 조금은 아니까. 그런데 그 이후에 따르는 언어들이 그런 패턴을 만든거 같아서 재미로 쓰는 글. C++ : 위의 로마숫자이란 생각과 C언어의 x++ 연산 으로 생각해보면,
즉시 평가할 때에는 C == 100, 그냥 C와 같아 보임. 그런데 저장된 값은 +1, == 101. …어쨌든 그냥 볼 때엔, 씨언어와 거의 같아 보이지만, 그래도 좀 더...
- 02月04日
🔋 Ping 04/02/2023 .01: 씨언어의 장자 zig, rust, golang, c++ ???
최근에 재미로 zig 을 정말 재밌게 '읽었다'. 공부해보고 실제로 뭔가 코딩을 많이 해보거나 한 것은 아니고, 대체 어떻게 동작하는 프로그램을 이걸로 만들라고 하는건지 이해하고 싶었기 때문에 해봤다.
zig으로 프로그램을 짜는게 궁금하던 부분은 haskell의 monad을 이용한 방식, 혹은 apl이나 prolog으로 실제프로그램을 어떻게 만들 수 있을지 패러다임부터 다른 언어를 공부하고 생각해보는 것과는 조금 다를수도 있겠다. 어쨌든 그냥 imperative언어이니까.
오히려, zig을 어떻게 써먹어야 할지 궁금...
- 02月03日
🈵 Ping 03/02/2023 .01: 블로그 디자인 수정
블로그를 내려놓았다가, 다시 글을 쓰고 생각들을 어느 정도는 공개를 하고 지내고 싶어져서 다시 열었다.
사용하던 테마를 수정해서 쓰기로 하고, CSS을 여기저기서 복붙해서 적용해보고, 갈무리 웹폰트도 적용해서, 오히려 원본 테마보다 더 가볍게 적당히 만들어봤다.
색상도, 외양과 기능 디자인 모두 어느 정도 내 취향에 맞게 꾸며 봤다.
- 02月02日
🖖 Ping 02/02/2023 .01: xemacs, gemini, gemtext
추억이 그리워지는 시대여서 그런거 같기도 하다. 그럼에도 어차피 그렇게 다시 사용하기엔 끔찍할텐데.
1. “제미니 계획” gemini protocol 을 기반으로 뭔가 새로운 것을 상상하면 즐겁지만,
정말 제한적이어서, 내 마음대로의 확장을 떠올리게 된다.
실은, gemtext와 gemini protocol은 마음에 드는 부분이 바로 그런점이지만: 오히려 제한적이고, 그냥 무시해도 되는 것들을 굳이 지원해줘야 할 것 같은 기분에 져서 우겨넣으면서 complexity만 무한대으로 보낼바엔, 이렇게 무시할 것은...
- 11月13日
🏰 Ping 13/11/2022 .01
비가 많이 내렸다. 일년간 어떻게든 자라던 잎들이 낙엽이 되어 떨어졌다.
그런데 딱히 걱정스러울게 없었다.
- 06月29日
☕ react.js, next.js, ssr, progressive hydration, 그리고 "Islands Architecture"와 fresh/deno
https://jasonformat.com/islands-architecture/
…이전에 몇번 언급한 hotwired 처럼. ㅎㅎ
지금의 reactjs, vuejs등은 다음과 같은 방식이 기본:
server: rest/gql등으로 요청을 받아서, json으로 응답. browser(client): 응답으로 받은 json을 받아서, html을 생성하여 렌더링. …이게 편하다고 생각해서 여기로 온거 같아. 나말고도 대부분의 사람들이 웹화면을 개발하던 시절에는 이렇게 만들고 싶었었던거 같아. 1 2
그리고 당연히...
- 06月29日
🌹 linux/unix 팁 29/06/2022 .01
리눅스/유닉스/터미널/쉘은 아는만큼 편하게 쓰기 좋은거 같다.
그리고 어떻게 연결해서 활용해 쓰는가에 따라서, 정말 편리해지기도 해서.
zoxide 으로 chdir 간단하게 최근/디렉토리 이동한 히스토리에 따라서 (“frecent”) 이동하기:
fzf+zsh의 Control-R도 좋고1,
oh-my-zsh 내장인 plugins=(z)도 좋지만2
…나는 가능하면 zoxide이 가장 가볍고 좋은거 같다.
설치하고 나서, eval "$(zoxide init zsh)"
그리고, z...
- 06月24日
👨🦯➡️ The Grug Brained Developer
감동적인 글이다ㅋ:
https://grugbrain.dev/
문법도 완전 grug스럽게 작성해서 반가운 글이었다.
완전히 모두 내 생각과 같지는 않아도, 이야기하는 “FOLD” 때문에 일어나는 일들과 조금은 그래도 grug답게 그냥 해내려는 생각들이 유용.
그치, grug이 공룡과 구분되는 점은 그런거겠지. ㅎㅎ…
msa, reactjs, ejb, osgi. 공감하는 생각들.
… black think juice 맛있다.
- 06月19日
🎪 "Software disenchantment"
https://tonsky.me/blog/disenchantment/
재밌게 읽었다. 계속 생각해오던, 이전 포스팅에서도 이야기한 생각들.
“…의 진보도 항상 그때그때의 1보만이 진보이며 2보도 3보도 n+1보도 결코…”1
:winking_face:
…그치 ejb/xml을 쓰든, 뭔가 또 새로운 언어나 프레임웍으로 대단한것처럼, 진보한것처럼 쓰려고 해도, 현실적으로는 빌드도 오히려 apache ant 쓸때보다 더 엉망일지도. 성능이든 iteration의 가벼움이든.
정말 진...
- 06月17日
🔮 Ping 17/06/2022 .01
“Code bloat has become astronomical” https://www.positech.co.uk/cliffsblog/2022/06/05/code-bloat-has-become-astronomical/
극공감. 그렇다고 의존성 포함하면 몇 기가나 되는 것들이, 하는 일을 보면 안습. …그렇다고 그런 방법들만을 고르는 안목이 엄청나게 힙한것도, 스스로에게 이익이 되는것도 아니고.
데스크탑에 작은 서브모니터 연결해놓은 rpi3b+이 rpi4보다 빠르지는 않을지 몰라도, micro-sd...
- 06月15日
🔮 Ping 15/06/2022 .01
비 내리는 화요일. ☔
jinja2 template include + cache? + file-time 재밌는걸 찾았다.
jinja2을 사용하면서, 하위 include으로 내려갈수록, file을 생성해줘도, 그냥 touch을 해줘서 파일시간을 갱신해줘야 template cache을 무시하는거 같아.
그래서,
1 2 3 4 5 6 7 8 9 10 11 // gulpfile.js: const buildTask = series(cleanTask, esbuildTask, injectTask, touchInjectedTask);...
- 06月13日
🥯 "모두를 위한 algebraic effects!" ...정말루?
뭐 대충 다음과 같은 글들:
https://www.eff-lang.org/handlers-tutorial.pdf
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/08/algeff-tr-2016-v2.pdf
…그리고 몇 개의 구현체, 포스팅들: (아직은 별루인거 같은데)
https://hackage.haskell.org/package/fused-effects
https://github.com/dry-rb/dry-effects...
- 06月13日
🧑🦯 Ping 13/06/2022 .01
기운 없는 날… 쉬어야겠다.
- 06月12日
📱 jq manpage와 code
https://stedolan.github.io/jq/
jq이 뭐하는 도구인지 소개는 한국어로 많은데, 그걸 갖고 조금 복잡한 패턴을 처리하는 자료는, 머리 나쁜 내가 이해하기에 적합한 자료는 찾지 못해서, 그냥 manpage을 읽고 시도.
이미 알고 있는 도구, 혹은 이미 대부분의 unix-like, linux 시스템에 깔려있는 도구들이 있는데, 막상 그 도구의 manpage을 차분히 읽어 보면, 내가 너무 게을렀었고 알려고 하지 않았기에 내 삶을 더 도움을 받을 수 있었을텐데, 그렇지 못했었던 도구들이 많은것 같아.
gnu...
- 06月12日
↪️ "Some Engineering Tough Sells"
https://posco.dev/blog/2022-04-23_draft_some-engineering-tough-sells/
…공감이 가는 부분들은:
dynamic serialization isn’t worth it, use statically defined serialization untested code is virtually always somewhat wrong doing things right pays off sooner than we usually imagine an ounce of design is...
- 06月11日
👊 Ping 11/06/2022
Jekyll –> Hugo …Jekyll에서, 결국 다시 가볍고 그냥 잘 동작하는 Hugo으로 블로그 변경.1
생각 남들이 뭐래도 별 관심 없이. 실은 그냥 포장지와 리본장식만 변해가는거고,
반면. 그 포장지, 리본장식과 그 의미와 가치를 제대로 분간해내지 못하니까.
도구를 도구로 보면 안되고, 도구가 나를 쓴다는것을 이해해야 하는데. 그래서 도구를 이용해 자유로워질거라 착각하면, 도구에 얽메여 끌려만 가면…, 그런데 도구에 이용당해 복종할수록 자유로워진다면 …이겠지.
끌려가며...
- 06月08日
🧍♂️ pytest fixtures와 의존성관리, 그리고 복잡도관리
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # ...tests/conftest.py import pytest @pytest.fixture def name(): return 'Pokemon' @pytest.fixture(scope='function') def monster(name): ... # ...tests/foo_test.py : def test_beast(monster): ... # <--- `def monster(..)`의 결과를 주입 받음....
- 06月08日
🛴 (HN) "asshole test"
Some years back I applied to join IBM’s grad scheme, there was a peculiar stage to the process I’ve not seen elsewhere. It was during the onsite day, where a batch of 20 or so applicants were put through various tests in an IBM office. They called it the “group test”; around...
- 06月06日
🔒 Hotwired 재밌다.
Hotwired 재밌다.
Stimulus, Turbo + Rails 7 갖고 이것저것 패턴별로 생각해보고 만드는게 즐겁네.
딱, 이렇게 문제 그자체를 이해하고 설계해놓은 것들은 익히고 사용하는게 너무 즐겁다. rails도 그랬었고, …처음 볼때에는 뭐 이렇게 단순해? 싶을 정도로.
너무 거창하거나, 실제로는 그 문제를 깊이 생각해서 푼게 아니라, 너무 범용적이고 범우주적인 해법(예: 상태관리, 컴포넌트 모델)만으로 퉁치려는것보다는. …이제 그런것들에 혹하거나 끌리지 않게 되었다.
그리고 또 한편으로는, 모든...
- 11月29日
👝 Ping 29/Nov/2020
2020년이 지나간다. 금새 또 봄이 올텐데 기대된다.
- 11月23日
🙋♀️ Ping 23/Nov/2020
logitech k480 bluetooth keyboard https://www.logitech.com/ko-kr/product/multi-device-keyboard-k480
받아서 묵혀두던 키보드. 팬터그래프 방식을 쓰던 것과는 또 다르지만 그럭저럭 마음에 든다.
가장 마음에 드는 부분은, 키들끼리의 간격이 적당하고, 키보드 레이아웃에서 마우스 이동이 없도록 키패드 부분이 없는 방식인 점, 그리고 장난감스러운 키보드지만 그렇다고 오타가 넘치도록 너무 대충 만들어진 것은 아닌 것 같아서 그럭저럭 짜증을 유발하지 않으면서 적당히...
- 11月13日
🥜 Ping 13/Nov/2020
금새 겨울이 오고 있구나.
- 11月11日
🎫 Python + Generator / LeetCode "1614. max nesting depth of the parentheses"
지난 번 작성한 Common Lisp / LOOP매크로을 이용한 구현 을 다른 언어에서였다면, 비슷한 조건으로 메모리 복잡도 O(1)으로 풀어보고 싶었다.
1 2 3 4 5 6 7 8 from itertools import accumulate def find_paren_count(s): gen_only_parens = (ch == '(' and 1 or -1 for ch in s if ch in ('(', ')',)) return max(accumulate(gen_only_parens))...
- 11月10日
💷 Ping 10/Nov/2020
올해 초에는 Vue.js을 많이 쓸일이 있었었다.
아주 오래 전에, Adobe Flex에서 MXML, ActionScript3 같은 것을 써서 화면 컴포넌트를 만들던 이후로 거의 10여년 만에 화면에 필요한 컴포넌트를 만들고 개발을 해봤다.
그 중간 중간 jQuery을 이용해서 웹화면을 만들거나 하는 경험도 있기는 했었는데, 재밌게도 그 이전에 사용하던 MXML, AS3의 컴포넌트 중심 개발방식이 훨씬 앞선 것이었다는 생각을 했다.
실제로 2008년 정도에도, 현재의 ES6 같은 느낌의 AS3으로, Class based OO을 하...
- 11月05日
🚉 Ping 05/Nov/2020
책을 몇 권 주문했다. 관심이 생긴 새로운 분야에 대한 책들이었는데 흥미롭게도 그 중 두 권이 서로 완전히 다른 분야인데 역저자가 같았다. 아마도 역자 소개에 나온 자신의 업무, 맡은 영역에서 필요하거나 관심이 깊어서 번역한 것 같다. 재밌었다.
그리고 갖고 있는 한국어로는 아직 나오지 않은 책을 세 권 정도 읽고 싶어서 다시 펼쳤다. 예전에도 조금 읽었었던 책들인데 마음에 들었던 구절들, 생각들이 다시 읽혀져 즐거웠다.
- 11月04日
📣 "org-more.el" released!
org-more.el: search .org files have certain tags (#+tags[]: or #+tags[]:)
개인 위키, KB처럼 org 파일 모음을 사용하고 있는데, 디렉토리 계층과 직접 링크 관계만이 아니라 같은 태그들으로 묶어서 각 파일들을 검색하고 리스팅 할 수 있도록 만들었다.
- 11月02日
⏫ Ping 02/Nov/2020
(functional) reactive 관련들을 다시 찾아 보고 있다.
예전에 webdev은 아니고 백엔드를 위해서 rxjs 을 쓸 일이 있었었고 꽤 재밌었다. node.js에서 async/await 이전에 동시성 처리를 하기에 유용하게 쓸 수 있었었고, 실은 그냥 monad이어서 조금만 이해를 하고 사용하면 여러모로 편리했었다.
https://github.com/stoeffel/awesome-frp-js 여기에 보면 rxjs이외에도 다른 js을 위한 FRP라이브러리들이 많이 생겼었다.
그 중에 흥미가 있어서 bacon.js 을...
- 10月26日
📥 "asdf-subdir-finder" released!
지난번 포스팅한 "asdf 정의를 내 코드베이스의 하위디렉토리에서 자동으로 로딩하기"를 프로젝트으로 만들었다.
https://github.com/ageldama/asdf-subdir-finder
사람마다 커먼리습으로 작업하는 스타일에 따라 많이 다를 수 있어서 안 써도 되기도 하지만, 그냥 정리해서 공개는 해봤다.
- 10月23日
🔝 "커먼리습 ASDF 불러오기 편하게 하기" 대모험
ASDF와 system definition file 검색의 정석 이전에 ASDF을 이용하여 커먼리습 프로젝트의 의존성, 시스템을 로딩하기 에 대해서 설명한 적이 있었다.
이전에 다룬 내용은 정석적으로 $HOME/common-lisp 디렉토리에 .asd 파일을 심볼릭링크를 걸고, (asdf:load-system ..) 을 시도하는 내용이었었다.
Prototyping등 더 편안하게 혼자 코딩을 할 때는… 혼자 커먼리습 코딩을 하면서, 나는 더 간단하게 프로젝트를 시작하는 방법을 선호한다.
커먼리습이 파일 이름이나 경로에 대해서 의존하...
- 10月21日
🐖 CommonLisp (w/o LOOP-macro) / LeetCode "1614. max nesting depth of the parentheses"
어제 작성한 LOOP매크로을 이용한 구현 을 풀어서, 만약 LOOP매크로가 없었더라면 어떻게 짰을지 작성해봤다.
1 2 3 4 5 6 7 8 9 10 11 12 (defun max-nested-parentheses-raw (s) (declare (optimize (speed 3) (safety 0)) (type simple-string s)) (let ((n 0) (result 0)) (declare (type fixnum n result)) (dotimes (s--cur-idx (length s)) (let ((ch (elt s...
- 10月20日
🫛 CommonLisp / LeetCode "1614. max nesting depth of the parentheses"
문제 https://leetcode.com/problems/maximum-nesting-depth-of-the-parentheses/
작성한 코드 1 2 3 4 5 6 7 8 (defun max-nested-parentheses (s) (declare (optimize (speed 3) (safety 0)) (type simple-string s)) (loop with n fixnum = 0 for ch across s when (member ch '(#\( #\))) do (incf n (if (eql #\( ch) 1...
- 10月19日
🔀 Ping 19/Oct/2020
가을 도르트문트 집은 꽤 평화로웠다. 날씨가 좋은 날도 많고 공기도 맑았다. 한가한 주말이 되면 창문을 열고 잔디가 깔린 정원을 보며 담배를 태우고 커피를 내려 마셨다.
그리고 지하세탁장에 빨래를 돌려놓고 핑크플로이드의 다크사이드 오브 더 문 앨범을 좋은 스피커로 틀어놓았다. 잘 어울렸다.
서울의 변두리에서 맞는 이번 가을은 그런 기분이다. 조용하고 가을 햇살과 공기가 맑아졌다.
그리고 핑크플로이드를 그렇게 여유롭게 들을 수 있었다.
오늘 읽으려는 글...
- 10月17日
🍃 Ping (2nd) 17/Oct/2020
올해 초 cl-state-machine 라이브러리를 만들어 공개한 이후로 커먼리습을 쓰지는 않았다.
다른 직업상 쓰는 언어들만을 쓰고 오픈소스와 개인적으로 만들고 싶은 프로젝트를 위해서 쓰는 언어인 커먼리습은 미뤄두었었다.
다시 커먼리습을 해야겠다고 생각이 들었다. 개인적으로 만들고 싶은 프로젝트도 있고, 그 프로젝트를 위해서 프론트엔드를 만드는데 React와 Vue을 써보고 이해하고 있어도 쓰고 싶지는 않기 때문이다.
사실 커먼리습은 그렇게 문법이 예쁘지도, 멋진 React와 같은 멋진 프레임웍이나 최신의 유행하는 라이브러리들을...
- 10月17日
🤲 Ping 17/Oct/2020
웹프론트엔드 개발을 조금씩 해보고 있다. 처음에는 예전 방식으로만 하려고 하다가 조금씩 겨우 써보던 webpack을 다시 가이드를 차근차근 공부하고 동작하는 방식을 이해하도록 뜯어보고 돌려봤다.
생각보다 단순하게, 그리고 확장성 있게 쓸만한 빌드도구였다.
다만 문제는 설정이 복잡하고 이해하기 힘든 점보다는 빌드 시간이 너무 느린 점이었다. (내게는)
그래서 parcel bundler을 시도 했는데, 설정도 거의 필요 없이 바로 동작하고 하는 점은 좋고, 성능도 정말 빨랐다.
다만 Vim/Emacs으로 파일을 편집하고 저장할 때,...
- 10月16日
🚏 Ping 16/Oct/2020
ADT1만큼 만들어 쓰는 것은 아니지만, 그냥 Kotlin, Python의 dataclass 정도는 쓰고 싶어서 CommonLisp 매크로를 만들어봤다.2
equals 라이브러리를 써서 동치 비교와 CLOS의 print-object generic function을 구현해서 to-string 정도만 되도록 만들어 봤다.
macro body 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 (defmacro...
- 10月15日
🐶 Ping (2nd) 15/Oct/2020
… '田大'이라고 적혀 있었다.
다른 한문으로 쓰여 있어 읽지 못하는 각각의 수 많은 바램들과 이름들 사이로 삐뚤빼뚤한 어색한 글씨로 그렇게 적혀 있었었다.
너무 단순한 이름, 그리고 설명이 붙어 있었듯이, 다른 사람들처럼 많은 이야기를 적고 싶었지만, 아이여서 그랬는지, 아니면 글을 몰라 그랬는지, 이름만이라도 적어놓은 그 못그린 그림 같은 두 글자를 읽었다.
누군가 아주 오래 전에 그 사람도 아마도 나와 별로 다를 것도 없는 고민들을 하며 매일을 살았었던 것을 느꼈다.
아주 오랜 세월이 흐른 후에야 그렇게 만났었...
- 10月11日
👨🦱 Ping 11/Oct/2020
어째서 더 잘 그럴 수 있을까 무엇인가를 만드는 일은 사실 두 가지 단계로 발전하는 것 같다.
단지 목적한 그것만을 만드는 일과, 또는 그것을 반복적으로 생산하고 또 더 나은 방법으로 추상화하여 내는 도구를 만들어내는 일으로 구분할 수 있는 것 같다.
직관적으로 생각했을 때에는, 목적이 명확하다면 당연히 그것 자체를 만드는 일을 이미 존재하는 도구들을 통해서 표현하고 만들면 그만인 것 같다.
그리고 더 나아가서 결과물을 그냥 직접 만드는 것이 아니라, 그 결과물을 만들기 위한 도구까지 같이 만들거나, 그 결과물이 그를 만들기 위해...
- 10月10日
🔀 Ping 10/Oct/2020
오래 써오던 맥북에어의 WIFI이 성능이 계속 안 좋아졌었던 것 같다.
모델명을 알아보니, 2012년 형이었다. 정말 오래 썼구나. 1
어차피 MacOS을 여러 가지 이유로 좋아하지 않아서 그냥 아치리눅스2를 설치하고 그대로 쓰고 있다.
최근에는 아예 WIFI을 USB-LAN으로 연결해주는 RPi을 만들어 쓰고 있었다. 물론 내장WIFI은 너무 느려서 nmcli r wifi off 을 기본으로 아예 S/W Disable시켜놓고 살았다.
어쩌다 계기가 있어서, USB-LAN연결용 RPi을 챙기지 못한 외부에서 어쩔 수 없이 쓰려고...
- 10月08日
🫳 Ping 08/Oct/2020
벌써 겨울 날씨에 매일 다가가는 것 같다. 시간이 흘러가는 것을 며칠 눈치 채지 못하다가 다시 눈치 챌 수 있게 되었다. 다행이다.
- 10月04日
⛔ Ping (2nd) 04/Oct/2020
막귀의 이어폰 선호 정말 이어폰을 여러 개를 아작을 내면서 살아온 것 같다. 헤드폰은 겨울에만 편안한거 같고.
일을 하며 소음에서 분리되고 싶을 때, 집중하면서 또 집중 상태에 들기 위해서 시간을 버리며 고생하고 싶지 않을 때도 많이 쓴다. 덕분에 청력은 조금 나빠지는 거 같다.1
과거에는 정말 싸구려 이어폰, KTX에서 나눠주는 일회용 이어폰을 꽤 오래 쓴적도 있다. 특유의 딱딱하고 AM라디오스럽게 소리를 만들어 버려서 이상한 소리가 나지만 막 쓰기 좋아서였다.
그리고 그 이후로는 나도 모르게 어쩌다가 DAC칩이 좋은 것이 붙어...
- 10月04日
🦾 Ping 04/Oct/2020
연휴 이전에는 이런 저런 사람들을 만나고 이야기를 나눌 기회가 많았다. 그러면서 대부분 흔하게 느끼고 생각한 것은 사람들은 자신의 머릿 속에 이미 만남 이전부터 만들어놓은 상상에 있는 누군가를 만나고, 실제로는 나를 만나서 이야기를 나눈 사람들은 극히 드물었던 것 같다.
물론 그 이전에도 마찬가지였다. 어떤 사람들은 같이 생활하고 일하거나 하며 지내는 경우에도 그렇게 살아가며, 자기 자신의 이미지에 대해서도 너무 현실과 괴리가 커서 문제를 일으키는 사람들도 보았다.
누구나 직접 누군가나 어떤 상황을 마주하는 것이 아니라 이미지와...
- 09月26日
🥼 Ping 26/Sep/2020
영화, 소설, ..심지어 프로그래밍언어나 사람, idea을 접할 때 어떤 것들은 그 자체로 화려해보이고 천재적이라는 것을 느낄 수 있을지도 모른다.
프로그래밍언어이나 기술, idea에 대해서는 오히려 그렇게 직관적으로 결론을 내리기 어려울 것 같다.
영화와 같은 표현은 그런 것을 만날 수 있을거라고 쉽게 오해하는 것 같다. 단지 바라보는 것만으로 명작임을 느낄 수 있을거라고 말이다. 그리고 그렇기 때문에 자신의 입맛을 만족시키는 그것이, 또는 그것만이 명작일 것이라고 오해하기 쉽다.
그런데 그렇지 않은 경우를 많이 본다. 영화만을...
- 09月23日
🛞 Ping 23/Sep/2020
이제서야 유한하다는 것을 더욱 깊이 생각해본다. 그리고 얼마나 달콤한 행복을 살아가는지 깨닫는다. 매일 매일이 별 것 없지만 그대로 너무나 내게는 행복하다.
언젠가 내 마지막을 맞이하면 모든 것들이, 나만이 마음 속에 간직한 이 많은 감정과 기쁨들 모두 그대로 담아둔 채 떠나야겠지만 그게 모두의 다들 똑같을 것만 같다. 그렇게 억울하지는 않아졌다.
- 09月17日
🧴 Ping 17/Sep/2020
영화 '바그다드 카페'를 어릴 때에는 '주말의 명화' 정도에서 다 번역/더빙된, 그리고 아마 편집에 엄청나게 많이 짤려나갔을 버젼으로 봤었던거 같은데 아무것도 기억에 남아있지 않았었다.
심지어 이번에 다시 디렉터스컷으로 구해서 보면서 내가 기억에 남아 있던 것들은 완전 다른 영화인 것 같았다. 그렇게 기억만큼 어둡지도 않았고 오히려 너무 밝아서 오글거렸다. 아마도 좋은 오글거림이지만.
기억에는 그렇게 남은 이미지는 브라운관 화면과 더빙 품질 등도 한 몫 했을 것 같다.
실은 영어를 어떻게 쓰는지, 처음...
- 09月16日
🛻 Ping 16/Sep/2020
그간 작업해오던 일이 있어서 과분하게 고마운 제안, 이미 익숙한 사람들과, 거기에 훌륭한 이들과 멋진 일을 함께 하자는 제안들을 거절을 하며 손해를 보며 살고 있었다.
그리고 그 일은 마무리를 짓고 다시 또 이야기들을 하고 들으며 돌아다녔다. 그리고 생각보다 훨씬 체력소모가 컸었던 것 같다.
글쓰기, 코딩하기 지난 기간 동안 해온 작업을 마무리지었고, 앞으로는 다른 일에 매진해야 할 것 같다. 하지만 그럼에도 가능하면 너무 흐름을 잃지 않고 글을 꾸준히 쓰고 공개하지 않더라도 깃헙에 올리며 살아가야겠다. 하루에 생활과 일, 그리고...
- 09月14日
⛸️ Ping 14/Sep/2020
작년 말, 올해 초만해도, 그때 내가 사람들과 이야기를 하며 기본소득에 대한 지지를 이야기하면 반응은 시원찮았었다. 자신이 초능력자라고 말하는 예전 대선에 도전했었던 어느 사람에 비유하며 웃었었고 나는 그런 반응들이 못마땅했었다.
또는 나는 나 자신이 못 가진 자라고 생각해서 은근히 더 공정하고 분배에 집중한 사회가 되기를 바랬었다. 왜냐하면 내가 더 안정적이고 피곤할 일들, 혹은 감정적으로도 시달리며 살기는 이미 지친 것 같아서다. 그런 일들을 감내하게 만드는 것은 경제적 이유였었고 더한 모습들이 우리 사회에서는 결국 돈 때문일...
- 09月12日
❄️ Ping 12/Sep/2020
어떤 개념에 대해 너무도 미신적인 관점을 가진 사람들을 너무 흔하게 본다. 하지만 그들이 생각하는 것은 그렇게 믿고 싶어서 선택한 신화적인 모습이라 더 이상하다. 경험에 기반한 성숙함이 다르기 때문이다.
하지만 그들이 믿고 싶은 것과 현실은 정반대일수밖에 없다. 그리고 내가 경험한 바에 따라서도 실제로도 항상 예외를 찾지 못하도록 그렇다.
다만 세상을 보는 시각이 아직은 어둡기 때문이거나, 마치 그것이 진실인 양 주장하고 싶은 이이기 때문이리라.
어느쪽이건 좋은 일이 있든 힘이 들든 진심으로 축하하고 위로를 할 방법도 알지 못하거...
- 09月04日
🪗 Python에 대한 내 관점
Python은 조금 지루한 문법의 언어다. 거기에 매크로 같은 기능도 없어서 항상 평이한 문장을 작성하게 되는 것 같다.
하지만 다른 비슷한 언어들과는 다르게, 파이썬 문장 자체는 깔끔하면서도 density가 높다. 리습, 하스켈 같은 언어들으로 작성한 것을 생각해봐도 밀도가 높아 표현력이 좋다.
Java와 같은 언어는 밀도도 낮고 표현력도 가끔은 너무 아쉽다.
파이썬이 이렇게 밀도가 높을 수 있는 이유는, 언어 자체적으로 매크로를 지원하거나 해서 문법을 확장하는 방법을 채택하는 것이 아니라 SymPy에서 그랬었던 것처럼 값을 계...
- 08月31日
🪿 Ping 31/Aug/2020
여름이 끝나가는 느낌이다. 또 무더워지는 날이 며칠 있겠지만 지금은 가을이 온 것만 같은 밤공기와 풀냄새가 향긋하다.
- 08月30日
🛟 Ping 30/Aug/2020
프로젝트 마무리 문서도 초안을 다 썼고, 마무리 중.
분산 커밋로그에 저장하고 읽는 것들을 aync. io을 이용해서 실행되도록 하고 있다. 처음엔 그냥 C라이브러리 기반으로 된 blocking 버젼으로 만족스러울 정도로 빠른 커밋로그라 그럭저럭 괜찮았는데 한개의 실제 사이클인 것처럼 줄일 수 있어서.
또 그냥 failure을 처리하는 부분을 바꾸고, 전체 애플리케이션을 특정시점에 더 실제 실행시점처럼 흉내내서 동작하도록 만들 수 있게 했다.
마무리도 마지막 검증이랑 마쳐가고 있고. 8월도 마무리 되어간다. 시간이 빠르다....
- 08月28日
🔹 Ping 28/Aug/2020
날씨가 덥고 습하다. 거기에 마스크까지 해야해서 내가 좋아하는 오래걷기를 하기에 그다지 좋은 시절은 아니다.
문득 생각이 들었다. 아주 얼마 전까지만해도 이런 상황을 대부분의 자기 자신이 정상이라고 믿고 싶어하는 이들은 모두가 이렇게 살아가는 세상을 이야기를 들으면 비웃었을 것이다. 그리고 실제로 그런 일들을 많이 보아온 것 같다. 방독면이나 산소마스크 방호복 대신에 KF94 마스크일뿐인.
많은 아이디어와 예견들이 맞아들어가는 시절이다. 한편으로는 그런 것을 이해하고 세상의 변화에 대해서 조금은 알맞게 나 자신이 알아채고 살아온...
- 08月27日
🏩 Linux 5.8와 TP-Link Archer T2U Plus (RTL8821AU)
arch-desktop의 커널을 무심코 5.8으로 pacman -Syu 했다가 낭패였다.
USB무선랜이 잡히지 않았다. 그래서 하는 수 없이, FB워크스테이션을 쓰다가 또 라즈베리파이3에 FB에 달아놓은 realtek USB 무선랜을 붙이고 유선을 통해 dnsmasq으로 연결해서 고쳐나갔다.
정말 커널 5.8에서 빌드가 잘 되지는 않았다. 그나마 https://github.com/aircrack-ng/rtl8812au 이 드라이버가 살렸다.
1 2 # lsusb Bus 002 Device 009: ID 2357:0120...
- 08月27日
➰ Ping 27/Aug/2020
그간 진행해오던 프로젝트는 성능에 대해서 premature optimization을 고려해서 만들기 보다는 architectural한 면에 비중을 갖고 가능성을 염두에두고 선택을 해오며 만들었다.
그럼에도 꽤 괜찮은 성능이었었고, 이제는 첫번째 버젼의 완성과 문서 작성도 완료한 시점이어서 앞으로 성능을 높일 방안을 고민해보고 실험을 몇개 수행해서 방법 결정해봤다.
(현재 사용하는 방법과 새로이 사용할 방안의 이름은 모두 변경했다.)
기존 성능 측정은:
X event-writer
commit을 한번에 하지 않고, 매 이벤트마다 수행...
- 08月25日
🍰 Ping 25/Aug/2020
the end of the belle époque?
- 08月24日
⏪ Ping 24/Aug/2020
"프로젝트" 진행해온 프로젝트의 문서를 작성 중.
문서를 작성하면서 더 보충/보강할 내용들이 튀어나온다.
이 또한 사실 즐겁다.
게임하기 Doom64 리메이크를 클리어했다. 마지막 레벨에서는 도저히 깰 수 없어서 그냥 마지막 한 마리를 잡기 위해서 치트를 켜서 아쉽다. 하지만 그 마지막 보스 이전에 타이드는 그냥 제정신으로 다 죽여서 재밌었다.
다음 게임은 퀘이크 시리즈를 다시 플레이할까 생각 중. 폴아웃4, 스카이림을 다시 로드해서 플레이를 하며 그 세계에서 시간을 보내도 좋겠지만 조금은 다른 게임을 하고 싶어서....
- 08月14日
🚐 Ping (2nd) 14/Aug/2020
ㅎㅎ좋다. 이제 문서와 추가적인 작은 도구 몇 개를 더 만드는 것만 남았구나.
- 08月14日
🤼 Ping 14/Aug/2020
빌드도구의 경험과 Meson을 사용하기 Meson-ABC 갖고 놀아본 코드
아주 예전에 commercially 성공적이었었던 C++ 프로젝트를 홀로 기획, 설계, 개발했었었다.
처음에는 GNU Makefile으로 간단히 시작했었었다. 타겟 플랫폼이 뻔하게 윈도였기 때문이다.
그 이전에는 ANSI C으로 작성한 SDL 조합형 비트맵 출력 오픈소스 라이브러리 같은 것들을 작업할 때는 그냥 GNU Autotools 을 쓰거나 했었었다.
하지만 그렇게 configure 하거나 할 부분도 없고 처음 혼자 시작하며 다른 신경 쓸 것도 무지하...
- 08月13日
➰ Ping 13/Aug/2020
프비 워크스테이션을 만들어놓고 그렇게 좋은 사양은 절대 아닌 조용한 슬림PC에서, 또 가능한 마우스를 안 써도 좋게 세팅해놓고 편안하게 이맥스에서 작업을 해나간다.
FM라디오의 가끔 지글거리는 잡음도 좋은 것 같다.
계속해서 신경을 쓰게 만들고 끊기고 광고가 나오고 또 클릭을 유도하고 멍청하게 징징거리는 것으로 돈으로 바꾸는 요즘의 수많은 다른 매체들보다 훨씬 나를 편안하게 만든다.
다른 매체들도 비슷하지 않을까. SNS도 그런 것 같고 대부분의 앱, 심지어 운영체제도 그런 환경들과는 다른.
- 08月01日
🌤️ Ping (2nd) 01/Aug/2020
지난번 포스팅에서 이야기한 것처럼, 인연이 있던 창업자가 새로 창업한 회사에 제안이 있었었다. 더 없이 아쉬운 기회이고 미안했지만 내가 하고 있던 일을 계속하고 싶어서 아쉬운 기회이지만 거절했다. 내 능력에 벅찬 일일 것이고, 또 내게 손해가 있겠지만 내가 결심한바대로 해나가는 것이 내게는 맞는 일이란 생각이다.
이미 당시에 한국에서 유명한 기업으로부터 창업한지 얼마 되지도 않아 투자를 잘 받고, 안정적으로 성장할 준비를 하고 있었다.
그 키워드의 기술을 당시에 연구하고 공개한 MS 이외에도 IBM에서도 오픈소스로 작업한 툴킷을...
- 08月01日
🎬 Ping 01/Aug/2020
오랬만에 내 환경을 더 다듬었다.
Emacs, Evil, General.el. 매일 이맥스에서 코딩을 하면서 조금은 Vim보다 키바인딩이 편집에 불리한 것 같았었다. 그렇다고 Vim을 쓰고 싶지는 않았다. 검색이나 다중편집 같은 이맥스만의 기능을 Vim에서 흉내내는 것은 별로 마음에 차지 않는 정도이고 또 화면 flickering도 이맥스 GUI을 쓸 때보다 터미널 Vim은 심해서 난 피곤해.
그래서 Evil-mode을 종종 썼는데 문제는 내가 만들어놓은 general.el 키바인딩들이 Evil을 고려하지 않고 만들어서 evil모...
- 07月24日
🍱 Ping 24/Jul/2020
여름방학을 보내고 왔다. 지난 한달여, 꽤 즐겁게 보낸 것 같다. 그리고 순수하고 맑은 마음으로 행복했었던 것 같다.
하늘도 여름 같이 맑고 파랗고 공기도 좋았었다. 매일 열심히 집중해서 일할 수 있었고 좋았다.
그리고 그렇기 때문에 조금은 아련하다. 이런 느낌.
(기쿠지로의 여름 OST) Summer / 히사이시 조
https://youtu.be/_t1KvFMUNws Games: Doom 64, Ion Fury. Doom 64을 플레이. 클래식 둠, 둠2이랑은 또 완전히 다른 게임이었음. 몬스터들 모델링, 음악, 레벨디자인 모두...
- 07月19日
🧔♂️ Ping 19/Jul/2020
쉬는 날. 그간 4개월 정도 집중해온 작업이 어느 정도 궤도에 올라갔다. 앞으로도 더 많은 작업을 해야겠다.
하지만 일요일이고, 오늘 하루는 조금 마무리 작업을 해놓고 휴식을 할까 마음 먹었다.
1Q84, 하루키 소설 영문판 읽기 군생활을 할 때 시간을 쪼개서 영문판 책들을 많이 읽었었다. 진중문고와 그밖에 휴가를 다녀온 사람들이 놓고간, 세월이 흘러가며 쌓여있는 아무도 읽지 않는 좋은 책들을 많이 읽었었던 것 같다.
그중에는 아직도 다시 읽고 싶은 책들과 좋아하는 작가와 철학자들이 많이 생겼었던 것 같다.
내 선택은 주로 현대의...
- 07月17日
👕 Ping 17/Jul/2020
GitHub "Arctic Code Vault Contributor"이 되었다. [[file:/posts/images/2020-07jul/gh-arctic-code-vault-contributor.png ]]
우연히 기여한 몇몇 프로젝트들이 보관되기로 결정됐나보다.
2020년의 코딩. 중간에 비는 부분들이 있지만. ㅎㅎ 공개한 오픈소스 저장소도 2~3개이고, 가장 많은 비중을 차지하는 것은 비공개로 진행하고 있는 저장소 1개.
기간으로 봐도 3~4개월이 되어간다.
검증 가능하게 꼼꼼히 만들면서 성취감이 크다.
- 07月08日
🍻 Ping 08/Jul/2020
배워가기 올 한해의 절반이 지나갔다. 그리고 중요한 시점에 정말 좋은 결정을 내렸던 것 같다.
생각과 관점이 더 발전하고 그에 따라 삶도 더 변화해갔다. 어떤 것들을 거쳐서 어떻게 변화했는지는 쓰고 싶지는 않다. 그리고 어째서 인터넷에 그런 글들이 생각보다 잘 없는지 이제는 조금 이해할 수 있어서 굳이 쓸 생각도 없다.
너무 당연한 원인, 행동 그리고 결과의 연결이라 만족스럽다. 앞으로의 삶을 바라보는 관점도 많이 변했고 더 없이 행복하다.
- 06月29日
🧄 Ping 29/Jun/2020
이해하기 읽고 생각하고, 글을 쓰고 살아온 방법과 길에 대해서, 만난 이들과의 일화들에 대한 이해가 더욱 깊어진 것 같다. 그리고 내가 내린 판단과 결정이 만족스러운 것이었었다. 더욱 명확한 기분이다.
하던 생각들이, 꽤 정확하게 파악했었더라, 그를 기반해 예측한 것이 맞는 것을 알게 될 때면 더욱 만족스러운 기분이 든다. 훌륭한 이들, 존경스러운 이도 있고, 한편으로는 말을 꺼내기도 한심해질 정도의 이도 있다. 정말 안타까운 느낌이다.
정말 시간은 위대하다는 생각을 한다. 내가 시간의 역할을 욕심내어서는 안되겠다는 생각도 한다....
- 06月16日
🛑 Ping 16/Jun/2020
FreeBSD을 조금 오래된 컴퓨터에 계속 사용하기. 매일 업무를 보는데에 메인 피씨, 랩탑은 여전히 아치리눅스를 잘 쓰고 있다. 그리고 조금 사양이 부족한 사이드킥 피씨 본체에는 FreeBSD을 여전히 설치해놓고 쓰고 있다.
처음 생각보다 훨씬 더 많이 활용하게 되는 것 같다. 그리고 훨씬 가볍게, 안정적이고 강력한 느낌이다. 물론 오히려 리눅스가 더 빠르다거나 안정적인 부분들을 금새 발견할 수 있다. 그리고 리눅스와 동일하게 쓰려고 들지 않는게 더 속편한 부분도 많다.
예를 들어, 당연히 Steam 같은 것은 기대를 안한다....
- 06月06日
😔 Ping 06/Jun/2020
조금 더 혼자 진행해오던 일을 계속하기로 결정했다. 좋은 사람들과 스타트업임을 알고 있고, 이전에 함께 일하면서도 인격적으로나 능력적으로 모두 훌륭한 사람들임을 잘 알고 있다.
그럼에도 나 자신이 이번엔 더 차이를 만들어야겠다고 결심했던 것을 끝까지 해나가고 싶어서다. 합류하면 정말 많은 부분 이득이 많겠지만, 개인적으로도 많이 힘든 고민을 하고 결정을 내렸다.
- 05月28日
⏯️ 코드 편집기에 대한 생각
코드 편집기를 어떻게 써왔었는지 잠깐 생각해봤다:
DOS시절: MS-DOS Editor.
GW-BASIC 시절에는 정말 https://en.wikipedia.org/wiki/MS-DOS_Editor 을 열심히 썼었던 것 같다. 그리고 그 다음엔 PowerBASIC for DOS 열심히 썼었다. QuickBASIC 같은 바이트코드으로 컴파일해서 .exe 파일에 인터프리터와 바이트코드를 embedding 하는 VB의 P-code 같은 가짜 컴파일 방식1이 아니라 정말 네이티브 코드로 컴파일해주고, 인라인 어셈블리와 메모리 조작이 가능...
- 05月28日
🔡 Ping 28/May/2020
5월, 요즘은 매일이 날씨와 공기가 아름답다.
지금처럼 참 행복하게 지내기 좋은 계절인 것 같다.
- 05月23日
🐭 Ping 23/May/2020
지난 2달여간 매일 같이 몰입해 매진한 작업의 성능 테스트를 진행했다. 그리고 매 시점마다 테스트와 측정 결과에서 놀라던 것과 마찬가지 포인트에서 많은 관점이 변화한다. 아직도 많은 일을 더 해나가야겠지만 그래도 지금은 이 정도에서 우선은 만족스럽다.
작년과 재작년, 그 이전에는 매 일터마다 배울 점들이 있었던 것 같다. 그리고 지난 포스팅에도 말했듯이 내 많은 관점들을 발전시켜준 좋은 사람들과 멋진 경험들을 했었던 것 같다.
다만 올해 잠시 조인했었던 곳에서는 정반대의 경험이었었다. 많은, 이미 알고 있는 것들을 다시 확인했는데...
- 05月18日
♏ Ping 18/May/2020
오랬만에 예전 직접 같이 일한 것은 아니지만, 같은 회사에서 일하던 사람을 만나 오래 이야기를 나눴다. 많은 이야기를 해준 덕분에 재미있는 이야기들을 많이 알게 됐다.
누군가를 만나고 아주 조금이라도 시간을 함께 하면 언제나 놀랍다. 나 자신을 변화시키는 경험을 하게 해주는 이였다. 아주 짧은 단편적인 일화들만을 경험해도 그렇게 해주는 이를 만나 이야기를 나누는 것은 감사하다.
지나간 사람들과 시간들을 최근에 생각해보며 어떤 사람들이 어떻게 내 생각에 영향을 주었는지를 보았다. 그리고 감사한 이들이 많이 떠올랐다.
- 05月02日
🤖 Void Linux + Runit으로 데스크탑/랩탑 환경 설정하기
지난 한 달여간 눈코 뜰새 없이 바쁘게 지냈었다. 그렇게 지내다가 오랬만에 툭닥거려봤다.
재미로 Void Linux을 설치해봤다. 사실 설치해보고 한적은 꽤 됐고, 메모리 사용량이 훨씬 가볍고 빠른 성능 때문에, Arch Linux도 충분히 가볍고 좋지만, 제대로 설정해서 사양이 좋지 않은 랩탑, 데스크탑들을 위해서 쓰기로 생각하고 있었었다.
2007년 정도에 Gentoo Linux으로 회사 데스크탑과 Oracle DBMS 서버를 재밌게 설정한 이후로, 오랬만에 정말 가벼운 리눅스 배포판을 설치하는 느낌이었다.
아치리눅스는...
- 04月25日
🆓 Ping 25/Apr/2020
계속해서 글을 쓰기 내용은 없음 *
- 02月23日
🕍 Grub2, Archlinux ISO으로 만능 USB 메모리스틱 만들기
경고 "만능USB"이란 말은 사실 과대광고입니다.
하지만, 몇 가지 장점이 있는 USB 메모리스틱을 만드는 방법임:
아치리눅스 설치ISO 이미지으로 부팅 가능한 USB 스틱이면서도, ISO파일의 용량만큼만 USB메모리를 활용하는 것이 아니라,
용량이 되는만큼 그냥 일반적인 메모리스틱처럼 파일 복사용으로도 쓸 수 있음. 사실 리눅스든 다른 OS의 설치 이미지를 USB메모리에 올리면, 딱 그 설치 이미지만큼만 사용할 수 있게 만들어 버리고, 그나마도 Read-only 상태인 ISO이 되어버리고, 더더욱 나쁘게 다른 추가...
- 02月22日
💡 Ping 22/Feb/2020
내가 책상을 쓰는 방법, 고물 컴퓨터를 고쳐 쓰기 오래된 피씨 본체를 얻었다. 슬림한 케이스의 삼성 컴퓨터.
윈도7 설치된 것도 꽤 가볍고 빠르게 정리되어 있었다. 그냥 FreeBSD을 처음에는 설치하려고 하다가, 결국 애플리케이션이나 그냥 적당히 잘 돌아가는, 이맥스 정보만 잘 동작하는 기계면 될 것 같아서 아치리눅스를 설치.
만족스럽다.
데스크탑 원래 사용하던 것도 그렇게 엄청나게 좋은 것은 아니지만 만족스러운 사용인데, 문제는 책상 가운데에 모니터랑 키보드를 놓고 쓰면 책을 읽을 자리가 없어져서 항상 키보드 등을 한 켠으로...
- 02月15日
🌓 Ping 15/Feb/2020
새벽, 이른 저녁, 풍경과 공기, 일상, 꾸준함 매일 이른 새벽에 깨어나 일정한 방식으로 하루를 보낸다. 만족스럽다.
매일 매일 조금씩 다른, 하지만 같은 궤도를 걷는다. 그리고 궤도는 조금씩 변해가겠지.
춥거나 공기가 좋지 않거나. 하지만 그래도 일상은 매일매일이 귀한 시간이다.
꾸준히 이렇게 살아가면서 행복하다.
트위스비 에코 매일 일터에서 집에서 메모, 스케치를 하고 글을 쓸 때 만년필을 여전히 쓴다. 결국 계속해서 꾸준히 쓰는 만년필은 라미 사파리와 트위스비 에코.
라미 사파리는 잉크를 다 쓰고 나면 잘 씻어서 보관을 해둘...
- 02月09日
🍚 Ping 09/Feb/2020
책: 초난감 기업의 조건 '기계인간'님의 트윗으로 소개를 받았다. 너무 잘 소개를 해주셔서 기대가 많았다. 그리고 기대만큼 재밌는 책이다.
경영서적, 마케팅, 혹은 자기계발서처럼 무언가 교훈을 얻고 싶어서 읽지는 않는다. 그냥 다른 사람들의 처절한 실패담과 그 아둔함을 보면서 쓰게 웃고 싶을 뿐이다.
그 사람들이 얼마나 멍청했는지는 잘 모르겠다. 그리고 그걸 비웃고 싶은 것은 아니다. 오히려 사람들이 그런 멍청함을 구현해내는 분위기, 흐름, 예의를 지키느라, 혹은 눈치를 보느라 제대로된 길에 들어서지 못하는 어떤 형...
- 01月04日
🌵 100일의 기록
어느 날이었을지, 기록과 기억이 생생하다. 왜인지는 모르겠지만, 그날 새벽부터 앞으로 100일간 시도해보고 싶은게 생겼다.
그래서 그 당장 시작했다. 그리고 별로 해낸 것도 없는 주제에 당당하게 만족스러운 기분으로 "1일"과 그날 날짜를 필기 노트에 적었다. 그리고 그 다음 날, 또 다음 날.
그렇게 100일을 채웠다. 매일 나는 행복했다. 고요함, 주변에서 일어나는 일들을 내려놓고 평화로웠다. 그리고 수 많은 것들을 다시 생각하고 무엇보다 생각을 비울 수 있었다. 덕분에 이제는 관점과 행동이 더 많이 변한 것 같다...
- 01月03日
⏪ Covariant, Contravariant, Invariant등 Type Variances 이해하기
거의 그대로 베껴온 원본 글
계약서로서의 타입 타입을 생각할 때, <계약서>로 생각하는 것이 편하다.
왜냐하면, 전달한 값이 그 타입의 범위 안에서 전달 받은 쪽에서 취급이 제한된다는 보장이 있어야 안전한 코드를 컴파일러는 생성해줄 수 있다. (혹은 그렇게 안전한지 체크를 해준다.)
Subtype, 일반화(Generalization), 특화(Specialization) 타입을 말할 때, 나는 보통 객체지향언어에서의 클래스의 상속 관계를 떠올린다. 꼭 그렇지는 않겠지만, 이 글에서도 그렇게 설명을 해보겠다.
이 글에서는...
- 01月03日
🚞 Emacs 시작 시간 빠르게 만들기
이맥스 설정이 조금씩 자라날 때마다 이맥스를 새로 시작하는 시간도 길어져서 짜증이 슬슬나기 시작했다. 그래서 조금 개선해봤다.
Quelpa + MELPA 거절하기 Quelpa 을 이용해서, MELPA등에 등록된 패키지가 아닌 내가 작성해서 GitHub에 올려놓고 사용하는 패키지를 Git으로 받아서 등록해 사용한다.1
그런데, 어차피 use-pacakge을 이용해서 MELPA 등 패키지를 받아와서 사용하는데, 불필요하게 MELPA 인덱스를 시작할 때마다 받아오고 한다는걸 알게 됐다.
당연히 껐다. 한참 빨라졌다.
참고:...
- 01月03日
🚨 <소프트스킬>, <커뮤니케이션 스킬>은 어떻게 한국 사회에서 괴물을 만드는지
우선 이야기를 시작하기 전에 일러두고 싶다. 내게 <소프트스킬>1은 매우 재밌게, 유용하게 읽은 책이었다. (2016년에)
이 이야기는 사실 커뮤니케이션스킬, 소프트스킬을 권장하고, 어떻게 해야 할까 하는 고민에서 나오는, 또한 그런 정말 중요한 것이 어떻게 (적어도 내가 느끼기엔) 이상한 괴물을 옹호하기 위해 변질되어 쓰이는지에 대한 것이다.
<사회생활>, <원만함>에 대해 나는 자라오며 계속해서 잔소리를 들어왔다. 말해주는 사람들은 내 아버지와 몇몇 친척 형, 주변 친구들이었다. 그리고 하나도...
- 12月30日
📓 Lisp에서 Dynamic/Lexical Binding와 JavaScript의 var/let
다음의 간단한 코드를 읽어보자.
1 2 3 4 5 6 7 8 9 10 11 12 var x = "lexical"; function maker() { return function() { return x; }; } { var x = "dynamic"; assert(maker()() == "???"); } maker()() 의 결과는 'dynamic' 이다.
심지어, 맨 마지막에 있는 {..} 블록을 넘어가서도 x 의 값은 여전이 'dynamic' 이다.
자바스크립...
- 12月29日
👢 moonshot.el 최초 릴리즈
moonshot.el 을 만들어서 공개했다.
이맥스를 써오면서 불편하다고 생각한걸 간단히 하고 싶었었다:
불편함들 빌드 디렉토리 Projectile을 사용하니까 프로젝트 디렉토리는 관리가 쉬운데, 빌드 디렉토리는 관리가 어려웠다.
아예 Projectile이 추론하는 디렉토리 바깥에 빌드 디렉토리는 위치하는 경우도 있으니까.
예) GNU Autotools configure 이나 CMake으로 작업할 때, 소스트리 바깥에 빌드 디렉토리를 걸어놓아서 정리를 깔끔하게 할 수 있으니까. 그런데 이 '빌드 디렉토리'가 중요한게...
- 12月29日
1️⃣ direnv + direnv-mode 이맥스 지원 + C/C++/Python등 프로젝트 설정 적용하기
프로젝트의 빌드 디렉토리, virtualenv와 같은 경로의 설정, 경로 설정에 따른 빌드/실행/테스팅/스크립트을 편하게 하려고 만든 moonshot.el 와 유사한걸 검색해봤다.
몇 가지 이런 비슷한게 몇 가지 있는데, 내 상황에 쓸만한 것은 direnv
NPM: dotenv https://www.npmjs.com/package/dotenv
Node.js에서 Unix environment variable으로 .env 파일을 로딩해주는 역할인 듯.
Shell에서 Hook 걸어서 사용하기엔 별로 인거 같았다.
그리고 Node.js...
- 12月21日
👃 2018, 2019년을 돌아보며
"일의 기쁨과 슬픔" 2018년은 정말 바쁘게 회사에 시간을 쏟으며 보낸거 같다. 그렇다고 개인적인 발전이나 성과를 얻을만한 일은 아니었다. 오히려 알던 것들을 소비하고 엔지니어링 이외의 분야에 많은 흥미로운 경험과 성장을 했던거 같다. 그리고 한국을 떠날때 싫었던 점들을 역시 그대로 느낄 수 밖에 없었던거 같다.
그리고 2019년에는 한국에서 다시 시작했었던, 내겐 그다지 만족스럽지 못했던 회사생활을 정리했다. 정리하는데 반년 정도가 걸렸다. 나도 우유부단하게 괜한, 그리고 헛된 기대를 했었기 때문에 시간을 오래...
- 12月17日
🐖 Hololog Perl/CLI 버젼
https://github.com/ageldama/hololog-perl-cli
한줄씩 메모를 하는걸 좋아하고, 그냥 데스크탑에서 PDF을 읽거나 웹페이지를 읽으면서 어딘가에 생각난거나 이해한걸 필기하면서 진행하고 싶어서 만들었다.
다음 트윗 타래에서 이야기한것처럼, 그냥 트위터 비밀계를 써도 괜찮지만, 그것도 너무 웹브라우져 열고 하다보면 산만해져서.
tweet 1206138361968070656 처음 시작은 Unix/GNU cat 을 간단하게 터미널에서 쓰면 된다는 생각이 들었다.
1 cat >> foo.txt .....
- 12月13日
✳️ Org모드에서 스프레드시트 기능과 Babel 섞어쓰기
쩌는 Org-mode Spreadsheet 소개 를 읽고 감명 받아서 따라해봅니다.
다른 부분은 만족스러웠는데, 조금 복잡한 elisp식을 쓰기 귀찮으니, 미리 defun / defmacro 으로 정의해놓고 그걸 spreadsheet에서 불러 쓸 수 있을지가 궁금했습니다.
그래서 다음과 같이 해보면 가능할지를 실험:
Org-Babel으로 원하는 함수를 정의한다.
그리고 Org 파일이 로딩될 때 평가하도록 속성을 지정해놓는다. Spreadsheet에서 불러서 쓸 수 있는지 확인해본다. 우선 C-h a 을 눌러 vsum 을 검색해보니...
- 12月11日
🧤 원하는 웹브라우져, 웹환경, 그리고 익숙하지만 싫은 어떤 신앙체계
지금의 웹환경은 너무 과도한 치장, 보이는 이미지 중심이어서 딱 한가지 측면을 제외하고 모든 면에서 정말 끔찍하다는 생각이 들었다. 하긴 그러니 많은 사람들이 열심히 쓰는걸지도 몰라.
그래서 정말 많은 사람들이 오히려 그런 치장, 자바스크립트로 덩어리진 화면을 로딩 하느라 보이지 않는 시간을 조금씩 모아서 낭비하고 있다는 생각도 든다. …그리고 또 그걸 만든다고 시간은 버려지고. 그렇게 모두가 하는 방식대로 하는 수 밖엔 다른 방법을 모르겠고, 그렇게 만들어가는 자바스크립트, 프론트엔드 개발자들의 시간도 마찬가지고.
더욱이 그런...
- 12月11日
🦟 radio-recorder 프로젝트 설명
2년전쯤에 한국 라디오를 혼자 듣고 싶었었다. 하지만 시차가 많이 나는 지역에 살았었다. (8시간 정도 느림)
그래서 한국 인터넷 라디오를 녹음해서 개인적으로 들을 수 있다면 좋겠다는 아이디어로 작업했던 프로젝트 소스코드를 공개한다.
https://github.com/ageldama/radio-recorder
방송사의 인터넷 라디오를 녹음 하는 스크립트는 커밋에서 제외하고 공개한다. 이는 방송사에게 문제가 될 수 있으므로 개인적으로 알아내서 사용하고 타인과 공유하지 않기를 바란다.
프로그램 구성 cron 서버 지정된 시간에 녹음/...
- 12月11日
🧁 Org 파일으로 Hugo 포스팅 테스트
적당히 잘 동작하는거 같으니 앞으로는 그냥 혼란스러운 Markdown 대신에 그냥 Org 파일으로 블로깅 하며 될거 같다. 행벜.
예전 버젼 Hugo에서는 지원을 제대로 못하던거 같은데, 어느샌가 업데이트 하니까 되는거 같아서 그냥 슬그머니 쓰기로. https://gohugo.io/content-management/formats/
기존 마크다운들도 인라인 이미지 문법을 바꾸고, ToC 표시 설정도 바뀌어서 조금 변경.
아쉬운건 여전히 Org 파일에서 ToC 지원은 빠져 있는거 같아서…...
- 12月09日
🗳️ First release of cl-state-machine
Made a small state machine library/DSL in/for CommonLisp.
https://github.com/ageldama/cl-state-machine
- 12月06日
👩🦽 커먼리습 설정하기, ASDF 시스템 코드를 받기
1. ASDF을 최신 버젼으로 설정한다 (이부분에서 많이 고생했는데) SBCL와 다르게 CLISP, ECL 은 최신 버젼의 ASDF을 내장한걸 패키징해놓지 않았다.
대부분은 문제가 없이 동작하지만, 내가 작성한 커먼리습 시스템에서 실행파일을 빌드할 때 문제가 많았다.
ASDF 의 최신 버젼을 git clone 해서 적당한 디렉토리에 받는다. https://common-lisp.net/project/asdf/ make을 내려받은 ASDF 디렉토리에서 실행한다. 실행하면 build/asdf.lisp 파일으로 한 파일으로 뭉쳐서 로딩하게...
- 11月16日
🥝 (Common Lisp의 어두운 면) Equality
오늘은 커먼리습의 어두운 면을 이야기 해볼까. 보통 나는 리습 팬보이니까 리습에 대해 불리한 이야기는 잘 쓰지 않는거 같아서 한번 써보기로 생각했다. 그리고 놀랍게도 이 글의 끝에 가서는 다시 이런 리습의 결점을 리습의 위대함으로 승화시키는 단계까지 끌어가 보도록 하려고함.
뭐 커먼리습의 CLHS - HyperSpec을 읽다보면 비슷한데 아주 약간씩 미묘하게 달라서 지원하는 것들이 있다:
let Special Operator LET, LET* Special Operator FLET, LABELS, MACROLET map...
- 11月13日
🚍 (소프트웨어 고고학) 어째서 `String#replaceAll`처럼 메서드 경로의 구분자로 `#`을 쓸까?
오늘 아침 다음은 오늘 아침 트위터의 타임라인에서 내가 스쳐본 한 스크린샷의 일부이다:
1
…뭐에 느낌을 받았냐하면, 바로 저 String#replace(..) 이라는 부분이다. (다른 부분에서는 String.prototype.replace(..) 와 같이 썼는데 굳이 저기서만 갑자기 튀어나온 표기법)
사실 나도 종종 내가 작업한 코드의 문서를 쓰거나2 아니면 다른 사람과 텍스트로 대화를 해야할 때 이렇게 표기를 해왔었다.3
각각의 언어들에서 (내가 생각하는) 저렇게 표기하는 근거들은 다음과 같다:
Java:...
- 11月01日
🏰 Ping 01/Nov/2019
그 이전의 시간 한국으로 돌아와 1년 반 정도 한 회사에 다니다가, 정리하고 나와서 시간을 보내고 있다.
관점, 사고방식, 일하는 방식 등등 대화가 통하기도 어려운 상황이었고, 그런 세계관도 너무 차이가 나서 같이 있기 힘들었었다.
그리고 어째서 한국을 떠나기로 결심했었었는지 뒤돌아봤고 거의 동일한 경험이었다. 조금은 달라진게 있으려나. 아마 그러리라 생각한다. 완전히 똑같은 경험은 아니다. 왜냐하면 거기에서 내가 얻은게 다르다.
어떤 사람은 그럴리 없고 내가 오해를 한거라고 이야기를 해주지만, 그냥 나는 나와 같은 상황도, 처지도...
- 10月25日
🦱 ELECOM EX-G Pro Trackball 잉여 버튼을 Page Up/Down으로 쓰기
컴퓨터를 많이 쓰니까 다른 부분보다 손목이 먼저 망가져서, 손목을 조금만 큰 각도로 꺾으면 아프다. ㅠ.ㅠ.. 예전에도 그랬었는데1
마우스 안쓰고, 트랙볼 쓰기2 키보드 넘패드 부분 없는 짧은 86키 레이아웃 쓰기 로지텍 마블 트랙맨 잘 쓰다가, 지름을 받아서 조금 다음 티어의 제품으로 업그레이드 해봤다.
그래서 바꾼게 –> 엘레컴 EX-G Pro Trackball ..그런데 다 좋은데, 저기 있는 Function assignment button 이라고 써있는게 2개가 더 달려있음.3
이 추가기능버튼들은 윈도였다면...
- 10月21日
🦋 블로그 폰트 적용
그냥 CDN에서 내려받는 공개된 Noto 폰트를 적용했다. 깔끔하다.1
어제는 네오둥근모 적용해서 완전 귀엽고 내 취향이기는했는데, 그렇게 두면 안될것 같아서 좀 평범한 폰트로 바꿨다.
깔끔하게 글이 눈에 잘 들어오고 CDN에서 내려받으니 빨라서 좋다.
워드프레스에서 본명조(Noto Serif CJK KR) 폰트 사용하기 이 포스팅을 참고. 고맙습니다. 글 쓰신분 아이디가 이스크라(러시아어 ‘불꽃’)이라니… 심장이 뜨거워진다. ↩︎
- 10月20日
🚜 Ping 20/Oct/2019
장거리 드라이브 고속도로를 내려와서 국도에 들어서서 우회전 신호대기에서 창문을 내리자마자 깨달은게 공기가 말도 안되게 좋았다.
가보고 싶었던 곳들을 돌아다니고 정말 많은게 변했구나 싶기도 하고 쓸쓸했다. 세상에 이런 곳도 아직 있구나, 내가 사는 세상이, 그게 절대적으로 전부라고 생각하는 복잡하고 발전된 모습이 아니라, 이런 곳이 있을 수 있구나 싶어서 신기했다.
다시 또 가고 싶다. 아주 옛날엔 거기가 지루하다고 생각했었던거 같은데.
게임: 번아웃 파라다이스 ‘벗아웃 파라다이스’, 리마스터 버전으로 만난다 -...
- 10月16日
🧜♀️ cl-toy-stack-lang 첫번째 버젼과 작업하면서 깨달은것
일단 첫번째 버젼 다 만들었다.
https://github.com/ageldama/cl-toy-stack-lang/releases/tag/v0.1.0
그냥 장난으로 인터프리터도 아니라 그냥 eval 이용한 간단한 파서도 필요없이 lexer만으로 만들만한 Forth 비슷한 언어를 만듬.
명령어도 실용적인 목적이 아닌만큼 그냥 문자열 장난 밖엔 없다.
느낀점 라이브러리 좋은거 갖다 잘쓰자 uiop 같은거, feature-expression 삽질을 적게하거나 안해도됨. 더 portable하고 잘 굴러가는. Test! 3. 짜고 하나씩 진...
- 10月15日
👩🦯 Ping 15/Oct/2019
커먼리습으로 간단한 스택기반 장난감 프로그래밍언어를 만들고있다.
https://github.com/ageldama/cl-toy-stack-lang
튜링컴플릿이나 그런거 관심도 없고 사실 Parser도 적절하게 만들지 않았다.
다만 유니코드 잘되고 쓸만한 lexer generator이 커먼리습에 있는지가 궁금했다.
적당히 내일 정도면 어느 정도 완전히 굴러가는 프로그램으로 다 만들고 마무리 할 듯.
처음에는 QuickLisp 에서 어떤 Lexer을 써야할까 고민하다가, cl-lex 쓰다가 실망스러웠다.1
그러다가 만난게 Alexa 인...
- 10月14日
🚜 Ping 14/Oct/2019
어제 오늘 요즘에 들어서 생각을 겨우 하기 시작한 고민을 사람들이 트윗하더라.
tweet 1183311320822607872
..이번에 직장을 그만두고1 새로운 직장을 열심히 알아보고 있지는 않고 있다.
몇군데 인터뷰를 진행도 해보고 했지만, 모두 솔직히 나도 모르겠고 거절도 많이 받고 해서 꾸준히 진행을 하고 있지는 않다. 그리고 나도 이직을 하고 recruiting 과정을 한국만이 아니라 독일에서도 다양하게 겪어보니 어떤것이 좋거나 나쁜 신호인지 캐치하게 되는거 같고, 또 그런 시그널들이 생각보다 적절하게 그 회사측의 모습이나...
- 10月13日
🌫️ Ping 13/Oct/2019
집중하는게 내게 더 좋겠다는 생각이든다.
단시간에 어떤 일에 집중하는 일은 만족스럽다. 그런 시간단위의 집중이 아니라 기간이라고 할만큼 며칠, 몇주에 걸쳐, 한정된 한두개의 주제에만 집중해서 생각하고 만들거나 글을 써가는게 필요하다.
혼자 관심이 가거나 생각하는 주제가 떠오르면 Org파일 한 개나 메모지, 핸드폰에 적어놓는다. 그리고 내가 가진 정리하는 방식에 따라 조금씩 생각이 다듬어질때마다 저장매체를 바꿔가며 기록해나간다. 문득 그 Org 파일 을 열었는데, 너무 많은 내용들이, 그것도 폭넓은 다양한 주제들에 대해서 걸쳐있음을...
- 10月12日
📐 Zettelkästen?
어제 Ping에서 계속 블로깅을 하면서 생각 하는걸 계속 다듬어 갔으면 좋겠다는 말을 했었는데,
마침 HN에 그런걸 하기 적절해 보이는 글이 올라와서 읽어봤다.1
간략히 정리해보면,
생각 적기: 짧은 길이 메모를 적어서 생각만으로 카드를 만들고,2 3 이 상태에서는 우선 각 카드는 “순번없음 (Unsorted)” 상태 deck으로 쌓아만 놓는다. 순서매기기(1): 카드끼리 1, 2, 3 같이 순서를 두고 정렬. ‘Unsorted’ deck에서 꺼내와서 정리하는거겠지. 각 순서는 생각의 순서...
- 10月11日
⚒️ rutils으로 커먼리습 확장해서 clojure 비슷하게, 더 편하게
커먼리습은 CLHS 이후로 언어 자체 정의는 변하지 않았다.
구현체마다 조금씩 확장이 있을수도 있지만 딱히 그렇게 하지도 않는거 같다. 그럴만도 하다고 생각하는게 어차피 커먼리습에서 lisp reader을 확장하는게 CLHS에서 정의해놓은 기능 중 하나이고, 구현체들도 스펙을 잘 구현해놓았으니까.
결국 커먼리습에서 문법이나 그런게 조금 마음에 안들거나 확장하고 싶으면 언제든지 매크로를 만들듯이 확장하면 되니까.
‘커먼리습 언어 자체를 커먼리습으로 프로그램 할 수 있다’
이런 커먼리습 확장 ‘라이브러리...
- 10月11日
📠 Ping 11/Oct/2019
매일 글쓰기. 블로깅하기 나도 해볼까.
해보려는 이유는 메모는 계속해서 하면서 살고 있는데, 연속해서 같은 주제에 대해서 더 생각하고 하면서 발전시키는 방법으로 일기를 쓰는것과 반복적으로, 또 이전에 썼었던 글을 읽어보면서 거기에서 더 나아가서 고쳐나가고 발전시키는 방법으로 블로깅이 나쁘지 않은거 같아서.
- 10月08日
🦙 Ping 08/Oct/2019
어제는 하루 종일 아는 사람들을 만나고 돌아다녔다.
한국에서 운전을 하게 되고 재미를 붙이고 살고 있다.
비가 오는 날이었지만 상쾌해서 북한산 국립공원 근처, 은평한옥마을, 진관사를 다녔다. 차를 타고 이동하면서 편하고 좋았다. 행동반경이 넓어지고 운전하면서 아직은 매순간이 재밌다.
비가 내려서 구름과 안개가 북한산 자락에 깔려서 운치있었다. 카페에 앉아서 산풍경을 감상했다. 학생때는 자주 학교에서 소풍이나 백일장을 서오릉이나 북한산으로 왔었었는데. 그때도 가끔 생각했지만 비가 내려 세상이 이렇게 젖었을때 애처롭게 어둡기도 하고 깨...
- 03月17日
🧆 Ping 17/03/2019
Emacs/C++ 개발환경 스크린캐스트 이전 포스팅 에서 만들었던 설정을 스크린캐스트로 찍어서 공유해봤다.
“Let Over Lambda” 읽기 Let Over Lambda을 읽기 시작했다. 커먼리습 매크로, 클로져에 대한 이야기를 더 깊이 있게 설명하고, 그런 기능들이 어떻게 리습이랑 리습이 아닌 “Blub language”이라고 말하고있는 대부분의 언어들과의 차이인지를 설명한다.
리습의 매크로나 closure을 통해서, 그간 내가 프로그래밍언어 설계를 할때 포함해야하고, 컴파일러가 지원...
- 03月17日
🤜 CFFI으로 CommonLisp 2d array을 Foreign function으로 전달하기
https://github.com/ageldama/cffi-2d-array-hello
cffi:with-foreign-array이 CFFI manual에 없어서 처음에 좀 골치아팠음.
리습 어레이를 복사해서 매핑해줌.
- 02月26日
👩🦼 Ping 26/02/2019
번아웃, 회의감 아무래도 번아웃이 온거 같다. 일을 해야 하는데 아무런 생각이나 의욕도 떠오르지 않는다.
아무것도 제대로 하지 못할거 같고, 해서 의미도 없을거라는 생각이 강하다.
일하는것에 회의가 심하다. 실제로는 아무것도 제대로 알지 못하고 그냥 싫으니까 반대에 사람들 사이를 조작해서 악의적으로 행동하고 그렇게 조장하는것에 이제는 삶에서 너무 많이 봐온거 같고, 그런 사이에서 무력하게 지내고 해야한다는게 무엇보다 지친다.
그리고 그렇게 때문에 해야할 이유도, 굳이 마음을 써야할 이유도 모르겠다.
그냥 개인적으로 하고 싶던 설정이...
- 02月26日
🤱 Ivy/Counsel으로 바꾸기, 기능들 만들기 (w/ C++지원, ++rmsbolt)
최근에 이맥스 설정을 Helm기반에서 Ivy/Counsel으로 전부 바꿨다.
더 가볍고, 적당히 잘 동작하고, Ripgrep이랑 기본적으로 설정이 가능해서 편함.
거기에 C-c C-o (ivy-occur) + wgrep이 Helm에선 동작할때가 그때그때 기능에 따라 달라서 짜증나고, 심지어 플러그인을 설정해서 써야하거나 해서 정말 좋아하는 기능인데 우울하게 만들었는데, Ivy이 훨씬 깔끔하게 동작하고 일관성있게 잘 동작함.
처음에는 Helm에서 하는 기능들을 그대로 옮기려고만 생각하다가, 오히려 Ivy에 맞춰서 내가 익숙해지고, 더...
- 02月26日
👩🦼 Ping 26/02/2019
게임: 발더스게이트EE, ‘원숭이섬의 비밀’ SE + SteamPlay, 등등 아주 예전에 발더스게이트2을 열심히 했었는데, 스팀에 Enhanced Edition들 올라와있었다. 발더스게이트1, 2 모두. 시간이 될때마다 조금씩 플레이 중.
새로 UI이나 그래픽 요소들 등등 리마스터 한건지 훨씬 좋아진거 같다.
원숭이섬의 비밀: Special Edition 이것도 시간날때 플레이. ScummVM 으로 옛날 그래픽으로 다시 해도 좋겠지만, 오히려 애니메이션이나 그래픽 다시 그린게 나는 더 마음에 들어서 이쪽이 좋...
- 02月26日
💧 NetworkManager + dnsmasq으로 인터넷공유 만들기
필요성, 궁금함, 현재 상황 메인 데스크탑을 무선랜으로 인터넷에 연결하고 사용함. 다른 기기들도 모두 기본적으로 무선으로 LAN접속. 다 좋은데, 메인 데스크탑 <-> 라즈베리파이 접속할때 ssh 접속도 느린거 같을때가 있음. 무선랜 접속이 많고, 블루투스 등등 다른 간섭도 많을거고, 어쨌든 조금 물리적으로 거리가 있는 무선공유기까지 갔다 오는거니까. 그래서 사용 안하고 있는 데스크탑의 내장 유선 랜포트로 인터넷연결을 공유하는 Private network을 만들어서 유선으로 연결해보기로 했다. 정말 체감이 빨라질지 궁금했...
- 02月07日
🦍 Ping 07/02/2019
Golang 사랑 회사일로 Golang을 다시 잡고 쓰게됐다.
예전에도 잠깐 썼었는데1, 이번엔 그냥 더 오래 진지하게 필요에 의해서 쓰게됐다.
지금 일터에서도 필요에 의해서 작은 프로그램을 작성하고 할 일이 있어서 쓰다가 아예 서비스 코드에 적용을 하려 일하고있다.
많은걸 더 깊이 생각하고 익히는 좋은 계기로 꾸준하게 사용하고 있고, 만족스럽다. 대부분의 경우에. 그리고 Emacs와 연동도 좋고 언어 자체의 설계나 그런점들도 너무 좋은거 같다.
GC이 있는 언어를 최근에는 꺼리다가 다시 사용하니까 좋은것 같아. 그냥 문법적은 모호...
- 02月07日
🟡 Golang Goroutine, Channel, I/O 그리고 Scheduler 이해해보기
Go언어를 요즘에 진지하게 생각하고 계속해서 자료를 찾아보며 익히고 있다.
가장 흥미있는 부분은 Goroutine scheduler 구현과 I/O시스템을 어떻게 만들었을까인데, 아직은 소스코드를 뜯어 읽고 하지는 못하지만, 그냥 내가 만들었다면 아마 이렇지 않을까 하는 정도의 추측을 갖고 반대로 예제들을 만들어보며 확인해보고 있다.1
우선 현재의 추측은 다음과 같다.
GOMAXPROCS 같은걸 이용해서 실행시간에는 필요한만큼만 최소한으로만 OS Thread을 시작하는듯. 2 너무 많은 스레드가 있어도 어차피 Context...
- 11月03日
🩻 Ping 03/11/2018
작위를 수여받았다 받아본 생일선물 중에 가장 귀여운거였다.
tweet 1058052532839231488
씨디리핑, 음악듣기 지난달부터 갖고 있던 씨디, 듣고 싶던 앨범들 다시 모으면서 리핑한 씨디들.
조금 더 모으고 싶은 아티스트나 앨범들이 있는데 구하기 어려울거 같아서 걱정.
tweet 1058666194616541184
주말에 남는 시간에 씨디 리핑하고 음악 들으며 여유부리기.
- 11月03日
🧡 ASDF으로 간단한 의존성 연결과 로딩하기
System? 이런게 왜 필요하지? require있잖아 대부분의 유명한 프로그래밍언어들이 커먼리습의 System 에 대응하는 기능이 명확하게 없으니까, 다른 프로그래밍 하거나 하는 방법으로 이야기를 하지는 않아야겠다.1
https://lispcookbook.github.io/cl-cookbook/systems.html 에서 마음에 드는 설명을 찾을수 있다.
A system is a collection of Lisp files that together constitute an application or a library, and...
- 10月20日
🧐 Ping 20/10/2018
날씨가 너무 좋은 가을.
tweet 1053557185534251008
만년필 만년필용 가죽 파우치를 찾았다. 들고 다니기 조금 더 편안해진거 같아.
tweet 1053557157940015104
회사분에게 고마운 선물로 딥펜을 받았다.
tweet 1053557478925918208
남이 필요한 행복에 대해 가끔 날이 좋으면 예전처럼 누군가와 함께 좋은 공기를 마시며 산책도 하고 숲에 가고 싶어진다. 특히 요즘 같은 선선한 계절에는.
그런데, 꼭 그래야만 나는 행복함을 느끼나 생각해본다. 그냥 방안에 좋아하는 오디오로 라디오를 틀어...
- 10月10日
🧇 생각 10/10/2018
연구소에서 종종 휴식시간에 PS4 게임을 하면서 지낸다. 그냥 별로 게임을 위해서 너무 많은 시간을 보내는걸 원래도 좋아하진 않았지만 독일에 살며 취미로 다시 시작한 이후로 재미를 붙이고 하고 있었다.
그리고 최근에 재밌게 하고 있던 DOOM 2016을 다른 게임들보다 내가 좋아하는걸 동료들이 눈치채고 가끔은 둠 이야기를 한다.
최근에 그래서인지 John Carmack 이야기도 종종 나온다. 소프트웨어 엔지니어들이니까. 그러다가 한 동료가 Carmack의 에세이 하나의 링크를 보내줬었다.1
많은 다양한 생각들을 추려낸 블로그포스트....
- 10月10日
👜 SteamPlay On Linux
집에 있는 데스크탑에서 윈도10 그냥 사서 설치하고, 거기에 스팀 설치해서 게임이나 하는데 사용했었음
거기에 대부분의 작업은 그냥 리눅스에서 하는게 훨씬 편하고 해서 Virtualbox에 아치리눅스 게스트 만들어놓고 거기에 접속해서 작업했었었다.1
그러다가 SteamPlay이란걸 알게됐고, 모든 게임이 다 지원되는건 아니더라도 그냥 앞으로 나올 게임들중에 리눅스를 지원하거나 Wine을 통해서 실행할 수 있으면 이걸 쓰는게 더 낫고 윈도가 싫었다.2
여튼, 좀 설치하고 써보니:
모든 게임을 지원하지 않는다. 1. 적당히 지원될거라고...
- 10月06日
👇 CD Ripping!
요즘에 HiFiBerry DAC+으로 라디오, 음악을 들으며 귀가 즐거워서..
갖고 있는 씨디가 별로 없는데, 이유는.
음악을 듣는걸 게을리했었고, 딱히 음반으로 들었던건, 테잎 시대에 좀 사다가, 1. 씨디 시대엔 음원을 구하거나 사는게 더 많아지고, 2. 씨디를 듣지 않게됨. 그러다가 그냥 음질이 조금이라도 더 낫게 들을려고 CD ripping이 답이라는 결론을 얻었다.
어차피 음원 사는거랑 비슷한 가격이 됨. 음원을 어차피 내가 만드는거라 원하는 음질으로 떠서 보관하면됨. 그리고 뭣해서 잃어버려도 다시 떠도됨. 결국 대장정을...
- 10月05日
👰♀️ Ping 05/10/2018
Lamy2000 사용하면서 tweet 1048150207110688768
tweet 1048059130429100033
잉크는 Lamy 잉크를 사서 쓰자. 다른 잉크보다 훨씬 번짐도 적고, 필기감도 좋다. 약간 더 비싸지만 어쩔 수 없다. 손에 힘을 더 빼야한다. 데스크탑 피씨 리눅스 설치 HDD 데이터 디스크로 쓰던거 용량 큰쪽에 그냥 백업하고 날린 다음에 리눅스를 통으로 설치.
Steam 게임이나 가끔하느라 윈도 host에 리눅스 guest으로 VM 설정해서 주로 써왔는데, 그냥 리눅스를 host으로 쓰기로 결정.
Flatpak...
- 10月03日
💣 Ping 03/10/2018
HiFiBerry + Raspberry Pi 3 tweet 1047432827866767360
요것임.
https://www.hifiberry.com/products/dacplus/ http://eleparts.co.kr/goods/view?no=3700883 정말 예전, 한 3년전쯤에 사서 한국집에 묵혀두고, 그때는 세팅에 실패해서 안되는건가… 이러고 포기하고 있다가 다시 시도해봤다.
조금 삽질을 몇번하다가, 그리고 정 안되면 똑같은 부품 다시 주문해서라도 어쩐지 만들어보고 싶다는 알수 없는 의지가 발동해서 세팅에 성...
- 10月03日
⚫ HiFiBerry DAC+ + Raspberry Pi 3 설정
https://www.hifiberry.com/ 요거 Raspberry Pi 3에 세팅한 모험에 대한 이야기.
WIFI잡기 # /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev #update_config=1 country=GB network={ ssid="iptime" psk="xxxxxxxxxx" key_mgmt=WPA-PSK } wpa_passphrase 안쓰고 그냥...
- 09月23日
🏫 해보기 23/09/2018
LSP 갖고놀기 Language Server Protocol : https://langserver.org/1
ES6: https://github.com/sourcegraph/javascript-typescript-langserver 다른건 FlyCheck + Eslint으로 만족스러운데, 코드네비게이션만 좀. C/C++: https://github.com/cquery-project/cquery https://github.com/MaskRay/ccls ES6 기능들 다시 한번 주욱 읽어보기 http://es6-features.org/...
- 09月23日
⏺️ CQuery + LSP vs CMake-IDE + RTags
LSP + CQuery을 써보려고 했는데, 결국 CMake-IDE + RTags 조합으로 원래대로 쓰게될거 같아. :
_build/ 와 같이 CMake, Ninja, Makefile등의 파일들을 별도의 디렉토리로 만들어서 필드하고 싶은데, 제대로 지원을 못한다. 1. 그냥 프로젝트 소스코드랑 같이 generate하고 gcc등의 중간 파일이 모두 같이 남아서 지저분해져서 싫어함. 아직은 별로 내 마음에 꼭 들게 만들기는 어려울거 같아서. 그래도 인상적이었던 부분들:
flycheck에 전용으로 연동되어 있는 점. company-lsp이...
- 09月23日
🥟 Ping 23/09/2018
영화: <멀홀랜드 드라이브> 씁쓸. 그리고 영화 다보고 해석들 읽고 다시 생각하고 장면들에서 느끼던 이상함점들이 왜 그랬었구나 맞춰보니 더 씁쓸. 1
그리고 살면서 사랑이나 그런 환상을 갖는것들처럼 그런 완전한 꿈을 생각하듯이 달콤한 전반부의 내용들이 이해됨.
추석 연휴에 서울에 있기 어차피 고향도, 친척들도 거의 다 서울에 살아서 평생 명절마다 서울에서 보내는게 너무 익숙하다. 그리고 이맘때가 나는 서울에서 좋은거 같아.
그냥 적당히 조용하고 차소음도 사라지고 (심지어 우리집은 큰길에서 한참 멀리있음에도) 공기도 훨씬...
- 09月22日
😆 Ping 22/09/2018
새 만년필 : Pilot Kaküno! tweet 1043371766318424064
필기감은 같은 모델, 각 제품별로 조금씩 다른듯. 가격이 저렴해서 만년필 취미를 권하고 싶은 3개를 사서 회사 다른팀이나 같은 연구소 사람들에게 선물했다.
게임 : 둠2016, 쉐도우 오브 더 툼레이더 가끔 시간이 날때, 예전에는 길을 못찾아서 많이 진행을 못했었던, 둠 2016 을 다시 하고 있다. 지금은 꽤 많이 진행해서 “내가 바로 둠가이다. 10점 만점에 12점인 사나이!” 모드로 플레이 할수있게 됐다.
둠 이터널 나오...
- 09月16日
👩👩👧👧 Lamy 2000 + 모나미 병잉크
라미2000 사고, 모나미 병잉크 처음으로 사서 충전을 겨우했다. 카트리지방식만 계속 써오다가 처음에는 엄청 어떻게 피스톤 방식으로 충전하나 설명서를 봐도 잘 모르겠고, 언제나처럼 좋아하는 물건을 샀을때 처음의 느낌 그대로 내가 잘못해서 망가뜨리지는 않을까 걱정하며 손을 떨며 충전을 했다.
tweet 1040804232339742720
일단 필기감은 기존에 써오던 사파리, Lx이랑 너무 달랐다. 둘 다 이제는 내손에 맞춰서 닙이 부드러워진것도 같아서 정말 부드럽고 날카롭게 글을 쓰다가 닙을 종이에서 뗄때 짝 달라붙어있다가 떨어지는...
- 09月15日
🥃 어째서 아치리눅스를 쓰며 데스크탑환경을 안쓰는지
나는 데스크탑 환경을 사용 안한지 꽤 오래된것 같아.
예전엔 이런식이었던거 같아:
왠만하면, 그냥 세팅하는데 시간낭비하지말고 그냥 제공되는 Gnome, KDE 같이 예쁜거 쓰자.
…였었는데, 어느날 ASUS 넷북에 낮은 CPU파워으로 리눅스를 설정하고, 이런 “가벼운 데스크탑 환경"을 직접 꾸며서 사용하면서, 오히려 맥북보다 더 편하고 계속 쓰고 싶게 만들고, 내가 더 빠져서 사랑하며 사용하는걸 본 이후로 집과 직장의 데스크탑도 모두 바꾸게됐다.
그리고 가장 마우스 사용으로부터 오는 잡다한 스트레스나...
- 09月15日
🍐 Ping 15/09/2018
새 만년필 : LAMY 2000, 해피해킹, 기계식 키보드 새 만년필을 샀는데, 조금 저렴한 폴리카보네이트 버젼의 LAMY 2000을 샀다. 기존에 LAMY Lx, 사파리는 행복하게 써왔었는데, 카트리지를 사용해 충전하는 방식이 아니고 또 가격대도 조금은 높은 만년필을 질렀다.
아직 병잉크는 받지 못해서 충전해서 사용은 못해봤다. 기대된다.
처음 만년필질을 시작할때는,
뭐 그냥 저렴한 저가형 브랜드 실용적인 목적으로만 사서 써야지, 그러니 사파리랑 Lx정도까진 뭐…
..이런 마인드였었다가 점점 만년필 자체로 글을 쓰는...
- 07月28日
👇 NeoVim, Evil-mode and Emacs의 모험
“내적모순” 이맥스에서 Evil을 쓰면서 몇가지 짜증나는게 있어왔다.
Evil 자체의 문서화가 조금 거시기하다. 거기에 Which-Key같은 키바인딩을 실시간으로 확인할 수 있는 방법도 제대로 안먹히게 된거라, 이맥스에서 쩔어주는 기능인 자기 자신을 확인하며 단축키 안외우기 같은게 다 무의미해짐. 공식 사이트 들어가도 문서는 없다. 그냥 Vim 온라인 help을 보거나 하라는 친절인거 같다. Magit, Edb, 등등 대부분의 이맥스의 다른 Major mode들이랑은 정말 충돌하는 경우가 너무 많음....
- 05月08日
🫰 Emacs + CMake-IDE Screencast
이건 무엇인가 Emacs Configurations: https://github.com/ageldama/configs/tree/master/emacs/cmake-ide
이맥스에서 C++ 개발 편하게 하려고 이것저것 알아보다가 결국엔 CMake-IDE + RTags 조합이 제일 괜찮다는 결론에 도달해서 만들어본 설정이다.
원래 사용하는 환경이 Evil은 아니었는데, Spacemacs 을 조금 쓰다가 편한거 같아서 Evil으로 옮겨탔다.
지금은 그냥 Spacemacs은 다운도 잘되고 너무 무겁고 설정을 레이어 방식 으로 할게 아니면...
- 04月14日
🥂 Golang Windows에서 Vscode이랑 행복하게 쓰기
Golang 윈도 데탑에서 그냥 끄적거리기 괜찮은거 같아. 그냥 편집기도 윈도에선 이맥스나 Vim 다 골치아파서 VsCode 쓰니까 설정도 따로 없고. (물론 리눅스에선 이맥스 그냥 쓰지만…)
여튼 그런데 윈도에서 기본적으로 C컴파일러 설치되어 있어야 제대로 굴러가서, Mingw64 설치하고, $MINGW64/bin 디렉토리 $PATH에 걸어주니 잘됨.
VsCode에서 디버거도 잘 붙고 만족스럽다.
- 10月22日
🐸 2017년 10월 22일, 블로깅 귀찮아
과연 블로깅이 이렇게나 힘들어야 하는 일인가 생각해봄.
요즘엔 정말 각자의 개소리를 쉽게 올리는 트위터나 페북 같은게 혁명적이라는 생각이 든다. 특히 예전에 각종 웹애플리케이션으로 쓰레기 같은 위지윅 에디터 같은거니 지원하고 막상 어떤 글을 하나 올리기 진짜 끔찍한 경험을 주던것들을 돌이켜보면 더욱 더.
어차피 사람들은 그런거 아무리 쥐어줘봤자 귀찮을뿐이고 한번 쳐다도 안보고 각자 자기 하고 싶은 거지 같은 방법을 찾아내어 잘도 이상한 글들 생산해내는걸 더 좋아한다.
그리고 그런면에서 그냥 이미지, 동영상, 링크, 남에 글 인용 정...
- 07月11日
🚨 HOWTO: Private Docker Registry?
말보다 예제 깃헙 Project – https://github.com/ageldama/private-docker-registry-howto
내 피씨에서 작업하던거 서버에 바로 올려보고 싶은데, 회사에 레지스트리가 없을때, 혹은 레지스트리를 개발서버에 올리지도 못하고 어쨌든 개발서버에 도커 이미지 옮기고 싶을때 ..이런 이상한 상황에서도 쓸만하도록 고민해봄.
- 07月11日
👨👧 2017년 7월 11일, 요즘 나는
한국에 와서 다시 일을 다니고 있음. 백엔드 소프트웨어 엔지니어로 과거에 이미 다른 사람들이 만들어놓은걸 마음에 들지 않는 모양을 조금씩 고쳐가고 그럭저럭 출퇴근.
장마도 오고 엄청나게 덥다. 묘하게 독일에서 똑같은 8시간 근무인데 한국에서는 출퇴근이 엄청나게 힘들다는 생각이 들었다. 그리고 실제로 집밖에서 생활하는 시간을 생각하면 하루 8시간 수면을 하기도 빠듯해서 정말 이상하구나 생각이든다. 거기에 독일에서 생활할때는 나혼자 생활해서 밥이며 청소 같은것들도 내가 혼자해야 했었던걸 생각해도 이상할 정도로 한국에서의 생활은 시간이...
- 02月26日
#️⃣ 예전 모나드를 이용한 비동기코드의 정리에 대한 아이디어를 다시 생각해보기
예전 내가 썼던 블로그가 갑자기 떠올랐다. http://ageldama.blogspot.de/2012/03/nodejs-haskell-io-monad.html
내용은,
콜백헬 싫다. 그런데, 하스켈의 IO Monad처럼 imperative code을 작성할 수 있으면, 3. 이것들끼리의 제어권을 주고 받는걸 event loop측에서 제어하면서도, 4. 각각의 statements끼리 그냥 주욱 흐름대로 작성한것과 다르지 않게 짜기 쉽다. 굳이 이 얘기 왜 하냐하면, 사실 요즘에 RxJava2 보고, Python3에서 asyncio 같...
- 02月25日
👐 SBCL을 OSX에서 실행할때 멀티쓰레딩 켜기.
SBCL은 멀티쓰레딩을 잘 지원하는 커먼리습 컴파일러이지만, 공식사이트에서 제공하는 리눅스 바이너리가 아니라 OSX 바이너리는 멀티쓰레딩이 꺼져서 컴파일되어있다.
http://www.sbcl.org/manual/#Threading
요건 자기 리습에서 *features* 을 평가해서, 리스트에 :threading, :sb-thread 같은 키워드를 포함하는지 확인해보면 알 수 있다.
어쨌든 지원하지 않을 경우에, 컴파일을 다시 해야하는데, 우선 준비물은 GNU CLISP 같은 여기저기서 잘굴러가고 적당히 설치해서 부트스크래핑에 이용...
- 01月29日
♏ 2017년 1월, 요즘 나는.
요즘엔 그냥 독일 생활, 도르트문트에 조금씩 더 적응해서 사는게 편안해졌다.
식기세척기, 세탁기, 커피머신, 팀사람들, 출퇴근길, 놀러가는 동네, 구경가는 전자제품상가.
그냥 어느정도 이제는 독일어를 하나도 못하지만, 적어도 팀 사람들과는 정도 붙이고 재밌게 잘지내가고 있는거 같다.
커피를 캡슐커피 기계가 있어서 적당히 입맛을 붙이고 마셔보고있다. 괜찮다. 토스트랑 꿀이랑 사다가 가볍게 먹고 해결하고 살고있다.
비자도 4년짜리 블루카드도 됐고, 마음이 편안해졌다.
책은 열한계단 을 읽고 많은 생각을 해봤다. 체체파리의 비법, 시녀이...
- 01月22日
👴 Java Immutables와 친숙한 오래된 문제들
https://immutables.github.io/ 요즘 이걸 살짝 봤는데, 재미있었다.
그런데 일단 깊이보거나 써보기 전에 드는 걱정은,
이거 기존의 몇몇 프레임웍이나 라이브러리들이랑은 친하게 지내기 어렵지 않을까. 왜냐하면, 대부분의 POJO에 연관된 생성단계에서, default constructor 와 setter-methods을 갖고, 값을 세팅하는 경우가 대부분인데, 예를들면, 대부분의 ORM 프레임웍들이나 POJO으로 JSON등을 Deserialization해서 직접 객체를 생성할 책임을 프레임웍이나 라이브러리가 가져가...
- 01月22日
👨🦱 Erlang에 더 관심을 기울여야 할 시점인거 같다
그냥 최근의 자바나 node.js, 특히 자바의 RxJava 같은걸 보다보면, 1 뭔가 언어적으로 지원하지 않는걸 뜯어내서 동작하게 만들고 너무 골치가 아프게 만들어지는건 아닌가 생각도 든다. (사실상 콜백. ㅎㅎ)
그리고 지금 한창 JDBC이라던지 이런 입출력과 관련된 부분에서 비동기 방식을 지원하려고 많은 변화가 있을만한 시점인거 같다.
예상은 아마 몇년간은 이런 혼란이 자바쪽에는 계속 있을거 같다는 생각이다. (async/await 같은 키워드가 추가되고 하려면 자바에 몇년이 더 걸릴지는 아무도 모를거 같다. lambda이 추...
- 01月22日
🚶♂️➡️ Emacs에서 window 전환을 편하게, ace-window
이맥스에서 코딩하거나 마크다운이나 Org으로 글을 쓰고 정리하는데, 그간 그냥 그럭저럭 나는 이맥스를 나한테 맞춰서 사용하고 있다고 생각하고 있었던거 같다. 1
그런데, 항상 뭔가 불편한데, 그냥 바쁘다는 이유로 깊이 생각은 안하고 대충 대충 때우면서 사용해왔었던게 있었다. 바로 window 끼리 전환하는 방법.
C-x 2 이나 C-x 3으로 창을 분할해놓고 쓰는게 보통인데, 이때 나는 그냥 아무 생각없이 C-x o만을 이용해서 다음 윈도우 으로 이동만해왔었다.
그런데, 창이 3개 이상이 되고, 현재 창의 다음 창 이 아니라, 이전...
- 01月02日
🆗 Jekyll + Rouge 소스코드 하일라이팅 테스트
Rouge 이거 적용해보기.
https://github.com/ageldama/hello-adder-cl-asdf/blob/master/src/adders.lisp
;;; Actual Implementations here. (in-package :hello-adder) (defun make-adder (n) (lambda (x) (+ n x))) (defun 1+er () (make-adder 1))...
- 01月02日
🍄🟫 Github.io 블로그 TraviCI으로 빌드해서 배포하기
.. 여기 에 불만을 적었듯이, 여러가지로 그냥은 만족하기 어려운 부분이 있었다.
그런데, Travis-CI을 통해서 빌드해서 배포한다는 분이 계셨다. https://twitter.com/Realignist/status/815554589889994752
..난 생각 못해본 방법. ㅎㅎ 1
그래서 도전.
우선 Jekyll 소스용 저장소로 분리하고, 배포하는 페이지들은 원래의 저장소에 git-push 하도록 했다. https://github.com/felixrieseberg/travis-jekyll-git 여기 참고해서 삽질. 결과물은...
- 01月01日
⛽ Github.io의 Jekyll 버젼이랑 차이?
다 만족스럽고 좋은데, 로컬에서 Jekyll 실행해서 미리보기한 결과랑 Github에 올려서 렌더링한거랑 마크다운 결과가 조금 달라서 짜증난다.
아마 마크다운 렌더러 버젼 차이 때문일거 같은데 ㅜ.ㅜ
% jekyll -v jekyll 3.3.1
- 01月01日
🙍♂️ Emacs이랑 친해지기
“이맥스를 어떻게 배우면 좋은지 모르겠다. 여러번 도전해봤지만 항상 별로였다.”
..어느날 한 동료가 물어봤다. (그렇다 나는 일터에서도 이맥스를 켜놓고 계속 쓴다.)
솔직히 기본적으로 매일 Org-mode으로 계획, 일정 등등 정리하고 계속 개인적으로 정리하면서 쓰고, 파이썬, Go, Clojure 같은거 할때도 편집하고 테스트하기도 편하니까 선호하는 편인거 같다. (자바랑 스칼라은 물론 그냥 IntelliJ 쓴다.)
여튼 그날 간단히 짝프로그래밍하듯이 같이 앉아서 몇가지 이야기를 하고, 내 설정 파일 1...
- 01月01日
🛫 Welcome to Jekyll!
You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.
To add...