cinsk의 블로그

cinsk의 이미지

LLVM과 Undefined behavior

저자, Chris Lattner씨의 허락을 받아서 (정말로...) 대충 번역해 놓았습니다. 좀 오래된 내용이지만, 읽어볼 만 합니다:

What Every C Programmer Should Know About Undefined behavior

cinsk의 이미지

ipmap: Google map에 IP 주소 그리기

오랜만입니다.

https://github.com/cinsk/ipmap

로그 파일 등에서 IP address 목록을 얻었다면 위 script를 써서 google map에 그릴 수 있습니다.

cinsk의 이미지

cinsk.org 닫습니다.

오랫만에 들어왔는데. ㅎㅎ

개인적인 사정으로, www.cinsk.orgcinsk.github.io으로 이동합니다.

현재 대부분 link는 redirect 걸어 두었지만, 2015-12-03 (목) 저녁때즈음 www.cinsk.org는 halt됩니다. 참고하세요.

cinsk의 이미지

ISO C와 ISO C++의 차이점 (호환성 문제)

David R. Tribble씨는 Incompatibilities Between ISO C and ISO C++란 글을 작성했습니다.

C 언어 개발자라면 한 번쯤 읽어 두는 것이 좋겠다고 생각되어, David씨의 허락을 얻어 번역해 두었으니 참고 바랍니다.

번역판 바로 가기

오타나 맞춤법, 문제점 등이 발견되면 알려주세요.

cinsk의 이미지

jekyll-org: jekyll, orgmode, twitter bootstrap

1. 오랜만에 제 홈페이지의 내용을 읽어보니, 실제와 다른 내용, 자만심에 빠져? 낯 부끄러운 내용 등이 몇군데 있더군요. 내용만 바꿀까 하다가 design도 엉망이고 해서, 갈아엎을 생각에, twitter bootstrap을 적용시켜볼까 하는 마음이 들었습니다.

2. 원래 제 홈페이지는 m4 script를 써서 make로 .html를 generation하는 스타일이었습니다만, 귀찮아서 그냥 .html로 만들어서 CVS로 관리했었습니다.

3. github에서 사용하는 jekyll이 꽤 괜찮다는 말을 들어서 jekyll + twitter bootstrap을 쓰기로 맘을 먹었습니다.

cinsk의 이미지

cinsk.org 하드웨어 교체

cinsk.org는 가정집에서 24-7 운영하던 조립 컴퓨터로, 사양은 Intel Pentium-D 2.8 GHz, RAM 2GB, Gentoo Linux였습니다. (nvidia fan 문제로 nvidia GPU가 두번 나간 것을 제외하면) 고장 한 번 나지 않은 착한 누렁소였습니다. 아마 7여년 동안 쓴 것 같은데, 이제 슬슬 문제가 발생하기 시작하더군요. 그래서 큰 맘을 먹고 새로 검정소를 마련했습니다.

Intel Core i7 3.5 GHz, RAM 32GB, Gentoo Linux (amd64)

몇가지 고생했던 문제들..

1. 이번엔 GPU를 따로 사지 않고 board에 내장된 intel chip을 쓰려고 했는데, 제 능력 부족인지.. X가 안 뜨더군요. 그래서 예전에 쓰던 nvidia를 다시 붙여서 성공. -_-

2. router 역할을 해야하기 때문에 추가 NIC을 (IPtime PX1000, Realtek r8168e) 붙였는데, Vanilla Gentoo에서는 인식을 못해서 당황했는데, 다행스럽게 r8168 package가 별도로 있더군요.

cinsk의 이미지

MacBook Pro 15 inch, Mountain Lion, 나이.

컴퓨터 다운 컴퓨터란, 팬이 중저음으로 돌아가고, 덩치가 크며, 성능이 좋은 것을 말하지.

-- 란 생각으로 지금까지 컴퓨터(데스크탑/노트북)를 써 왔습니다. 참고로 제 Dell laptop은 공식 가죽 가방에 넣으면 (laptop + cable + 가방) 무게가 10kg가 넘었었지요. -_-;

어차피 Laptop의 용도는 대부분 코딩 또는 글쓰기였기 때문에, Linux (Slakware -> Redhat-> Fedora -> Gentoo)를 설치해서 썼습니다.

나이가 들고 하니, 몇가지 문제가 생겼는데.. 첫째, 무게가 부담스러웠습니다. 둘째, 이거저거 설정하기가 귀찮습니다. 예전에는 window manager 고르고 일일히 다 설정하고, 단축키 지정하고 해서 원하는 환경을 꾸미는 것 자체가 취미?라면 취미였는데, 이젠 터미널 & Emacs 설정 빼고 나머지는 신경쓰기가 싫더군요.

cinsk의 이미지

Scala Programming Language

최근에 새 언어를 배우게 됐습니다. Scala라는 언어인데, 꽤 잘 만든? 언어라는 생각이 들어서 소개합니다. 이미 아시는 분들도 있겠지만...

아직 배우고 있는 중이라서, 잘 알지는 못하지만, 지금까지 알게 된 내용으로 말하자면,

간단히 말해:

cinsk의 이미지

emacs: 라이센스(license) 자동 추가 모듈

Source code를 작성할 때, 보통 헤더에 주석으로 라이센스(예: GPL, LGPL, BSD 등)를 붙이기 마련입니다. 일일히 집어넣기도 귀찮고 해서, 자동으로 라이센스를 넣어주는 emacs script를 만들었습니다.

Download xlicense.tar.gz

위 파일을 받은 다음, $HOME/.emacs.d/에 풀어 넣습니다:

$ mkdir ~/.emacs.d
$ tar -C ~/.emacs.d/ -xzf xlicense.tar.gz

그리고 나서 .emacs에 아래 코드를 추가합니다:

cinsk의 이미지

GDB 잘쓰기: User-defined Command in Python

GDB version 7.0 (안정?은 7.1부터) GDB가 Python interpreter를 내장하고, Python 언어를 써서 GDB를 제어하거나, 새 명령을 작성하는 것이 가능해졌습니다.

간단히 몇몇 새 GDB 명령, "hexdump", "iconv", "xmllint"를 만들었는데,

gdbx.py

를 읽어보기 바랍니다.

만약,

페이지

RSS - cinsk의 블로그 구독하기