computer, security, privacy Security
and Privacy
linux, software Linux
bug bounty hunting, hacking Bug-Bounty Hunting
android, phone Android
crypto, currency Cryptocurrency
develop, desktop, application Develop an
web site Your Personal
Web Site

Contact me

Content Rating section
Microsoft Windows section
Appliances for Senior Citizens section
Using GitHub section
Miscellaneous section

Content Rating

I would like to put "content rating" tags on all of my web pages. But there seems to be no good system for doing this.

Various online content-rating systems:

Various off-line content-rating systems:

Some people want a "Google Kids":

They want a search engine or rating service that will provide only content safe for kids.

That is completely the wrong strategy. There is no one definition of a "kid" or what is appropriate for a "kid". No corporation or product or government should make choices for you, the parent. And many adults could use content-rating to improve their own internet experiences.

Instead, YOU should be the one who decides what is appropriate for each of your kids and for yourself. The web pages and search engines and browsers should give you info and tools to enable this. Web pages and rating services should tell you "this web page contains X amount of violence and Y amount of nudity". YOU should choose, in your kid's browser and search engine, that "this user is allowed to see M amount of violence and N amount of nudity".

Microsoft Windows

Why is there no way to report Windows bugs to Microsoft ? There is an automatic mechanism for reporting system and application crashes, but no way to report feature bugs or suggest tweaks to features. I guess they want you to pay for support before they'll let you report bugs.

New features I want in Windows:


Appliances for Senior Citizens

[Not really "computer" issues. Things I'd like to get for my vision-impaired elderly Mom.]

Senior-friendly phone and answering machine:

Using GitHub

GitHub Guides' "Hello World"
Meghan Nelson's "An Intro to Git and GitHub for Beginners (Tutorial)"
Adam Dachis' "How the Heck Do I Use GitHub?"
Lauren Orsini's "GitHub For Beginners: Don’t Get Scared, Get Started"
Aayushi Johari's "How To Use GitHub - Developers Collaboration Using GitHub"
Matthew Setter's "A Beginner's Git and GitHub Tutorial"
Aaron Kili's "How to Use Git Version Control System in Linux"
GitHub's "Resources to learn Git"
GitHub Help's "Set up git"
Rapid7's "Git cheatsheet"
GitHub Extension for Visual Studio
Aaron Kili's "11 Best Graphical Git Clients and Git Repository Viewers for Linux"
reddit's /r/github

On Linux Mint, I did:

  1. [Tried Gitg GUI app, didn't understand it.]
  2. [Downloaded and tried to install GitHub extension into VSCode, it failed.]

  3. sudo apt-get install git
  4. git config --global "Your Name Here"
  5. git config --global ""

  6. In browser, logged in to GitHub, went to a project I wanted to copy (Microsoft / linkcheckermd), cloned it to my home directory.

  7. Renamed "linkcheckermd" directory to "linkcheckerhtml".
  8. Deleted the .git stuff under linkcheckerhtml.
  9. Edited the source files.

  10. On GitHub web page, created new repository in my account named linkcheckerhtml.
  11. Set description.
  12. Turned off Wiki and Projects. Turned on "Restrict editing to collaborators only", but I think it only applies to the Wiki ?

  13. Went to CLI, into linkcheckerhtml directory, and did:
    1. git init
    2. git add
    3. git commit -m "first commit"
    4. git remote add origin
    5. git push -u origin master
      (Had to turn off 2FA for login to work.)
  14. From now on, cycle is:
    1. Edit source files.
    2. git add filename (for each file edited)
    3. git commit -m "first commit"
    4. git push -u origin master
    When you operate this way, there is only one branch ("master").

    To delete a file, do "git rm filename", then commit and push.

    To see status at any time, do "git status".

    Starting a new repository from scratch (the wrong way, probably):
    • Created app source code on my disk.
    • Backed it up.
    • In browser, logged into GitHub and created new repo.
    • Went to home directory of project on disk, and did "git init".
    • Edited .git/config to point to new repo on GitHub.
    • Did git adds, commit, push. Had to add "--force" to the push.

[In a bigger, multi-person project:
  1. Clone the (master branch) files to disk: login to GitHub web site, go to repo, click big green "Clone or download" button near upper-right. Easiest to click on "Download ZIP".
  2. Build the project on disk, test.
  3. Create a branch (on project's main page in GitHub, click "Branch: Master" pull-down, and type new branch's name).
  4. Edit files on disk, test, repeat.
  5. Commit changed files to the branch as you go along, or after it's all working.
  6. Get whole thing into a finished state.
  7. When all changes are done and committed to the branch, open a pull request for the branch.
  8. Get approval of the pull request (the changes).
  9. Merge branch into master branch.

Picking a package to use from GitHub:

2FA in GitHub:
When I turned on 2FA (TOTP) on my GitHub account, I could no longer log in through the CLI.

Found out later: log in to GitHub web page, go to Settings / Security and enable 2FA. Back to Settings, go to Developer settings, then Personal access tokens. Click on Generate new token button. Check only the "repo" item, to do just that stuff through the CLI; do all other stuff through the web UI. Click Generate new token button. Copy the token value and save it.

Then when you do operations through the CLI, use the value of your personal access token instead of your account password.

Count lines in files in git project on disk:
# cd into project directory
git ls-files | xargs wc -l
# or:
git ls-files | grep -P ".*(js|html)$" | xargs wc -l
# or:
git ls-files | grep -vE ".*(png|jpg|ico)$" | xargs wc -l
# or:
sudo apt install cloc
cloc $(git ls-files)
cloc --vcs git

Count lines in files from git repository:
# clone latest commit of project to disk, count, then remove it from disk
git clone --depth 1
cloc --vcs git
cd ..
Or use Chrome extension "GLOC" ? Shows only files in current directory, no recursion ?


windows, apple

This page updated: December 2018

Search my site: