Linux Mint:

Best one is Linux Mint with least issues during installation. I would recommend this over any other OS (except CentOS which is my favorite), as everything works flawlessly. For beginners who are used to Windows, Linux Mint might be more comfortable to use than CentOS, as the user interface is very similar to Windows.

Installating OS:

Download, install using these links:

https://itsfoss.com/guide-install-linux-mint-16-dual-boot-windows/

The only deviation from steps in link above, is that you will be asked if you want internet connection enabled to allow 3rd party software to be installed. You can choose "no" and not install any 3rd party software, as you can always install it later when needed. I have chosen "yes" too, and that has worked fine. Also, choose just 2 partitions, a "/" partition, and a small "swap" partition (no need for a separate "home" partition). Once you click on "Install now", you will see 2 partitions (ext4 and swap). Click "OK", and it will start installing Linux. It will take a while (shown by progress bar, usually 30 minutes). Click "restart now" at end, and it will now start showing GRUB menu. It shows "Linux mint", "windows" as well as few other options. You can choose "Linux Mint" or "windows" depending on which OS you want to start.

steps:

1. Download LinuxMint ISO:

 I downloaded "Linux Mint 19, Cinnamon 64-bit" edition. Follow link below to get Linux mint.

 https://linuxmint.com/download.php

As of Sept 2021, Latest one is Linux Mint 20. It has 3 variations - Cinnamon, Mate and Xfce. The only difference is in the GUI, otherwise they are all similar. If you don't know which one to install, choose "Cinnamon" as it's most popular.

2. Copy ISO files to USB drive:

You need linux already installed in order to copy the iso to usb from within linux. We don't use UUI to burn the iso as explained previously. Use cp cmd as explained under installation.

1A. Use cp cmd to copy to usb drive

sudo cp /home/aarav/Downloads/LinuxMint-20.2-cinnamon-64bit.iso /dev/sdb => Do not use /dev/sdb1. See in "Linux Installation section for details"

3. Reboot Windows:

Once copied, plug it in windows laptop and reboot it. Do not use UUI, as it gives error. You will be greeted with "Install LinuxMint" screen. Follow prompts as explained in link above from itsfoss

 

Useful Customization:

Adding application pgm icons to panel:

To add to panel (bottom most bar on your laptop is called panel), goto Menu-> serach for that application, and then right click when it shows up. Now you will options for "add to panel" and "add to desktop". click on "add to panel", and you will see the icon added to bottom panel.

 

Installing other software:

Here are links for few more pgms to install. Firefox and Skype are the important ones. Luckily they install flawlessly.

Install Firefox browser:

Most websites, with exception of very few, open fine in firefox in Linux Mint. Video/audio on internet sites work as well. Firefox is installed by default. If not install, type these cmds on Terminal.

firefox -version => shows version of firefox installed. If it's not installed or not latest one, run below cmds

sudo yum install firefox => installs firefox

sudo yum update firefox => This updates firefox to latest version

firefox -version => shows version of firefox installed

Install Skype:

Installing skype is very easy on LinuxMint. Skype binaries for linux are now available from skype website. Follow these steps to install skype:

  1. sudo apt update
  2. Download skype binary. 2 ways:
    1. download skype binary (.deb pkg) directly from skype site: https://www.skype.com/en/get-skype/. Choose "Get Skype for Linux deb"
    2. wget cmd: install wget (if not installed and then use it to download skype)
      1. sudo apt install -y wget
      2. type this cmd on linux terminal to download it: wget https://repo.skype.com/latest/skypeforlinux-64.deb
  3. sudo apt install ./skypeforlinux-64.deb => NOTE: ./ is needed else you get an error that deb file not found. provide appr path for downloaded .deb pkg, if you are not running this cmd in the dir where you downloaded this deb pkg. Linux will ask for root passwd, and then install skype.

 

CSS - cascading style sheet

CSS  are very important to know. They provide a central location to control the physical appearance of your website. You create a single css file and put definitions to define how elements are to be displayed on all of the pages of your website. Other big advantage is that you can control the layout of your whole website through this css file. Before CSS, the only way I knew to control the layout of a page, was by coding the whole page as a big table, with several nested tables inside it, to make complicated layouts. However, CSS greatly eases this by having a div command, that does this work for you. Below, I'll start with various CSS commands.

comments indicated as /* comments */

CSS syntax:

CSS is made up of rules. A CSS rule is made up of a selector and a semicolon-separated list of declarations inside brackets. Each declaration has a property and a value separated by a colon. If an element in an associated HTML document matches a selector in the style sheet, then the declarations will be applied to that element.

