You made it.


Welcome to my site. I am a programmer from San Francisco who enjoys spending time with my wife and cats. I live for ski season and am enthusiastic about karaoke. Occasionally I will post here with projects I am working on or ideas I think are interesting.

Bookmarklets: Updated Ad-Free Youtube Example

Update your bookmarklet. TLDR use this new one now. javascript:eval(atob('c2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgewogIGZvciAoZSBvZiBbCiAgICAuLi5kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd5dHAtc2tpcC1hZC1idXR0b24nKSwKICAgIC4uLmRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3l0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm4geXRwLWJ1dHRvbicpLAogICAgLi4uZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgneXRwLWFkLXNraXAtYnV0dG9uIHl0cC1idXR0b24nKSwKICBdKSB7IGUuY2xpY2soKTsgfQp9LCAxMDAwKQ==')) Here is the decoded javascript setInterval(function () { for (e of [ ...document.getElementsByClassName('ytp-skip-ad-button'), ...document.getElementsByClassName('ytp-ad-skip-button-modern ytp-button'), ...document.getElementsByClassName('ytp-ad-skip-button ytp-button'), ]) { e.click(); } }, 1000) It seems the skip ad button is now referred to as the ‘ytp-skip-ad-button’. Fun times.

April 19, 2024 · Louis Buchbinder

Bookmarklets: Updated Ad-Free Youtube Example

Update your bookmarklet. The latest yt-skip-ad bookmarklet is here. Updated April 19 2024 javascript:eval(atob('c2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkgewogIGZvciAoZSBvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd5dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuIHl0cC1idXR0b24nKSkgewogICAgZS5jbGljaygpCiAgfQogIGZvciAoZSBvZiBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd5dHAtYWQtc2tpcC1idXR0b24geXRwLWJ1dHRvbicpKSB7CiAgICBlLmNsaWNrKCkKICB9Cn0sIDEwMDApCg==')) Here is the decoded javascript setInterval(function () { for (e of document.getElementsByClassName('ytp-ad-skip-button-modern ytp-button')) { e.click() } for (e of document.getElementsByClassName('ytp-ad-skip-button ytp-button')) { e.click() } }, 1000) As you can probably tell youtube added -modern to the class name. So now we check both modern and sans modern skip ad buttons. Fun times.

December 29, 2023 · Louis Buchbinder

Hello Bazel

Bazel is a powerful tool that becomes a joy to use. Unfortunately this is only after suffering through a painful learning curve. For me I did a lot of hair pulling before beginning to grok how to work with Bazel effectively. The purpose of this post is to share some thoughts on getting started with Bazel as well as some useful introductory concepts. The first thing you will need to do is install Bazel on your machine....

October 8, 2022 · Louis Buchbinder

Bookmarklets: Ad-Free Youtube Example

The latest yt-skip-ad bookmarklet is here. Updated April 19 2024 Extend websites with custom javascript for improved browsing Check out the Bookmarkleter Tool Skip to the ad-free youtube example Extend Websites with Custom Javascript Nearly everyone familiar with using computers to browse the web is familiar with bookmarks. For those few who are not, a digital bookmark is a shortcut link to a website that is stored in a convenient list....

August 22, 2022 · Louis Buchbinder

Fibonacci in Rust and WebAssembly

Recently I have been learning more about Rust and experimenting with WebAssembly. I came up with this fibonacci calculator example to demonstrate how simple it is to offload complex computations to a client machine. As our personal devices become even more powerful it seems reasonable that we will see an effort to move computation from the server to the client. So with that in mind I hope you enjoy this demo....

February 24, 2022 · Louis Buchbinder