이 블로그 검색
2020년 9월 24일 목요일
Image Compositing 정리. 1 (Screen, Multiply) 스크린, 곱하기
2020년 8월 25일 화요일
NFC Tag로 Wifi 공유하기. (Android, NFC Tools)
NFC Tools 어플리케이션을 킨다.
Write Tab에가서 Add a record로 들어간다. 아래로 스크롤하여
Wi-Fi network를 누른다.
돋보기 버튼을 누른다. 근처에 있는 모든 네크워크가 뜨므로 오른 쪽 상단에
Wi-Fi가 양쪽으로 나가는 아이콘을 클릭한다. (제목 우측:Available Wi-Fi networks)
잠시후 가까이에 있는 Wi-Fi 즉 내가 작업할 놈이 최상단에 뜰 것이다.
그것을 누르고 Authentication 은 가정용에서는 WPA/WPA2-Personal을
고르면 되고, password는 그대로 가져와서 쓰면 된다.
그리고 OK를 누르고 나간면 Write / 약 100bytes 와 같은 버튼이 있다.
그것을 누르고 빈 NFC Tag에 가져다 댄다.
그러면 Wi-Fi에 관한 모든 정보가 기입된다.
모든 작업이 완료되었다. 안드로이드 기기간에는 약속된 NFC Tag기능이 있는데 그 중 하나가 Wi-Fi Network을 추가 하는 것이다.
이제 다른 사람의 핸드폰 또는 본인의 핸드폰에서 해당 비밀번호를 초기화 한후 비접촉 방식으로 접속해보자.
나 같은 경우는, NTAG213이라는 제품을 사용하다보니 최대 144바이트를 쓸 수 있어서 비밀번호 원문이 그대로 Tag에 노출된다.
Wi-Fi 비밀번호를 만들 때, 중복되지 않는 임의의 비밀번호를 생성한다면 노출이 된다해도 나중에 수정하면 된다. 다만 다른데서 쓰는 비밀번호를 그대로 쓰고 싶다면 다른 방법을 사용해보자.
다른 툴을 사용하면, 비밀번호를 Hash 값으로 바꿀 수 있다. 나 같은 경우는 wpa_passphrase를 사용하는데 이것을 통하면, 65자리의 Hash가 얻어진다.
요렇게 했을 때, 원문 비밀번호는 노출이 되지 않으나(무작위 대입방법에는 취약하니 영어만 쓴다거나 하면 안된다. 그냥 랜덤값 쓰고 본인도 NFC 터치로만 연결하자. )
애매하게 150byte정도를 쓰는데 이건 내 ssid가 긴 문제인 것 같다만, (어차피 터치로 할거니 짧듯 길든 무슨 상관...)
NTAG 213은 144바이트 밖에 안되서 제약이 많으므로 NTAG215(504bytes) 나 NTAG216(888bytes)를 애초에 구매를 해서 사용하는 방법을 쓰면 좋다.
215도 ebay에서 213보다 비싸지만 약간의 차이이니 이것을 추천한다. 나도 213이 너무 작아서 다음에 구입 예정이다.
213은 머리 맡에 가져다 대면, 손전등이 켜지게 하거나, 블루투스 오디오를 바로 연결하게 하는 등 보안과 상관 없는 간편작업에 쓰면 좋을 것이다.
비밀번호는 원문공개를 항상 조심하자. 몇년전에 한국물리학회홈페이지에서 비밀번호 찾기를 했는데, 원문이 그대로 와서 식겁했다. 그 때 이미 불법이었는데... 그러고서도 몇년동안 그대로였는데, 여기는... 비밀번호가 털렸는지 확인조차 제대로 안되었을 것 같아서.. 걱정을 많이 했는데 여러분도 그럴 필요는 없으니, 대충 쓰는 비번은 중요한 비번과 겹치지 않게 잘 하자.
2020년 8월 24일 월요일
Linux Desktop 에서 F13-F24키 셋팅하기.vim 으로 파일 수정.
오래전 PC가 아주 비싸던 시절에는 당연히 키보드가 비싸도 티가 안났고, 대량생산을 통해 단가를 낮출 필요가 없었다.
어차피 전체 영역에서 키보드가 얼마나 차지하겠는가. 그러다보니 참 다양한 키보드가 존재한다.
google에 IBM keyboard F24라고 검색을 해보라. 크고 아름다운, 2줄 기능키가 등장한다. 거기다가 들어본 적도 없는, 수많은 특수 키들이 좌측에 자리잡아 있는 것을 볼 수 있다.
그런데 현실은? 인기있는 키보드 몇말고는 50달러 이상 가는 것도 잘 없다.
그러면 뭔가 표준스러운 한가지 모델로 모두가 통일해서 공장에서 대량생산을 하는 방법으로 간다. 고로 역사적으로 사라진 수많은 키들이 있다.
그 중의 하나가 F13-F24키이다. Apple키보드의 경우에는 F13-F15가 프린트스크린 스크롤락 멈춤 자리에 가 있는 경우도 있고 심지어 넘패드 윗쪽으로 F16-F18,F19 3개 또는 4개가 있는 경우가 있지만, 뭐 여전히 마이너 하고, F15까지 있는 키보드는 모양 자체는 별차이가 없다.
애플키보드라는 놈이 있다보니, 종종 그래도 쓸 수 있는 키보드다. 고로 F키의 경우는 아직도 GUI 개발용 라이브러리에서 대부분 지원한다. 지원하지만 아무것도 맵핑 되어 있지 않을 뿐이다.
그러면 어떻게 이 들을 사용할 수 있을까, 소위 윗글쇠라 부르는 ⇧Shift (ISO Level 2 Key) 를 사용할 수 있다. 위키피디아를 보니, Modern windows keyboard(??)의 경우는 그렇게 사용한다고, 한다.
수많은 어플리케이션들이 범람하다보니, ctrl, alt, win,shift 조합을 매우 많이 하게된다. 이미 우리가 알고 있는 키들은 내가 사용하지 않더라도 누군가가 사용할 컴퓨터에서는 이미 사용되고 있을 수 있다.
이럴 때는 어떻게 하나... ISO_LEVEL 3 Shift Key를 사용하면 된다. 보통은 AltGr키라고 많이 부르는데, 문자영역에서 Shift외의 더 많은 키가 필요할 때 많이 사용된다. 영어 키보드에서 다양한 유럽어 키보드로 바꿔야 할 때 많이 사용한다. 독일어만 해도, 모양이 다른건 ß나 öäë 정도 말고는 필요하지 않지만, 대소문자로 나뉘어 있으므로 shift키는 쓸 수 없으니 잘 안쓰는 오른쪽 alt를 변형헤서 사용하는 방법 중 하나이다.
아니면, Scroll Lock키를 사용해도 된다. (다 그런지 모르겠는데 Scroll락 키는 있지만 그냥 일반 키처럼 작동하고, LED도 스위치로도 따로 조정하지 않으면 작동을 안했다. )
리눅스 윈도우 매니저가 엄청나게 가볍지만 않다면, 설정에 들어가 키보드 설정에서 할 수 있다. 아마 이미 왼쪽 CapsLock을 ctrl로 쓰는 등으로 할 줄 알거라 생각한다.
AltGr을 쓰려면 위에서 방법을 찾아보고 없으면, keyboard profile에 AltGr이 들어간 친구를 열심히 찾으면 된다. 그러면 오른쪽 Alt는 AltGr로 작동한다. 관련 글은 다음에 쓰도록 하고, 이 키를 통해 altgr F1을 F13으로 사용해 보도록 하자. (내가 쓰는건 US. International AltGr. with Dead Key 였던가)
분명히 root를 사용하지 않고 쓰는 방법이 있을텐데 그건 나중에 찾아서 고치도록 하고, 나는 다음처럼 사용한다.
/usr/share/X11/xkb/symbols/srvr_ctrl 파일을 열어 다음처럼 수정한다.
vim 명령을 사용하면 단숨에 가능.
:g/^\s*symbols/s/F\(\d\+\), .*F\(\d\+\), .*F\(\d\+\), .*F\(\d\+\),/\="F". submatch(1).", F".submatch(2).", F".(subm
atch(3)+12).", F".(submatch(4)+12).","/
symbols로 시작하는 줄에서 F숫자, 4개의 조합으로 이루어진 것을 모아다가, 첫번째꺼는 그대로, 3번째 4번째는 12를 더하도록 만들었다. 이걸 사용하고 level3를 사용할 수 있는 상태로 만들었다면,
level3+F1 은 F13으로 작동한다. apple키보드를 기본베이스로 하지 않는이상 아무작동도 없으므로 단축키로 쓰기 알맞다
13 type="CTRL+ALT",
14 symbols[Group1]= [ F1, F1, F13, F13, XF86_Switch_VT_1 ]
15 };
16
17 key <FK02> {
18 type="CTRL+ALT",
19 symbols[Group1]= [ F2, F2, F14, F14, XF86_Switch_VT_2 ]
20 };
워낙은 X-window상에서 ctrl+alt+F{1..12}로 가상터미널을 여는 키로 쓰러고 만들어 놓은건데
들어와서 Level3과 Level4가 Level1,Level2와 동일하게 F1,F1,F1,F1로 되어 있는것을 12씩 더해서 수정해 놓은 것이다.
위와 같이 설정하면 ISO Level 3 Shift키를 누를경우 F13등을 사용할 수 있게 되고. Shift키까지 누를경우도 문제 없이 조합하여 사용가능하다.
단축키 설정이야 항상 내맘대로 할 수 있는 방법이 있지만, 겹치지도 않아야 하고 재사용하기 쉬어야 하기 때문에, Level 3 Shift와 펑션키를 이용하면 아주 좋다.
일단, 맥이 아니므로 이미 사용되는 경우가 없다. 펑션키는 크기 3부분으로 4개씩 분류가 되어있어 사용이 용의하다. 예를 들면 트리플 모니터를 쓰는데 각 모니터별로 회전을 시킨다거나, Blender 등에서 XYZ축의 회전값을 0,90,180,270로 즉시 변환한다거나 하는 식으로 사용할 수 있을 것이고, 재사용때 잊어 먹어서 못쓰는 경우도 보기 어렵게 잘 할 수 있다.
뭐 어떻게 쓰는건 자유지만, 지금 막 바꾸어서 머리속으로 말고는 막 자랑하기는 어렵다.
AltGr키는 지금 Compose라는 키랑 더불어 오른쪽 alt ctrl을 바꾸어 사용하고 있는데, 매우 유용하다. 이걸 더 어떻게 활용할까 하다가 F키가 24까지 있다는 소문에 조금 확장해 보았다.
새로 글을 파겠지만, 현재 어떻게 쓰고 있냐면, AltGr+g 를 누르거나 순차적으로 compose,g를 누르면 <dead_greek>키가 작동하고, 이상태에서 알파벳키를 누르면 해당하는 그리스어 알파벳이 나오도록 하였다.
(어떻게 설정했는지는 모르겠지만, 이 그리스어 알파벳이 kile이라는 Latex 작성 툴에서 \alpha와 같은 방식으로 바로 나온다. .. .. )
αβδεφγηκ 이거 말고도 다양한 dead키가 있는데, 위에 점이 있거나 모자가 있거나 한 단어들을 입력할 수 있고, 이거 전부 내가 마음대로 설정할 수 있어서 제대로 다루고, 설정을 그대로 잘 옴기면 평생 키보드 재미있게 쓸 수 있다. 다음에 따로 작성한다.
2020년 6월 12일 금요일
랑그릿사2 스펠 정리.
스펠 데미지 정리
Lv | MRng | MLv |
---|---|---|
1 | ||
2 | +1 | |
3 | ||
4 | +1 | +1 |
5 | ||
6 | +1 | |
7 | ||
8 | +1 | +1 |
9 | ||
10 | +1 |
Spell | Formula | Range | Cost | Special (MDmg) |
매직에로우 | 0 + MLv*2 | 5 | 1 | |
Blast | 20 + MLv | 2 | 10 | |
Fireball | 3+ MLv | 4/3 | 2 | |
Meteor | 10 + MLv | 10/2 | 8 | |
Thunder | 5 + MLv | 7 | 4 | 물위의 적 +1 보너스 |
Tornado | 4 + MLv*2 | 0/3 | 2 | 비병에게 +1보너스 |
Blizzard | 4 + MLv*2 | 0/4 | 3 | |
Earthquake | 10 + MLv*2 | 0/5 | 12 | 공중유닛 무피해. |
실제 적용
변수
2020년 5월 26일 화요일
VIM 환경을 위한 fcitx 설정. ESC를 누르면, 비활성화 되도록,
fcitx는 비활성화 상태가 1번 IM이다.
데스크탑에서는 "미국 영어(국제, AltGr DeadKey포함)"으로
랩탑에서는 "미국 영어" 또는 "한국어 104key"로 설정한다.
두번째 칸은 원하는 한글입력기로 설정한다. 나 같은 경우는 신세벌 P2방식이다.
(갈마들이를 이용해, 공세벌식 비스무리한걸 숫자키 영역 침범 없이 해결)
한글을 입력하다 보면, vim에서 사용하는 i, o,v, y, p 같은 키들을
노말모드에서 사용하려고 할 때,
한글이 나와서 낭패를 보는 일이 많다.
이것을 해결하는 방법은 여러개가 있다.
1. vim상에서 자체적으로 한글입력을 탑재하게 하여 입력모드시에만
IM이 작동하도록
2. vim에서 esc버튼을 누르면, xim에 IM disable message를 보내도록 하는 방법
3. 사용하는 IM자체적으로 ESC를 누르면 그렇게 되도록.
아래는 삽질의 결과물들이다. 그냥 2번으로 하자. vim8이나 nvim을 쓰면서, python3-dbus 와 같은 패키지가 필요할 것이다. 쉘에다가 바로 보내는 것도 해봤는데, 화면에 글자가 안보이는 등 이상한 결과들이 나온다. 그리고 먼가 filter로 사용할 때 말고는, 제대로 작동이 되는지도 의문이 생겨서 python으로 dbus call을 하도록 한다.
.vimrc에 다음과 같이 입력한다.

