Category: Computers and Internet

Thank you, Carlos Maza, for preventing Google from ever again fooling millennials with false promises of making money off YouTube videos

Google skewed page views to artificially create some YouTube millionaires to attract young content creators and new audiences. Not anymore, thanks to CNN, Carlos Maza and pressure groups.

Google employees used to hit schools, colleges and universities to encourage millennials to join YouTube and post videos. They made presentations of how young people with nothing more than a phone camera could make money off videos – money based on page views. It seemed too good to be true. Youtube also created some artificial millionaires to buttress their claims.

Why do I say that YouTube created artificial millionaires? If today YouTube can surreptitiously choke traffic (shadow banning) to right-leaning channels, then after Google’s acquisition YouTube could certainly have been driving traffic to artificially “organically” grow some channels.

Besides that, YouTube does not make money, as neither do most Google services. Except for Adsense. It is a combination of creating accounting and tax evasion. Adsense is a corporate legal fiction created in multiple tax havens that the IRS and EU tax officials have refused to look closely. Every big US multinational corporation is doing the same thing. Adsense makes just enough money within the US to float Alphabet above water while secreting most of the profits away from the IRS. Adsense is more of an Irish or Dutch company than American.

YouTube Search becomes useless, as censorship decimates discoverability

After CNN campaigned against conspiracy theorist Alex Jones, advertisers asked YouTube to shadow ban channels that were too opinionated or off centre. Now, Youtube search is totally useless. Old search terms do not work. Notifications do not work. Useless videos from TV channels appear like spam in the results.

Vox Adpocalypse

Anyway, former Vox ‘journalist’ Carlos Maza waged a long crusade against a conservative YouTuber named Steven Crowder. (I put the word journalist in quotation marks because Mr. Maza says the job of a journalist is not supply the news but to censor it.)

Maza has published many openly partisan and anti-Trump videos. Crowder took him to task by giving many of his videos point-by-point rebuttals. Crowder is a comedian and he peppered his criticism with sarcastic jokes about Maza. Maza identifies himself as a ‘Marxist pig’ and has also called for violence against conservative politicians. He still took offense at Crowder’s swipes at him. Despite being a male, grownup and a ‘journalist’, he complained to Google that Crowder was bullying him. He complained to YouTube that the site was not a ‘safe space‘ for precocious man-boys like him.

YouTube reviewed Crowder’s content and found them legally safe and withing the terms of the site policy. After all, it is not Youtube’s job to protect someone from ridicule and criticism. Maza was not satisfied and went raving mad. Crowder’s channel was demonetized and censored from searches, ‘related videos’ and other places. Crowder was one of the first batch of ‘Youtube Partners’ and feels betrayed by Google.

Google-YouTube censorship deserves FTC action

Google claims it is a private company and can deal anyway it feels like with its content creators. This is not legally tenable. By making false promises and bait-switching, Google has indulged in anti-competitive and anti-consumer business practices. This invites action from Federal Trade Commission. If YouTube did not sign any agreement with its creators, it would have been legally safe but by making a contract Google has bound itself with normal business rules. It cannot indulge in censorship without proper explanation. Many class-action suits have already been filed against Youtube. One Youtuber went as far as shooting up the offices of the outfit.

Subscriptions are increasing but page views are decreasing, indicating suppression

Remember the time, when Google claimed that a programmer wrote Street Maps van code that inadverdantly collected wireless network IDs and passwords. Something similar will happen when it is discovered that Google algorithmic skewing suppressed page views to decrease payouts to content creators.

Eli, the computer guy, was another early Youtuber. He used to make lots of money from videos. He decided to become a full-time YouTube and made investment in video and studio equipment. Now, despite having nearly one million subscribers, he gets only 1000 views on all new videos. He has also been deprived of the ability to livestream videos using some unwritten rule that his channel manager in Youtube refuses to disclose to him.

