Saturday, January 26, 2019

Watch YouTube Spoiler Free

UPDATE: Now supports Twitch in addition to YouTube!
Source code available on GitHub





Bookmarklet


Drag this link onto your toolbar or bookmarks folder. Click it from any YouTube video page.



Your video will play:
  • Full windowed
  • No comments
  • No progress bar


Why?

  • Won't see spoilers in comments
  • Can't see time left in competitions to guess the outcome
  • Maximize viewing screen
  • Avoid loading page elements you don't want to look at

 

What the bookmarklet does:


Redirects the URL of a YouTube video page to its embedded player page and removes the controls.
Uses JavaScript.

Car Living: black out curtains

Cheapest way is buy two black pillow cases for $1 at Dollar Tree.

Shove the edges of the pillow case into the rubber sealing around the inside rim of the window.
Windows slide up and down without interference.



Mosquito netting can fit between the curtain and the window. (For $1 worth of tulle fabric. See: http://alchemytheory.blogspot.com/2017/07/life-hack-car-screen-window.html)

The rear windshield can be covered with two overlapping sunshades. Fit the metal edges of the shade into the ceiling wall for a tight spread.


Ublock Origin: block first cosmetic element if there are two (but allow if there is only one)

Intro:

Ublock Origin (https://github.com/gorhill/uBlock#ublock-origin) is a web browser extension. It allows you to pick any element of a page and create a rule to block it.

Sometimes the rule doesn't do exactly what you want. It blocks something you don't want on one page, but blocks something you want to see on another.



For example, a blocking cosmetic filter might look similar to this:
www.google.com###main > center > table > tbody > tr > td:nth-of-type(1)

The syntax of this rule is:
domain##element:modifier

This means on every page of this domain (www.google.com), block (##) the element "#main>center>table>tbody>tr>td" if it matches the modifier "nth-of-type(1)". Meaning it is the first element of type "td" within "#main>center>table>tbody>tr>".

(Modifiers reference: https://www.w3.org/TR/selectors/#overview)

But if the first element is wanted in another page of that domain, the filter will block it too!

Solution:

One workaround is to modify the filter rule if that element occurs exactly twice in one page, but exactly once in another. We can change the ":nth-of-type(n)" expression to ":nth-last-of-type(n)".
www.google.com###main > center > table > tbody > tr > td:nth-last-of-type(2)

This filter blocks the second to last element of that type. Now the first element will be blocked when there are exactly two. No elements of that type will be blocked when there is exactly one.

Problems:

If pages have a varying amount of that specific type of element, this workaround fails. We can't say for sure that the first element will always be nth from the last, and that there won't be desirable elements removed from other pages.

However, other methods fail to work even in the simple case of two elements.

If we set an allow filter (#@#) for the last element, it will be still blocked by the block (##) on the first element if there is only one instance.
!does not work!
www.google.com###main > center > table > tbody > tr > td:nth-of-type(1)
www.google.com#@#main > center > table > tbody > tr > td:nth-last-of-type(1)

Furthermore, we cannot limit the rule to certain pages on a domain. We can only specify the entire domain. This limitation applies to both include and exclude filters. 

Note: Due to the way how element hiding is implemented, you really can only limit it to full domain names. You cannot use any other part of the address and you cannot use domain as a replacement for domain.example,domain.test.

https://adblockplus.org/en/filters#elemhide

So as far as solutions go, this dirty workaround does the trick!

Friday, January 25, 2019

Pronunciation


The GPS lady on Google Maps doesn't always know how to pronounce words correctly.
I'm trying to teach her.

Frontage Road

Riverside

Phoenix

Arizona

Orthodontics

Restaurant

Guitar

Electronics

Voices

I've been watching too much Naruto lately. As a middle aged man, I can ignore the dweeb aspects of Anime and enjoy the thematic ideas and character development.

It occurred to me I'm very grateful I don't have dorky kids who watch it because ninjas. Because I would hate watching Naruto with them.

s15e13 (Shippuden 333)

He hated the Shinobi World???
But Shinobis are so cool

s15e13 (Shippuden 333)

You didn't finish Ninja school

s15e12 (Shippuden 332)

Your level of Jutsu doesn't work on me


Your level of Jutsu didn't work on me!


It's useless!

https://imgur.com/e1aYBnp

Saturday, January 5, 2019

(All Devices) How to Fix Don't Track My Views on Blogger

Make a button on your blog. Push it on the device you use! 


Works on all devices including Android, iPhone, iPad, tablet, and phones. No developer console required. No bookmarklets required. No Javascript in address bar required.


1. Create a post on your blog.
2. Switch to HTML mode in the editor.
3. Paste this code:
<div align="center">
<button onclick="mybutton()">Don't track my views on this blog</button>
<script type="text/javascript">
//<![CDATA[
function mybutton() {
var btn = document.createElement("BUTTON");
var date = new Date();
date.setTime(date.getTime()+(999*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
document.cookie = "_ns"+"="+2+expires+"; path=/";
}//]]></script></div>

4. Publish the post.
5. View the post on each device you use and click the button. Done!



Note:
  • You have to put the button on YOUR blog. Clicking my button just sets the cookie for MY blog. Sites only have permission to set cookies on their own pages!
  • Deleting cookies from your browser history will undo the work!

Reference:


Run JavaScript  on a Blogger post with a push of a button
JavaScript code to write Blogger cookie

Don't track my views

(Google Chrome) How to fix don't track my page views on blogger (Android friendly, no root!)

GO SEE THIS EASIER SOLUTION: (WORKS ON EVERY DEVICE!) https://alchemytheory.blogspot.com/2019/01/all-devices-how-to-fix-dont-track-my.html

Easy instructions. Nothing to download. No computer skills required.

For Google Chrome:


1. Copy this code:

function%20createCookie(name,value,days)%7Bif(days)%7Bvar%20date=new%20Date();date.setTime(date.getTime()+(days*24*60*60*1000));var%20expires=%22;%20expires=%22+date.toGMTString();%7Delse%20var%20expires=%22%22;document.cookie=name+%22=%22+value+expires+%22;%20path=/%22;%7DcreateCookie(%22_ns%22,%222%22,999);

2. Open Google Chrome to the blog's main page.


3. Clear everything in your address bar.

4. Type "javascript:" without the quotes into the address bar. (You have to manually type it in, because it doesn't paste for some reason.) Don't forget the colon!


5. Paste the above code and press enter. 


6. That's it! Nothing appears to happen, but you did it. You should still be looking at the blog main page with the same URL. If your browser goes anywhere else you done messed up.

Visit a page on your blog and check. Your stats will stay the same. You can use this to not be tracked on other people's bloggers too!

Note: If you clear your browser's history and delete saved cookies, you will lose these settings!

Explanation:

  • "javascript:" tells your browser to run a JavaScript code. 

    (You have to type javascript and the colon manually in the address bar, because copy pasting leaves it out for security reasons.)
  • The code is a bookmarklet that creates a cookie on your device that tells blogger not to track your views.


GO SEE THIS EASIER SOLUTION: (WORKS ON EVERY DEVICE!) https://alchemytheory.blogspot.com/2019/01/all-devices-how-to-fix-dont-track-my.html

Other Devices (Not so easy)


If you're using other browsers on a mobile device, tough luck. Current browsers block JavaScript from running both in the address bar and bookmarks. 


You do have an option of rooting your phone and then installing a SQL database editor.
But rooting your phone will be a lot(!) of work and will involve erasing all your data.  

Find the database where the cookies are stored by your browser, and then correct the cookie that blogger creates. Similar to this method: 


On a PC/Mac you can run Javascript from a developer console.
(See Reference:
stramaxon)

 function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
    }
     
    createCookie("_ns", "2", 999);

For PC Mozilla Firefox Browsers:


Firefox blocks JavaScript commands from being run from the address bar by default. You can change this setting by entering into the address bar:

about:config?filter=browser.urlbar.filter.javascript

Click through the warning page. Then double click the setting to set it to false.



Then steps 1-6 will work. (Note: In Firefox, the copied JavaScript code will stay in your address bar after you press Enter. It won't go back to your blog page URL. That's normal.)

You can also create a bookmark, then change the URL of the bookmark to the javascript: code from step 1. Then click on the bookmark. 


Reference:


JavaScript code to write Blogger cookie

JavaScript can be run on Android browser as bookmarlet

Convert JavaScript to bookmarklet


Firefox allow Javascript in address bar


Safari run Javascript

Flute

at Seven Falls in Tuscon AZ




Seven Falls Hike in Tucson, AZ



Tuesday, January 1, 2019

Flute


Original Music

Download

New Year

Banner University Medical Center
Tucson, AZ


May your goals come true and happiness follow.

 
Auld Lang Syne

Download


Auld Lang Syne (English)

Download


A Long December by Counting Crows

Download