흠 특수문자들이 날아가서 그림으로 보이도록 하겠다. 를 쓰면 작업이 많음.
아래쪽은 삽질의 기록이다.
2020년 2월 11일 화요일
한눈에 보는 Blending mode 색섞기. (on GIMP)
![]() |
Top Layer |
![]() |
Bottom Layer |
일단 다음처럼 두개의 레이어를 만들고, 여러 효과를 넣어본다.
gimp 최신버전 코드를 깟는데 float로 계산한다.
가장 많이 쓰는 Screen 과 overlay 그리고 Multiply(곱)
![]() |
Screen |
![]() |
Overlay |
![]() |
Multiply |
in이 top이고 layer가 바닥이다.
comp[c] = in[c] * layer[c];
0-1값으로 생각하면 쉽게 어두워짐을 알 수 있다. 이 다음부터는 그림만가지고 이야기한다.
그림은 많이 쓰이는 순서이지만 설명은 Multiply부터 하는 것이 쉽다.
comp[c] = 1.0f - (1.0f - in[c]) * (1.0f - layer[c]);
Screen은 반전 후 곱한 색상을 반전하는 것과 같다. 반대로 좀 더 밝아 짐을 볼 수 있다.
Overlay부터는 top layer와 bottom layer가 서로 동등하지 않다. 일단 normal모드 부터 동등하지 않으므로 이상한 것은 아니다.
if (in[c] < 0.5f)
val = 2.0f * in[c] * layer[c];
else
val = 1.0f - 2.0f * (1.0f - layer[c]) * (1.0f - in[c]);
아직 메뉴얼은 그대로지만 photoshop으로 대동단결 했다.
Hard light에서 복사해오자.
다음은 LightenOnly와 DarkenOnly이다.
각값에서 밝은 값과 어두운 값을 취한다.
comp[c] = MAX (in[c], layer[c]);
comp[c] = MIN (in[c], layer[c]);