There are many such YouTubers. They have millions of subscribers but their channels are not recording as many views. How can this happen? With everyday, subscribers are increasing? Shouldn’t page views similarly? Who is stealing the page views if not for Google.

These content creators have been given false promises by YouTube and now their investments have been rendered useless. They abandoned their careers and their lives have been permanently ruined.

Suppressing page views has not been enough so Youtube has simply deleted or demonetized thousands of channels. Videos that have been on YouTube for years without any problems have suddenly been demonetized. If YouTube had money like earlier, this would not happen.

The new advertiser-friendly and censorship-heavy Youtube is making less money than earlier and even lesser to share with content creators. Youtube is suppressing traffic stats across the site, irrespective of the nature of the content. Everyone is suffering from low page views. This is also a clear deceptive trade practice. They have become trapped by Google. They cannot move their business elsewhere. It is time to break up Google.

A channel with 30 million subscribers struggles to get even 1 million views per video, unless it is about India.

CNN, Maza and pressure groups have ensured that Youtube is not a profitable site for independent content creators. This is good for millennials. While many young kids say that they want to be Youtubers, once they realise how little money they can make off videos and how dramatic algorithmic changes can affect their earnings, better sense will prevail. Young people will find real stable jobs offline. Thanks, Maza. You have unwittingly done something useful in your life.

A liberal left-leaning angel of peace.

How to browse like it is 2009

Firefox has committed suicide by destroying its add-on ecosystem. Google must be very happy but not as happy as it will be when Firefox becomes a Chrome clone.

If there was a conspiracy to destroy Firefox, it must have begun when some homosexuals started campaigning for the ouster of Javascript inventor and Mozilla chief Brendan Eich for some political donations he made in his personal capacity.

After Eich left, Mozilla abandoned Gecko HTML engine and switched to a new one written in Rust. This made the vast ecosystem of Firefox add-ons incompatible with the Firefox browser.

The new HTML engine was written to support Google Chrome’s WebExtensions add-on format. The trouble was that Chrome users are technological morons. Unlike Firefox users, Chrome users do not know what add-ons are and have no use for them. They are too stupid to even change the browser home page settings and that’s how Google like its users to be.

If Firefox users are power-users, then I am a super-power-user. I worked mostly on the old Presto-based 12x Opera and rarely on Firefox. After Opera became a Chrome clone, I had to reluctantly use Firefox more than I would like. It has been several years now and I am not entirely veined off Opera but I am more reliant on Firefox.

Use CA Add-ons Archive

To force holdouts like me to switch to the new and lousy Firefox, Mozilla has cut access to the add-ons portal. When you try to install add-ons in older Firefox versions, Firefox website asks you to update to the latest version.

Fortunately, some developers have salvaged the add-ons archive and made it available to Firefox v45 using an add-on named CA Add-ons Archive. You will need to turn off the “about:config” setting “xpinstall.signatures.required” to false to enable this add-on.

WARNING: As the signature verification has been turned off, no financial transactions or other mission-critical operations should be performed in such compromised browsers.

The CA Add-ons Archive also allows you to download older versions of add-ons, not just the last one. This is very useful because I do not use v45 either but a much older version. Older versions of Firefox require older add-ons. Firefox v45 and CA Archive add-on is good just for that.

Many sites become too slow on v45. On older versions of Firefox, sites like YouTube load the older and lighter version of the site and work well with my Greasemonkey scripts.

Turn off mediastreaming

In newer versions of Firefox, mediastreaming is used to load videos. This makes it difficult to grab streaming video files. (I am unable to stream Internet videos because a group of monkeys play with my Internet connection and power supply.)

Type “about:config” in the address bar, disable the options for “mediasource” and restart. Then, my Greasemonkey scripts work.

Use a userContent.css stylesheet

In your Firefox profile directory, there has to be a chrome directory. If not, create it. Then, create a userContent.css file there to prevent ad blocks from appearing on sites that you usually visit. The ads work fine on newer browsers. On older browsers, they block the page from loading. Here is an example of the file contents.

