Blog for the bold who run "sudo rm -rf /*".

Command Line Interface
Linux

Command Line Interface

dotfiles and materials available at @junhocho[1] GUI보다 좋은 CUI, CUI. Command Line Interface를 쓰시면 어디서든 쉽게, 인터넷만 있고, Terminal이나 Putty가 있으면 개발을 할 수 있다. 이런 팀뷰어 없이도 말이다. CLI. 그래서 어떻게? ( Tmux + VIM ) 를 사용하자 CLI를 사용하는 이유. Portable (인터넷이 구리면 팀뷰어는 힘들지) Simple Automated (원하는 기능은 다

Linux

Pseudo Terminal (유사? 터미널)

본 포스트는 APUE chap.19 을 참고하여 작성함. Pseudo Terminal은 application 이 보기에는 터미널로 보이지만, 사실 진짜 터미널이 아닌 것이다. Pseudo Terminal의 구조, 예시, 사용법에 대해 설명하도록 함. Pseudo Terminal 개요 Pseudo terminal 을 사용하는 프로세스들의 전형적인 구조는 아래와 같다. 부모 프로세스가 pseudo terminal master를 open 하고 fork ->

데몬 프로세스 (daemon process)
Linux

데몬 프로세스 (daemon process)

본 포스트는 APUE chap.13 을 참고하여 작성함. 데몬은 오래사는 프로세스를 말하고, 보통은 시스템이 부팅될 때 같이 켜지고 종료될 때 같이 끝남. Controlling 터미널이 없어서 background에서 돈다라고 표현한다. 데몬의 구조, 작성법, 오류 로깅에 대해 설명하려고 함! 데몬의 특징 ps -efj 와 같은 명령어로 확인 controlling 터미널이 없는 프로세스 (데몬)을

Uniscribe
font

Uniscribe

Uniscribe는 복잡한 언어를 처리하고, 글씨를 아주 잘 (high degree of control) 조절할 수 있는 API 모음이다. Layout Text with Uniscribe ( MSDN page의 내용을 번역. ) 아래의 순서대로 uniscribe call들을 사용하면 layout 이 가능하다. 문단은 run들로 이미 나눠져있다고 가정하고. 첫 시작이나 WM_SETTINGCHANGE 메세지를 받았을 때, ScriptRecordDigitSubstitution 호출. (Optional) complex processing 이

AMD의 CPU: ZEN의 마케팅 포인트를알아보자
CPU

AMD의 CPU: ZEN의 마케팅 포인트를알아보자

AMD의 새로운 CPU, ZEN의 출시가 다가왔다. 작년부터 수 많은 발표(설레발?)이 있었는데, AMD가 내세우는 항목들을 살펴보고자 한다. 과연 이번에는 AMD가 제대로 일을 했을지... AMD SenseMI technology 이번에 새로운 기술들의 이름이 SenseMI랜다. 이름이야 그렇다고 치고, 5가지로 구성되어있는데 한번 알아보자. (Pure Power, Precision Boost, Extended Frequency Range, Neural Net Prediction, Smart

ghost

Ghost에서 AWS S3 Storage를 이미지 서버로 사용하기

보통 Ghost에서 글 쓰다가 이미지를 첨부 하고싶어 ![]()을 타이핑하면 요런 이쁜 업로드 창이 preview페이지에 떠서 Drag-and-Drop 같은 방식으로 쉽게 업로드 할 수 있다. 하지만 이미지는 블로그가 돌아가고 있는 로컬 서버안에 저장이 된다. 그런데 그런 방식에서 몇가지 단점이 보이면서 이미지는 다른 서버를 두어서 저장해두고 싶었다. 원래는 Dropbox에 저장하면서 public link를 매번

Web-scraping with Chrome extension
dev

Web-scraping with Chrome extension

Crawling, Scraping 비슷한 뜻이며 내가 원하는 데이터를 웹에서 수집함을 의미한다. Design Seeds 라는 웹사이트를 연구의 목적으로 크롤링을 했다. 이 웹사이트는 색감에서 영감을 받아, 아름다운 이미지에서 주요 색상을 color palette로 나타내준다. 실제 해결한 방법은 해결 이란 아래 헤더를 참고 이 웹사이트를 크롤링하기 위해 가장 먼저 생각한 방법은 이 웹사이트의 Instagram 계정

LSTM 과 ResNet
Deep Learning

LSTM 과 ResNet

서론 우선 LSTM은 최근에 나온 개념이 아닙니다. 이미 1997년 [Hochreiter et al., 1997]에서 나온 개념이며 기존 RNN(Vanilla Recurrent Neural Network)가 오래전 정보를 잊어버리는 단점을 보완했습니다. LSTM의 기본 배경지식을 다 설명하면 좋겠지만, 이 글은 기본적으로 LSTM이 어떻게 작동하는지 ResNet은 무엇인지 예전에 공부하던걸 옮겨논 것입니다. 이 글은 저의 순수한

VNC로 서버를 gui로 다루기
VNC

VNC로 서버를 gui로 다루기

보통 서버에서 작업을 할 때 터미널 ssh만 사용하지만, 가끔 gui가 필요할 때가 있다. 예를 들어, 브라우저를 켜서 로그인을 하여 인증을 받아야 다운받을 수 있는 링크가 있을때. 그래서 VNC를 사용하여 서버의 gui를 사용해보고자 한다. HOST server는 UBUNTU 14.04, client는 macOS라고 가정하였지만 다른 경우도 별반 다르지 않을 것이다. 주요 아이디어는 VNC-server를

adobe

맥(macOS)에서 Adobe 제품들의 수동 업데이트

OSX가 macOS로 Sierra으로 바뀌면서 낡은 정보일 수 있습니다. Illustrator 2014CC로 작업을 하는데, 더블/트리플 모니터 등에서 우클릭이 안되는 버그가 있다. 이를 해결하기 위해서는 패치를 해야한다고한다. 근데 Creative App 자동업데이트 어쩌구저쩌구는하면 되는데, 내가 받은 Illustrators는 서울대 SW라 불가능한댄다. 이것을 해결하기 위해서 수동업데이트를 검색으로 [이곳](이곳에서 에서 받았다. 그럼에도 불구하고 관리자 어쩌구

구글의 인공지능을 위한 하드웨어 TPU
Deep Learning

구글의 인공지능을 위한 하드웨어 TPU

구글이 Tensor Processing Unit (TPU) 를 공개했다. (솔직히 충격적이다....) 이는 custom ASIC (특수 목적을 위한 하드웨어 칩)으로, TensorFlow랑 물려 사용하는 인공지능을 위한 칩이다. 이번에 공개된 내용에 대해 설명을 하고자 한다. 본 포스트는 구글의 공식 블로그 글을 바탕으로 작성하였으니, 궁금하신 분은 옆 링크를 참조 하시길. TPU는 어디에 쓰나요? TPU는 이름에서도

Deep Learning 위해서는 어떤 GPU를 사야 할까요?
GPGPU

Deep Learning 위해서는 어떤 GPU를 사야 할까요?

많은 사람들이 deep learning에 관심을 가지고, 이를 위해 GPU를 사서 쓴다. GPU computing 및 architecture를 전공하는 사람으로, 뿌듯(?)하기도 하다. 그래서, deep learning을 위해 GPU를 사고자 하는 사람들을 위한 글을 쓴다. 조금이라도 도움이 되시길... (Blog에 있는 글과 내 개인적인 지식을 바탕으로 작성함.) AMD? NVIDIA? NVIDIA 것을 사라. 이견의 여지 조차없다.

Weakly supervised Learning으로 Object localization하기
Detection

Weakly supervised Learning으로 Object localization하기

공유하고자하는 논문의 제목은 Learning Deep Features for Discriminative Localization Bolei Zhou, Aditya Khosla, Agata Lapedriza, Aude Oliva, Antonio Torralba Computer Science and Artificial Intelligence Laboratory, MIT 논문의 데모는 "여기"서 쉽게 해볼 수 있다. 데모의 내용을 풀이하자면 먼저 처음엔 scene label로 태깅되어 있는 데이터로 Weakly supervised learning을 한

Pascal - NVIDIA의 새로운 GPU architecture 발표
GPGPU

Pascal - NVIDIA의 새로운 GPU architecture 발표

드디어 NVIDIA 에서 새로운 Pascal GPU를 발표했다. 이미 몇 달전에 일부(?) 공개가 되었고, 루머들도 많아서 관심있는 사람들은 미리 좀 알았겠지만 까보니 흥미로운 것들이 좀 있다. 개인적으로 가장 놀라운 것은 half-precision! (Deep learning 시장을 어지간히도 먹고 싶긴 하나보다.) 자 그럼, 주목할만한 것들을 살펴보자. Pascal 이 뭔가요? NVIDIA는 2000년대 중반부터 자사의 GPU

전문가용 그래픽카드는 뭐가 다른가요?
GPU

전문가용 그래픽카드는 뭐가 다른가요?

이번 포스트는 전문가용 그래픽카드에 대한 설명을 하고자 한다. 아래 그림은 다나와에서 "전문가용 VGA" 탭을 클릭했을 때 나오는 상품인데, 무려 790만원.... 이 놈들은 뭐하는 놈들이길래 이렇게 비싼지 쉽게 설명하고자 한다. 우선 GPU 계의 양대 산맥 라인업에서 전문가용 그래픽카드를 칭하는 브랜드명부터 얘기하고자 한다. NVIDIA 에서는 일반 소비자용 그래픽카드는 Geforce 시리즈(

kinect

KinectProjectorToolKit 으로 데모 실행하기.

. 여태까지는 그냥 모니터로 키넥트의 인식결과를 출력하였다. 이제는 키넥트로 사람과 배경을 인식한 것을 프로젝터로 피사체에 쏘아 mapping하는 과정을 한다. 이때 쓰는 코드는 https://github.com/genekogan/KinectProjectorToolkit 을 사용한다. 여태까지 했던 kinect flow, physics 등은 사실 피사체에 프로젝터로 mapping을 하는 목적이 아니고 그냥 대형화면에 띄우는 듯한 목적이다. 하지만 위 코드는 키넥트로에서

알파고(AlphaGo)가 바둑 두는 방법
Deep Learning

알파고(AlphaGo)가 바둑 두는 방법

구글의 딥마인드(DeepMind)에서 만든 deep learning 기반 바둑 프로그램(?) 알파고(AlphaGo)가 오는 3월 9일 부터 15일까지 이세돌 9단과 경기를 가진다. 장안의 화제라 나도 궁금해서 한번 찾아보았고, 이를 공유하고자 이 글을 쓴다. 이 글의 내용은 Nature에 실린 알파고 논문을 기반으로 작성하였고, 내 수준이 딸려서 잘못 이해하고 쓴 내용도 있을

어떤 Deep Learning Library를 선택해야하나요?
Deep Learning

어떤 Deep Learning Library를 선택해야하나요?

**Deep Learning(딥러닝)**이라는 기술이 최근 거의 모든 기계학습류 문제의 해결책으로 떠오르고있다. "이 기술을 무엇으로 구현해서 사용하는 것이 가장 효율적인가" 라는 질문이 아주 흔하다. 대부분은 딥러닝을 시작하는 김에 더 빠르고, 더 메모리가 효율적인 것이고, 더 쉬운 라이브러리를 사용하고 싶은 욕심일 것이다.(나도 그랬으니까) 만약 누군가 Convlutional Neural Network(

GPGPU

STT-RAM for GPU register file

이번에는 강제로 공부하게된 논문 내용을 소개한다. 전형적인 well-organized(?) 된 논문 인거 같아서 적어두려고 한다. ASP-DAC 에 나온 논문인데, 자세한 정보는 직접 찾아보면 된다. 논문 링크 Main contribution MLC STT-RAM 으로 GPU register file을 구성 (기존에는 SRAM) MLC 특성상 발생하는 soft-bit 과 hard-bit에 속도 차이를 이용하여, 자주 쓰이는 데이터는 soft-bit에 mapping