다음은 Burn과 Dodge이다.
![]() |
Dodge |
comp[c] = safe_div (in[c], 1.0f - layer[c]);
![]() |
Burn |
comp[c] = 1.0f - safe_div (1.0f - in[c], layer[c]);
if (layer[c] > 0.5f)
{
val = (1.0f - in[c]) * (1.0f - (layer[c] - 0.5f) * 2.0f);
val = MIN (1.0f - val, 1.0f);
}
else
{
val = in[c] * (layer[c] * 2.0f);
val = MIN (val, 1.0f);
}
![]() |
Soft light |
gfloat multiply = in[c] * layer[c];
gfloat screen = 1.0f - (1.0f - in[c]) * (1.0f - layer[c]);
gfloat val = (1.0f - in[c]) * multiply + in[c] * screen;
![]() |
Vivid light |
if (layer[c] <= 0.5f)
{
val = 1.0f - safe_div (1.0f - in[c], 2.0f * layer[c]);
val = MAX (val, 0.0f);
}
else
{
val = safe_div (in[c], 2.0f * (1.0f - layer[c]));
val = MIN (val, 1.0f);
}
Overlay처럼 구간을 나누어, dodge와 burn을 적용한다.
![]() |
Pin light |
이것은 lighten과 darken을 조합하는 것 같다.
if (layer[c] > 0.5f)
val = MAX(in[c], 2.0f * (layer[c] - 0.5f));
else
val = MIN(in[c], 2.0f * layer[c]);
![]() |
Linear light |
if (layer[c] <= 0.5f)
val = in[c] + 2.0f * layer[c] - 1.0f;
else
val = in[c] + 2.0f * (layer[c] - 0.5f);
그렇다.더하기 .

