[{"data":1,"prerenderedAt":1133},["ShallowReactive",2],{"blog-notes-almanack-naval":3,"blog-all-for-related":635},{"id":4,"title":5,"author":6,"body":7,"cardAlt":5,"categories":619,"description":622,"draft":623,"extension":624,"headerImage":625,"keywords":626,"meta":627,"name":628,"navigation":629,"path":630,"seo":631,"series":6,"stem":632,"updated":6,"year":633,"__hash__":634},"blog\u002Fblog\u002Fnotes-almanack-naval.md","Book Notes : Almanack of Naval Ravikant",null,{"type":8,"value":9,"toc":610},"minimark",[10,22,25,34,42],[11,12,13,14,21],"p",{},"These are highlights\u002Fnotes from book ",[15,16,20],"a",{"href":17,"rel":18},"https:\u002F\u002Famzn.to\u002F31fMsHj",[19],"nofollow","\"The Almanack of Naval Ravikant: A Guide to Wealth and Happiness\""," by Eric Jorgenson. For those who are not aware, Naval Ravikant is an Indian-American entrepreneur and investor. He is the co-founder AngelList. Naval is highly popular for his \"How to get rich\" tweetstorm. This book is a compilation of his learnings around wealth, success, entrepreneurship and life.",[11,23,24],{},"These are my personal notes\u002Fhighlights which I took while reading. I would recommend reading the book, but in case you are short on time - just skim through these notes 😊",[11,26,27,28,33],{},"You can checkout the digital version ",[15,29,32],{"href":30,"rel":31},"https:\u002F\u002Fwww.navalmanack.com\u002F",[19],"here",".",[11,35,36,37],{},"In case you are looking for book recommendations! Check ",[15,38,41],{"href":39,"rel":40},"https:\u002F\u002Flearnshots.netlify.app\u002Fbooks\u002F",[19],"Learnshots",[43,44,45,48,53,92,96,385,389,456,460,549,551,555,592,595,604],"ads",{},[46,47],"hr",{},[49,50,52],"h2",{"id":51},"about-naval","About Naval",[54,55,56,60],"ul",{},[57,58,59],"li",{},"Naval is a world-class operator instead of an armchair philosopher.",[57,61,62,63],{},"I take Naval seriously because he:",[54,64,65,68,71,74,77,80,83,86,89],{},[57,66,67],{},"Questions nearly everything",[57,69,70],{},"Can think from first principles",[57,72,73],{},"Tests things well",[57,75,76],{},"Is good at not fooling himself",[57,78,79],{},"Changes his mind regularly",[57,81,82],{},"Laughs a lot",[57,84,85],{},"Thinks holistically",[57,87,88],{},"Thinks long-term",[57,90,91],{},"And he doesn’t take himself too goddamn seriously.",[49,93,95],{"id":94},"fundamentals","Fundamentals",[54,97,98,101,104,107,110,113,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,176,190,193,196,199,202,213,216,219,222,225,228,231,234,237,240,251,254,257,260,263,266,269,272,275,278,281,284,287,290,293,296,299,302,305,308,311,314,317,331,334,337,340,343,346,349,352,355,358,361,364,367,370,373,376,379,382],{},[57,99,100],{},"If you have nothing in your life, but you have at least one person that loves you unconditionally, it’ll do wonders for your self-esteem.",[57,102,103],{},"Getting rich is about knowing what to do, who to do it with, and when to do it.",[57,105,106],{},"hard work matters, and you can’t skimp on it. But it has to be directed in the right way.",[57,108,109],{},"Seek wealth, not money or status. Wealth is having assets that earn while you sleep. Money is how we transfer time and wealth. Status is your place in the social hierarchy.",[57,111,112],{},"Ignore people playing status games.",[57,114,115],{},"You’re not going to get rich renting out your time. You must own equity—a piece of a business—to gain your financial freedom.",[57,117,118],{},"You will get rich by giving society what it wants but does not yet know how to get. At scale.",[57,120,121],{},"Pick an industry where you can play long-term games with long-term people. Create a network of amazing people. People are always ready to help. You need to reach out.",[57,123,124],{},"Play iterated games. All the returns in life, whether in wealth, relationships, or knowledge, come from compound interest.",[57,126,127],{},"Well, compounding is 8th wonder of the world. Apply it in damn everything. Work, investing, learning, writing.",[57,129,130],{},"Pick business partners with high intelligence, energy, and, above all, integrity.",[57,132,133],{},"Don’t partner with cynics and pessimists. Their beliefs are self-fulfilling.",[57,135,136],{},"Learn to sell. Learn to build. If you can do both, you will be unstoppable. The hardest part is selling not building. Over time you’ll master building, but it’s selling which makes you millions.",[57,138,139],{},"Arm yourself with specific knowledge, accountability, and leverage.",[57,141,142],{},"Specific knowledge is knowledge you cannot be trained for. If society can train you, it can train someone else and replace you.",[57,144,145],{},"Specific knowledge is found by pursuing your genuine curiosity and passion rather than whatever is hot right now.",[57,147,148],{},"Building specific knowledge will feel like play to you but will look like work to others.",[57,150,151],{},"Specific knowledge is often highly technical or creative. It cannot be outsourced or automated. Exactly why you won’t be easily replaced.",[57,153,154],{},"Embrace accountability, and take business risks under your own name. No risk, no gains. Take small risks, take a win. Repeat!",[57,156,157],{},"To raise money, apply your specific knowledge with accountability and show resulting good judgment",[57,159,160],{},"Work till a point your depencies are met.",[57,162,163],{},"Everyone is trying to lead, but someone has to follow you.",[57,165,166],{},"Code and media are permissionless leverage. They’re the leverage behind the newly rich.",[57,168,169],{},"An army of robots is freely available—it’s just packed in data centers for heat and space efficiency. Use it.",[57,171,172],{},"If you can’t code, write books and blogs, record videos and podcasts.",[57,174,175],{},"Study microeconomics, game theory, psychology, persuasion, ethics, mathematics, and computers.",[57,177,178,179],{},"Reading is faster than listening. Doing is faster than watching. Man, actions speak.\n",[54,180,181,184,187],{},[57,182,183],{},"Do the work!",[57,185,186],{},"Stop procastinating.",[57,188,189],{},"Time is the most valuable asset in the world.",[57,191,192],{},"If outsourcing a task will cost less than your hourly rate, outsource it.",[57,194,195],{},"Work as hard as you can. Even though who you work with and what you work on are more important than how hard you work.",[57,197,198],{},"Become the best in the world at what you do. Keep redefining what you do until this is true.",[57,200,201],{},"Apply specific knowledge, with leverage, and eventually you will get what you deserve.",[57,203,204,205],{},"Productize Yourself\n",[54,206,207,210],{},[57,208,209],{},"“Yourself” has uniqueness, accountability.",[57,211,212],{},"“Productize” has leverage and specific knowledge.",[57,214,215],{},"Money is social credits.",[57,217,218],{},"Wealth is the thing you want. Wealth is assets that earn while you sleep.",[57,220,221],{},"Wealth is the computer program that’s running at night, serving other customers. Wealth is even money in the bank that is being reinvested into other assets, and into other businesses.",[57,223,224],{},"Society will pay you for creating things it wants",[57,226,227],{},"And if you want to be wealthy, you want to figure out which one of those things you can provide for society that it does not yet know how to get but it will want and providing it is natural to you, within your skill set, and within your capabilities.",[57,229,230],{},"Figure out how to scale!",[57,232,233],{},"Society, business, & money are downstream of technology, which is itself downstream of science. Science applied is the engine of humanity.",[57,235,236],{},"The most important skill for getting rich is becoming a perpetual learner.",[57,238,239],{},"You have to know how to learn anything you want to learn.",[57,241,242,243],{},"Foundations are super important.\n",[54,244,245,248],{},[57,246,247],{},"Basic arithmetic and numeracy are way more important in life than doing calculus.",[57,249,250],{},"It’s much better to be at 9\u002F10 or 10\u002F10 on foundations than to try and get super deep into things.",[57,252,253],{},"When you find the right thing to do, when you find the right people to work with, invest deeply.",[57,255,256],{},"when you find the 1 percent of your discipline which will not be wasted, which you’ll be able to invest in for the rest of your life and has meaning to you—go all-in and forget about the rest.",[57,258,259],{},"Without accountability, you don’t have incentives!",[57,261,262],{},"Ownership versus wage work.",[57,264,265],{},"Without ownership, when you’re sleeping, you’re not earning. When you’re retired, you’re not earning. When you’re on vacation, you’re not earning. And you can’t earn nonlinearly.",[57,267,268],{},"If you don’t own equity in a business, your odds of making money are very slim.",[57,270,271],{},"If it entertains you now but will bore you someday, it’s a distraction. Keep looking.",[57,273,274],{},"The less you want something, the less you’re thinking about it, the less you’re obsessing over it, the more you’re going to do it in a natural way",[57,276,277],{},"Follow your intellectual curiosity more than whatever is “hot” right now. If your curiosity ever leads you to a place where society eventually wants to go, you’ll get paid extremely well.",[57,279,280],{},"You want to know how to do something other people don’t know how to do at the time period when those skills are in demand.",[57,282,283],{},"The final form of leverage is brand new—the most democratic form. It is: “products with no marginal cost of replication.”",[57,285,286],{},"Whenever you can in life, optimize for independence rather than pay.",[57,288,289],{},"What you want in life is to be in control of your time",[57,291,292],{},"Knowledge workers function like athletes—train and sprint, then rest and reassess.",[57,294,295],{},"If you want to be part of a great tech company, then you need to be able to SELL or BUILD. If you don’t do either, learn.",[57,297,298],{},"You start as a salaried employee. But you want to work your way up to try and get higher leverage, more accountability, and specific knowledge. The combination of those over a long period of time with the magic of compound interest will make you wealthy.",[57,300,301],{},"I would love to be paid purely for my judgment, not for any work.",[57,303,304],{},"Value your time at an hourly rate, and ruthlessly spend to save time at that rate.",[57,306,307],{},"If you can outsource something or not do something for less than your hourly rate, outsource it or don’t do it",[57,309,310],{},"Wealth creation is an evolutionarily recent positive-sum game. Status is an old zero-sum game. Those attacking wealth creation are often just seeking status.",[57,312,313],{},"Retirement is when you stop sacrificing today for an imaginary tomorrow. When today is complete, in and of itself, you’re retired.",[57,315,316],{},"best way to stay away from this constant love of money is to not upgrade your lifestyle as you make money",[57,318,319,320],{},"Kinds of luck\n",[54,321,322,325,328],{},[57,323,324],{},"The first kind of luck is blind luck where one just gets lucky because something completely out of their control happened. This includes fortune, fate, etc.",[57,326,327],{},"luck through persistence, hard work, hustle, and motion. This is when you’re running around creating opportunities.",[57,329,330],{},"A third way is you become very good at spotting luck. If you are very skilled in a field, you will notice when a lucky break happens in your field,",[57,332,333],{},"When someone spends too much time talking about their own values or they’re talking themselves up, they’re covering for something.",[57,335,336],{},"Apply specific knowledge with leverage and eventually, you will get what you deserve.",[57,338,339],{},"You don’t get rich by spending your time to save money.",[57,341,342],{},"Wisdom is knowing the long-term consequences of your actions",[57,344,345],{},"In an age of leverage, one correct decision can win everything.",[57,347,348],{},"If you can’t rederive concepts from the basics as you need them, you’re lost. You’re just memorizing.",[57,350,351],{},"You absolutely need habits to function",[57,353,354],{},"The classical virtues are all decision-making heuristics to make one optimize for the long term rather than for the short term",[57,356,357],{},"praise specifically, criticize generally",[57,359,360],{},"If you have a criticism of someone, then don’t criticize the person—criticize the general approach or criticize the class of activities. If you have to praise somebody, then always try and find the person who is the best example of what you’re praising and praise the person, specifically",[57,362,363],{},"If you can be more right and more rational, you’re going to get nonlinear returns in your life.",[57,365,366],{},"IF YOU CAN’T DECIDE, THE ANSWER IS NO.",[57,368,369],{},"Simple heuristic: If you’re evenly split on a difficult decision, take the path more painful in the short term.",[57,371,372],{},"generally want to lean into things with short-term pain, but long-term gain.",[57,374,375],{},"Reading a book isn’t a race—the better the book, the more slowly it should be absorbed.",[57,377,378],{},"the best ones to read are the ones you’re excited about reading all the time.",[57,380,381],{},"I don’t believe in delayed gratification when there are an infinite number of books out there to read",[57,383,384],{},"When solving problems: the older the problem, the older the solution.",[49,386,388],{"id":387},"happiness","Happiness",[54,390,391,394,397,400,403,406,409,412,415,418,421,424,427,430,453],{},[57,392,393],{},"You have to view the negative before you can aspire to and appreciate the positive.",[57,395,396],{},"The world just reflects your own feelings back at you",[57,398,399],{},"neutral state is actually a perfection state.",[57,401,402],{},"happiness is more about peace than it is about joy.",[57,404,405],{},"Avoid unhappy people",[57,407,408],{},"You should self-actualize. You should do what you are meant to do.",[57,410,411],{},"it’s way more important to perfect your desires than to try to do something you don’t 100 percent desire.",[57,413,414],{},"When you’re young, you have time. You have health, but you have no money. When you’re middle-aged, you have money and you have health, but you have no time. When you’re old, you have money and you have time, but you have no health.",[57,416,417],{},"In reality, peace is not a guarantee. It’s always flowing. It’s always changing. You want to learn the core skill set of flowing with life and accepting it in most cases",[57,419,420],{},"When working, surround yourself with people more successful than you.",[57,422,423],{},"Don’t hang around people who constantly engage in conflict.",[57,425,426],{},"The most important trick to being happy is to realize happiness is a skill you develop and a choice you make.",[57,428,429],{},"If you have peace of body, it’s easier to have peace of mind.",[57,431,432,433],{},"CHANGING HABITS:\n",[54,434,435,438,441,444,447,450],{},[57,436,437],{},"Pick one thing. Cultivate a desire. Visualize it.",[57,439,440],{},"Plan a sustainable path.",[57,442,443],{},"Identify needs, triggers, and substitutes.",[57,445,446],{},"Tell your friends.",[57,448,449],{},"Track meticulously.",[57,451,452],{},"Self-discipline is a bridge to a new self-image.",[57,454,455],{},"You’re going to die one day, and none of this is going to matter. So enjoy yourself. Do something positive. Project some love. Make someone happy. Laugh a little bit. Appreciate the moment. And do your work.",[49,457,459],{"id":458},"free-yourself","Free yourself",[54,461,462,465,468,471,474,477,480,483,486,489,492,495,498,501,504,507,510,513,516,519,522,525,528,531,534,537,540,543,546],{},[57,463,464],{},"All you should do is what you want to do",[57,466,467],{},"Your goal in life is to find the people, business, project, or art that needs you the most",[57,469,470],{},"You’ll never be good at being somebody else.",[57,472,473],{},"My number one priority in life, above my happiness, above my family, above my work, is my own health. It starts with my physical health",[57,475,476],{},"When everyone is sick, we no longer consider it a disease.",[57,478,479],{},"The combination of sugar and fat together is really deadly.",[57,481,482],{},"The harder the workout, the easier the day.",[57,484,485],{},"The important thing is to do something every day. It doesn’t matter what it is. The best workout for you is one you’re excited enough to do every day",[57,487,488],{},"Easy choices, hard life. Hard choices, easy life.",[57,490,491],{},"If you make the easy choices right now, your overall life will be a lot harder.",[57,493,494],{},"most of our suffering comes from avoidance",[57,496,497],{},"Meditation is intermittent fasting for the mind.",[57,499,500],{},"Life-hack: When in bed, meditate. Either you will have a deep meditation or fall asleep. Victory either way.",[57,502,503],{},"If you can get a free hour of bliss every morning just by sitting and closing your eyes, that is worth its weight in gold. It will change your life.",[57,505,506],{},"Meditation isn’t hard. All you have to do is sit there and do nothing. Just sit down. Close your eyes and say, “I’m just going to give myself a break for an hour. This is my hour off from life. This is the hour I’m not going to do anything.",[57,508,509],{},"do the same things I think are the right things to do but without anger and with a very long-term point of view",[57,511,512],{},"You should always be internally ready for a complete change. Whenever we say we’re going to try to do something or try to form a habit, we’re wimping out.",[57,514,515],{},"Commit externally to enough people",[57,517,518],{},"When you really want to change, you just change. But most of us don’t really want to change—we don’t want to go through the pain just yet. At least recognize it, be aware of it, and give yourself a smaller change you can actually carry out.",[57,520,521],{},"When you have inspiration, act on it right then and there",[57,523,524],{},"Set up systems, not goals.",[57,526,527],{},"If there’s something you want to do later, do it now. There is no “later.”",[57,529,530],{},"Read everything you can",[57,532,533],{},"if you can influence your fellow human beings, you can get a lot done.",[57,535,536],{},"The hardest thing is not doing what you want—it’s knowing what you want.",[57,538,539],{},"Value your time. It is all you have. It’s more important than your money.",[57,541,542],{},"Don’t spend your time making other people happy.",[57,544,545],{},"Anger is its own punishment. An angry person trying to push your head below water is drowning at the same time.",[57,547,548],{},"Health, love, and your mission, in that order. Nothing else matters.",[46,550],{},[49,552,554],{"id":553},"more-book-summaries","More book summaries",[54,556,557,564,571,578,585],{},[57,558,559],{},[15,560,563],{"href":561,"rel":562},"https:\u002F\u002Fwww.mohitkhare.com\u002Fblog\u002Fnotes-refactoring-ui\u002F",[19],"Refactoring UI",[57,565,566],{},[15,567,570],{"href":568,"rel":569},"https:\u002F\u002Fwww.mohitkhare.com\u002Fblog\u002Fnotes-rework\u002F",[19],"Rework",[57,572,573],{},[15,574,577],{"href":575,"rel":576},"https:\u002F\u002Fwww.mohitkhare.com\u002Fblog\u002Fnotes-obviously-awesome\u002F",[19],"Obviously Awesome",[57,579,580],{},[15,581,584],{"href":582,"rel":583},"https:\u002F\u002Fwww.mohitkhare.com\u002Fblog\u002Fnotes-hell-yeah-or-no\u002F",[19],"Hell Yeah or No",[57,586,587],{},[15,588,591],{"href":589,"rel":590},"https:\u002F\u002Fwww.mohitkhare.com\u002Fblog\u002Fnotes-getting-real\u002F",[19],"Getting Real",[11,593,594],{},"I hope you learned something new. Feel free to suggest improvements ✔️",[11,596,597,598,603],{},"I share regular updates and resources on ",[15,599,602],{"href":600,"rel":601},"https:\u002F\u002Ftwitter.com\u002Fmkfeuhrer",[19],"Twitter",". Let's connect!",[11,605,606],{},[607,608,609],"strong",{},"Keep exploring 🔎 Keep learning 🚀",{"title":611,"searchDepth":612,"depth":612,"links":613},"",2,[614,615,616,617,618],{"id":51,"depth":612,"text":52},{"id":94,"depth":612,"text":95},{"id":387,"depth":612,"text":388},{"id":458,"depth":612,"text":459},{"id":553,"depth":612,"text":554},[620,621],"Books","Life","My notes\u002Fhighlights from Almanack of Naval Ravikant book by Eric Jorgenson",false,"md","blog\u002Fnotes-almanack-naval\u002Fnotes-almanack-naval-card.webp","book summary, almanack naval, naval book, almanack of naval ravikant notes",{},"notes-almanack-naval",true,"\u002Fblog\u002Fnotes-almanack-naval",{"title":5,"description":622},"blog\u002Fnotes-almanack-naval","2020-10-17","lnAJfrrpJbY4_ktKFD3AtmXg_fl7uHeKEagFN45eqlE",[636,644,651,657,666,673,680,687,693,699,705,711,717,728,735,742,750,758,764,771,777,783,789,795,801,807,813,819,826,833,839,845,851,857,863,869,875,881,887,893,899,905,911,918,924,926,932,939,945,951,958,965,971,978,984,991,997,1004,1010,1016,1022,1028,1034,1040,1046,1052,1058,1064,1070,1076,1083,1089,1096,1102,1108,1114,1121,1127],{"path":637,"title":638,"description":639,"categories":640,"draft":629,"year":643,"series":6},"\u002Fblog\u002Fai-assisted-workstation","Building an AI-Assisted Personal Workstation","How I built a personal AI workstation: markdown knowledge base, portable agent skills, handoff-driven sessions. What worked, what broke, what I would change.",[641,642],"Productivity","Programming","2026-08-26",{"path":645,"title":646,"description":647,"categories":648,"draft":623,"year":650,"series":6},"\u002Fblog\u002Faws-s3-golang","Uploading images to AWS S3 in Golang","In this tutorial I cover how to upload, fetch and manage other operations for objects on AWS S3 in Golang",[649,642],"Golang","2020-01-12",{"path":652,"title":653,"description":654,"categories":655,"draft":623,"year":656,"series":6},"\u002Fblog\u002Fbooks-for-engineers","Best Books for Software Engineers","Best Books to help you build you software engineering career - ranging from fundamentats, interview prep to productivity.",[620,621],"2021-12-26",{"path":658,"title":659,"description":660,"categories":661,"draft":623,"year":665,"series":6},"\u002Fblog\u002Fbuilding-acrons","Building Acrons 🚀","Building Acrons, a one-stop tool to decode everyday acronyms like DIY, FOMO, and BRB without losing your flow.",[662,663,664],"Side Projects","Web","Tools","2020-05-26",{"path":667,"title":668,"description":669,"categories":670,"draft":623,"year":672,"series":6},"\u002Fblog\u002Fcap-theorem","CAP Theorem Explained","Learn the concept and misconceptions around popular CAP theorem in system design.",[671,642],"System Design","2021-07-26",{"path":674,"title":675,"description":676,"categories":677,"draft":623,"year":679,"series":6},"\u002Fblog\u002Fcode-reviews","Code Review Checklist","Why code reviews matter, and best practices that catch bugs early and keep code quality high before merge.",[678],"Engineering Principles","2020-07-20",{"path":681,"title":682,"description":683,"categories":684,"draft":623,"year":686,"series":6},"\u002Fblog\u002Fdark-mode","Add Dark mode to websites","Dark mode is ❤️️ Add it to your websites with little CSS and JS",[685,663],"Javascript","2020-07-04",{"path":688,"title":689,"description":690,"categories":691,"draft":623,"year":692,"series":6},"\u002Fblog\u002Fdate-time-golang","Working with Date and Time in Go","Learn how to use time in Golang - Multiple formats, locations and using date.",[649,642],"2020-10-09",{"path":694,"title":695,"description":696,"categories":697,"draft":623,"year":698,"series":6},"\u002Fblog\u002Fdefer-in-golang","Understanding Defer In Golang","Learn about defer keyword in golang and how it can help you avoid panics due to bugs.",[649,642],"2021-05-05",{"path":700,"title":701,"description":702,"categories":703,"draft":623,"year":704,"series":6},"\u002Fblog\u002Fenums-golang","Implementing Enums in Golang","Enums are a way to defined set of constant values. Learn how to implement enums in Go using iota with examples.",[649,642],"2021-12-18",{"path":706,"title":707,"description":708,"categories":709,"draft":623,"year":710,"series":6},"\u002Fblog\u002Fenvironment-variable-golang","Guide to Environment variables in Go","Learn what are environment variables and how to use them in Go",[649,642],"2020-08-14",{"path":712,"title":713,"description":714,"categories":715,"draft":623,"year":716,"series":6},"\u002Fblog\u002Ferror-handling-golang","Handle errors the right way — Golang","How to handle errors in golang to make your life easy",[649,642],"2020-01-30",{"path":718,"title":719,"description":720,"categories":721,"draft":629,"year":724,"series":725},"\u002Fblog\u002Ffile-attack-document-macros","File Attack Deep Dives, Part 3: Document Macros","How malicious VBA hides in vbaProject.bin, which AutoOpen entry points fire it, and the sandbox signals that catch it.",[722,723],"Security","Systems","2026-09-17",{"name":726,"part":727},"File Attack Deep Dives",3,{"path":729,"title":730,"description":731,"categories":732,"draft":623,"year":643,"series":733},"\u002Fblog\u002Ffile-attack-field-guide","How File-Based Attacks Land: A Detection Engineer's Field Guide","A practical taxonomy of how malware and phishing arrive as files, why classic controls miss them, and how detection should think.",[722,723],{"name":726,"part":734},1,{"path":736,"title":737,"description":738,"categories":739,"draft":629,"year":740,"series":741},"\u002Fblog\u002Ffile-attack-html-smuggling","File Attack Deep Dives, Part 2: HTML Smuggling","How attackers assemble malware inside the browser with Blob URLs, and the URL and script tells that catch it.",[722,723],"2026-09-10",{"name":726,"part":612},{"path":743,"title":744,"description":745,"categories":746,"draft":629,"year":747,"series":748},"\u002Fblog\u002Ffile-attack-lnk-iso","File Attack Deep Dives, Part 5: LNK and ISO Smuggling","How ISO containers and weaponized shortcuts bypass Mark of the Web, and the forensic fields that catch them.",[722,723],"2026-10-01",{"name":726,"part":749},5,{"path":751,"title":752,"description":753,"categories":754,"draft":629,"year":755,"series":756},"\u002Fblog\u002Ffile-attack-pdf-url-actions","File Attack Deep Dives, Part 4: PDF URL Actions","How PDF OpenAction, Launch, and URI actions turn opening a document into a phishing click, and the action audit that catches them.",[722,723],"2026-09-24",{"name":726,"part":757},4,{"path":759,"title":760,"description":761,"categories":762,"draft":623,"year":763,"series":6},"\u002Fblog\u002Ffile-upload-golang","Uploading Files in Golang with Multipart Request","Learn how to upload files from your client to server as a multipart request in Golang.",[649,642],"2021-03-13",{"path":765,"title":766,"description":767,"categories":768,"draft":623,"year":770,"series":6},"\u002Fblog\u002Fgit-branch","Git Branch 101","Branching is a new path of development that makes it a lot easier to build features. Learn why and how to use branching in git.",[769,642],"Git","2022-03-20",{"path":772,"title":773,"description":774,"categories":775,"draft":623,"year":776,"series":6},"\u002Fblog\u002Fgit-pull-request-template","Guide to Pull Request Templates","Improve collaboration and code reviews with pull request templates. Blog include PR template and how to create one on github\u002Fgitlab",[769,642],"2023-08-24",{"path":778,"title":779,"description":780,"categories":781,"draft":623,"year":782,"series":6},"\u002Fblog\u002Fgit-remove-sensitive-info","Securing Git: Remove Sensitive Information","Protect your code from security breaches by using BFG tool to remove sensitive information from Git history. Learn how to do it in this comprehensive guide.",[769,642],"2023-10-16",{"path":784,"title":785,"description":786,"categories":787,"draft":623,"year":788,"series":6},"\u002Fblog\u002Fgit-tags-explained","Git tags : Explained","What Git tags are, why and when to use them, and how to start tagging releases in your own projects.",[769,642],"2020-06-18",{"path":790,"title":791,"description":792,"categories":793,"draft":623,"year":794,"series":6},"\u002Fblog\u002Fgo-dependency-injection","Dependency Injection in Go using Wire","Learn about dependency injection, its benefits and how to implement it in Go services using wire",[649,642],"2022-11-26",{"path":796,"title":797,"description":798,"categories":799,"draft":623,"year":800,"series":6},"\u002Fblog\u002Fgo-generics","Introduction to Generics in Go","Learn about generics in Golang, it's benefits and how to implement it in applications.",[649,642],"2022-11-27",{"path":802,"title":803,"description":804,"categories":805,"draft":623,"year":806,"series":6},"\u002Fblog\u002Fgo-in-memory-cache","Building In-Memory Cache in Go","Learn about in-memory caching in Golang, it's benefits and how to implement it with and without generics with a TTL(expiry).",[649,642],"2024-03-28",{"path":808,"title":809,"description":810,"categories":811,"draft":623,"year":812,"series":6},"\u002Fblog\u002Fgo-makefile","Ultimate Makefile for Golang","Boost your productivity and save time with ultimate Makefile for Golang projects.",[649,642],"2024-06-10",{"path":814,"title":815,"description":816,"categories":817,"draft":623,"year":818,"series":6},"\u002Fblog\u002Fgo-middleware","Mastering Middlewares in Golang","Learn about middlewares, their use cases and how to implement them in Golang applications",[649,642],"2022-03-13",{"path":820,"title":821,"description":822,"categories":823,"draft":623,"year":825,"series":6},"\u002Fblog\u002Fgo-naming-conventions","Naming Conventions in Golang","Why naming conventions matter in Go, with best practices and practical examples for clear, readable, maintainable code.",[649,642,824],"Code Quality","2023-05-19",{"path":827,"title":828,"description":829,"categories":830,"draft":623,"year":832,"series":6},"\u002Fblog\u002Fgo-with-redis","Go with Redis","A practical introduction to using Redis with Golang to make your applications faster with in-memory data storage.",[649,831,642],"Database","2020-05-03",{"path":834,"title":835,"description":836,"categories":837,"draft":623,"year":838,"series":6},"\u002Fblog\u002Fgolang-maps","Learn Maps in Golang (with examples)","A complete guide to maps in Golang: creating maps, adding and removing items, iterating, and how map equality works.",[649,642],"2020-09-10",{"path":840,"title":841,"description":842,"categories":843,"draft":623,"year":844,"series":6},"\u002Fblog\u002Fguide-to-cdn","Guide to Content Delivery Network","CDN is one of the backbone of modern world internet infrastructure. Learn about Content Delivery Network, it's working, types and benefits.",[671,642],"2022-01-23",{"path":846,"title":847,"description":848,"categories":849,"draft":623,"year":850,"series":6},"\u002Fblog\u002Fguide-to-rule-engines","Guide to Rule Engines","Rule Engines help in solving changing business requirements with ease. Learn all about Rule engines, it's working, benefits and how to implement one in Golang",[649,642],"2022-09-12",{"path":852,"title":853,"description":854,"categories":855,"draft":623,"year":856,"series":6},"\u002Fblog\u002Fhexagonal-architecture","Guide to Hexagonal Architecture","Learn how to design efficient application with hexagonal architecture with practical example",[671,642],"2020-12-13",{"path":858,"title":859,"description":860,"categories":861,"draft":623,"year":862,"series":6},"\u002Fblog\u002Fhttp-status-codes","Learn HTTP Status Codes","A tour of HTTP response status codes, what each class means, and when to use which code in your applications.",[663,642],"2020-07-30",{"path":864,"title":865,"description":866,"categories":867,"draft":623,"year":868,"series":6},"\u002Fblog\u002Fintroduction-to-goroutines","Introduction to Goroutines","Understand the basics of concurrency and learn how to work with Goroutines in golang.",[649,642],"2021-04-10",{"path":870,"title":871,"description":872,"categories":873,"draft":623,"year":874,"series":6},"\u002Fblog\u002Fjson-in-postgres-with-golang","Storing JSON in Postgres with Golang","Learn how to store JSON objects in Postgres and how to implement it in Golang.",[642,831,649],"2021-02-13",{"path":876,"title":877,"description":878,"categories":879,"draft":623,"year":880,"series":6},"\u002Fblog\u002Fjson-web-token","Complete Guide to JWT","JSON Web Tokens are a very compact way to carry information. Learn about JWTs in depth, from its structure to when to use it.",[642,663],"2021-11-20",{"path":882,"title":883,"description":884,"categories":885,"draft":623,"year":886,"series":6},"\u002Fblog\u002Flearn-to-say-no","Learning to say No","Learn why it's important to say 'NO'. How it helps in increasing productivity and explore strategies for saying No",[621,620],"2022-04-09",{"path":888,"title":889,"description":890,"categories":891,"draft":623,"year":892,"series":6},"\u002Fblog\u002Flearn-unlearn-relearn","Learn - Unlearn - Relearn","Unlearning things to learn new is the way to grow. Discover how to do that!",[641,621],"2020-09-25",{"path":894,"title":895,"description":896,"categories":897,"draft":623,"year":898,"series":6},"\u002Fblog\u002Flinting-in-golang","Introduction to Linting in Go","Introduction to improving code quality using linting. Learn how to add linting in your Go projects.",[649,642],"2021-07-07",{"path":900,"title":901,"description":902,"categories":903,"draft":623,"year":904,"series":6},"\u002Fblog\u002Fload-balancing","Load Balancing 101","Complete guide on load balancers explaining the internal working and how does it help in making applications efficient.",[671,642],"2021-05-29",{"path":906,"title":907,"description":908,"categories":909,"draft":623,"year":910,"series":6},"\u002Fblog\u002Fmaking-decisions-the-right-way","Making Decisions: The right way","Decisions are hard! Learn how to make the right decisions always",[641,621],"2020-06-07",{"path":912,"title":913,"description":914,"categories":915,"draft":623,"year":917,"series":6},"\u002Fblog\u002Fmanage-logs-with-logrotate","Using Logrotate to manage logs","Learn how to use logrotate system utility to manage logs with example",[916,642],"Linux","2020-09-08",{"path":919,"title":920,"description":921,"categories":922,"draft":623,"year":923,"series":6},"\u002Fblog\u002Fmarshal-structs-golang","Marshal structs the right way: Golang","Why Golang marshals empty structs into your JSON instead of null, and how to marshal structs the right way.",[649,642],"2020-03-31",{"path":630,"title":5,"description":622,"categories":925,"draft":623,"year":633,"series":6},[620,621],{"path":927,"title":928,"description":929,"categories":930,"draft":623,"year":931,"series":6},"\u002Fblog\u002Fnotes-anything-you-want","Book Notes : Anything you want","My notes\u002Fhighlights from Anything you want book by Derek Sivers",[620,621],"2021-09-25",{"path":933,"title":934,"description":935,"categories":936,"draft":623,"year":938,"series":6},"\u002Fblog\u002Fnotes-getting-real","Book Notes : Getting Real","My notes and highlights from Getting Real by Jason Fried and David Heinemeier Hansson on building web applications.",[620,937],"Startups","2020-11-03",{"path":940,"title":941,"description":942,"categories":943,"draft":623,"year":944,"series":6},"\u002Fblog\u002Fnotes-hell-yeah-or-no","Book Notes : Hell Yeah or No","My notes\u002Fhighlights from Hell Yeah or No book by Derek Sivers",[620,621],"2020-09-16",{"path":946,"title":947,"description":948,"categories":949,"draft":623,"year":950,"series":6},"\u002Fblog\u002Fnotes-how-to-be-a-capitalist","Book Notes : How to Be a Capitalist Without Any Capital","My notes\u002Fhighlights from How to Be a Capitalist Without Any Capital by Nathan Latka",[620,937],"2020-01-07",{"path":952,"title":953,"description":954,"categories":955,"draft":623,"year":957,"series":6},"\u002Fblog\u002Fnotes-lean-b2b","Book Notes : Lean B2B","My notes and highlights from Lean B2B by Étienne Garbugli on assessing markets, building MVPs, and selling to businesses.",[620,956],"Entrepreneurship","2022-07-02",{"path":959,"title":960,"description":961,"categories":962,"draft":623,"year":964,"series":6},"\u002Fblog\u002Fnotes-lets-talk-money","Book Notes : Let's Talk Money","My notes and highlights from Let's Talk Money by Monica Halan on managing personal finances and savings.",[620,963],"Personal Finance","2021-02-26",{"path":966,"title":967,"description":968,"categories":969,"draft":623,"year":970,"series":6},"\u002Fblog\u002Fnotes-obviously-awesome","Book Notes : Obviously Awesome","My notes and highlights from Obviously Awesome by April Dunford on product positioning and marketing strategy.",[620,937],"2020-04-26",{"path":972,"title":973,"description":974,"categories":975,"draft":623,"year":977,"series":6},"\u002Fblog\u002Fnotes-refactoring-ui","Book Notes: Refactoring UI","My notes and highlights from Refactoring UI by Adam Wathan and Steve Schoger, full of practical design tips for engineers.",[620,976],"Design","2020-05-09",{"path":979,"title":980,"description":981,"categories":982,"draft":623,"year":983,"series":6},"\u002Fblog\u002Fnotes-rework","Book Notes: Rework","My notes and highlights from Rework by Jason Fried and David Heinemeier Hansson on a better way to succeed in business.",[620,937],"2021-04-14",{"path":985,"title":986,"description":987,"categories":988,"draft":623,"year":990,"series":6},"\u002Fblog\u002Fone-on-one-meetings","Guide to Effective 1:1 Meetings","One on One meetings are important for your personal & professional growth. Learn how to master 1:1s with your manager and peers.",[989,641],"Career","2023-03-05",{"path":992,"title":993,"description":994,"categories":995,"draft":623,"year":996,"series":6},"\u002Fblog\u002Fpersonal-okrs","Personal OKRs for Success","Why one should set personal OKRs and how to achieve success with them",[641,621],"2020-06-27",{"path":998,"title":999,"description":1000,"categories":1001,"draft":623,"year":1003,"series":6},"\u002Fblog\u002Fpoker-tips","Poker Tips: Johns Hopkins Poker Class","Notes from Johns Hopkins poker course. This guide will help you improve in Poker and win some large pots.",[621,1002],"Poker","2020-06-13",{"path":1005,"title":1006,"description":1007,"categories":1008,"draft":623,"year":1009,"series":6},"\u002Fblog\u002Fpomodoro","Get work done: The Pomo Way","Learn to focus and get productive by following the Pomodoro Technique",[641],"2020-10-24",{"path":1011,"title":1012,"description":1013,"categories":1014,"draft":623,"year":1015,"series":6},"\u002Fblog\u002Fpostgres-constraints","Postgres Constraints","Constraints are line of defense for database. Explore various types of constrainsts in postgres",[831,642],"2020-11-07",{"path":1017,"title":1018,"description":1019,"categories":1020,"draft":623,"year":1021,"series":6},"\u002Fblog\u002Fppf-explained","PPF Explained","Learn basics about Public Provident Fund and why you should invest",[621,963],"2020-12-24",{"path":1023,"title":1024,"description":1025,"categories":1026,"draft":623,"year":1027,"series":6},"\u002Fblog\u002Fproductivity-chrome-extensions","Boost Productivity with Chrome Extensions","Utitizing chrome extensions to boost your productivity!",[641,664,663],"2020-04-24",{"path":1029,"title":1030,"description":1031,"categories":1032,"draft":623,"year":1033,"series":6},"\u002Fblog\u002Fproductivity-in-vscode","Improve your productivity with VS Code","Key VS Code features like the integrated terminal, shortcuts, and extensions that improved my everyday productivity.",[641,642],"2020-03-12",{"path":1035,"title":1036,"description":1037,"categories":1038,"draft":623,"year":1039,"series":6},"\u002Fblog\u002Freading-101","Improving Reading 101","Why reading matters, how to build a reading habit, and what to read next - from my own journey into books.",[620,621],"2020-04-04",{"path":1041,"title":1042,"description":1043,"categories":1044,"draft":623,"year":1045,"series":6},"\u002Fblog\u002Freverse-proxy","Understanding Reverse Proxy","Learn about reverse proxy, how it is different from forward proxy and explore advantages of using it in system design.",[671,642],"2021-10-03",{"path":1047,"title":1048,"description":1049,"categories":1050,"draft":623,"year":1051,"series":6},"\u002Fblog\u002Frunning-periodic-background-task-golang","Running periodic background tasks in Golang","How to run periodic background tasks in Golang by combining cron-style scheduling with background execution.",[649,642],"2019-11-21",{"path":1053,"title":1054,"description":1055,"categories":1056,"draft":623,"year":1057,"series":6},"\u002Fblog\u002Fsessions-in-golang","Sessions using Golang and Redis","How cookies and sessions work, and how to implement persistent login sessions in Golang using Redis.",[649,831,642],"2020-02-25",{"path":1059,"title":1060,"description":1061,"categories":1062,"draft":623,"year":1063,"series":6},"\u002Fblog\u002Fsolid-dry-kiss-yagni","Solid Dry Kiss Yagni","An introduction to the SOLID, DRY, KISS, and YAGNI principles and how they help you write cleaner, robust code.",[678],"2020-07-17",{"path":1065,"title":1066,"description":1067,"categories":1068,"draft":623,"year":1069,"series":6},"\u002Fblog\u002Fstack-in-golang","Implement Stack in Golang","Learn how to implement stack data structure in Golang (Full code)",[649,642],"2020-09-14",{"path":1071,"title":1072,"description":1073,"categories":1074,"draft":623,"year":1075,"series":6},"\u002Fblog\u002Fstart-oss-today","Start your Open Source journey today","Start your OSS journey with intro to GIT. Participate in Hacktoberfest!",[769,642],"2020-09-19",{"path":1077,"title":1078,"description":1079,"categories":1080,"draft":623,"year":1082,"series":6},"\u002Fblog\u002Fsticky-social-bar","Sticky social share component in HTML","Learn how to build a social media sharing component in HTML and add it to your website.",[642,1081],"Frontend","2021-02-05",{"path":1084,"title":1085,"description":1086,"categories":1087,"draft":623,"year":1088,"series":6},"\u002Fblog\u002Fterm-insurance","Term insurance Simplified","Everything you need to know before you buy a term insurance.",[621,963],"2020-11-29",{"path":1090,"title":1091,"description":1092,"categories":1093,"draft":623,"year":1095,"series":6},"\u002Fblog\u002Fterminal-output-with-redirection","Handling terminal outputs with Redirection","Learn how to handle terminal outputs with Redirection and saving it to files",[916,1094,642],"Terminal","2020-09-06",{"path":1097,"title":1098,"description":1099,"categories":1100,"draft":623,"year":1101,"series":6},"\u002Fblog\u002Fthink-and-grow-rich","Book Notes: Think and Grow Rich","My notes and highlights from Think and Grow Rich by Napoleon Hill, covering its process for building wealth.",[620,621],"2020-05-19",{"path":1103,"title":1104,"description":1105,"categories":1106,"draft":623,"year":1107,"series":6},"\u002Fblog\u002Ftransactions-postgres-golang","Transactions on Postgres with Golang","Performing Postgres database operations in Golang with GORM, from basic queries to full transaction support.",[649,831,642],"2020-03-18",{"path":1109,"title":1110,"description":1111,"categories":1112,"draft":623,"year":1113,"series":6},"\u002Fblog\u002Fwaitgroups-in-golang","WaitGroups in Golang","Learn about WaitGroups in golang and how to use them to perform concurrent operations without blocking the main thread.",[649,642],"2022-05-31",{"path":1115,"title":1116,"description":1117,"categories":1118,"draft":623,"year":1120,"series":6},"\u002Fblog\u002Fwhat-i-use","What I Use: Products and Softwares","List of what I use in my day to day life ranging from terminal, editors, softwares, devices to accessories",[621,1119],"Tech","2024-06-01",{"path":1122,"title":1123,"description":1124,"categories":1125,"draft":623,"year":1126,"series":6},"\u002Fblog\u002Fyear-in-review-2020","Year in Review: 2020","It's a wrap! 2020 was a crazy year, See how my year went!",[621],"2020-12-31",{"path":1128,"title":1129,"description":1130,"categories":1131,"draft":623,"year":1132,"series":6},"\u002Fblog\u002Fyear-in-review-2021","Year in Review: 2021","It's a wrap! 2021 was a mixed bag, full of ups and downs. Key Goal for 2022: Start now!",[621],"2021-12-31",1788773187860]