body { background-image: none!important; } /* For all sites */
@-moz-document url-prefix(https://us.cnn.com/) { /* Only for CNN */
  /* Don't use quotation marks for class or ID names */
  #breaking-news, section[data-zone-label="Shopping Content by CNN Underscored"] { display: none!important;
}

Prevent right-click capture

Some sites prevent you from using the right-click context menu. In “about:config”, disable “dom.event.contextmenu.enabled”

BSNL is injecting ads into http websites

BSNL injects Javascript code into HTTP webpages, which makes them load ads and popups.

On my main computers/OSes, I use Linux with a firewall. The firewall allows only DNS (53), http (80) and https (443) outgoing requests. All other ports are blacklisted. When I send mail, I manually open the firewall and close it immediately afterward. The Javascript is loaded from a BSNL Internet Backbone IP on port number 3000. My firewall blocks all unwanted ports and this javascript was note loaded and I did not see any ads.

When browsing a newer version of Ubuntu where no firewall was installed, the ads got loaded. I have not installed the firewall because it has become obsolete and no available in newer Linux distributions. I use the new Ubuntu installation only when I have to book tickets on the IRCTC website, which does not work with old browsers.  After I looked up the syntax for IP tables, I blocked unwanted ports. Now, the ads do not get loaded.

But, this is still troublesome because most Linux users think that their OS is virus-free.

On the mobile, I have no firewall (and that is why I don’t do any financial transactions on the phone). I was surprised to see that my own website serving ads. My website http://www.vsubhash.com does not have ads. It has no Google tracking/analytics code, social media sharing javascripts, and other junk that slows down websites. There is no Javascript other than what I had written on my own as part of my CMS – Subhash SqlSiteServer. One day when I was visiting my own website, I found the browser asking permission to open a popup. I examined the code of the web page and there was some Javascript in it. Who put it there? I noted that the URLs of the popup requests were similar to the ones I experienced on some other websites. On further examination, I found that these ads were injected by the ISP (BSNL) for all requests of http websites.

BSNL code injection

BSNL has injected Javacript code into my website, which is still on http.

I examined the Javascript code. It was obfuscated and downloads some of the c-r-a-p-p-i-e-s-t ads from several international and Indian ad sources. The Javascript encodes the BSNL subscriber’s IP, some unique subscriber ID, browser UA string, and some other data.

Ads are loaded from a dozen ad servers: Inmobi, Mobvista, Admaven, Adcash, etc.

Initially, I thought some hackers have taken control of BSNL DNS server. I emailed CERT-IN and got no response. It was clear that they knew what BSNL was doing and decided to be quiet.

Some years ago, I found that these ads also interfere with some files that Ubuntu or some application downloads for updates. This process was downloading a particular XML file and BSNL javascript code inside the XML made the program crash.

In the US too, ISPs tried this form of ads but I am not sure if it is still allowed. This problem affects HTTP sites and not HTTPS sites.

The HTTPS Everywhere propaganda people are using this to goad everyone to add SSL certificates to their sites. Google is the biggest beneficiary of this campaign. People are more likely to upgrade their Android phones the browsers are unable to access SSL sites and sites with newer certificates.

I have all forms of ad-blocking – ad-blocking HOSTS file, user scripts, user CSS, ad-safe DNS providers. All of this gets defeated if the ISP inject ads hosted from their own IP address. Lesson learned – never browse without a firewall. Block all unwanted ports. Constantly update your HOSTS files to ensure that no ads are ever displayed.

Good job, BSNL! Thanks for nothing.

Modi wants all Indians to conduct digital transactions and you are not helping, are you? What am I talking about? Even Modi’s app has been reported as a personal information stealer.

YouTube Annoyances Remover 2019.06 Update

Disables ads, turns off autoload/autoplay, adds RSS link, deletes “recommended for you” videos, unhides description, displays all comments, changes profile link to videos page; changes region to US, displays video thumbnail image, lists offline download links, and adds a link to the lighter version on Hooktube if video is not playable for codec reasons.

