약 1년 전에 인텔은 SVT-AV1 인코더를 공개했고, 여기서도 개략적인 성능을 테스트했었다. 그리고, 이번에 Arc A750을 구입한 뒤 AV1에 대한 성능을 비교했었다. 그런데, 이 과정에서 예상하지 못했던 문제가 하나 발생했었다. 바로 SVT-AV1 인코더를 업데이트한 뒤 인코딩이 제대로 되지 않았다는 것. gitlab의 설명에도, 프로그램 자체의 도움말에도 아무런 특이한 점은 없었지만, 아무튼 변환은 되지 않았다. 옵션을 적용하는 방법이 뭔가 바뀌었는데, 바뀐 부분을 적용하거나 말거나 그냥 실패... 좌충우돌 끝에 확인한 건 SvtAv1EncApp.exe는 포기해야 되고, ffmpeg.exe 빌드 중에서 full version을 사용해야 한다는 것. Essential version은 인코딩은 되지..
지난 포스팅에서 얘기했듯이 인텔® Arc 라인업의 HEVC 인코딩 성능은 대단히 훌륭하다. 그 글 말미에서 얘기한 대로 AV1 인코딩 성능을 HEVC 인코딩과 동일한 방식으로 확인해봤다. 우선 인코딩 속도를 확인해봤다. 인코딩 속도는 아래 표와 같다. 인텔® QSV를 사용해서 인코딩하면 AV1 역시 HEVC에 버금가는 인코딩 속도를 보여준다. AV1의 인코딩 테스트는 같은 조건에서 HEVC 인코딩한 결과와 비교하는 방식으로 진행했다. 우선, HEVC 인코딩 결과물의 용량 대비 화질은 아래와 같다. 이 그래프는 x265, MainConcept plugin, QSV 등으로 인코딩한 결과에 대해 용량 대비 SSIM을 정리한 결과이다. 용량 대비 품질이 가장 높은 것들과 가장 낮은 것을 아래에 표기했는데, 사실..
인텔의 야심작(?) Arc는 A750과 A770 두 가지 모델이 출시되었다. 상위 모델인 A770이 겨우 RTX3060과의 경쟁제품인 안습의 상황이지만, 궁금함을 참지 못하고 지르고야 말았다. 게임을 거의 하지 않아 약간이라도 더 저렴한 제품인 A750을 구매했다. 박스 포장은 깔끔하다. 기본적으로 글카 자체가 예쁘게 나왔기 때문에 박스를 열었을 때 일단 좀 있어보인다. 그리고 대망의 글카 본체. 설치 이 카드는 집 세컨 PC에 설치하는 것을 최종 목적으로 고려했다. 이 PC에는 문제(?)가 하나 있는데, 예전에 MBR 파티션으로 포맷해놓은 드라이브를 계속 사용해오고 있었던 것. 언젠간 포맷할 거란 생각만 하면서 그냥 써오고 있었는데, 드디어 벽에 부딪혔다. 인텔 홈페이지에도 명시되어 있듯이, UEFI/..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 다양한 성능 개선이 반영된 버전을 공개한다. r4740에서는 계산 기능을 더욱 강화했으며, 인공위성 등에서 사용되는 TLE 포맷에 대한 지원이 추가되었다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2023.3.25: 4.23.03 r4740 공개 - 수식 계산 기능 강화: and, or, rand, min, max, if 등 다양한 수식이 추가됨 (상세 내용 링크) - Scintilla 라이브러리를 5.3.4로 업데이트 (관련 링크) - AutoHotKey API 목록을 2.0.2로 업데이트 (관련 링크) - 파이썬의 PEP 701 ..
TinyExpr을 활용하여 계산 기능을 추가하고 보니 2% 부족하다는 생각이 들기 시작했다. 연산자의 종류도 좀 제한적이었고, 함수의 종류도 좀 부족해보였다. 뒤져보니 (당연히도) 이걸 발전시킨 프로젝트인 TinyExpr++가 있었다. 이 라이브러리는 전체적인 구조는 기존과 거의 같지만 C++로 되어있으며, 인자가 여러 개인 함수도 추가되었다. 심지어 Excel에서 사용되던 함수들도 여럿 도입되었고, 기존의 함수와 Excel의 함수가 모두 있으나 이름이 다른 경우는 둘 다 구현되기도 했다. min(), max(), sum()과 같은 함수들은 인자를 1개에서 7개까지 다양하게 입력받을 수도 있다. 코드 수정 방식에 대한 고민 결과 이전 글에서도 썼듯이 처음 구현할 때는 ScintillaWin.cxx 파일을..
발단은 한 줄의 댓글이었다. 처음엔 이거 웬 엉뚱한 얘긴가 했는데, 생각해볼수록 흥미가 생기는 주제였다. 회사에서 일하면서 메모장에 내용을 기록하다가 계산하기 위해 계산기를 띄우는 일은 자주 벌어지기 때문이었다. 일단은 깃헙의 Notepad2-mod 리파지토리 쪽에 이 기능에 대해 의견을 물어봤다. 그런데, 놀랍게도 이미 그러한 프로젝트가 깃헙에 있다는 답글이 올라왔다. 심지어 이 프로그램은 TortoiseGit에서 사용되고 있었다. 하지만, 여기서 사용한 방식은 내가 원하는 스타일은 아니었다. 수식을 입력하면 상태표시줄에 계산결과를 보여주는 방식이었는데, 나는 결과를 문서에 포함시키고 싶었다. 이 프로그램에서 사용하는 라이브러리는 TinyExpr인데, 이것만 적절히 적용하면 수식을 해석하는 부분은 손쉽..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 다양한 성능 개선이 반영된 버전을 공개한다. 특히 r4700에서는 수식을 입력한 뒤 Ctrl+Enter를 누르면 계산 결과를 화면에 표시해주는 기능을 추가했다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2023.1.1: 4.23.01 r4552 공개 - 파이썬에서 PEP 701 nested f-string 지원하도록 수정 (관련 링크) - HiDPI 아이콘 전면 개정 2023.1.23: 4.23.01 r4597 공개 - 도구(Tools) 메뉴 신설 및 일부 기능 이동 (관련 링크) - RTF로 복사 기능 구현 (관련 링크) - Sci..
얼마 전 보안 전문가 블라디미르 팔란트 씨가 쓴 글(번역글)이 한국의 인터넷 보안의 현실을 뼈아프게 지적했다. 뭐, 그래봤자 KISA는 KISA대로 미온적으로 대응하고, 보안 프로그램 개발 업체들은 역시 하던 대로 하는 것 같지만... 그 글이 올라온 이후 많은 분께서 대응을 요청도 해주셨고, 이와 관련해서 주변 개발자들과 토의도 했다. 그 과정과 결론을 간단히 요약하면 아래와 같다. 1. 구라제거기에서 기술적으로 루트 인증서 삭제는 가능한가 CertDeleteCertificateFromStore() 함수로 삭제 가능함. 단, 관련 소스가 충분하지 않고 도움말이 다소 부족해서 정확한 사용법을 찾는데 시간은 걸렸음. 2. 구라제거기에서 루트 인증서를 삭제할 것인가 삭제하지 않음. 업무용으로 사용되는 인증서..
독일에 사는 보안 전문가 블라디미르 팔란트(Wladimir Palant) 씨가 한국 보안 체계에 대해 분석한 글들이 화제다. 한국의 보안 체계에 대해 상당히 높은 이해를 가지고 심도 있는 비판을 하고 계신다. 그런데, 이 분의 최근 글을 읽고서(저자 허락 하에 한국어로 번역되고 있음) OS의 신뢰할 수 있는 루트 인증서 목록에 뭔가 신뢰하면 안 될 것 같은 인증서들을 설치한다는 것을 알 수 있었다. 진짜 문제는 이 인증서들은 보안 프로그램(이라고 쓰고 구라라고 읽는다)을 제거 하더라도 삭제되지 않는다는 것... 즉, 이러한 보안 프로그램들을 삭제한 뒤에 인증서 관리 기능을 실행해서 직접 인증서를 제거해줘야 진짜 제거가 끝난다는 것이다. 이런 작업을 구라제거기에서 해달라는 요청을 몇몇 분들께 받게 되었다...
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. PC 뱅킹의 주적은 PC 뱅킹 프로그램이다. PC 뱅킹을 하고 나면 컴퓨터가 미친 듯이 느려지기 때문이다. 키보드 보안 프로그램을 필두로 컴퓨터를 느려지게 만드는 악의 무리들이 너무나 많다. 전통의 명가(?) nProte**부터 컴퓨터 발목잡기의 거목 안* 온라인 시큐**, 그 외에도 수많은 잡 구라들… KISA에서 I사 보안모듈 프로그램에 문제가 있다고 발표할 정도로 완성도가 엉망인 경우도 있다. 보안 취약점을 갖고있는 보안 프로그램이라니… 무슨 열림교회 닫힘도 아니고… 더군다나 이런 프로그램들은 몰래 설치가 되는 것도 아니고 아예 (강제로) 동의를 받아 설치된다. 마치 건물 철거 강제 집행하면서 동의서 서명당하는 기분이다 그래서 간단히 만들었다..
잘 알려져있다시피 SSD의 수명은 무한하지 않다. HDD과 SSD는 수명이 비슷하게 유한하지만, 둘의 패턴은 꽤 다르다. HDD가 수명과 밀접한 관련이 있는 것은 플래터 면의 손상이다. 흔히 말하는 배드 섹터 얘기다. SSD의 수명은 NAND 셀 하나하나의 수명과 관련이 있다. 셀 하나의 수명에 용량을 곱한 정도의 크기만큼을 쓰는 것이 SSD의 수명이다. SSD 컨트롤러가 하는 중요한 일 중 하나는 셀 하나하나의 수명이 다해가기 전에 다른 셀로 데이터를 옮기는 것이다. 이를 좀 더 정형화한 값이 바로 요즘 대부분의 SSD 스펙에 명시되어있는 TBW이다. AnandTech에서 이 식을 아래와 같이 정리했다. 여기서 분모 쪽은 실제 데이터에 따라 달라질 수 있으므로 최악의 상황을 가정하여 계산하니 사실상 상..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 온라인에서 이미지의 크기를 줄여주는 많은 사이트들이 있다. TinyPNG가 가장 잘 알려져있는데, 최근에는 여기서 JPEG도 지원하도록 기능이 추가되었다. 그런데, 이런 사이트를 통해 이미지를 압축하려면 내가 가진 이미지를 업로드해야 한다는 근본적인 문제가 있다. 왜 내 개인 이미지를 온라인에 올려줘야 되지? 그리고, 그 사이트들이 내 이미지를 다른 목적으로 사용하지 않는다는 보장이 있나? 사실, 이 사이트들이 사용하는 알고리즘은 대동소이 아니, 동일하다. 본 블로그에서도 몇번 소개했던 mozjpeg, ZopfliPNG, pngquant, Gifsicle에 웹 프론트엔드를 얹은 서비스들이다. 다시 말하면 이 프로그램들을 로컬에서 실행하면 동일한 서..
이전 글에서도 썼지만, 윈도우11을 라이젠 CPU 환경에서 사용하려면 fTPM은 뭔가 좀 많이 찝찝하다. 스터터링 이슈를 완전히 잡지 못한다면 굳이 나서서 성능을 떨어뜨리는 선택을 하는 게 되기 때문이다. 물론 궁극적인 솔루션은 AMD에서 완벽한 마이크로코드를 제공하고, MS에서는 윈도우11의 성능 문제를 해결하는 것이지만... 현시점에서 최선의 선택은 메인보드에 맞는 dTPM 모듈을 장착하는 것 같다. 이를 위해선 일단 메인보드 메뉴얼을 확인한다. 메인보드마다 장착 가능한 TPM 모듈은 천차만별이기 때문. 내 보드의 경우 아래 캡쳐와 같이 SPI 방식의 TPM 모듈을 지원한다. LPC 방식의 TPM을 지원하는 메인보드도 많은데, 이 두 방식은 아예 호환성이 없다. 만약 같은 SPI 방식인데 핀맵만 다르..
내 CPU는 라이젠 5900x다. 나름 이 계열에서 최상위 라인업 쪽에 속하는 프로세서이고, 성능도 만족스럽다. 하지만, 윈도우 11로 업데이트 한 뒤 왠지 찝찝한 이슈가 벌어지고 있었다. 컴퓨터가 툭툭 멈추는, 흔히 스터터링(stuttering)이라 부르는 현상이 발생하기 시작한 것이다. 게임을 특별히 하는 것도 아닌데, 이게 체감될 정도였다. AMD에서도 이 문제를 인지하고 있었고, 결국 fTPM 모듈의 문제를 인정하고 마이크로코드를 업데이트했다. (AMD AGESA 1.2.0.7) 이 업데이트 설치 이후 별 문제 없을 것으로 기대했지만, 현실은 언제나 냉혹한 것... 이전과 별 다름 없이 스터터링이 발생하는 것이었다. 문제를 제대로 해결해보기 위해 아예 윈도우10과 윈도우11을 돌아가며 구동하면서 ..
C/C++를 포함한 거의 대부분의 언어에서는 부동소수점의 제곱근 함수를 지원하고 있다. 그리고, 정수 범위에서 제곱근을 구할 때는 보통 이 제곱근 함수를 활용하여 간단히 구현한다. 그런데, 순수하게 정수 범위에서 동작하는 제곱근 함수가 있다면 조금은 더 빠르게 동작할 것 같다. 파이썬의 경우 아예 이러한 함수를 stdlib에서 지원한다. 정수 범위에서 제곱근을 구하는 아이디어에는 몇 가지 방식이 있다. 1. 뉴턴의 근사법 활용 unsigned ISqrtByNewton32(const unsigned n) { unsigned x = n; unsigned y = (x + 1) / 2; while (y < x) { x = y; y = (x + n / x) / 2; } return x; } 2. 곱하기 연산 없이..
이 글을 쓰는 현 시점 우분투 LTS의 최신 버전은 22.04.1이다. 그런데, 이 우분투에서 Nvidia를 제대로 사용하는 건 의외로 전혀 쉽지 않다. 그냥저냥 적당히 쓰기만 하는 것도 어렵고, 제대로 드라이버를 다 설치하려면 고난의 길이 기다린다. 문제점 기본 오픈소스 드라이버인 Nouveau의 문제 우분투와 함께 설치되는 Nvidia GPU 오픈 소스 드라이버(Nouveau)는 Cuda를 활용하지 못하고 성능도 떨어진다. 게다가, Nouveau가 설치된 상태에서는 Nvidia 정식 드라이버를 설치할 수도 없다. 강제로 Nouveau를 uninstall할 수는 있으나, uninstall하면 부팅이 제대로 이루어지지 않는다. 우분투 22.xx대의 yellow screen bug Ubuntu 22.xx대..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 다양한 성능 개선이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2022.11.13: 4.22.11 r4478 공개 - 워드랩 단축키를 Ctrl+W에서 Ctrl+Shift+W로 재할당 (관련 링크) - AutoIt 키워드를 3.3.16.0으로 업데이트 (관련 링크) - 행 정렬 기능에 "정렬 안 함" 추가 (관련 링크) - 선택영역 메뉴 하위에 "중복된 줄 병합", "중복된 줄 제거" 기능 추가 (관련 링크) 2022.11.30: 4.22.11 r4524 공개 - CSV 스키마 추가 (관련 링크) 2022.12...
예전엔 아이폰 배터리 교체도 직접 하곤 했는데, 어떤 시점부턴가 자본주의로 해결하기 시작했다. 굳이 위험을 감수하기도 싫고... 이번에 가족들 폰을 죄다 업글하게 됐고, 아이폰6s가 남게 되었다. 배터리 상태는 많이 나쁜데, 혹시나 못 고쳐도 별 문제 없지만 그래도 배터리 교체해서 수명이 늘어나면 나쁘지 않은 뭐 그런... 배터리를 교체해서 수명을 늘려주기로 했다. 배터리는 알리 익스프레스에서 저렴하게 구할 수 있다. 아이폰4의 배터리도 판매하는 곳이라 6s 정도는 쉽게 구한다. 그리고, 트위저. 이게 없으면 은근히 불편한 상황이 종종 터진다. 그리고, 그리고, 누구나 집에 하나 쯤은 있는 열풍기. 전면부가 방수 테이프로 붙어있기 때문에 열풍기나 헤어 드라이어 등은 반드시 필요하다. 일단 케이스를 벗겨내..
비디오 컨테이터의 표준인 mp4/mov 포맷은 최초 애플 퀵타임 포맷을 기원으로 한다. 애플 퀵타임 포맷을 보완해서 국제 표준인 MPEG-4 Part 14(ISO/IEC 14496-14:2003)로 등록한 것이다. 기존의 QTFF에 비해서 보완된 점이 여러 가지가 있기는 해도, 본질적인 구성은 동일하다. 오브젝트 단위로 구분되어 있고, 각 오브젝트는 8바이트 필트(크기 4바이트, type 4바이트)로 시작하는 것. 그런데, 가장 크게 바뀐 내용이 그 중 제일 앞의 필드는 ftyp로 시작해야 된다는 것이다. 요즘 아이폰으로 영상을 촬영하면 당연하게도 MPEG-4 컨테이터에 동영상을 저장한다. MediaInfo로 찍어보면 당연히 이렇게 표시된다. 그리고, 내 프로그램 중에서 mp4 파일의 촬영/녹화 시간을 ..
이런 일이 없으면 좋겠지만... .dll 파일로부터 이를 사용하기 위한 .lib 파일을 생성해야 할 때가 있다. 이럴 때의 정석(?)은 dumpbin.exe을 돌린 결과에서 일부 내용을 추출해서 lib.exe를 실행하는 것... 예를 들어, dumpbin.exe의 결과가 아래와 같이 나왔다면... dumpbin.exe /exports mkl_rt.dll [중간 생략] 18796 number of functions 18796 number of names ordinal hint RVA name 1 0 000060E0 CAXPBY 2 1 00006600 CAXPY 3 2 00006F80 CAXPYI 4 3 00006890 CAXPY_DIRECT 5 4 00134CE0 CBBCSD 6 5 001353E0 CBD..
본 블로그에 폰트를 이것저것 적용해보다가 디자이너 분께 적절한 폰트에 대해 질문을 드릴 기회가 있었다. 세리프 폰트는 모바일 환경에서 특히 눈을 더 피곤하게 만들 것 같아 산 세리프 쪽으로 얘기를 했는데... 요즘 디자인 쪽 폰트 양대 산맥이 Pretendard랑 Gmartket Sans라는 답변을 들었다. Pretendard는 본문에 특히 좋은 것 같다고 판단해서 블로그 본문에는 Pretendard를 적용했다. 본문을 제외한 사이드 바 등등에는 Gmarket Sans를 적용했다. 두 폰트 모두 산 세리프지만 스타일 자체가 서로 많이 달라 한 눈에 구분도 되고, 여러모로 만족스러움.
몇달 전 USB 3.0 허브를 구매해서 사용하고 있었다. 유전원 USB 허브이며, 장비 옆의 케이블 커넥터까지 누가 봐도 USB3.0 허브다. 물론 여기 꽂을 수 있도록 동봉된 마이크로 USB 타입 B 케이블 역시 누가 봐도 USB3.0임을 확신할 수 있다. 하지만, 유튜브 뻘짓연구소에 충격적인 영상이 얼마 전 올라왔었다. 아니, 모양이라도 다르던가... 아예 대표 이미지로 나온 바로 그 디자인이다... 그래서 직접 까봤다. 찬란하게(?) 박혀있는 SL2.1s의 위엄... 그리고 12.000MHZ... 이름만 봐도 알 수 있듯이 저건 USB2.0 컨트롤러 칩이다. 그리고, 12.000MHz는 이 칩에서 사용되는 오실레이터... 이렇게 찍은 사진을 마지막으로 쓰레기통에 처넣었다... 다음에 지른 건 USB..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. PC 뱅킹의 주적은 PC 뱅킹 프로그램이다. PC 뱅킹을 하고 나면 컴퓨터가 미친 듯이 느려지기 때문이다. 키보드 보안 프로그램을 필두로 컴퓨터를 느려지게 만드는 악의 무리들이 너무나 많다. 전통의 명가(?) nProte**부터 컴퓨터 발목잡기의 거목 안* 온라인 시큐**, 그 외에도 수많은 잡 구라들… KISA에서 I사 보안모듈 프로그램에 문제가 있다고 발표할 정도로 완성도가 엉망인 경우도 있다. 보안 취약점을 갖고있는 보안 프로그램이라니… 무슨 열림교회 닫힘도 아니고… 더군다나 이런 프로그램들은 몰래 설치가 되는 것도 아니고 아예 (강제로) 동의를 받아 설치된다. 마치 건물 철거 강제 집행하면서 동의서 서명당하는 기분이다 그래서 간단히 만들었다..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 잊혀질만 하면 업데이트하던 한/글 파일 압축기를 이번에도 정말 오랜만에(5년만에... ㄷㄷㄷ) 업데이트했다. 우리나라 특성상 이 프로그램을 완전히 벗어나는 건 쉽지 않은데다, 잊을만하면 이걸로 큰 작업할 일이 생겨서 업데이트. 멀티코어를 제대로 적용해서 속도를 올려보려는 시도를 해봤지만, 프로그램 구조상 너무 많이 뜯어고쳐야 돼서 포기하고... 전체적으로 동작 속도를 향상시키고, 안정성을 보강하는 많은 업데이트를 적용했다. 이전 버전들과 동일하게, 예전 한/글 파일(*.hwp)는 압축하지 못하고, 한/글 표준문서(*.hwpx)와 HWPML 2.x(*.hml)만 압축할 수 있다. 굳이 예전 포맷의 데이터를 사용해야 하는 사용자라면 한/글 표준문서(h..
몇년 전 프린터를 새로 샀고, 마침 대학원 졸업증명서를 뽑아야 했으며 게다가 그게 주말이었는데, 인쇄를 못 하는 상황이 벌어졌다. 내가 산 프린터가 왜 '허용된 프린터 목록'에 없지? 메일로 수정 요청을 보냈긴 했지만, 하루만에 뚝딱 해결될 수 있는 상황이 아니라 꽤 스트레스를 받았었다. 그 뿐만 아니라 온라인 민원 사이트에서 내 정보를 다운받으면서 이런 의문이 종종 들었었다. 왜 내 정보를 내가 다운받는데, 한 번씩밖에 못 받는가? 물론, 이 "정보"엔 등본, 초본을 비롯한 상세한 개인정보가 있어 충분한 보안대책이 필요하다는 점을 모르는 바는 아니다. 하지만, 어쨌거나 기술적으로 궁금한 건 또 다른 문제다. 게다가 이 관점에서 더 따라가보면 프린터에서 사용되는 PCL이나 PS같은 언어들이 진화한 형태가..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 다양한 성능 개선이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2022.10.29: 4.22.09 r4445 공개 - Scintilla를 5.3.1로 업데이트 (관련 링크) - 상태표시줄 전면 개정 (관련 링크) - 파일 → 백업 저장을 별도 메뉴로 구현 (관련 링크) - 윈도우 11 시스템 통합 기능 개선 (관련 링크) - 지정 문구 강조 기능 제거 (상태표시줄 표시 방법 변경에 따른 조치) - Alt+마우스 휠을 페이지 단위 스크롤로 재할당
이전 글에서 간략하게만 적었는데 바이오스의 버그 등으로 인해 윈도우의 최대 절전 모드가 동작하지 않는 경우가 있다. 이런 경우에 단순하게 명령창의 명령만으로 절전 모드에 진입시키는 것이 아예 불가능하다. shutdown.exe 이건 rundll.exe powrprof.dll 이건 무엇 하나 기대대로 동작하지 않는다. powrprof.dll을 활용해서 적절한 인자를 추가하여 최대 절전 모드 대신 절전 모드로 진입시키려 해도 제대로 되지 않는다. shutdown.exe /h /f rundll32.exe powrprof.dll SetSuspendState 정확한 메커니즘은 확인할 수 없었지만, 명령행에서 최대 절전 모드 대신 굳이 절전 모드로 진입하는 건 불가능해 보인다. 하지만, 아주 약간의 코드 만으로도 ..
메인보드로 ASRock의 B550M Steel Legend를 사용하고 있다. 이 보드는 USB 포트에 역전류 방지 회로가 장착되어 있어 언제나 안정적으로 사용할 수 있다. 그런데, 어느 날부터 절전모드가 정상적으로 동작하지 않는 상황이 벌어지고 있었다. 해외 포럼들에서도 이 문제는 많은 이슈가 되어서 여러가지 글들이 많이 올라오고 있었고, 기본적인 해결책도 나와있었다. 시스템 설정에서 최대 절전 모드를 끄는 것. 이렇게 하면 윈도우 자체는 큰 문제 없이 사용할 수 있으나, 본질적인 문제는 해결되지 않는다. 예를 들면, shutdown.exe 명령으로 절전 모드로 진입할 수 없다. shutdown.exe /h /f 이는 아래 명령을 통해서도 마찬가지다. rundll32.exe powrprof.dll Set..
주어진 수보다 크거나 같은 최소의 2의 제곱수를 찾아야 될 경우가 있다. 대표적으로 FFT를 기반으로 하는 신호처리의 준비단계. 적절한 개수를 지정해놓고 DFT를 할 수도 있지만, 역시 미친듯한 속도를 내려면 2의 제곱수가 짱짱맨이다. 사실, 요즘 컴퓨팅 환경에서는 이를 위한 가장 빠른 방법[...] 따윈 알아볼 의미가 크게는 없다. x86/x64 환경이라면 어셈블리 단위에서 LZCNT(Count Leading Zeros) 명령을 지원하기 때문이다. Visual C++라면 __lzcnt64() 등의 함수로, GCC라면 __builtin_ia32_lzcnt_u64() 등의 함수로 사용할 수 있다. 하지만, 세상은 언제나 그렇게 만만하진 않은 법. 파이썬이나 매틀랩 같은 언어에서는 이런 계열의 함수를 지원하..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오류를 수정하고 다양한 성능 개선이 반영된 버전을 공개한다. 아래 링크에서 다운받을 수 있으며, 언제나 그렇듯 x86/x64/avx2 버전이 함께 들어있다. password: teus.me ▲ 히스토리 2022.7.24: 4.22.07 r4298 공개 - CSS 속성 목록을 April 2022 내용으로 업데이트 (관련 링크) - PowerShell lexer 업데이트 및 API 목록을 7.2로 업데이트 (관련 링크) - WebAssembly 키워드 업데이트 (관련 링크) - PHP의 API 목록을 8.2로 업데이트 (관련 링크) - Scintilla를 5.2.4로 업데이트 (관련 링크) - 인쇄 기능의 오동작 수정 (관련 링크) - 모니터 이동시 ..