selector {property1: value1; property2:value2; } /* This whole thing is called a CSS rule.  Everything inside { ... } is called a declaration, which can have multiple property:value pairs
selector is html element/tag or something else defined.
property is the attribute
value is the value assigned to the attribute.

ex: center aligned paragraph with black text color and arial font. Now, any p element in html doc, will use these values to display the text. Everything can be on a single line, since CSS, like HTML ignores spaces.
p{
text-align: center;
color:black;
font-family: arial;
}

ex: assign green color to h1, h2 and h3 tags. Now, any ph1,h2,h3 element in html doc, will display the text in green color.
h1,h2,h3 {color: green}

Inheritance:  One of the key properties of CSS is that styles are inherited down the document tree, i.e if a property is specified for body, all elements in document tree of body (i.e p tags, etc) will inherit this property.

CSS implementation:

CSS can be implemented in 4 ways:
1. inside html elements: you can apply it directly to individual elements with the style attribute. This is called inline style. This is doCSS implementation:ne inside html document, and is not really in the CSS format that we talked above. This is because style is an html attribute.

style attribute: specify the styling of an element, like color, font, size etc. Can be used with almost any tag. Format is style="property:value;"  where property/value are CSS property/value. However, since using style attribute in html document has a very localized effect, it's least efficient way of applying CSS, and used rarely, only to fix bugs or cross-browser issues.

<p style="color:red">This is a red paragraph.</p> => specifies text color as red
<body style="background-color:powderblue;"> ..... </body> => everthing within body tag has background clor as blue
<h1 style="border:2px solid Tomato;">Hello World</h1> => This puts a border of 2pixels around the text and assigns red color to it
<h1 style="font-size:60px;">Heading 1</h1> => specifies font-size as 60 pixels. font-size can also be in %, i.e 150%
<h1 style="font-family:verdana;">This is a heading</h1> => specifies font as verdana
<p style="text-align:center;">Centered paragraph.</p> => defines horizontal text alignment in that para


2. inside html page: In this implementation, style element is used. <style> is a tag (or element) just like other elements in html. This is also called internal style sheet. Rules in a <style> element apply to everything in that page, so it is more efficient. <style> elemnt is usally put in the head section of html, but browsers will obey the style even if put in the body section.

ex: <style> p { color: red; } </style>

3. in external css file: This should be the preferred way, especially if the style is applied to many pages. Above style element applies rules only to the page they are in, but this applies to all the pages, where this file in referenced.The <link> element references an external style sheet. It's put in the head section.
<link href="/styles.css" rel="style sheet">

The file styles.css would then contain the CSS code only. The same CSS file can be used for multiple pages, so browser download styles.css file only once saving on bandwidth and page rendering speed.
p { color: red; }

4. link from within existing file: The final way to include CSS is to link from within existing CSS . This requires that some CSS has already been included, via a link or a <style> element:
<style> @import url('styles.css'); </style> /* here style sheet is imported from the head section of the document.

Other CSS selectors:

So far, we saw type selectors, where the selector consists of the element name and selects a type of element for the property to be applied to. But there are many other CSS selectors as well, which are more helpful. We'll see 3 css selectors => Element name selector(we saw this above), Id selector (chooses element based on id attribute) and class selector (chooses element based on class attribute)

id selector: An ID selector chooses an element based on the id attribute. An ID selector consists of a hash character (#) followed by the id. Property is applied to element with matching id. Only one element can have a given id. So, ID selector by itself is not very helpful, as it requires adding an unique id attribute to every element that we want the property to be applied to. In case we want to use the same property to be applied to more than one element, we use class selector explained later.

ex: here we define myelement id, and apply it to p element in html file.

#myelement { => this CSS section may be in head of html file or separate css file.
color: white;
background-color: black;
}

<p id="myelement">A paragraph</p> => This is in body of html file. Here p element has an id=myelement. No other element can have this id. Above selector applies color and background-color to this p element as it has matching id. All ohter p elements are left intact, if they don't have this id.

ex:  #green {color: green} => matches any element that has an id attr with a value of green. It sets attribute "color" to green for all those matching elements.

ex:  p#para1{text-align:center} => matches any "p" element that has id with value of para1. Thus we are more specific here that the attribute can only be applied to "p" element and not to any other element.

class selector: The class selector chooses elements based on the class attribute. Unlike the id attribute, values in the class attribute don’t have to be unique throughout the document, so rules based on class selectors usually apply to a selection of elements in a document. A class selector consists of a period ( . ) followed by the class name. class selectors can be applied to multiple elements of same or different types.

ex: here we define myclass class, and apply it to multiple elements as p and b.

.myclass {
color: white;
background-color: black;
}

<p class="myclass">A paragraph</p>
<b class="myclass">Another text</b>

ex: any p tag with "right" and "center" class gets its text aligned to right and center respectively. This style is same as hwat we used in id selector above.
p.right {text-align: right}
p.center {text-align: center}

ex:  .center {text-align: center} => any tag with center class gets its text aligned to center.

Grouping CSS selectors:

Just as we saw in the example for element selector where we applied the same attribute to multiple selectors, we can do the same for id and class selectors. The main motivation behind grouping multiple selectors is to save on size of CSS file, so that it's faster to load. These are 4 ways of grouping selectors:

1. grouping with comma as a separator: Here comma is used to separate the selectors. The attribute in parenthesis is applied to all the selectors. Selectors can be mixed, i.e id and class can be mixed.

ex: In this we group multiple selectors in same, i.e attribute color is applied to all class="red"(only for p elements since it's p.red), id="sub" and element="h1"

p.red, #sub, h1 { color: #f00; }

2. grouping using space as a separator (no comma): Here we don't use comma as CSS separators. This changes the meaning to imply a parent child relationship. The first selector is considerd as parent of subsequent selector (in nested form) and attribute is applied is applied to only those elements which is a descendant of all those selectors.

ex: .red #sub {color: #f00; } => Here the attribute color is applied to elements with id="sub" whose parent class="red" (i.e "sub" is a descendant of "red"). All the selectors here have to be single word selectors, as the parser will have no way of distinguishing selector with multiple words (they will be interpreted as different selectors by the parser)

<h1 class="red"> .... <h3 id="sub"> <p> my name </p> </h3> </h1> => Here color attribute will be applied to "p" element "my name" since the elemenet's parent has both class and id matching.

3. grouping by mixing separators with and without comma: This is mixing separators with and without comma (which is a combination of two styles #1 and #2 above and perfectly valid). 

ex: p.red, #sub, div a:link {color:red;} => Here p.red, #sub and "div a:link" are 3 diff selectors to which attribute "color" is applied. Note there is no comma b/w 3rd and 4th selector. The last selector is a compound selector and the rule is applied to The link pseudo class of the anchor elements that are descendants of a division (div tag).

4. grouping by having no space or comma separator: One other variation is to have no space between multiple class or id. In that case, it means apply the css property to element which matches all the given class and id. All examples above had attributes applied to any matching selector, but here, attribute is applied only if all the selectors match.

ex: #header.callout { } => here it says select all elements which have id=header and class=callout. NOTE: there's no space

ex: #header .callout { } => here there is  a space b/w #header and .callout. This becomes same as #2 above. So, this becomes css selector grouping with parent child relationship, i.e it selects all elements whose class="callout" and which are descendants of elements with id=header.

ex: .snip#header.code.red { } => We can mix as many id/header selectors that we like. Here there are 4 selectors, and we select all elements whose class=snip and id=header and class=code and class=red. This certainly is complex way of writing, but is valid anyway. We use these complex selectors to override individual selectors as .snip, .code, etc. We might want to apply certain property on class=snip or some other proerty on class=code, but we may want to apply some other property for elements which have both classes = snip and code. In such cases, we can use this style.

 

Properties and values:

As can be imagined, there are tons of properties and values, and it's not possible to remember or even know all of them. You should look online if you want to learn more about valid properties for various elements. This is a good ref for CSS properties:

https://www.w3schools.com/cssref/

We will just look at few common ones:

1. Colors and lengths:  The most common values in CSS are colors and lengths.

ex: color: #0ff; => This specs text color of an element to blue. We can specify value of color in 4 ways: name (eg red, blue), #rrggbb, #rgb and rgb(r,g,b), where r=0, g=0, b=0 gives coclor black, while r=255, g=255, b=255 gives color white.

ex: border-width: 5px => This specs width to be 5 pixels.  Length can be specified in many diff units as px (pixels), pt (pints where 1 point=1/72 of inch), cm (centimeter), in (inches), % (as percentage of size of element's parent)

2. display: The display property specifies the display behavior (the type of rendering box) of an element. By default, display mode is "block" which causes line breaks before and after each element. If we set display mode to "inline", that causes elements to be displayed side by side w/o line break. There are many more display modes.

https://www.w3schools.com/CSSref/pr_class_display.asp

ex: display: none; //this display mode doesn't display the element. This is used for drop down menu that you see in websites, where it shows other elements only on hovering mouse over it.

3. float and clear:

A floated element is one that’s outside of the normal flow of text, like a cutout. The text flows around these floated elements as long as there’s room. Floats could be used to lay out entire pages. Floats rely on two CSS properties: float and clear . The float property determines which side the element floats to, whereas the clear property determines how the element behaves with respect to other floated elements. Values for float are left , right , and none ; values for clear are left , right , both , and none .

ex: float: left;

Borders and backgrounds: Two of the most common things to style are borders and backgrounds.

1. Borders: A border has a width, a type, and a color. All three can be set separately using the properties border-width (a length, a width of 0px implies no visible border), border-style (a special property for borders), and border-color (a color):

ex:

.one { => this is the long notation
border-width: 5px;
border-style: solid;
border-color: #07f;
}

.one { => We can also use the short hand notation for the above border, with the triplet: width, style and color specified on a single line with spaces in between. We can also specify these triplet separately for each side of border, i.e border-top, border-bottom, etc.

border: 5px solid #07f;

}

<div class="one"></div>

There are many other properties of border that you can specify to custmize borders further. Look in ref link above.

2. Background: This allows images as background, which can be positioned, repeated, etc. Background is used very widely in joomla and other cms.

ex: this is the long notation where we specify all background properties with values. Here background property is applied on element "one"

one {
background-color: red;

background-image: url(background.png);

background-repeat: repeat;

background-position: top;

background-attachment: scroll;
}

ex: We can also set all background properties in one declaration. More details here: https://www.w3schools.com/cssref/css3_pr_background.asp

body {background: url(background.png) 50% 50% no-repeat fixed #f00; // this is the short notation, instead of using the long one above.

<body> <h1> Hello </h1> </body> //the above declared background property is applied to <body>  element

Page layout: CSS allows us to specify where to place elements on a given page, and how to display them. We'll learn about various CSS concepts below.

CSS Box model:

The CSS box model defines the dimensions of elements as they’re laid out on the page. Each html element can be considered a box. It consists of actual content of element, then a padding, border and margin around it. The size of each element is determined by it's width and height, then a padding around it, then a border and then a margin (margin is the space b/w this element and the next one).  The padding clears the area around the element before the border is drawn. padding is transparent. Then a border is drawn. Margin clears an area around the border. The element’s width and height is either defined explicitly or determined automatically by the browser based on the content and display mode. The total size of the element is the size after adding all of padding, border and margin to the element's size, as any other element has to be outside this box. Each of padding, border and margin have a width specified for top/bottom, left/right. Either all 4 values for the 4 sides can be given or just 1, 2 or 3 values can be given, and the browser will decode it based on some rules.

This is how it looks  with margin on the outermost and element in the innermost  => [ [ [ [  margin  [ [ [  border  [ [  padding  [   element   ]  padding   ] ]    border   ] ] ]   margin   ] ] ] ]

ex:  specifying all 3 for any content inside <p> element (in short notation). Since border=0px, border is not visible at all

.p {

border: 0px solid green; //border-top etc can also be specified in this format for each side
padding: 5px;
margin: 10px;

}

ex: border-width: 5px 10px 20px 30px; => This specs top=5px, right=10px, bot=20px and left=30px. Or if all 4 sides has same size, we could write "border-width: 5px;" We could also write this as 4 separate lines as below. Similarly for margin and padding, which we can specify as margin-top, padding-bottom, etc.
border-top-width: 5px;
border-right-width: 10px;
border-bottom-width: 20px;
border-left-width: 30px;

div tag:

The <div> tag defines a division or a section in an HTML document. The div element is a generic container with no particular semantic meaning. It's commonly used in web authoring for styling purposes, in conjunction with the style and class attributes. div is the one of the most commonly used elements you will find on website's CSS file. It's used in dividing a webpage in sections as header, main content, navigation, footer, etc, each with it's own distinct style. In HTML5 there is a <header> element, as well as a <nav>, <main>, <article>, <footer> and a couple other new elements that replace these div tags.

We can apply above properties to div element as:

div {
width: 2.5em;
height: 2.5em;
margin: 0.5em;
padding: 0.5em;
border: 5px dashed black;

display: block; //However, width and height properties don’t apply to inline elements, default width and height are chosen for that element
}

Now in html body, we can have something like:

<div> text 123 </div> <div> text 756 </div>

Now, we can make a whole page layout with header, article, navigation, footer, etc. Here's a link on creating layout using 5 different methods. Look at "CSS floats" for an example:

https://www.w3schools.com/html/html_layout.asp

 

-------

 

to define different styles for same type of html element.

 

this ..

this ..

styles can also be applied to html elements with particular attributes.
ex:
input[type=text] {background-color: blue}

 

Shell: shell are cmd language interpreter for GNU OS (or Linux OS). Shell is simply a program that executes cmds. It is used both as cmd interpreter and a pgm language (by allowing multiple cmds to be combined and having them execute based on conditions). Shells can be used interactively (by accepting i/p typed from keyboard), or non-interactively (via script)

2 most common shells are csh and bash. Bash is the default shell in most Linux distros, and is the preferred one. Most of the scripts written for GNU are written in bash, and not csh.

shell basics:

If you power on a computer with no monitor, keyboard and mouse attached, the processor will run the pgm stored in memory, and keep on doing whatever the pgm is asking it to do. This pgm stored in memroy is called the kernel, and is loaded in memeory from bootup time to shut down. If we connect a monitor, the computer will display what the pgm is sending to monitor interface. If we want to make computer useful, we need a hook, so that we can use it to run our pgm. That is possible if we provide a user interface as "mouse/keyboard", but there has to be a program on computer that takes these inputs, and pass it on to some other program that can decide what to do with these user inputs. Shell is one such program, that takes user inputs which is usually a cmd followed by args. Shell passes these details to the kernel, which runs the program, and then passes the o/p to the shell, which then displays the o/p to the user. NOTE: the shell remains in memory, just like kernel which remains in memory all the time. Any cmd (i.e program) that we call from inside shell usually resides on disk, so a copy of that program is loaded in memory and run.

Any shell (bash, csh, etc) is basically a pgm to run other programs. It reads a line of input from you, and then interprets it as one or more commands (i.e programs) to run. Shell pgm is no different than any other pgm.

Shell basic operation on being provded a cmd is to:

  • Read i/p from terminal, or file.
  • Then break this into words and operators. These are called tokens. These tokens are separated by metacharacters (characters with special meaning, as whitespace, newline, $, ;, etc).
  • Then parse the tokens into cmds, and perform various shell expansion i.e parameter expansion, wildcard expansion, etc (redirection is performed if necessary). pattern matching for filenames is done after various shell expansion, and then quote removal (for unnecessary quotes) and finally redirection done just before executing the cmd
  • the cmd never sees any special char in it's args, they are gobbled up the shell. It only sees the cmd and full expanded args, w/o any metacharacters. For pattern matching, glob, etc, see section on
    • ex: ls -l *.c. => shell scans this line, identifies 1st token as pgm "ls", 2nd and 3rd token as 2 args. However, 3rd arg has *, which is expanded by the shell (for ex as tmp1.c and tmp2.c). Now the 3 args: -l, tmp1.c and tmp2.c are passed to the "ls" pgm, which never sees any of these meta char.
    • In case shell can't find anything matching after glob expansion, it passes the whole thing unexpanded to the pgm. So, if *.c doesn't match any file. the whole cmd "ls -l *.c" is passed, so ls pgm sees 2 args: -l and *.c. Now it's upon ls to expand *.c, and if it sees nothing matching, it returns "ls: no match".
    • So, the same utility may behave differently in different dir depending on whether it's capable of handling glob wildcards or not.
    • IMP: To prevent this confusing behaviour, we sometimes prefer to enclose these glob special characters within single or double quotes to prevent the shell from seeing these special characters, and instead pass it as literals to the linux pgm. i.e ls -l "*.c" will prevent shell from expanding *.c as it's surrounded within double quotes, which prevents bash shell from expanding it. For more details, see "bash" or "csh" section on how to escape metacharacters. These quoting mechanism are for shell's use and NOT for linux pgm's use => the pgm sees cmd with these quotes stripped out.
    • Since this all may seem confusing, the best way to know all these nuances is to try linux cmds on shell with/without quotes etc, and chck for yourself how they behave. They may behave differently on different machines depending on what incarnation of linux cmds you have. That's why it's best to stick to "GNU" linux cmds.
  • Now the shell asks the kernel to initiate pgm's execution. In this case, ls pgm execution starts with the 3 args provided. Then shell goes to sleep until the pgm has finished.
  • The kernel copies the specified program into memory and begins its execution. This copied program is called a process; in this way, the distinction is made between a program that is kept in a file on the disk and a process that is in memory doing things. If the program writes output to standard output, it will appear at your terminal unless redirected or piped into another command. Similarly, if the program reads input from standard input, it will wait for you to type in input unless redirected from a file or piped from another command. When the command finishes execution, control once again returns to the shell.

  • shell collects exit status of pgm (which is 1 byte, so exit status is from 0-255. exit status of 0 is true, while other exit status indicate error). This is unique since usually 1 is associated with success, and 0 with failure. But in shells, we keep 0 for success, so that we can assign all other values for failure. NOTE: even though we use 0 for true, when used in conditions, expr, etc, we treat 0 as true, and 1..255 as false. i.e (cmd1 & cmd2) will retrun true(0), when both cmd1 and cmd2 returns true(0). If cmd2 returns 1(false), then this expr will return false (as true & false gives false). NOTE: cmd is executed only after all the expansion has been done by the shell. cmd is always passed the final expanded form.
  • At this point, execution of that pgm is finished, and shell awaits for next cmd. On providing next cmd, cycle starts from top bullet above. This cycle keeps on repeating.

Terminal settings: Before we go into details of various shells, let's see how to change settings in Terminal, Konsole, xterm, etc from where we access the shell. In old days when there was no gui, the first prompt that came up was a shell, from where we typed any cmd.

#to change defaults in konsole gui
Goto settings->size->custom, change cols to 120, lines to 40, save it, then goto settings->save as default. That saves anything changed as default so that next time it starts with those. can also use settings->configure Konsole

#to change defaults in terminal gui

Goto Edit->Profiles->Edit(after choosing default profile) and change any setting. It takes effect immediately

Ex: To change scrolling limit to unlimited, goto "scrolling" tab, and then set Scrollback to unlimited. However, unlimited scollback uses a lot of memory, since it requires a lot of scrollback text to be stored in the buffer, so your computer may slow down a lot, or worse may just hang or crash. A decent compromise is to set scrollback to 500 lines or so.

displaying shells:

To get current shell name in an xterm or terminal: echo $SHELL => shows the current shell (bash or csh). Note that even though it may say csh, it's actually tcsh.

alternative way to print shell: ps -p $$ => ps prints snapshot of current processes (ps -ef shows every process on system, -e=all process, -f=long format, -F=full long format). ps -p prints only those process with that pid number. $ returns the PID of current process (which is the shell), so running ps -p on that number (echo $$ returns PID of current process) displays process status of your shell.

Usually "$" prompt is shown for bash, while "%" prompt is shown for csh.

changing shells:

To change startup shell:
/etc/shells has the list of valid shells. This list updates each time you install a new shell. We can also manually modify this file to add the name of a shell (with full path) if it doesn't show up here after installation.

cat /etc/shells

/bin/sh => This is a soft link to bash in /bin/bash. So, even when we use sh, we are actually using bash

/bin/bash

/usr/bin/sh => This is again a soft link to bash in /usr/bin/bash

/usr/bin/bash => There is a copy of bash in /usr/bin too which is exactly same size as /bin/bash

 Usually we'll see bash already installed. Some Linux distros have tcsh installed too. If above file doesn't show the name of shell that we want, we have to install it by typing below cmds.

sudo apt install tcsh => on debian based distro

sudo yum install tclsh => on fedora based distro


To change shell temporarily, just type the new shell name (i.e bash).
To change user login shell permanently, either edit /etc/passwd file (Administrator's right, this file shows all user's default shell type ), or use change shell cmd (chsh). finger on that user shows default login shell.
chsh -s {shell-name with full path} {user-name} , it will ask for user's password
ex: chsh -s /bin/bash johnsk => changes user johnsk shell from csh to bash

/etc/default/useradd file has settings to be applied anytime a new user is created. We can change SHELL= to whatever we want, and then any new user will get this shell type by default.

NOTE: usually on systems where you don't have admin rights, you can't do chsh. So, if you work at corporation, you can change login shell by going to an internal website, which allows you to choose shell. This is done for security purpose.
for bash, type: /bin/bash, for csh, type: /usr/bin/csh

Common shell:

Customizing prompt for diferent shells: Link: http://understudy.net/custom.html

We'll look at 2 most popular shells: bourne shell (bash), and C shell (csh). Most of the Unix cmds can be used in both shells. But we write larger scripting pgms in a file which is either in bash or csh files. They both support constructs like if-else, loops, etc that allow us to write complicated code. However, these scripting languages were written in early days of Unix. In today's age, modern scriting languages like perl, python, etc can do everything that these bash/csh scripts used to do. So, there is really no reason to learn these scripting languages as bash or csh. I'm providing sections on these 2 scripting languages since you may have to read code written in bash/csh, and possibly modify it, as most of the Linux community uses one or both of these.

For my purpose, learning Python will suffice for all your scripting needs, just bypass both bash and csh.

Blender: Blender is an open source 3D computer graphics toolset. You can use it to make animated movies (like animated netflix movies), edit your2D videos (like windows moviemaker), edit pictures, make video games, and much more. Blender is very powerful and used to make commercial movies. This is one software you can learn, and do eveything related to pictiures and videos.

official blender website:

www.blender.org

Install Blender on Linux: installing Blender on Linux is very simple. Download Blender 2.82 binary for linux (it's a tar.xz file) from blender.org, extract it in folder of your choice, Within the extracted folder, click on the blender executable file (blender-2.82a-linux64/blender). That should open up the Blender GUI. I've tried it on Linux Mint, and binary executable works w/o any issues. You may also use the package manager if blender package is available for that particular linux distro (in case binary executable doesn't work). Make sure you download latest blender version 2.82, as the 2.82 version i/f is very different and much more refined than earlier versions. Also, lot of tutorials on internet are with 2.82 version, so it helps to have this version. You can also add "blender" to menu item on menu or add to panel, so that it's easier to access.

Blender Basics:

 When you open blender by clicking on blender executable, you see a gui with too many buttons. It's intimidating, and it takes a while to figure out the buttons. There are various videos on youtube, but blender have so many capabilities that each of these series focuses on some particular aspect of blender. However, knowing blender basics and it's i/f is going to be helpful across all it's toolset. Here are some videos to get started:

official blender channel on youtube: https://www.youtube.com/channel/UCSMOQeBJ2RAnuFungnQOxLg

Below is series of videos great for getting started (total 43 videos, about 8-10 hours): https://www.youtube.com/playlist?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6

Another great series is from "blender guru" who shows various examples, and you can follow him exactly to make some cool objects and animations: https://www.youtube.com/playlist?list=PLjEaoINr3zgEq0u2MzVgAaHEBt--xLB6U

Blender Gui: There are many shortcuts or hot keys for a lot of buttons (i.e ctrl + z for undo, etc). It's good to start using these hot keys for most commonly used buttons, as they save a lot of time, are more convenient.

Top File menu: Used to open new/old project, or save existing work as *.blend. One important menu item is Defaults->load factory settings. This allows us to load all default settings, when you mess up some setting accidently.

Top Edit menu: Used for undo/redo. Very helpful to undo edits that happens by accident. Bottom menu item is "Preference" which is used to set many important settings for blender. Most important of these is "input" which allows to set mouse and keyboard settings. Tick Mark "emulate numpad" and "emulate 3 mouse button". This helps to emulate numpad keys on right side of keyboard and middle mouse button function for when we don't have middle mouse.

There are many more buttons on left and right.

 

 

 

WOTD: I'll be having word of the Day here to improve my vocabulary. I'll try to use words that are more commonly used in media, literature, websites, etc instead of using archaic (that's again a WOTD for some future time :) words that are not even used anywhere anymore, since they don't convey anything new. No "spelling Bee" going on here, so we'll avoid such words.

Best place to look for meanings of words is webster. They have detailed meaning, origin and examples. Link: https://www.merriam-webster.com

Other good resource is https://www.thefreedictionary.com

Both of these websites have detailed meaning followed by examples. You can choose any dictionary website as long as they have examples and origin.

Few tips to help you remember these new words:

  • It's helpful to know the origin of the word, as it's easier to get an imprint of that word in your memory with it's origin. Also, it's easier to predict meaning of a new word, which has similar origin. So, you learn more words with same effort
  • Associate each word with a setting. Where did you find that word? That helps you connect that word with a purpose.
  • Try to look at all synonyms and antonyms of WOTD. This helps you learn all such possible words, that come into the realm of that word.
  • Search for the WOTD on duckduckgo and see where it appears in articles, news, etc. You will forget most of the words the next day, and that's OK. The thing is that if you encounter that word ever again and look for it again, you will recognize that word better.
  • For many of these words, you don't need to know the exact precise meaning, but more of a general meaning, i.e does "pathetic" mean happy or sad.
  • Read a lot. That's the bottom line for lifelong learning, whether it's your knowledge of space, knowledge of food or knowledge of words.

Enough preaching, here is the WOTD:

12/20/2024:

phyrric:

Read in 48 laws of power. Pyrrhus, was the king of Epirus who sustained heavy losses in defeating the Romans  So, phyrric came to refer to something that is achieved at a very high cost. It's costly to the point of negating or outweighing expected benefits
 
ex: China’s victory over its democratic opponents in this round may yet prove pyrrhic for at least two reasons.

 

 

 

Previous WOTD: Since my last update, I've realized that this page has become more like WOTW (word of the week) instead of WOTD, hopefully it won't become WOTY (word of the year), oops sealed

 

10/01/2024:

sacrilege:

Read in a comment about how 8gb soldered ram for a windows 11 machine is sacrilegious. Sacrilege is the violation or injurious treatment of a sacred object, site or person. This can take the form of irreverence to sacred persons, places, and things. When the sacrilegious offence is verbal, it is called blasphemy, and when physical, it is often called desecration. Sacrilegious is committing sacrilge, i.e being extremely disrespectful towards something considered sacred.
 
ex: It would be sacrilegious to cut down such beautiful trees.
 

05/23/2024:

persnickety:

Read in a comment about how some banks are persnickety about bank applications. This word came from pernickety (NO s in the middle) which has the same meaning. Persnickety refers to someone who is fussy about small things, or being over particular or precise and placing too much emphasis on trivial or minor details, i.e a persnickety job.
ex: "she's very persnickety about her food"

 

04/16/2024:

groggy:

Read in an article, where tt said that "high fatty food in the afternoon, may make you groggy". It means being weak and unable to think clearly or walk correctly, usually because of tiredness or illness.
ex: I felt a little bit groggy for a couple of days after the operation.

 

02/07/2024:

encumbrance:

This means a burden or impediment, i.e something that encumbers. It's used in legal terms too = When a property is encumbered, it means someone has laid claim against the property for unpaid liens, etc. So, in other terms, the property is burdened.The opposite word is "unencumbered" or burdenless. You may be unencumbered because you are traveling light, or because you have no more responsibilities, etc. I read this word "unencumbered" in an article in which the wife says that "she stopped cooking, because she wanted to feel as unencumbered as her husband".
 
ex: without the encumbrance of a heavy backpack, I could sprint along the trail.
 

12/05/2023:

Polymath:

A person whose knowledge spans a substantial number of subjects, known to draw on complex bodies of knowledge to solve specific problems. They are alos known as "universal man" or "Renaissance Man". Polymaths was used to describe great thinkers of the Renaissance who excelled in several fields including science and art. Found it it an article on Charlie Munger, who is regarded as a Polymath.
 
ex: So many more people may have the capacity to be polymaths, if only they are encouraged in the right way.

 

11/05/2023:

Rumination:

A cycle of negative thinking, which leads to distress. a ruminating person only thinks about negative things, it's consequences and never tries to focus on solutions. They are more likely to “remember more negative things that happened to them in the past, they interpret situations in their current lives more negatively, and they are more hopeless about the future.” It's a psycological mental illness.
 
ex: Aren't most of us ruminating most of the times.
 

09/23/2023:

pet peeves:

Heard it in a youtube video about how "the youtuber has pet peeves about people comments". The word "peeves" comes from peeve which means to annoy or irritate. So, the word "pet peeves" means an is an annoyance that’s nurtured like a pet — it's something someone can never resist complaining about. It's a minor annoyance, that most of the other people won't consider it a big deal. There are all kinds of pet peeves, like littering, misusing punctuation, driving slowly in the fast lane, or talking during movies, etc. Wiki: https://en.wikipedia.org/wiki/Pet_peeve
 
ex: “grammatical mistakes are his pet peeve”. I've pet peeves about my spouse's lane changing habits.
 

07/23/2023:

asinine:

Pronouned as asee-nine (the number 9). Read it in a comment about how "Chipotle not allowing to load more than 1 GC in thier app is borderline asinine". It means utterly foolish. It comes from word "ass" meaning something resembling an ass. Synonym is "fatuous".
 
ex: an asinine excuse. His choices would seem asinine to anyone else.
 

07/15/2023:

pronto:

Head it in an Indian movie about the senior cop asking his juniors to get the report, pronto. It's an Italian word, meaning "promptly and without delay". I've heard it in Spanish too, which means "soon or shortly", especially used in "see you soon" or "hasta pronto".
 
ex: Put it in refrigerator, pronto.
 

06/15/2023:

affront:

Read it an article about twitter stating how Elon Musk made people pay for the status symbol on their twitter account, which was an affront to some. Affront means an action or remark that causes outrage or offense. Synonyms are insult, offense, indignity, etc, while antonym are compliment.
 
ex: The sackings of chief justices were an affront to justice.
 

05/22/2023:

improvisatory:

It comes from improvise or made up without preparation. Something created and performed spontaneously or without preparation
 
ex: "a film shot in a highly improvisatory style"
 

05/18/2023:

trite:

Read it an article about Charlie Munger's advice on happiness. He says his advice is "trite" meaning something that is overused and consequently of little import; lacking originality or freshness.

ex: a trite remark. "Last but not the least" is a trite expression used in so many speeches that it's a trite expression.

04/03/2023:

Scrappy:

Consider it as scrap or useless. Scrappy has multiple meanings, with most common being untidy, disorganized. Other meaning is quarrelsome or having an aggressive spirit.

ex: We were scrappy in the first half and deserved to lose.  They live on a scrappy street in poor part of town. Scrappy piece of essay. The cross-border collaboration was scrappy (i.e quarrelsome), often improvisatory.

01/29/2023:

Scrimmage:

Read this in an article on how young kids defeated women's soccer team in a scrimmage. Scrimmage means a minor battle, scuffle or confused struggle.

ex: There was a considerable scrimmage, with people anxious to obtain cabs

01/20/2023:

Gaudy:

Read this in an article on how rich people have gaudy taste. Gaudy means very flashy or showy, so as to be tasteless. Gaudy also means a feast or entertainment especially in the form of an annual college dinner at a British university (As per wikipedia article on gaudy)

ex: she was wearing a gaudy Hawaiian shirt.

01/10/2023:

Odious:

Word odious is related to odium which means to annoy. Odious is an adjective. It means extremely repulsive, similar to repugnance.

ex: An odious crime.

01/01/2023:

Commiserate:

Read this in an article on Sam Altman (OpenAI CEO) on how his funded startup founders were commiserating with passengers who never have as much as space in their baggage as they thought. Commiserate means to sympathesize or to show or express pity for someone.

ex: she went over to commiserate with Rose on her unfortunate circumstances. I commiserated him on his loss.

12/01/2022:

Iconoclasm:

It's the social belief in the importance of the destruction of icons and other images or monuments, most frequently for religious or political reasons. Iconoclastic is an adjective which is characterized by attack on cherished beliefs or institutions:

People who engage in or support iconoclasm are called iconoclasts, a term that has come to be figuratively applied to any individual who challenges "cherished beliefs or venerated institutions on the grounds that they are erroneous or pernicious. Conversely, one who reveres or venerates religious images is called (by iconoclasts) an iconolater.

ex: a fresh, even an iconoclastic, influence could work wonders.

09/04/2022:

Despondent:

Read this word in an article where CFO jumped from a building to kill himself. Despondent means hopeless or depressed. It's feeling or showing extreme discouragement and dejection.

ex: He had just separated from his wife, and was so despondent.

08/15/2022:

Tenuous:

Heard this word when a colleague said that his theory on why a circuit was failing is very tenuous, meaning he had a very weak argument.  Tenuous refers to something diluted in consistency, like a tenuous fluid. On same ground, tenuous means something weak, insecure or slim.

ex: a tenuous link between pieces of evidence.

08/02/2022:

Thrall:

Read it in a comment where the reader said that the people are thralls to the government. Thralls were the lowest class of workers in Scandinavian society and were basically slaves. On similar lines, thrall refers to a slave or a person who is in complete moral or mental servitude. It refers to a state of complete submission.

ex: politicians remain in thrall to the National Rifle Association.

07/06/2022:

Curmudgeon:

Found this word when reading an article about how stocks rose in the USA, but Asia delivered a somewhat curmudgeonly response to Wall Street’s overnight rise. Curmudgeon refers to ill mannered, cranky person (usually old people).

ex: only a curmudgeon would object to the nursing home's holiday decorations.

07/01/2022:

Pro bono:

Found this word when reading an article about a homeowner fighting an HOA and how he can get help pro bono. "pro bono" is a phrase for professional work undertaken voluntarily and without payment. The term typically refers to provision of legal services by legal professionals for people who are unable to afford them.

ex: Attorneys are representing him pro bono.

06/23/2022:

Bodacious:

Found this word in one of the comments. Bodacious is a combination of bold and audacious, and may be linked to word "boldacious". It means bold, noteworthy or sexy (i.e bodacious babes). 

ex: Jack has a bodacious style. Bodacious bargain. Bodacious decor of the hotel.

05/18/2022:

palliate:

Found this word when reading about palliative care. "palliate" means to ease (symptoms) without curing the underlying disease. It also means to moderate the intensity of something.

ex: medicine to palliate the pain. He tried to palliate the boredom by his jokes.

palliative means something that palliates. palliative care and hospice care are 2 kind of care given to very sick people. Palliative care may be offered to people of any age who have a serious or life-threatening illness. It's primary purpose is to improve the quality of life, while treatment is ongoing. Hospice care is given to people who have reached a point where medicines are no longer expected to cure them of life threatening illness, and they have 6 months or less to live. Here also the primary purpose is to improve the quality of life until the person passes away. However, in hospice care, treatment is stopped (unlike palliative, where treatment is ongoing)

05/16/2022:

neck of the woods:

This is a phrase very commonly used in conversations. It means a certain region or neighborhood. "Neck" had been used in English since around 1555 to describe a narrow strip of land, usually surrounded by water, based on its resemblance to the neck of an animal. But the Americans were the first to apply "neck" to a narrow stand of woods or, more importantly, to a settlement located in a particular part of the woods. In a country then largely covered by forests, your "neck of the woods" was your home, the first American neighborhood.

ex: You won't find a house for $200K in my neck of the woods => This means you won't find home for $200K in my neighborhood

05/12/2022:

conflate:

Conflate means to combine (two or more texts, ideas, etc.) into one or to bring together. It comes from the verb "conflare", which is from con- ‘together’ + flare ‘to blow’. It's used in the sense of ‘fuse or melt down metal’

ex: the urban crisis conflates a number of different economic and social issues.

05/05/2022:

crapshoot:

crapshoot refers to the gambling game of "craps". The outcome of that game is entirely based on luck. Crapshoot refers to a situation where output is entirely based on luck, not based on odds.

ex: It's always a crapshoot in Vancouver to buy tickets for an outdoor show.

05/01/2022:

megalomaniac:

Read it in an article about Steve Jobs. It's used to refer to person who is obsessed with their own power. It''s a person exhibiting "megalomania", which means obsession with the exercise of power, especially in the domination of others.

04/12/2022:

whack-a-mole:

Heard it in a mtg regarding how the approach being taken is "whack-a-mole", and wouldn't provide any relief.  Whack-a-mole is an arcade game in which players use a mallet to hit toy moles, which appear at random, back into their holes. On similar lines, it's used with reference to a situation in which attempts to solve a problem are piecemeal or superficial (hitting random moles at a time), resulting only in temporary or minor improvement (as new moles keep popping up):

ex: the site's security team has an ongoing battle against spammers, but it's a game of whack-a-mole.

03/19/2022:

elixir:

Read in an article where it said that yoni (womb) is the elixir of life. Elixir is a sweetened aromatic solution of alcohol and water, serving as a vehicle for medicine. It's a substance believed to maintain life indefinitely. Also called elixir of life. Or it's a substance or medicine believed to have the power to cure all ills.

ex: elixir of life

panacea (pronounced pana-sia) is a similar word which is a remedy for all ills or difficulties. However, no such medicine was ever found. Thus, panacea is almost always used to criticize the very idea of a total solution.

ex: There's no panacea for the current problems plaguing Wall Street

02/08/2022:

watershed:

Read it in news when Pfizer CEO that 2021 was a watershed year. It refers to an area or ridge of land that separates waters flowing to different rivers, basins, or seas. On similar lines, it means an event or period marking a turning point in a course of action or state of affairs. 

ex: this was a watershed moment in history

 01/25/2022:

peevish:

Easily irritated, especially by unimportant things. In hindi, it would be "chidchida". Read it in news when Telsa CEO Elon Musk appeared peevish when a reporter asked a question to him.

ex: all this makes Steve fretful and peevish

11/29/2021:

eviscerate:

Pronounced as evis-serate. Read it in news when Yellen said that failure to deal with debt will eviscerate economic recovery. Eviscerate means to disembowel (a person or animal) or take out it's organs. So, that is also used in context of "depriving (something) of its essential content".

ex: myriad little concessions that would eviscerate the project

11/04/2021:

rigmarole:

Pronounced as riga-marol. Read it in a comment about a bank, about how it's been a rigmarole getting the bonus. Rigmarole means nonsense or meaningless talk. Also refers to a complex and ritualistic process.

09/15/2021:

prophylactic:

Read it in an article on vaccines for coronavirus. Prophylactic means  something supposed to prevent the spread of disease or infection, especially a device or condom. It's also used in other sense as "designed or tending to prevent harm or wrong"

ex: a prophylactic rule against profiting from inside information. They started prophylactic treatment by giving him a pill.

 09/10/2021:

androgynus:

Read it in an article on China's President on how he's cracking down on celebrities known for their androgynus style, which he calls "abnormal beauty standards".  Androgynus means "Being neither distinguishably masculine nor feminine, as in dress, appearance, or behavior", i.e of the nature of a hermaphrodite. They come from greek words, Andro meaning "man, and gyne meaning woman. Hermaphrodite was son of Aphrodite and Hermes, but fused into a single form when salmacis fell in love with him. So, he formed into a single form carrying both man and woman features (female figure with male genitals). That's where the term hermaphrodite originated.

ex: androgynus clothing - clothing suitable for any sex

09/05/2021:

collusion:

Heard it in the movie "dinosaur hunt" where the boss says "no collusion" allowed among hunters. Collusion means secret cooperation for an illegal purpose.

ex: The company was acting in collusion with manufacturers to inflate prices.

 09/04/2021:

dapper :

Heard it in a movie, about how dapper the person looked in that black suit. Dapper means someone stylist, neat and trim looking or alert and lively in manners.

ex: a dapper suit, a dapper old gentleman.

09/03/2021:

incorrigible :

In philosophy, incorrigibility is a property of a philosophical proposition, which implies that it is necessarily true simply by virtue of being believed. incorrigible means incapable of being corrected or amended. Incorrigible has been part of English since 14th century. Back then, it was used to describe people who were morally depraved, but now it is most often applied to people who merely have bad habits. Antonym to this is "corrigible" which means "capable of being set right; reparable" (as in "a corrigible defect" and "a corrigible sinner") since the 15th century. Both words are from Latin corrigere, which means "to correct" and which is also the source of our word correct.

ex: Offenders have to be found incorrigible, before they can be sentenced.

 08/31/2021:

spinster :

Found this in an article about "Why Are Increasing Numbers of Women Choosing to Be Single?". spinster means an unmarried woman and especially one past the common age for marrying. It refers to "women who choose not to be married". It usually is derogatory, and was removed from US marriage registers in 2005. Spinster also means a woman who spins, or whose occupation is to spin. Somehow this term evolved to include women who chose not to marry. There is no equivalent term for men who choose not to marry. Bachelor is the term used for unmarried men, and bachlorette is a new term used for unmarried women. However, these don't imply that these men and women are past the age of marriage, nor do they have a derogatory attachment to them.

ex: Your aunt is a spinster living a lonely life.

 07/29/2021:

demagoguery: Found this in an article about how "debt ceiling debate and drama allows demagoguery and insincerity".   It refers to impassioned appeals to the prejudices and emotions of the populace. It is a manipulative approach used by politicians which is based on stirring fear and hatred amongst people to control them, and is not based on reasoning or doing the right thing. For example, a politician who stirs up a fear of immigrants to distract from other issues is using demagoguery. demagogy is another noun form of same word,

ex: Trump’s anti-immigrant demagogy.

05/15/2021:

condone: Found this in an article about how "women should not condone abusive marriages".  Condone means to accept and allow (behavior that is considered morally wrong or offensive) to continue.

ex: I don't condone violence.

03/22/2021:

unscrupulous: Found this in an article about how "unscrupulous lenders prey on vulnerable homeowners".  Scrupulous means principled, so unscrupulous means unprincipled. It's being dishonest or doing illegal things.

ex: unscrupulous individuals who pretend to prepare your taxes, but steal important ID info from you.

02/22/2021:

pontificate: Found this word in an article about how "After Trump, Republicans have no standing to pontificate on anything".  Pontificate means to express one's opinions in a way considered annoyingly pompous and dogmatic.

ex: he was pontificating about art and history.

 01/26/2021:

asinine: Found this word in an article about how Fed's asinine policies of targeting inflation is hurting poor people. Asinine means extremely foolish or stupid.

ex: An asinine plot to kill someone.

 01/11/2021:

rapacious: Found this word in an article about how USA govt's rapacious spending is going to end badly. It's an adjective describing something greedy. rapacious refers to animals subsisting by capture of living prey. On similar lines, it refers to predatory or excessively greedy.

ex: The rapacious advance of online booking.

 01/09/2021:

succulent: These are plants with parts that are thickened, fleshy, and engorged, usually to retain water in arid climates or soil conditions.  For ex: cactus, aloe. Succulent also means juicy, fleshy, as in succulent grapes or tasty as in succulent meal. succulent also means highly interesting or enjoyable.

ex: Julia had that succulent charm.

 01/08/2021:

incredulous: This means skeptical or disbelieving or disinclined to believe. It's opposite of credulous which is believing on little evidence. credulous can be thought as having credibility or believing.

ex: he's incredulous of his alibi.

01/06/2021:

cornball: Heard this in a movie, where the judge says that he looks complicated, but he's a cornball. Cornball means an unsophisticated person when used as a noun. When used as adjective, it means corny (i.e like a corn) - so simple, sentimental, or old-fashioned as to be annoying .

ex: he's a cornball. cornball humor. corny joke

 01/04/2021:

putative: Heard this in the movie "steve jobs", where jobs assistant says that the computer market is putatively owned by Apple. Putative means commonly accepted or supposed. It's synonym is: apparent, assumed.

ex: the putative cause of lung cancer was smoking.

 12/27/2020:

conscientious: Heard this in a movie "instant parents" on amazon prime, where the parents praise her kid for her conscientious thoughts. It means governed by or conforming to the dictates of conscience. It's synonym is: scrupulous

ex: a conscientious public servant

 11/11/2020:

brusque: Found this in a novel when a commander gave a brusque response. brusque means blunt or curt in manner or speech.

ex: The mayor of Prague shot back with a brusque letter demanding an apology

 10/11/2020:

Chicanery: Found this in an article about when Trump said that the only way he'll lose election is thru chicanery. chicanery means decpetion, trickery.

ex: He distanced himself from his family’s public chicanery.

10/02/2020:

Schadenfreude: Found this in an article when Trump got coronavirus, and how people were getting pleasure out of Trump's pain. It means delight in other person's misfortune.

ex: reality TV provides a delicious bit of schadenfreude.

09/15/2020

Pernicious: Found this in an article discussing fake polling results and it's pernicious effects on society. Pernicious comes from Latin noun pernicies meaning “ruin, destruction.” When applied to things, it means highly injurious or destructive, while when applied to people it means wicked. It's synonyms are insidious, sinister, baneful, noxious, deleterious and detrimental. It's antonyms are innocuous (opposite of nocuous), benign, etc.

ex: pornography has pernicious effect on society.

09/08/2020

Accost: Found this word when watching the movie "Love guaranteed". The actress says that she was accosted by a reporter on her case about suing a dating website. Accost means to approach and speak to (someone) often in an angry, aggressive, or unwanted way

ex: He was accosted by three gang members on the subway.

09/06/2020:

temerity: Found this word in one of the comments of this link, where the person is talking about how banks don't have the temerity yet to charge negative interest rates. Temerity means having nerves or audacity to do something, usually a foolhardy or reckless act.

ex: He had the temerity to believe that he could fight big pharma.

08/31/2020:

perpetual: an article about rising property values claims that Millenials would become perpetual renters, since they can't afford to buy houses. Perpetual means something continuing for ever, e.g perpetual problems. Perpetual is an adjective, while perpetuity is the noun form. Ephemeral is the antonym, which means something very short lasting.

ex: lands should remain in their wild state in perpetuity

ex: social media posts have an ephemeral life. an ephemeral fever, ephemeral happiness, etc.

08/29/2020:

dystopia: found this word in an article about Trump's relection, it says "Are Americans living in dystopia or is America great again". Dystopia refers to state in which living conditions and quality of life is extremely bad, due to deprivation, oppression, etc. Utopia is the opposite of dystopia where it's an ideal perfect state or place in social, moral aspects.

ex: 21st century dystopia of mad egoism.

08/22/2020:

fastidious: found this word when reading about fastidious organisms on wikipedia. These organisms will grow only if special nutrients are present in thier diet, so they are difficult to culture. So, fastidious came to be defined as a person who has very high standards and is difficult to please, ex: a fastidious eater. On same lines, it also came to describe work which reflected demanding, precise or meticulous attitude.

ex: fastidious attention to details.

08/21/2020:

denigrate: This word was lot in news today about how Russia is trying to denigrate the US presidential candidate, Joe Biden. It means to defame or attack reputation of someone unfairly. It also means to criticize or belittle someone unfairly, i.e a dad denigrating his son.

ex: China is trying to denigrate Trump.

08/20/2020:

autodidact: Very 1st word for my WOTD!! I came across this word while reading about sean parker, the billionaire who started music sharing site, Napster. It means someone who learns by himself.

ex: Most genius are autodidacts.