Web Browser, Free/Open Source, AI, and etc..

My Contributions to Chrome and Edge M145: Long Animation Frames and Drag-and-Drop Fix


최근 릴리스된 Chrome 및 Edge 브라우저 (M145)에 제가 기여한 기능 추가 및 버그 픽스가 포함되었습니다. 아마 이미 X에서 공유해서 이미 내용을 알고 있는 분들도 있겠지만, 잠깐 내용을 공유해보록 하겠습니다. 이번 릴리스가 의미가 있는 것이 제가 거의 2년전에 마이크로스프트 아웃룩팀에 조인하고 아마도 처음 제대로 된 결과물이 크롬/에지 브라우저에 포함되는 것 같습니다. 왜 이렇게 오랜 시간이 걸리는지 궁금할 수 있는데, 패치의 난이도에 따라 리뷰가 몇개월씩 걸리고 실제 프로덕션 환경에서 몇달씩 테스트하는 경우가 있어서 작은 버그 수정도 실제 릴리스에 반영되는데는 1년 넘게 걸릴 수도 있습니다.…
Read more ⟶

Explainer for Delayed Messages API Published


I’m excited to share that the explainer for the Delayed Messages API has been published! 📄 Explainer on GitHub This proposal introduces a new web performance API to help developers monitor postMessage events across windows, iframes, and web workers. As you may know, web applications often use postMessage for communication between execution contexts. But these messages can sometimes be delayed—stuck in the queue while the receiver’s event loop is blocked by long-running tasks or overloaded with too many messages.…
Read more ⟶

Contribution to Llama-recipes project


I’m excited to share my recent contribution to the llama-recipes, a project used for fine-tuning Llama2. I’ve been working on fine-tuning the Lamma model since its open-source release. Initially, I utilized the alpaca-lora project, which enabled fine-tuning Lamma using a consumer’s NVidia GPU. This was a significant advantage as it allowed me to develop my own version of ChatGpt. However, the LLM industry moves at a rapid pace: Meta released Lamma2 shortly after.…
Read more ⟶

Loz Update: Now with Local LLM Support and Natural Language Linux Commands


I’ve been developing the Loz project in my spare time for nearly a year. It’s now ready for others to use, so I’m excited to share the latest updates. https://github.com/joone/loz Support for Local LLM Initially, Loz only supported the OpenAI API. A friend inquired about integrating open-source LLMs like Llama2, which isn’t straightforward to set up on a user’s computer. I discovered a project called Ollama that simplifies the installation of various open-source LLMs with a single command.…
Read more ⟶

Understanding the <aside> Element in Web Accessibility: Standards, Challenges, and Cross-Browser Compatibility


The <aside> element The <aside>element is typically used for displaying additional information that complements the main content. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside How is the <aside>element handled in the accessibility tree? Each HTML element has a specific role in the accessibility tree, helping users in navigating content via assistive tools like VoiceOver. For example, the <aside>element assumes a complementary role in the Accessibility Tree. However, in certain exceptional cases, the <aside>element does not assume this complementary role.…
Read more ⟶

Loz, A Command-Line Interface Tool for ChatGPT


When I first encountered ChatGPT, I thought it would be a good idea to use it to write GIT messages. I often spend a lot of time writing and updating GIT messages to explain my changes in a better and more concise way, but it is not always easy. So, I implemented a small CLI tool called Loz to write GIT messages in a GIT repository. It worked well, and some people started using it and contributing to my project.…
Read more ⟶

The new Headless mode now supports disabling lazy loading


Recently, I added support for disabling lazy loading to the new headless Chromium. Since the Google Chrome team announced the new headless mode, the new headless mode has gradually supported the old headless features. This was one of the missing features. But, what does disabling lazy loading actually mean? First, we need to understand what lazy loading is on the Web. Lazy loading is a technique that delays the loading of resources until they are needed.…
Read more ⟶

Typescript Starter


If you work on Node.js or TypeScript, you may have your own initial setup for development. I have worked on several Node projects with TypeScript, and I have developed my own project starter or template. I put together the commonly used functionality and made it into a project, which I published on GitHub. https://github.com/joone/typescript-template Of course, there is a similar project maintained by Microsoft, but it has too many features. I made my project starter with the level of features that I wanted.…
Read more ⟶

5k tiled dual DP (two-pipe, two-port) display sync issues


https://gitlab.freedesktop.org/drm/intel/-/issues/27 5K 모니터를 우분투 20.04에서 설정하다가 재미있는 xrandr 사용 방법을 알게되었다. 아직까지 리눅스 데스크탑 여전히 일반 사용자가 쓰기 어려운 이유는 하드웨어가 제대로 지원되지 않는 부분이다. 물론 많이 좋아졌지만, Nvida GPU를 제대로 설정하기란 어려운 일이다. 어쩔 수 없이 open source version을 설치하고서나야 겨우 외장 모니터를 사용할 수 있었는데, 5k출력이 잘 안된다. 5k 출력은 두 DP 포트를 이용해서 화면에 절반씩 렌더링하는 구조로 되어 있는 듯 하다. 아마 하나의 DP가 bandwidth가 못받쳐줘서 그런 듯 보인다.…
Read more ⟶

타입스크립트(Typescript) 스타터 코드


프로젝트가 반복되면 재사용되는 코드가 많아질 수 밖에 없다. 여러가지 툴을 타입스크립트를 작성하다 보니 그 동안 공통적으로 사용하고 있는 기능을 묶어서 프로젝트로 만들어서 github에 공개해봤다. https://github.com/joone/typescript-template 물론, MS가 만든 비슷한 프로젝트도 있는데, 너무 기능이 많고, 내가 원하는 수준에서 만들었는데, 아마도 필요한 분이 있을것 같다. 일단, 프로젝트는 clone하면 기본적으로 아래 package를 사용할 수 있고, 간단한 웹서비스가 구현되어 있다. express.js eslint mocha chai prettier typeorm mongodb Docker MongoDB를 사용하는 방법이 두가지 있는데, typeorm와 mongoose를 사용한 것 코드를 별도 branch로 분리해두었다.…
Read more ⟶