본문 바로가기

전체 글268

[만화] 오픈소스 GUI 툴킷 Qt와 KDE 프로젝트의 시작 제가 그린 만화를 소개합니다. Qt와 KDE 프로젝트에 관한 만화입니다. 많은 사람들이 쓰고 있는 오픈소스 소프트웨어지만 그 기원에 대해서는 잘 모르는 경우가 많습니다. 저도 이 만화를 그리면서 많이 배우고 있습니다. 늘 그렇듯이 시작은 한두명이지만, 꾸준히 하다보면 큰 프로젝트가 됩니다. 2020. 5. 25.
Chrome University 2018: Chrome OS Graphics 101 ChromeOS graphics stack에 대한 자세한 설명을 들을 수 있습니다. Modern Desktop이 어떻게 화면을 그리고 GPU에 최적화 되어있는지 보여줍니다. 특히, ChromeOS는 Wayland를 이용해서 Android app UI와 리눅스 앱 화면에 보여주는데, 이에 대한 설명을 들을 수 있습니다. 2020. 5. 9.
Practical File System Design with the Be File System BeOS는 90년대, Apple의 차세대 OS로 거론되기도 했던, Unix기반의 멀티미디어 OS입니다. 기술적으로는 뛰어났으나 시장에서 성공을 못한 비운의 OS입니다. OS는 시장에서 사라졌지만, 기술은 유산으로 남아, BeOS IPC 시스템은 현재 Android에 적용되었고, File System은 OSX에 적용되었습니다. 특히, BeOS의 파일시스템을 직접 만든 개발자는 직접 file system 설계에 대한 내용을 책으로 썼습니다. 저자는 Apple로 옮긴 후, Spotlight, APFS, iColud, Time Machine개발을 했네요. 제 기억에 APFS가 iOS에 도입될 때, 디스크 저장 공간의 꽤 늘어난 것으로 압니다. 아마 이분의 업적이겠죠. http://www.nobius.org/db.. 2020. 5. 8.
리눅스 커널 5.6 기여 순위 인텔은 부동의 1위입니다. 레드헷 순위가 많이 떨어졌네요. AMD가 열심히 하는 것 같습니다. 아쉽게도 삼성전자가 보이지 않습니다. 대신 Huawei가 그 자리를 차지했네요. https://lwn.net/Articles/816162/ 2020. 4. 12.
웹브라우저 성능 측정하는 사이트 웹브라우저에서 GPU가속 성능 측정할 때, 자주 사용하던 웹사이트들이다. 웹브라우저를 임베디드 기기에 포팅한 후, 그래픽 성능을 측정할 때 사용할 수 있다. Web Benchmark https://web.basemark.com/ https://www.wirple.com/bmark/ https://browserbench.org/MotionMark/ WebGL Test https://threejs.org/examples/#webgl_interactive_instances_gpu https://threejs.org/examples/#misc_lights_test https://threejs.org/examples/#webgl_postprocessing_ssaa_unbiased https://webglsampl.. 2019. 8. 19.
CS에서 논문/책 인용 순위 http://citeseer.ist.psu.edu/stats/citations CiteSeerX — Statistics - Most Cited Citations in Computer Science citeseer.ist.psu.edu 우연히 알게된 사이트이다. 100위까지 살펴보니 알고리즘에 관한 논문이 많지만, 머신러닝 관련한 논문이나 책도 많다. 최근 연구 트렌드를 보려면 100위까지 살펴보면 좋을 것 같다. 머신 러닝 관련한 책을 찾다가 아래 페이지를 찾았고, http://aima.cs.berkeley.edu Artificial Intelligence: A Modern Approach What's New Free Online AI course, Berkeley's CS 188, offered thr.. 2019. 8. 19.
WebKit Haiku port https://discuss.haiku-os.org/t/webkit-status/8822/4 WebKit status? Didn’t realize that… well that’s going to be useful. Also Webkit 1 stability is much better as of late… it will be nice for it to not bring down the whole browser if a bug or two does sqeak by though. I do wonder what change made it more stable… discuss.haiku-os.org 한때, WebKit Project가 잘 나가던 시절이 있었다. Mac, Gtk+, EFL, Qt, Haiku 등 여.. 2019. 8. 17.
닌텐도 스위치, 소니 플스 FreeBSD를 사용하다. 약간 오래된 발표자료이긴한데, FreeBSD의 현재에 관해 잘 알 수 있는 발표다. FreeBSD가 리눅스 만큼은 아지만, 여전히 산업계에서 많이 쓰이고 있다는 사실을 알 수 있다. 특히, 일본회사에서 많이 쓰는데, 소니 플레이스테이션 닌텐도 스위치가 대표적인 예이다(비디오에서 17:45를 보자). 리눅스는 커널을 고치면 공개해야 하지만 FreeBSD는 그럴 필요가 없어서 뭔가 해킹의 위협에 늘 시달리는 게임기 업체들이 많이 쓰는 것 같다. 2019. 8. 16.
Intent to Implement: WebGPU 드디어 WebGPU를 Chromium에서 구현하나 보다. (관련글) 다음은 bink-dev에 올라온 글의 일부이다. 애플이 WebKIt에 Metal을 이용해서 만든 WebGPU와 얼마나 비슷한지 궁금하다. 같은 이름인 것으로 보아 애플의 제안이 많이 받아들여진 것 같다. Spec:Work-in-progress IDL: https://github.com/gpuweb/gpuweb/blob/master/design/sketch.webidlThe “GPU for the Web” community group is approaching resolution on most-high level issues, but hasn’t looked at the detail or user-experience of the API y.. 2018. 6. 12.
남들이 짠 코드 읽기... 처음 개발자로서 일할때는 모든 프로젝트가 정말 바닥부터 코딩을 했다. 한마디로 main으로 코딩을 시작했다. 이런 코딩은 아주 재밌다. 내가 모든 것을 지배하니까.. 그런 즐거움도 잠시 대기업이 들어간 이후 부터 지금까지 남들이 짜 놓은 방대한 코드에 뭔가 기능을 구현해야했다. 이때 부터 본격적인 코드 읽기가 시작되었다. 방대한 코드를 이해하는 것은 쉽지 않다. 그냥 코드만 읽어서는 절대 이해할 수 없는 것이 코드 읽기다. 오죽하면 이런 책도 있다. 그래서 지금까지 경험한 것을 잠깐 공유하려고 한다. 1.gdb로 step into를 통해 프로그램 동작을 이해한다. call graph를 복사해 놓고 sequence diagram을 그려 놓으면 좋다. 이것을 바탕으로 class diagram을 그려놓고 프로.. 2018. 5. 6.
리눅스 크롬 브라우저 File-picker 드디어 modal 지원 크롬 브라우저 55 부터 file-picker가 modal로 뜹니다. 그전까지는 modal이 아니라 오동작하는 경우가 많았습니다. 대표적인 경우가 gmail에서 file attach하다가 다른 페이지로 이동할 수 있었지요. 실수로 이런 경우가 많았나봅니다. 처음 버그 수정 부터 계속 patch를 다듬고 reviewer를 위해 기술문서도 작성하는 등, 실제 patch가 반영되는데까지 1년이 넘게 걸렸습니다. 몇 번 land되었다가 2번 revert되고 이후 regression만 3번 정도 있어서 이 부분도 수정해야했습니다. 이번주에도 regression하나 수정했습니다. 직접적인 버그는 아니였지만.. gmail팀의 지원 사격이 없었으면 아직도 이 patch는 림보에 빠져서 영원이 못나올 뻔 했습니다. 어찌.. 2016. 12. 10.
크로미움 프로젝트 커미터 얼마전 크로미움 프로젝트 커미터가 되었다. 프로젝트에 기여한지 3년이 되었지만, 사실상 다른 업무로 많은 기여를 하지 못했다. 올해 어느 정도 여유가 생겨서 평소에 관심이 있었던 Blink엔진의 Editing 부분에 집중적으로 기여했다. 어느 오픈소스 프로젝트나 커미터가 되려면 많은 노력이 필요하다. 어떻게 보면 쉽고 어떻게 보면 어렵다. 크로미움 프로젝트의 경우, 주요한 10개의 patch를 기존 커미터들이 평가하는데, 반대 없이 3명 이상의 +1을 받아야 한다. 기여한 patch의 개수는 중요하지 않다. 실제 버그를 수정하고, Feature를 개발하고 성능을 높이고, refactoring도 큰 수준으로 해야 다른 커미터로 부터 커미터 지명을 받을 수 있다. 사실 구글 직원이 아니면 이런 기여를 하기가.. 2016. 11. 6.