[{"data":1,"prerenderedAt":1119},["ShallowReactive",2],{"blog-poker-tips":3,"blog-all-for-related":622},{"id":4,"title":5,"author":6,"body":7,"cardAlt":5,"categories":606,"description":609,"draft":610,"extension":611,"headerImage":612,"keywords":613,"meta":614,"name":615,"navigation":616,"path":617,"seo":618,"series":6,"stem":619,"updated":6,"year":620,"__hash__":621},"blog\u002Fblog\u002Fpoker-tips.md","Poker Tips: Johns Hopkins Poker Class",null,{"type":8,"value":9,"toc":591},"minimark",[10,27,32,118,121,125,168,170,174,367,369,373,378,389,393,413,419,421,425,503,505,509,538,540,544,574,577,586],[11,12,13,14,21,22,26],"p",{},"Few months back I took ",[15,16,20],"a",{"href":17,"rel":18},"https:\u002F\u002Fhopkinspokercourse.com\u002F",[19],"nofollow","Johns Hopkins Poker Course"," to learn some core concepts and build some skills to get better at winning games. Poker is incredibly addictive and a smart game. It is a mixed bag of ",[23,24,25],"strong",{},"calculations, luck and human psychology",". The course focuses on core concepts in Texas Hold`em, with an emphasis on cash games. Sharing some of my notes from this class, I hope this helps you win some of those large pots :)",[28,29,31],"h2",{"id":30},"introduction","Introduction",[33,34,35,65,68,71,74,77,80,83,86,89,92,95],"ul",{},[36,37,38,39],"li",{},"Figure out what other people are.\n",[33,40,41,47,53,59],{},[36,42,43,46],{},[23,44,45],{},"Whale"," - Lots of money",[36,48,49,52],{},[23,50,51],{},"Shark"," - Be cautious of these",[36,54,55,58],{},[23,56,57],{},"Fish"," - Keep calling",[36,60,61,64],{},[23,62,63],{},"Donkey"," - Well idiots",[36,66,67],{},"Find an edge. If players are good, just walk away. Find donkeys or whale or both!",[36,69,70],{},"Check what's best possible hand? 2nd best?",[36,72,73],{},"Double belly buster ( disguised) . Eg. 6-7 and cards on board are 3, 5 , 9 (both 4 and 8 will give your straight)",[36,75,76],{},"Idiot end (lower end of straight)",[36,78,79],{},"You can't have straight without 5 or 10.",[36,81,82],{},"You are going to get a pair 1\u002F17 times.",[36,84,85],{},"Its rare you get beaten when you have full house unless there is 3 of kind on board. If a pair on board then its very strong.",[36,87,88],{},"In chess, best player wins almost always. In poker, best player win more often.",[36,90,91],{},"Poker is about skill and getting your edges.",[36,93,94],{},"Cash games - 1:1 mapping",[36,96,97,98],{},"Flop is a major hand\n",[33,99,100,103,106,109,112,115],{},[36,101,102],{},"how many players remain",[36,104,105],{},"who raised?",[36,107,108],{},"pot size and remaining stacks",[36,110,111],{},"How is connection between pre-flop and flop. Keep the pre flop action in mind",[36,113,114],{},"If board is dry, you can check as well",[36,116,117],{},"Opponent type",[119,120],"hr",{},[28,122,124],{"id":123},"fundamentals","Fundamentals",[33,126,127,138,143,150,153,156,159,162,165],{},[36,128,129,130],{},"Expected Value: win_win % - lose_lose%**\n",[33,131,132,135],{},[36,133,134],{},"if \u003C 0 then run from table.",[36,136,137],{},"else enjoy",[36,139,140],{},[23,141,142],{},"Pot odd - total in pot\u002F bet",[36,144,145,146,149],{},"Whenever ",[23,147,148],{},"odds against hitting > pot odd"," -> don't call else call",[36,151,152],{},"Find the right amount to overturn the ratio in previous point.",[36,154,155],{},"if you have more than 14 outs, its definetely a good bet.",[36,157,158],{},"Implied odds (Current + Future bets)",[36,160,161],{},"Play with deep stacks.",[36,163,164],{},"10% - 15% times don't play poker by rules ( like the principles, calculations - basically trick opponents, bluff them)",[36,166,167],{},"It's okay to fold. Don't worry about BB! You pay only 2\u002Forbit",[119,169],{},[28,171,173],{"id":172},"strategies-when-entering-a-pot","Strategies when entering a pot",[33,175,176,179,182,185,188,198,250,266,291,307,326,348],{},[36,177,178],{},"Person who makes first bet - opens a pot. When opening come up with around 3 BB raise. (But, look for what other are doing on table). In tournaments, reduce raise at end. Mix it, don't always do 3x. Don't get predictable.",[36,180,181],{},"Limping is not a good strategy",[36,183,184],{},"When betting after flop - bid half the pot.",[36,186,187],{},"When raising - 3x bet is good.",[36,189,190,193],{},[23,191,192],{},"Big pair",[33,194,195],{},[36,196,197],{},"try to raise and eliminate weak cards.",[36,199,200,203],{},[23,201,202],{},"Medium pairs",[33,204,205,219,227,235,238,241],{},[36,206,207,208],{},"Opening position\n",[33,209,210,213,216],{},[36,211,212],{},"Open with 3x raise",[36,214,215],{},"50% time call or fold.",[36,217,218],{},"If 4x bet then fold",[36,220,221,222],{},"Medium\n",[33,223,224],{},[36,225,226],{},"80% time raise",[36,228,229,230],{},"Late\n",[33,231,232],{},[36,233,234],{},"Always call 1 raise",[36,236,237],{},"When multiple player in hand, then see if you can make a set (risk but high earnings possible)",[36,239,240],{},"If Re-raised -> fold",[36,242,243,244,249],{},"JJ is a bad hand to have ",[15,245,248],{"href":246,"rel":247},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7ikCeHqJsb4&ab_channel=MultiPocketRockets",[19],"rather unlucky"," (unless you get jack in flop)",[36,251,252,255],{},[23,253,254],{},"Small pairs",[33,256,257,260,263],{},[36,258,259],{},"Don't play in shallow stacks",[36,261,262],{},"Play 1 raise when with weak players.",[36,264,265],{},"You might miss set\u002Fquads but its ok. You played poker right way. (Again judgement based on opponents)",[36,267,268,271],{},[23,269,270],{},"Big Slick - AK",[33,272,273,276,279,282,285,288],{},[36,274,275],{},"Short stack - nice hand, Deep stack - drawing hand.",[36,277,278],{},"Dominates other hands. If both miss, dominating one wins.",[36,280,281],{},"Don't scare other people with 3x-4x raise",[36,283,284],{},"Against a pair, \u003C 50% wins",[36,286,287],{},"Danger - AA, KK",[36,289,290],{},"Avoid big pots always with AK (If you are short stacked, go all-in)",[36,292,293,296],{},[23,294,295],{},"Little Slick - AQ",[33,297,298,301,304],{},[36,299,300],{},"Serious action -> fold",[36,302,303],{},"generally a good hand - normally play it.",[36,305,306],{},"AK >> AQ",[36,308,309,312],{},[23,310,311],{},"A2 - AJ",[33,313,314,317,320,323],{},[36,315,316],{},"Weak ace. AK AQ are largely dominating",[36,318,319],{},"Fold pre flop most times. (>90%)",[36,321,322],{},"Suited ace are still good to bet.",[36,324,325],{},"At low stakes table you can play this often.",[36,327,328,331],{},[23,329,330],{},"Trouble hands",[33,332,333,336,339,342,345],{},[36,334,335],{},"KQ, QJ, KJ, KT, QT",[36,337,338],{},"dominated by AK -> AT",[36,340,341],{},"Avoid raises with such hands",[36,343,344],{},"Early pos - KQ can be played",[36,346,347],{},"If someone 3x bet - just fold",[36,349,350,353],{},[23,351,352],{},"Suited Connectors",[33,354,355,358,361,364],{},[36,356,357],{},"8-9 , 5-6 same set",[36,359,360],{},"Good in deep stash",[36,362,363],{},"Early pos - fold most times, Middle - raise often, Late - raise",[36,365,366],{},"One raiser, lot of callers.",[119,368],{},[28,370,372],{"id":371},"starting-hand-selection","Starting hand selection",[374,375,377],"h3",{"id":376},"opening-type","Opening type",[33,379,380,383,386],{},[36,381,382],{},"Limp",[36,384,385],{},"Raise",[36,387,388],{},"3,4 bet",[374,390,392],{"id":391},"selection-criteria","Selection criteria",[33,394,395,398,401,404,407,410],{},[36,396,397],{},"Position",[36,399,400],{},"Stack size",[36,402,403],{},"Opened\u002F unopen pot",[36,405,406],{},"Strength of cards - premium, solid",[36,408,409],{},"Opponents - Aggresive, passive",[36,411,412],{},"What is your table image",[11,414,415,418],{},[23,416,417],{},"Pro tip:"," Nobody cares what you folded",[119,420],{},[28,422,424],{"id":423},"bet-types","Bet Types",[33,426,427,430,433,436,447,458,472,475,489],{},[36,428,429],{},"Value Bet",[36,431,432],{},"Semi-bluff",[36,434,435],{},"Bluff",[36,437,438,439],{},"Probe bet\n",[33,440,441,444],{},[36,442,443],{},"When you don't know where you stand",[36,445,446],{},"Goal is to gain information",[36,448,449,450],{},"Continuation bet\n",[33,451,452,455],{},[36,453,454],{},"if you bet pre-flop, no matter what the flop is , put a C-bet. (70% times)",[36,456,457],{},"if multiple oppponents then avoid this.",[36,459,460,461],{},"Donk Bet\n",[33,462,463,466,469],{},[36,464,465],{},"out of position , opponent raised pre flop and raised, you bet.",[36,467,468],{},"If you have a strong hand, do a check",[36,470,471],{},"Weak hand - exit",[36,473,474],{},"Blind bet",[36,476,477,478],{},"Check\n",[33,479,480,483,486],{},[36,481,482],{},"small value hand, you have some chances",[36,484,485],{},"pot is small",[36,487,488],{},"Trapping - you got full house, but you check to lure more plays. Do this, when you are super strong",[36,490,491,492],{},"Check - Raise\n",[33,493,494,497,500],{},[36,495,496],{},"First check with intention that someone will raise",[36,498,499],{},"Then you raise",[36,501,502],{},"Do keep in mind the strength of cards you have",[119,504],{},[28,506,508],{"id":507},"leveling","Leveling",[33,510,511,519,527,535],{},[36,512,513,514],{},"Level Zero\n",[33,515,516],{},[36,517,518],{},"Make decisions based on your own cards",[36,520,521,522],{},"Level One\n",[33,523,524],{},[36,525,526],{},"Own + Opponents card",[36,528,529,530],{},"Level two\n",[33,531,532],{},[36,533,534],{},"What others are thinking, table image, stack sizes etc",[36,536,537],{},"Try to figure at what level your opponents are at.",[119,539],{},[28,541,543],{"id":542},"resources","Resources",[33,545,546,553,560,567],{},[36,547,548],{},[15,549,552],{"href":550,"rel":551},"https:\u002F\u002Famzn.to\u002F2U4q42M",[19],"Book: Liar's Poker",[36,554,555],{},[15,556,559],{"href":557,"rel":558},"https:\u002F\u002Famzn.to\u002F2Sv49Bo",[19],"Book: The Biggest Bluff",[36,561,562],{},[15,563,566],{"href":564,"rel":565},"https:\u002F\u002Fwww.masterclass.com\u002Fclasses\u002Fphil-ivey-teaches-poker-strategy",[19],"Phil Ivey Masterclass",[36,568,569],{},[15,570,573],{"href":571,"rel":572},"https:\u002F\u002Fupswingpoker.com\u002Fbest-poker-strategy-articles-beginners-advanced\u002F",[19],"Collection of top articles to master Poker",[11,575,576],{},"I hope you learned something new. Feel free to suggest improvements ✔️",[11,578,579,580,585],{},"I share regular updates and resources on ",[15,581,584],{"href":582,"rel":583},"https:\u002F\u002Ftwitter.com\u002Fmkfeuhrer",[19],"Twitter",". Let's connect!",[11,587,588],{},[23,589,590],{},"Keep exploring 🔎 Keep learning 🚀",{"title":592,"searchDepth":593,"depth":593,"links":594},"",2,[595,596,597,598,603,604,605],{"id":30,"depth":593,"text":31},{"id":123,"depth":593,"text":124},{"id":172,"depth":593,"text":173},{"id":371,"depth":593,"text":372,"children":599},[600,602],{"id":376,"depth":601,"text":377},3,{"id":391,"depth":601,"text":392},{"id":423,"depth":593,"text":424},{"id":507,"depth":593,"text":508},{"id":542,"depth":593,"text":543},[607,608],"Life","Poker","Notes from Johns Hopkins poker course. This guide will help you improve in Poker and win some large pots.",false,"md","blog\u002Fpoker-tips\u002Fpoker-tips-card.webp","poker game, learn poker, poker tips, poker cards",{},"poker-tips",true,"\u002Fblog\u002Fpoker-tips",{"title":5,"description":609},"blog\u002Fpoker-tips","2020-06-13","9abgaomrAVdduDoBKd4OHV8G9nkV4LnWS5GaxK2Eun0",[623,631,638,645,654,661,668,675,681,687,693,699,705,715,722,729,737,745,751,758,764,770,776,782,788,794,800,806,813,820,826,832,838,844,850,856,862,868,874,880,886,892,898,905,911,917,923,930,936,942,949,956,962,969,975,982,988,990,996,1002,1008,1014,1020,1026,1032,1038,1044,1050,1056,1062,1069,1075,1082,1088,1094,1100,1107,1113],{"path":624,"title":625,"description":626,"categories":627,"draft":616,"year":630,"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.",[628,629],"Productivity","Programming","2026-08-26",{"path":632,"title":633,"description":634,"categories":635,"draft":610,"year":637,"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",[636,629],"Golang","2020-01-12",{"path":639,"title":640,"description":641,"categories":642,"draft":610,"year":644,"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.",[643,607],"Books","2021-12-26",{"path":646,"title":647,"description":648,"categories":649,"draft":610,"year":653,"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.",[650,651,652],"Side Projects","Web","Tools","2020-05-26",{"path":655,"title":656,"description":657,"categories":658,"draft":610,"year":660,"series":6},"\u002Fblog\u002Fcap-theorem","CAP Theorem Explained","Learn the concept and misconceptions around popular CAP theorem in system design.",[659,629],"System Design","2021-07-26",{"path":662,"title":663,"description":664,"categories":665,"draft":610,"year":667,"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.",[666],"Engineering Principles","2020-07-20",{"path":669,"title":670,"description":671,"categories":672,"draft":610,"year":674,"series":6},"\u002Fblog\u002Fdark-mode","Add Dark mode to websites","Dark mode is ❤️️ Add it to your websites with little CSS and JS",[673,651],"Javascript","2020-07-04",{"path":676,"title":677,"description":678,"categories":679,"draft":610,"year":680,"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.",[636,629],"2020-10-09",{"path":682,"title":683,"description":684,"categories":685,"draft":610,"year":686,"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.",[636,629],"2021-05-05",{"path":688,"title":689,"description":690,"categories":691,"draft":610,"year":692,"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.",[636,629],"2021-12-18",{"path":694,"title":695,"description":696,"categories":697,"draft":610,"year":698,"series":6},"\u002Fblog\u002Fenvironment-variable-golang","Guide to Environment variables in Go","Learn what are environment variables and how to use them in Go",[636,629],"2020-08-14",{"path":700,"title":701,"description":702,"categories":703,"draft":610,"year":704,"series":6},"\u002Fblog\u002Ferror-handling-golang","Handle errors the right way — Golang","How to handle errors in golang to make your life easy",[636,629],"2020-01-30",{"path":706,"title":707,"description":708,"categories":709,"draft":616,"year":712,"series":713},"\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.",[710,711],"Security","Systems","2026-09-17",{"name":714,"part":601},"File Attack Deep Dives",{"path":716,"title":717,"description":718,"categories":719,"draft":610,"year":630,"series":720},"\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.",[710,711],{"name":714,"part":721},1,{"path":723,"title":724,"description":725,"categories":726,"draft":616,"year":727,"series":728},"\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.",[710,711],"2026-09-10",{"name":714,"part":593},{"path":730,"title":731,"description":732,"categories":733,"draft":616,"year":734,"series":735},"\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.",[710,711],"2026-10-01",{"name":714,"part":736},5,{"path":738,"title":739,"description":740,"categories":741,"draft":616,"year":742,"series":743},"\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.",[710,711],"2026-09-24",{"name":714,"part":744},4,{"path":746,"title":747,"description":748,"categories":749,"draft":610,"year":750,"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.",[636,629],"2021-03-13",{"path":752,"title":753,"description":754,"categories":755,"draft":610,"year":757,"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.",[756,629],"Git","2022-03-20",{"path":759,"title":760,"description":761,"categories":762,"draft":610,"year":763,"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",[756,629],"2023-08-24",{"path":765,"title":766,"description":767,"categories":768,"draft":610,"year":769,"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.",[756,629],"2023-10-16",{"path":771,"title":772,"description":773,"categories":774,"draft":610,"year":775,"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.",[756,629],"2020-06-18",{"path":777,"title":778,"description":779,"categories":780,"draft":610,"year":781,"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",[636,629],"2022-11-26",{"path":783,"title":784,"description":785,"categories":786,"draft":610,"year":787,"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.",[636,629],"2022-11-27",{"path":789,"title":790,"description":791,"categories":792,"draft":610,"year":793,"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).",[636,629],"2024-03-28",{"path":795,"title":796,"description":797,"categories":798,"draft":610,"year":799,"series":6},"\u002Fblog\u002Fgo-makefile","Ultimate Makefile for Golang","Boost your productivity and save time with ultimate Makefile for Golang projects.",[636,629],"2024-06-10",{"path":801,"title":802,"description":803,"categories":804,"draft":610,"year":805,"series":6},"\u002Fblog\u002Fgo-middleware","Mastering Middlewares in Golang","Learn about middlewares, their use cases and how to implement them in Golang applications",[636,629],"2022-03-13",{"path":807,"title":808,"description":809,"categories":810,"draft":610,"year":812,"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.",[636,629,811],"Code Quality","2023-05-19",{"path":814,"title":815,"description":816,"categories":817,"draft":610,"year":819,"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.",[636,818,629],"Database","2020-05-03",{"path":821,"title":822,"description":823,"categories":824,"draft":610,"year":825,"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.",[636,629],"2020-09-10",{"path":827,"title":828,"description":829,"categories":830,"draft":610,"year":831,"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.",[659,629],"2022-01-23",{"path":833,"title":834,"description":835,"categories":836,"draft":610,"year":837,"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",[636,629],"2022-09-12",{"path":839,"title":840,"description":841,"categories":842,"draft":610,"year":843,"series":6},"\u002Fblog\u002Fhexagonal-architecture","Guide to Hexagonal Architecture","Learn how to design efficient application with hexagonal architecture with practical example",[659,629],"2020-12-13",{"path":845,"title":846,"description":847,"categories":848,"draft":610,"year":849,"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.",[651,629],"2020-07-30",{"path":851,"title":852,"description":853,"categories":854,"draft":610,"year":855,"series":6},"\u002Fblog\u002Fintroduction-to-goroutines","Introduction to Goroutines","Understand the basics of concurrency and learn how to work with Goroutines in golang.",[636,629],"2021-04-10",{"path":857,"title":858,"description":859,"categories":860,"draft":610,"year":861,"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.",[629,818,636],"2021-02-13",{"path":863,"title":864,"description":865,"categories":866,"draft":610,"year":867,"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.",[629,651],"2021-11-20",{"path":869,"title":870,"description":871,"categories":872,"draft":610,"year":873,"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",[607,643],"2022-04-09",{"path":875,"title":876,"description":877,"categories":878,"draft":610,"year":879,"series":6},"\u002Fblog\u002Flearn-unlearn-relearn","Learn - Unlearn - Relearn","Unlearning things to learn new is the way to grow. Discover how to do that!",[628,607],"2020-09-25",{"path":881,"title":882,"description":883,"categories":884,"draft":610,"year":885,"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.",[636,629],"2021-07-07",{"path":887,"title":888,"description":889,"categories":890,"draft":610,"year":891,"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.",[659,629],"2021-05-29",{"path":893,"title":894,"description":895,"categories":896,"draft":610,"year":897,"series":6},"\u002Fblog\u002Fmaking-decisions-the-right-way","Making Decisions: The right way","Decisions are hard! Learn how to make the right decisions always",[628,607],"2020-06-07",{"path":899,"title":900,"description":901,"categories":902,"draft":610,"year":904,"series":6},"\u002Fblog\u002Fmanage-logs-with-logrotate","Using Logrotate to manage logs","Learn how to use logrotate system utility to manage logs with example",[903,629],"Linux","2020-09-08",{"path":906,"title":907,"description":908,"categories":909,"draft":610,"year":910,"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.",[636,629],"2020-03-31",{"path":912,"title":913,"description":914,"categories":915,"draft":610,"year":916,"series":6},"\u002Fblog\u002Fnotes-almanack-naval","Book Notes : Almanack of Naval Ravikant","My notes\u002Fhighlights from Almanack of Naval Ravikant book by Eric Jorgenson",[643,607],"2020-10-17",{"path":918,"title":919,"description":920,"categories":921,"draft":610,"year":922,"series":6},"\u002Fblog\u002Fnotes-anything-you-want","Book Notes : Anything you want","My notes\u002Fhighlights from Anything you want book by Derek Sivers",[643,607],"2021-09-25",{"path":924,"title":925,"description":926,"categories":927,"draft":610,"year":929,"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.",[643,928],"Startups","2020-11-03",{"path":931,"title":932,"description":933,"categories":934,"draft":610,"year":935,"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",[643,607],"2020-09-16",{"path":937,"title":938,"description":939,"categories":940,"draft":610,"year":941,"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",[643,928],"2020-01-07",{"path":943,"title":944,"description":945,"categories":946,"draft":610,"year":948,"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.",[643,947],"Entrepreneurship","2022-07-02",{"path":950,"title":951,"description":952,"categories":953,"draft":610,"year":955,"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.",[643,954],"Personal Finance","2021-02-26",{"path":957,"title":958,"description":959,"categories":960,"draft":610,"year":961,"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.",[643,928],"2020-04-26",{"path":963,"title":964,"description":965,"categories":966,"draft":610,"year":968,"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.",[643,967],"Design","2020-05-09",{"path":970,"title":971,"description":972,"categories":973,"draft":610,"year":974,"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.",[643,928],"2021-04-14",{"path":976,"title":977,"description":978,"categories":979,"draft":610,"year":981,"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.",[980,628],"Career","2023-03-05",{"path":983,"title":984,"description":985,"categories":986,"draft":610,"year":987,"series":6},"\u002Fblog\u002Fpersonal-okrs","Personal OKRs for Success","Why one should set personal OKRs and how to achieve success with them",[628,607],"2020-06-27",{"path":617,"title":5,"description":609,"categories":989,"draft":610,"year":620,"series":6},[607,608],{"path":991,"title":992,"description":993,"categories":994,"draft":610,"year":995,"series":6},"\u002Fblog\u002Fpomodoro","Get work done: The Pomo Way","Learn to focus and get productive by following the Pomodoro Technique",[628],"2020-10-24",{"path":997,"title":998,"description":999,"categories":1000,"draft":610,"year":1001,"series":6},"\u002Fblog\u002Fpostgres-constraints","Postgres Constraints","Constraints are line of defense for database. Explore various types of constrainsts in postgres",[818,629],"2020-11-07",{"path":1003,"title":1004,"description":1005,"categories":1006,"draft":610,"year":1007,"series":6},"\u002Fblog\u002Fppf-explained","PPF Explained","Learn basics about Public Provident Fund and why you should invest",[607,954],"2020-12-24",{"path":1009,"title":1010,"description":1011,"categories":1012,"draft":610,"year":1013,"series":6},"\u002Fblog\u002Fproductivity-chrome-extensions","Boost Productivity with Chrome Extensions","Utitizing chrome extensions to boost your productivity!",[628,652,651],"2020-04-24",{"path":1015,"title":1016,"description":1017,"categories":1018,"draft":610,"year":1019,"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.",[628,629],"2020-03-12",{"path":1021,"title":1022,"description":1023,"categories":1024,"draft":610,"year":1025,"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.",[643,607],"2020-04-04",{"path":1027,"title":1028,"description":1029,"categories":1030,"draft":610,"year":1031,"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.",[659,629],"2021-10-03",{"path":1033,"title":1034,"description":1035,"categories":1036,"draft":610,"year":1037,"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.",[636,629],"2019-11-21",{"path":1039,"title":1040,"description":1041,"categories":1042,"draft":610,"year":1043,"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.",[636,818,629],"2020-02-25",{"path":1045,"title":1046,"description":1047,"categories":1048,"draft":610,"year":1049,"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.",[666],"2020-07-17",{"path":1051,"title":1052,"description":1053,"categories":1054,"draft":610,"year":1055,"series":6},"\u002Fblog\u002Fstack-in-golang","Implement Stack in Golang","Learn how to implement stack data structure in Golang (Full code)",[636,629],"2020-09-14",{"path":1057,"title":1058,"description":1059,"categories":1060,"draft":610,"year":1061,"series":6},"\u002Fblog\u002Fstart-oss-today","Start your Open Source journey today","Start your OSS journey with intro to GIT. Participate in Hacktoberfest!",[756,629],"2020-09-19",{"path":1063,"title":1064,"description":1065,"categories":1066,"draft":610,"year":1068,"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.",[629,1067],"Frontend","2021-02-05",{"path":1070,"title":1071,"description":1072,"categories":1073,"draft":610,"year":1074,"series":6},"\u002Fblog\u002Fterm-insurance","Term insurance Simplified","Everything you need to know before you buy a term insurance.",[607,954],"2020-11-29",{"path":1076,"title":1077,"description":1078,"categories":1079,"draft":610,"year":1081,"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",[903,1080,629],"Terminal","2020-09-06",{"path":1083,"title":1084,"description":1085,"categories":1086,"draft":610,"year":1087,"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.",[643,607],"2020-05-19",{"path":1089,"title":1090,"description":1091,"categories":1092,"draft":610,"year":1093,"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.",[636,818,629],"2020-03-18",{"path":1095,"title":1096,"description":1097,"categories":1098,"draft":610,"year":1099,"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.",[636,629],"2022-05-31",{"path":1101,"title":1102,"description":1103,"categories":1104,"draft":610,"year":1106,"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",[607,1105],"Tech","2024-06-01",{"path":1108,"title":1109,"description":1110,"categories":1111,"draft":610,"year":1112,"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!",[607],"2020-12-31",{"path":1114,"title":1115,"description":1116,"categories":1117,"draft":610,"year":1118,"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!",[607],"2021-12-31",1788773188087]