2019년 9월 28일 토요일
히어로즈 메뉴얼 정리된거 보다가 혹했으나 아닌 내용.
망각 마법이 걸린 유닛은 근거리 패널티가 없는 유닛도 생긴다고 적혀 있으나, 컴플리트 버전, hota1.5.4에서는 그렇지 않다는 것을 확인함.
타이탄한테 걸어보았으나... 그런거 없었음.
관련 글보니 영문커뮤니티에 관련 내용이 있으나, 거긴 법사할배로 한 내용이라 알아볼 예정.
태그
- 1호차
- 3D
- 3g
- 간호사
- 결혼
- 공익근무
- 광고차단
- 국민의당
- 군대
- 그리드엔진
- 김현정의 뉴스쇼
- 날씨
- 당번병
- 댓글삭제
- 더민주
- 더불어민주당
- 데몬
- 도커
- 라이브리
- 러블리즈
- 무한재부팅
- 민주당
- 바람
- 베링거
- 베링어
- 병역
- 병역거부
- 보건
- 삼성
- 소나기
- 소셜댓글
- 슈퍼컴퓨터
- 신천지
- 썰
- 악보
- 압축
- 애드
- 애드블록
- 양호
- 에드
- 에드블록
- 역선택
- 연구실
- 오디 오인터페이스
- 오픈뱅크
- 왜곡
- 왜곡기사
- 외도
- 원클릭구매
- 유틸리티
- 이번주아내가바람을핍니다
- 인터넷언론
- 자막
- 적성 카페 빵집
- 전해철
- 정치
- 조선비즈
- 조선일보
- 조선biz
- 조형기
- 진상훈기자
- 차떼기
- 카카오
- 카카오스토리
- 컴퓨터
- 코로나
- 쿠키
- 크롬
- 클러스터
- 테스크스풀러
- 학교보건법
- 한탄
- 헌법재판소
- 헌재
- adapter
- aes
- Amazon
- Ardour
- Audio
- audio interface
- banking
- Behringer
- bundle
- bz2
- bzip2
- c99
- compositon
- coreOS
- curl
- daemon
- DAW
- dbus
- docker
- ethernet
- fedora
- g4
- gnuc99
- gram
- gridengine
- gunzip
- gz
- gzip
- gzip2
- Heroes of Might and Magic3
- HOMM3
- HOTA
- interface
- iptime
- jack audio connection kit
- jackd
- jtbc드라마
- kdenlive
- ladspa
- LG
- lilypond
- linux
- LiveRe
- lmms
- lower
- LTC
- lte
- lv2
- lzma
- midi
- MOD
- modem
- MTC
- natron
- neobundle
- nvim
- one click
- Oneman Band
- OnTheGo
- open
- OTG
- pbzip2
- pigz
- plugin
- psk
- python
- qdbus
- quick-scope
- rsync
- scp
- sftp
- sge
- sim
- spool
- ssh
- tar
- task
- task-spooler
- terminal
- third
- ts
- tsp
- ubuntu
- UMC
- UMC202HD
- usb
- vfx
- video
- vim
- vim8
- VR
- vundle
- wifi
- WOG
- wpa
- wttr.in
- xz
가장 많이 본 글
-
https://sca.coffee/sca-news/25/issue-13/towards-a-new-brewing-chart 원본은 위 주소로가서 보세요. 인터넷에 검색하면, 핸드드립에 물을 얼마나 써야하나요라고 검색하면, 다음과 같은 차트를 많이 만납...
-
과정 1. 열풍기로 후면 커버 한쪽을 가열한다. 권장 100도 30초. 2. 공기압 고정장치(?:화장실 벽 등에 고정시키는데 쓰는)로 후면커버에 고정시킨 후 들면, 후면커버에 부착된 점착제가 늘어나면서 공간이 생김. 그곳을 기반으로 벌리면서, 열풍기...
-
리눅스에서 디스플레이 해상도 등과 관련된 패키지는 xrandr이다. xrandr을 통해 다양한 display mode를 체험할 수 있다. 지금 현재 사용하고 있는, 모니터는 DELL 2312HM으로 홈페이지상 스펙으로는 1920x1080 6...