Relying on complex tools to manage and build your system is going to hurt the end-users. “If you try to hide the complexity of the system, you’ll end up with a more complex system”. Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding. — Aaron Griffin (wikipedia)
1995 July 16: Amazon launches its online bookstore. - Wikipedia
General public access to the internet in India began on 15 August 1995. (wikipedia)
Inspiration is perishable - act on it immediately. Inspiration doesn’t last – it needs action, which can soon lead to momentum, which keeps you moving. ~ Naval
Don’t need to play games, connect instead.
Every action you take is for the type of person you wish to become.
You do not rise to the level of your goals. You fall to the level of your systems.
YAGNI principle: You aren’t gonna need it. Don’t over engineer and assume that everything must be fully customizable and flexible. This is something that software engineers run often into: making highly customizable solutions for the sake of unwanted (“un-needed”) flexibility. It can be more difficult to maintain and evolve.
I prefer making notes in Google Doc rather than in markdown or any other software like notion because I am very much satified by the features provided by Google Doc and I already know how to use Google Doc (WYSIWYG):
Below are some features of Google Doc that you might helpful too:
Notes are about more about note making experience than to refer notes. In Google Docs the experience of notes making is awesome.
give people exclusive acces using email for read or write permissions
can be published to web via direct link using “Publish to web” feature. You can find it here “File > Share feature > Publish to web”.
can be embedded in websites, this is particularly useful when you want some content to be automatically updated which is present in a google document. This could be really helpful thing particularly for non coders. You can get the embed code for the document by going to “File > Share feature > Embed”. Here is an example which you can check and you can actually view the source code of the html page via option + cmd + u (macos) or ctrl + u (on mac/linux).
Faster Usage than markdown.
There is syntax language to be learned.
Editable on Google Doc app on mobile.
You only loose information which you don’t want to make accessible.
Why AWS (any cloud) over Raspberry pi
Raspberry pi needs re-installation of OS if linux gets messed up.
Raspberry pi needs additional installation of docker/k3s
Raspberry pi needs to be handled over broadband (router settings) via port forwarding to make it accessible over internet.
Raspberry pi would need static ip (monthly paid) or any other no-ip service to make the dynamic ip actually work for any project to work over longer duration of times.
Raspberry pi would need to be setuped for access over ssh.
Raspberry pi is strictly dependent on factors like:
internet conectivity over broadband
electricity on site
No fucking wires
Why raspberry pi over AWS?
Cheaper in cost i.e., you would save cost around 8-10 thousand probably as if it were hosted on aws as you can host multiple applications on 8GB raspberry pi.
Get private code learning/work support for javascript, nodejs, react and mongodb @ 500 Rs. (6$) per hour by reaching at hello@sahilrajput.com
Kyle Simpson: I think the biggest problem with learning JavaScript right now is that it’s so distracting to see such a broad and complex ecosystem where almost every week somebody’s coming out with a whole new pattern a new framework a new way of doing things so the goal posts keep moving for you and you learn new things and think “I learned just enough and I’m on the right track” and then you find out that everybody else is learning or doing something different and my advice for that is to just pick one thing and focus on it and instead of trying to feel like you have to learn every single thing all at once nobody can do that.
🥕🍎 In command ts-node-dev --transpile-only tg.ts what does the flag do --transpile-only? (ChatGPT)
The --transpile-only flag in the ts-node-dev command tells TypeScript Node (ts-node) to skip type checking when running the TypeScript code. Normally, TypeScript checks the types as it compiles the code, which can slow down the process.
When using --transpile-only, TypeScript only transpiles the code (i.e., converts TypeScript to JavaScript) without performing any type checks. This can make the development process faster, especially in situations where you rely on external tools (like an IDE or a separate build step) to handle type checking.
ॐ सर्वे भवन्तु सुखिनः Om Sarve Bhavantu Sukhinah) - Om, May All be Happy,
सर्वे सन्तु निरामयाः । Sarve Santu Niraamayaah) - May All be Free from Illness.
सर्वे भद्राणि पश्यन्तु Sarve Bhadraanni Pashyantu) - May All See what is Auspicious,
मा कश्चिद्दुःखभाग्भवेत् । Maa Kashcid-Duhkha-Bhaag-Bhavet) - May no one Suffer.
ॐ शान्तिः शान्तिः शान्तिः ॥ Om Shaantih Shaantih Shaantih) - Om Peace, Peace, Peace.
SLEEPFUNCTION==============awaitnewPromise(r=>setTimeout(r,2000))SLICEArrayMethod==================// Note:// 1. slice() method returns shallow copied array.// 2. first argument is inclusive and second argument is **non-inclusive**constnewArray=myArray.slice(startIdx,endIdx+1);SORTINGArrayMethod=======myNumbers.sort();// sorts in ascending order [DEFAULT]myNumbers.sort((a,b)=>a-b);// sorts in ascending order [DEFAULT]myNumbers.sort((a,b)=>b-a);// sorts in descending orderREDUCEARRAYMETHOD======ar=[1,2,3]ar.reduce((a,b)=>a+b,0)// Output: 6PUSH/POP/SHIFT/UNSHIFT-allmutatearray=====`push`and`pop`worksonendofarray`unshift`and`shift`worksonstartofarrayUSINGFETCH===========// client-sideconstresponse=awaitfetch('/roll');// 'GET'const{number}=awaitresponse.json();constresponse=awaitfetch('/todo',{method:'POST',// 'PUT', 'DELETE', 'PATCH'body:JSON.stringify({description}),headers:{'Content-Type':'application/json'}});const{description}=awaitresponse.json();// server-sideconst{description}=awaitrequest.json();GETTERANDSETTERSINANOBJECT===============================// Example 1:constobj={countValue:42,getcount(){returnthis.countValue;},setcount(value){this.countValue=value;}};console.log(obj.count);// 42obj.count=43;console.log(obj.count);// 43// Example 2:letinput={a:1,b:2,getsum(){returninput.a+input.b;}};console.log(input.sum);// 3input.a=3;input.b=4;console.log(input.sum);// 7// Example 3:functionadd(input){return{getvalue(){returninput.a+input.b;}};}letinput={a:1,b:2};lettotal=add(input);console.log(total.value);// 3input.a=3;input.b=4;console.log(total.value);//7// WHEREAS FUNCTION DEFINED WITH `function` KEYWORD OR ARROW-FUNCTION-SYNTAX BEHAVES HAS GENERAL FUNCTIONS UNLIKE GETTER/SETTERS:// -----------------------------------------------------------------------------------------------------------------------------// Read more differenes here - https://github.com/sahilrajput03/sahilrajput03/blob/main/learn-js.md#geeter-setters-in-objectconstobj={countValue:42,count:()=>this.countValue,// Note: `this` here doesn't refer to the object.};console.log(obj.count());// undefined, because `this` does not refer to `obj`.~~===============================// In JS, the ~~ symbol is often referred to as the double tilde. It is a shorthand trick for converting a number to an integer by dropping its decimal part (similar to Math.floor() for positive numbers). ~~ relies on bitwise operations, which are implemented at a lower level in JavaScript. Using ~~ is limited to 32-bit signed integers. For usage with any numeric value please prefer using `Math.trunc()` instead. (from ChatGPT)console.log(~~4.5);// Output: 4console.log(~~-4.5);// Output: -4
Length
======
1 ft ≈ 30.48 cm
1 m ≈ 3.3 ft (precisely 3.28084)
1 m ≈ 39.4 inch (precisely 39.3701)
1 km ≈ 0.62 miles (precisely 0.621371)
1 mile ≈ 1.61 km (precisely 1.60934)
10^⁶ = 1 Million = 10 Lakh
10^⁹ = 1 Billion = 100 Crore
10^¹² = 1 Trillion = 100k Crore = 100 Thousand Crore = 1 Lakh Crore
Mass
====
1 kg ≈ 2.2 lbs (pounds)
1 lbs ≈ 0.45 kg
Currency
========
**For fastest conversion from dollar to inr you can simply multiply by 100 (~84 ₹/$).**
$ to ₹ Conversion factor: 83 ₹/$
₹ to $ Conversion factor: 0.012 $/₹
$ 1 Million = ₹ 8.3 Crore
$ 1 Billion = ₹ 8.3k Crore
$ 1 Trillion = ₹ 83 Lakh Crore = ₹ 8300k Crore
Conversion Trick For $ and ₹
============================
1. To convert $ to ₹ we can multiply the value with 10 and 8 in sequence. (Refer ^1 at bottom)
2. To convert ₹ to $ we can divide the value with 10 and 8 in sequence (Refer ^1 at bottom)
References
==========
^1: 10 and 8.3 are multiplicative factors of 83 because 10 x 8.3 equals 83.
Product: Gather and prepare detailed information about your product, covering every aspect and feature. You should also understand the needs and desires of the other person that your product can fulfill.
Emotion: Any customer only wants to buy a product because of either fear or aspiration.
Urgency: You need to tell the customer that this is the thing the customer needs today.
Royal Society Prizes for Science Books
Breath by James Nestor is the finalist for the year 2021.
❤️ Interesting Page of James Nestor - Wikipedia: Click here
Document Order & Titles Notice for Google Docs
This document is organized in reverse chronological order, with the most recent entries appearing first and earlier entries following in descending order.
This document is organized in chronological order, with the earliest entries appearing first and more recent entries following in ascending order.
<Note: A document must have two titles such that titles appear in the outline. Thus do not remove this.>
Note: Mangal is part of the Unicode standard, which means it supports a wide range of Devanagari characters and is more compatible with modern software and devices.
Source: List of English-language television channels in India | Wikipedia:Click here
National channels: CNN-News18, DD India, India Today, Mirror Now, NDTV 24x7, NewsX, Republic TV, Times Now, WION
International channels: ABC Australia , Al Jazeera English , BBC World News , Bloomberg Television , CNA , CNN , Deutsche Welle , France 24 , NHK World , Press TV , RT
For videos not having subtitles the above method won’t work though you can use OpenAi’s STT api. You can first download the m4a audio file of the youtube video by downloading the audio file from this site - https://www.multidownloader.net. Note: OpenAi’s STT supports m4a format as input file 😇
Use Chrome Mobile’s feature of “Listen to this page”. Its awesome because it offers highlight of text while reading and changing speed of reading as well.
Anything is possible when we break the big tasks down into smaller, manageable ones! :) ~Eric
I have no limitations ~ Thomas Shelby
Discipline means choosing between what you want now and what you want most. ~ Unkonwn
There is not try, either you do it or don’t. ~ Frank Oz (Star Wars)
Curiosità is defined by Micheal J. Geib and Leonardo as “an insatiable curious approach to life and an unrelenting quest for continuous learning.” Nature of mind is to wander around, its not problem its the way its designed. My job is to keep getting it back towards the goal.
❤️ VERCEL: Official Demo of Client Side Rendering, Server Side Rendering, Static Site Generation and Incremental Static Regeneration: Click here
- Learn Heroku Deployment: Click here
Cloudinary primarily provides cloud-based media management, enabling users to store, optimize, transform, and deliver images and videos efficiently across web and mobile platforms.
Syncing backend and frontned code (e.g, types.ts file) and have isomorphinc aka universal directory (file/files) across repositories (fronend,backend): Click here