Youtube video download links

The current video link, the Hooktube video link, and other format/bitrates are linked. These links when used with DownThemAll add-on (file renaming option set to “*text*.mp4” will ensure the download is completed offline.

This script supports Firefox-based browser up to version 36. Newer versions should use a UserAgent (UA) spoofer add-on. YouTube loads a lighter version of the YouTube page for older browsers. This script will require the GreaseMonkey add-on to be executed by the Firefox browser. The download links can then be sent to the DownThemAll add-on with the file renaming mask “*text*.mp4”.

It seems that Mozilla has effectively destroyed its add-on ecosystem by switching over to Google Chrome’s WebExtensions format. I recently installed the latest version of Firefox and it has no add-ons worth naming in its download portal. DTA is not there and neither is Greasemonkey. If had Google had infiltrated Mozilla and decapitated its top management, Firefox couldn’t be worse. Mozilla’s own management is diluting its brand appeal, frustrating add-on developers, disappointing its user community and effectively throwing Internet users to the jaws of the Google spyware called Chrome. (https://www.thewindowsclub.com/microsoft-disabled-these-chromium-services-features-in-new-edge)

For embedded YouTube videos, use the new script com.vsubhash.js.embedded-video-catcher.user.js.

Unable to stream YouTube and other videos

I have lived in several houses in three South Indian states. In all of them, there are unusual electric disturbances. The net connection is also very unstable. (I wrote the NetCheck desktop and mobile application for this reason – http://vsubhash.com/netcheck-app-for-android.html) When the net connection seems to be stable, the electrical disturbances trips the Internet modem.

For this reason, I am unable to play videos as an online stream. I have to download them first and play them offline on the TV. The downloads have to be constantly restarted because the net connection stops intermittently.

The electrical disturbances destroys electrical appliances. I run the entertainment systems and computers on a UPS and this protects them. But, I can hear the UPS relay clicking incessantly. Earlier, the modem was on the mains directly. Now, it runs of the UPS. Even then, the modem stops net connection for some reason.

Apart from the electrical disturbances, the power supply is cut several dozen times a day – in all three states. In a month, they are off for an entire day or an entire night for at least three or four days. This always happens when I am visiting someone and trying to work on a computer. The UPS supports the modem and the network switch for about 20 minutes if my laptop is powered from the battery. If I am on the desktop, the backup lasts for just five minutes.

I rarely use the mobile now. Here too, the net connection is not stable.

In this video, you can hear the racket created by the relay. In the background, you can hear the fan speed going up and down with the voltage fluctuations.

GreaseMonkey Javascript Source Code

How to composite videos using FFMPEG

Video overlays are not easy but can be done.

I have two videos and I need to place them side-by-side in a new video. The dimensions first video (blob.mp4) was 1280×720. The second video (aoc.mp4) was 406×720.

The compositing was achieved by using a complex filter:

ffmpeg -i blob.mp4 -i aoc.mp4 -filter_complex "[0:v]pad=1686:720:0:[a]; [a][1:v]overlay=1280:0[b]" -map "[b]" -pix_fmt yuv420p aoc-meets-garbage-disposal.mp4

In the first part of the filter, I specified that the first input video (blob.mp4) will have a dimension of 1686×720, where 1686 is the total width of the both videos side-by-side. A map identifier “[a]” is used for this screen canvas. Next, with a semicolon delimiter, the second video is specified as appearing at 1280 pixels from the left edge at 0. (Yes, it begins at zero. I got a stupid “Overlay area … not within the main area … or zero-sized… Failed to configure input pad on Parsed_overlay_1” error when I thought I had to use 1281 as the starting point of the second video.) The overlaid video is then map identified as “[b]”. This map is then encoded to the output video.

Of course, this video does not have audio. So, I extracted the audio from both videos using FFMPEG, mixed them using Audacity (although I could have done it using FFMPEG as well), and slipstreamed the audio to the composite video using FFMPEG.

ffmpeg -i blob.mp4 -vn blob.mp3
ffmpeg -i aoc.mp4 -vn aoc.mp3

#Created garbage.mp3 from blob.mp3 and aoc.mp3 using Audacity

ffmpeg -i aoc-meets-garbage-disposal.mp4 -i garbage.mp3 -codec copy aoc-meets-garbage-disposal-mix.mp4

Alexandria Ocasio-Cortez, the US Congresswoman, lived in New York where garbage disposal machines were banned and people did not buy them even after the ban was lifted. She recently caused worldwide hilarity after posting an ominous video about her discovery of the garbage disposal machine in her sink. She must have at least seen them in movies or TV.

How to beat Google’s censorship of YouTubers’ videos – eliminate TV shows from the results

After CNN started a campaign to ban Alex Jones from the online world, YouTube was hit with a boycott by ad agencies for promoting conspiracy videos. In response, YouTube now displays clips from TV shows in the results while videos uploaded by ordinary YouTubers have been demoted.

Recently, I was trying to find the funny video of Joe Biden posted by US president Donald Trump and found that YouTube has censored the video. In its place are numerous TV reports talking about the Trump twitter message.

If you check the results page of YouTube search, you will find a “filters” drop-down list. In this list, YouTube will allow ordering the results by “relevance” and “view count”. The default is “relevance” and by YouTube’s definition, it means TV shows are always better than videos uploaded by ordinary YouTube users. To make YouTube search work like earlier, you need to select “Video” under “Type” and “View Count” under “Sort By”.

Censored YouTube search: https://www.youtube.com/results?search_query=trump+trolls+biden

Uncensored YouTube search: https://www.youtube.com/results?search_query=trump+trolls+biden&sp=CAMSAhAB

YouTube search filter

To make this easy, I created a custom YouTube search engine XML file based on the OpenSearch standard at:

Save this file as YouTube-Search.xml and copy it to your ‘searchplugins’ directory in the Firefox profile directory.

This is not a real solution, as Google censorship is very open when it comes to Trump.

Subhash Browser & Feed Reader v2019.03.04 for Android adds RSS support for YouTube

As the Crown Corporation guy says in the movie Fahrenheit 911, “lossa” things. Lossa updates.

YouTube supports RSS feeds for its channels. But, it does not display them or include it in the HTML source. Why? If people subscribe to YouTube anonymously, it might get the traffic but how will it spy on who is watching what?

  • A permanent scrollbar (one that does not fade away) will be available in the two browser tabs. This feature is supported in Android versions 2 and newer.
  • An automatic User JS script (prefixed with ‘_’) has been added, which displays an RSS feed link next to the channel name. It will also add an RSS LINK tag to the HEAD section of the page HTML code. The feed link will appear in Android devices running version 1.6 (Donut) to 8 (Oreo). The feed link will also appear when Subhash Browser is imitating desktop browsers too. (While coding, I was wondering why the script was not working until I realized Subhash Browser was using the desktop Firefox disguise.)

    RSS support for YouTube in Subhash Browser

    Subhash Browser will now automatically display an RSS feed link next to the channel name on YouTube pages

  • Browser disguises have been revamped – Android (1.6, 2, 4, 6, 8), Desktop Firefox (36, 46, 60), Ipad/Iphone.
  • The old automatic YouTube downloader has been made optional and a new one has been added. The new one simply displays the link of the current video. The new one is useless on newer devices where mediastreaming is enabled. The old one continues to parse Javascript and manages to find a URL or that’s what I think it does.
  • A file name dialog will appear if link targets are saved. The animation above shows how this is done. Earlier, when saving YouTube videos, the downloader would change the extension to MP4 after identifying the mime type but the filename was a jumble of numbers. Now, you can provide a meaningful name. Some links might not have a file name but the link will resolve to a file with a name. In these cases, “server choice” option can be chosen. Pressing the Back button cancels the download. A space is added between the extension and the filename so that the filename can be selected and deleted (for a more meaningful name) without disturbing the extension. The link targets in the Feed Reader screen are like earlier (without the dialog) have not been changed.

APK installer and more info:
http://www.vsubhash.com/subhash-browser-and-rss-feed-reader-app-for-android.html

I have also incorporated the YouTube RSS script into my desktop YouTube AdBlocker and Annoyances Remover script.
https://vsubhash.wordpress.com/2019/03/10/autoplay-video-autostopper-greasemonkey-script

Subhash TweetsToRSS v2019.03.04 for Android, Linux, Mac and Windows

Mostly bug fixes.

  • The search form at the top of results page has been revamped and made more meaningful. You can specify the number of results per search.
  • The bug which causes the “older tweets” link in the footer to omit the location information has been fixed.
Search form of Subhash TweetsToRSS

Subhash TweetsToRSS search form is more meaningful.

JAR executable (Linux/Mac/Windows) and APK installer (for Android) available at:
http://www.vsubhash.com/subhash-tweetstorss-app-for-android-linux-mac-and-windows.html

EmailTweetor v2019.03.04 for Android adds unlock password and Twitter timeline support

Support for replying, favoriting, retweeting, and deleting tweets in the timeline.

  • A permanent scrollbar (one that does not fade away) will be available in the main screen. This feature is supported in Android versions 2 and newer.
  • A menu option to retrieve the “timeline” (tweets by you and others you follow) has been added.
  • Earlier, there was a context menu option to delete from the “Latest Tweets” section. Now, you can also reply, retweet and favorite on those tweets.
  • The text size of the Twitter message editing box has been increased.
  • A lock password will be required to use EmailTweetor. It is not an extremely secure password system. It can protect the Twitter client in case you hand over your phone to somebody else for just a few minutes.

    Unlock password for EmailTweetor

    Unlock password protects your Twitter client from misuse.

JAR executable (Linux/Mac/Windows) and APK installer (for Android) available at:
http://www.vsubhash.com/subhash-email-tweetor-app-for-android.html

YouTube Ad Blocker and Annoyances Remover GreaseMonkey script updated

Blocks video ads too.

YouTube ad-blocker and annoyances remover script

This script removes ads, disables autoplay, mutes video, adds RSS support and displays all comments.

In this version, the script will

  • disable ads, including video ads. If a video ad is loaded, a new window will be opened until an ad-free video is loaded. You will have to manually close the other tabs. I am not sure how effective it is in blocking text ads, I use a ad-blocking HOSTS file and I don’t see ads most of the time.
  • pause all videos automatically. This is useful if you open multiple videos in different tabs and if they all start playing simultaneously, you will hear the biblical Tower of Babel.
  • turn off autoplay button
  • add an RSS link next to the channel name and in a LINK tag in the HEAD section of the HTML so that the browser can activate its RSS button (if available).
  • delete “recommended for you” videos
  • unhide description
  • display all comments
  • change profile link to videos page
  • change region to US. By default, YouTube pages defaults to India and all the results are tilted in favour of Indian Youtubers. The problems with the Indian Youtubers is that their videos have low-volume voice and high-volume music. By changing to US, the video results are mostly from English-speaking countries. They are not enamoured by the need to pepper their videos with loud interludes of the same copyright-free music.

The script supports Firefox-based browser up to version 36. Newer Firefox versions should use a UserAgent (UA) spoofer add-on. YouTube loads a lighter version of the YouTube page for older browsers. This script will require the GreaseMonkey add-on to be executed by the Firefox browser.

For non-YouTube pages, I have a more generic autoplay video autostopper script. It will also work on YouTube pages if the @exclude line is removed.

This browser user js is also available at
https://openuserjs.org/scripts/zomberi/YouTube_AdBlocker_N_Annoyances_Remover