<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>YouTube on Ken Huang</title>
    <link>https://blog.kenhuang.io/tags/youtube/</link>
    <description>Recent content in YouTube on Ken Huang</description>
    <generator>Hugo</generator>
    <language>en</language>
    <managingEditor>whatacold@gmail.com (Ken Huang)</managingEditor>
    <webMaster>whatacold@gmail.com (Ken Huang)</webMaster>
    <lastBuildDate>Fri, 17 Oct 2025 20:25:42 +0800</lastBuildDate>
    <atom:link href="https://blog.kenhuang.io/tags/youtube/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Eglot for Better Programming Experience in Emacs</title>
      <link>https://blog.kenhuang.io/blog/2022-01-22-emacs-eglot-lsp/</link>
      <pubDate>Sat, 22 Jan 2022 11:36:18 +0800</pubDate><author>whatacold@gmail.com (Ken Huang)</author>
      <guid>https://blog.kenhuang.io/blog/2022-01-22-emacs-eglot-lsp/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://microsoft.github.io/language-server-protocol/&#34;&gt;LSP&lt;/a&gt;, or Language Server Protocol, makes programming easier by introducing features like more precise auto-completion and definition lookup. It may have scratched your itches, and you may wonder what the experience is like in Emacs.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;em&gt;BTW, I&amp;#39;m improving my English by watching YouTube videos every single day; If you&amp;#39;re also learning English, or any languages, LanguagePuppy can definitely help you. It&amp;#39;s a Chrome extension I developed using Clojure. Check it out:&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Writing a Python Script in Emacs in 45 Minutes!</title>
      <link>https://blog.kenhuang.io/blog/2021-12-11-writing-python-in-emacs/</link>
      <pubDate>Sat, 11 Dec 2021 09:24:53 +0800</pubDate><author>whatacold@gmail.com (Ken Huang)</author>
      <guid>https://blog.kenhuang.io/blog/2021-12-11-writing-python-in-emacs/</guid>
      <description>&lt;p&gt;&#xA;Note: watch my live coding session of this article:&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/MXF81Q0a91M?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/p&gt;&#xA;&lt;div id=&#34;outline-container-headline-1&#34; class=&#34;outline-2&#34;&gt;&#xA;&lt;h2 id=&#34;headline-1&#34;&gt;&#xA;Intro&#xA;&lt;/h2&gt;&#xA;&lt;div id=&#34;outline-text-headline-1&#34; class=&#34;outline-text-2&#34;&gt;&#xA;&lt;p&gt;&#xA;If you&amp;#39;ve heard some rumors of Emacs that it has a very steep learning curve (or that Emacs makes a computer slow), you may be too scared to look at it. It indeed has some learning curve (learning anything does have one), but it isn&amp;#39;t very steep. I learned this after getting my hands dirty with Emacs a few years ago.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Revert a Series of Git Commits?</title>
      <link>https://blog.kenhuang.io/blog/2019-09-24-how-to-revert-a-series-of-commits-with-git/</link>
      <pubDate>Tue, 24 Sep 2019 23:14:00 +0800</pubDate><author>whatacold@gmail.com (Ken Huang)</author>
      <guid>https://blog.kenhuang.io/blog/2019-09-24-how-to-revert-a-series-of-commits-with-git/</guid>
      <description>&lt;p&gt;&#xA;Sometimes, I need to revert a series of commits that I&amp;#39;ve already pushed, doing a git hard &lt;a href=&#34;https://git-scm.com/docs/git-reset&#34;&gt;reset&lt;/a&gt; (&lt;code class=&#34;verbatim&#34;&gt;git reset --hard&lt;/code&gt;) is not an option, as someone may already have new commits based on mine.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;For example, assume that I&amp;#39;ve made a few commits like below:&lt;/p&gt;&#xA;&lt;pre class=&#34;example&#34;&gt;&#xA;65a2c62 * commit 10&#xA;25cad43 * commit 9&#xA;72ad583 * commit 8&#xA;ceebf9a * commit 7&#xA;acf8a11 * commit 6&#xA;28d526f * commit 5&#xA;63af1e2 * commit 4&#xA;982c71c * commit 3&#xA;0fb4c2d * commit 2&#xA;acf9da1 * commit 1&#xA;b5f9933 * commit 0&#xA;&lt;/pre&gt;&#xA;&lt;p&gt;&#xA;For whatever reason, I need to &amp;#34;drop&amp;#34; the changes made by commit 6 to commit 10, that is, go back to &amp;#34;commit 5&amp;#34; without deleting these commits.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
