[{"data":1,"prerenderedAt":607},["ShallowReactive",2],{"post-en-2022-10-08-sep-articles":3},{"post":4,"newer":600,"older":603,"hasTranslation":606},{"id":5,"title":6,"body":7,"cardImg":582,"date":583,"description":582,"excerpt":584,"extension":585,"figCaption":582,"img":586,"lang":587,"listed":588,"meta":589,"navigation":588,"path":593,"readingTime":594,"seo":595,"slug":596,"stem":597,"tagList":598,"__hash__":599},"posts\u002Fposts\u002Fen\u002F2022-10-08-sep-articles.md","What have you learnt in the month of Sept?",{"type":8,"value":9,"toc":576},"minimark",[10,14,17,22,31,38,45,52,59,74,77,98,105,111,124,131,138,141,144,147,150,153,156,162,165,168,171,174,177,180,187,194,204,214,221,224,230,236,239,242,262,265,273,276,291,299,305,311,318,325,331,338,344,348,355,363,369,376,383,390,393,396,399,413,420,432,439,446,453,460,463,470,477,484,499,521,527,534,541,548,554,557,563,569],[11,12,13],"p",{},"Putting together your learning habit even when you are travelling can be intense. Its intentional but rewarding when you have a habit that supports your personal growth.",[11,15,16],{},"In this article, we will put together more articles on technical and general use-cases",[18,19,21],"h2",{"id":20},"technical","Technical",[11,23,24],{},[25,26,30],"a",{"href":27,"rel":28},"https:\u002F\u002Fwww.nngroup.com\u002Farticles\u002Finfinite-scrolling-tips\u002F",[29],"nofollow","When to use infinite scrolls",[11,32,33],{},[25,34,37],{"href":35,"rel":36},"https:\u002F\u002Fblog.lawrencejones.dev\u002Flearn-at-scale-up\u002F",[29],"Learning from a startup before you start one",[11,39,40],{},[25,41,44],{"href":42,"rel":43},"https:\u002F\u002Fgithub.com\u002Fleon-ai\u002Fleon",[29],"Leon your open source personal assistant",[11,46,47],{},[25,48,51],{"href":49,"rel":50},"https:\u002F\u002Fnibblestew.blogspot.com\u002F2022\u002F09\u002Fquestions-to-ask-prospective-employer.html",[29],"SWE Interview Questions",[11,53,54],{},[25,55,58],{"href":56,"rel":57},"https:\u002F\u002Fwww.figr.app\u002F",[29],"real time docs",[11,60,61,66,69],{},[25,62,65],{"href":63,"rel":64},"https:\u002F\u002Fblog.yoshuawuyts.com\u002Fstate-machines-2\u002F",[29],"State Machines",[67,68],"br",{},[25,70,73],{"href":71,"rel":72},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fjavascript-state-machine",[29],"State Machine Libraries",[11,75,76],{},"When do you use a state machine?",[78,79,80,84,87,95],"ul",{},[81,82,83],"li",{},"When distinguished states exists in the application",[81,85,86],{},"A specific state can lead to other states, or leads to an end of a process flow.",[81,88,89,90],{},"Useful if you can define a clear number of states and events that will trigger transition to them.\n",[78,91,92],{},[81,93,94],{},"Not encountered when building complex application",[81,96,97],{},"State machine is the right tool when you have actions required to be taken in sequential order.",[11,99,100],{},[101,102],"img",{"alt":103,"src":104},"","https:\u002F\u002Fencrypted-tbn0.gstatic.com\u002Fimages?q=tbn:ANd9GcR-Zeagoofy525mf4FttlOjL76UHyYmurCOQMPkWogG0A&s",[11,106,107],{},[25,108,109],{"href":109,"rel":110},"https:\u002F\u002Fthealgorithmicbridge.substack.com\u002Fp\u002Fstable-diffusion-is-the-most-important",[29],[11,112,113,118,120],{},[25,114,117],{"href":115,"rel":116},"https:\u002F\u002Fexple.tive.org\u002Fblarg\u002F2013\u002F10\u002F22\u002Fcitation-needed\u002F",[29],"Why does Arrays start with index 0",[67,119],{},[25,121,122],{"href":122,"rel":123},"https:\u002F\u002Fbuttondown.email\u002Fhillelwayne\u002Farchive\u002Fwhy-do-arrays-start-at-0\u002F",[29],[11,125,126],{},[25,127,130],{"href":128,"rel":129},"https:\u002F\u002Fblog.chiselstrike.com\u002Fdear-application-developer-how-far-can-you-really-go-without-a-message-queue-d9e5385fab64",[29],"Never use database as a Message Queue",[11,132,133],{},[25,134,137],{"href":135,"rel":136},"https:\u002F\u002Fendtimes.dev\u002Fwhy-your-website-should-be-under-14kb-in-size\u002F",[29],"Why should your website be smaller than 14kb",[11,139,140],{},"TCP’s slow start algorithm",[11,142,143],{},"TCP uses is a way of using Internet Protocol (IP) to send packets of data reliably - TCP\u002FIP",[11,145,146],{},"When a browser request for a website, the browser makes a request using HTTP.",[11,148,149],{},"HTTP is built on top of TCP and a single HTTP request is usually made up of many TCP packets",[11,151,152],{},"TCP is an extension of IP that allows browser and web servers to tell each other which packet have successfully arrived.",[11,154,155],{},"TCP has a request\u002Fresponse structure. THis is called an akwonledgement ACK",[11,157,158,159,161],{},"TCP slow start is an algorithm used by servers to find out how many packets can be sent at a time.",[67,160],{},"\nYour server usually do not know how much data the connection can handle, so it starts by sending you a small and safe amount of data - usually 10 TCP packets.",[11,163,164],{},"If packets reached site successfully, computer sends back an acknowledgement (ACK), then the server sends more dta bakc, but this time double the amount of packets.",[11,166,167],{},"Once it stops receiving an ack, the server will contiue to send packets but at a slower rate.",[11,169,170],{},"This is the gist of TCP slow start.",[11,172,173],{},"max size of TCP packet is 1500 bytes, it comes from ethernet standard. Each TCP packet uses 40 bytes in its header - 16 bytes for IP and additional 24 bytes for TCP.",[11,175,176],{},"That leaves 1460 bytes per TCP packet, and sending 10 packets => 10 x 1460 = 14600 bytes or roughly 14kb.",[11,178,179],{},"Using 1 round trip of 10 TCP packets, your website will be loaded.",[11,181,182],{},[25,183,186],{"href":184,"rel":185},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIPv4#Packet_structure",[29],"The construct of a TCP packet",[11,188,189],{},[25,190,193],{"href":191,"rel":192},"https:\u002F\u002Fblog.google\u002Finside-google\u002Fgooglers\u002Fmarking-birth-of-modern-day-internet\u002F",[29],"The TCP Transition",[11,195,196,201,203],{},[25,197,200],{"href":198,"rel":199},"https:\u002F\u002Fcrawlee.dev\u002F",[29],"Crawler Library",[67,202],{},"\nGot to give it a try to know how good it really is",[11,205,206,211,213],{},[25,207,210],{"href":208,"rel":209},"https:\u002F\u002Fmaps.earth",[29],"maps.earth",[67,212],{},"\nOpen source map feature",[11,215,216],{},[25,217,220],{"href":218,"rel":219},"https:\u002F\u002Fmedium.com\u002Fm\u002Fglobal-identity?redirectUrl=https%3A%2F%2Fblog.devgenius.io%2Fwhy-is-snowflake-so-expensive-92b67203945",[29],"Why is snowflake so expensive",[11,222,223],{},"Knowing how to work around snowflake’s hacks that gets you to pay more",[11,225,226],{},[25,227,228],{"href":228,"rel":229},"https:\u002F\u002Fgithub.com\u002FHackerNews\u002FAPI",[29],[11,231,232],{},[25,233,234],{"href":234,"rel":235},"https:\u002F\u002Fbadshah.io\u002Fguardduty-good-bad-ugly\u002F",[29],[11,237,238],{},"What is good about guardduty AWS?",[11,240,241],{},"Pro",[78,243,244,247,250,253,256,259],{},[81,245,246],{},"Easy to use",[81,248,249],{},"Important services and detects good number of issues",[81,251,252],{},"No explicit setup of data sources",[81,254,255],{},"seamless integration with other AWS services",[81,257,258],{},"No extra infra provisioning",[81,260,261],{},"Supports custom trusted IP",[11,263,264],{},"Cons",[78,266,267,270],{},[81,268,269],{},"Not flexible",[81,271,272],{},"Have bypasses (as with many other threat detection services)",[11,274,275],{},"What are threat detection",[277,278,279,282,285,288],"ol",{},[81,280,281],{},"Configuration",[81,283,284],{},"Modeling (anomalies)",[81,286,287],{},"Indicators",[81,289,290],{},"Behavioural analytics",[11,292,293,294],{},"Reference ",[25,295,298],{"href":296,"rel":297},"https:\u002F\u002Fwww.sans.org\u002Fwebcasts\u002Ftypes-threat-detection-ics-security-106070\u002F",[29],"Sans",[11,300,301],{},[25,302,303],{"href":303,"rel":304},"https:\u002F\u002Fsamgerstenzang.substack.com\u002Fp\u002Foperating-well-what-i-learned-at",[29],[11,306,307],{},[25,308,309],{"href":309,"rel":310},"https:\u002F\u002Fwww.linkedin.com\u002Fpulse\u002Fwhy-products-dont-succeed-7-biases-product-teams-shreyas-doshi\u002F",[29],[11,312,313],{},[25,314,317],{"href":315,"rel":316},"https:\u002F\u002Fdevelopers.soundcloud.com\u002Fblog\u002Fengineering-levels",[29],"Engineering levels at SoundCloud",[11,319,320],{},[25,321,324],{"href":322,"rel":323},"https:\u002F\u002Fblog.palantir.com\u002Fdev-versus-delta-demystifying-engineering-roles-at-palantir-ad44c2a6e87",[29],"Devs VS Deltas at Palantir",[11,326,327,328,330],{},"Dev: One capability, many customers",[67,329],{},"\nDelta: One customer, many capabilities",[11,332,333],{},[25,334,337],{"href":335,"rel":336},"https:\u002F\u002Finvertedpassion.com\u002Fjobs-to-be-done\u002F",[29],"Desire not solution",[11,339,340,341,343],{},"Desire: do work once and the rest of the work are done on behalf.",[67,342],{},"\nDesire: Reporting is done on a single page",[18,345,347],{"id":346},"general","General",[11,349,350],{},[25,351,354],{"href":352,"rel":353},"https:\u002F\u002Fteamplify.com\u002Fblog\u002Fwhy-public-chats-are-better-than-direct-messages\u002F",[29],"Open communication",[78,356,357,360],{},[81,358,359],{},"Public messages are not directed at anyone and thus do not need any specific members attention",[81,361,362],{},"You get the team up to speed efficiently",[11,364,365],{},[25,366,367],{"href":367,"rel":368},"https:\u002F\u002Fperell.com\u002Fessay\u002Fthe-paradox-of-ambition\u002F",[29],[11,370,371],{},[25,372,375],{"href":373,"rel":374},"https:\u002F\u002Fwww.notice.fyi\u002F",[29],"2 Weeks notice checklist",[11,377,378],{},[25,379,382],{"href":380,"rel":381},"https:\u002F\u002Fnerdist.com\u002Farticle\u002Franking-the-25-most-painful-lego-to-step-on\u002F",[29],"The most painful lego bricks to avoid",[11,384,385],{},[25,386,389],{"href":387,"rel":388},"https:\u002F\u002Fwww.nature.com\u002Farticles\u002Fd41586-022-02813-6",[29],"Pakistan floods",[11,391,392],{},"Heatwaves with temperatures over 40deg celcius.",[11,394,395],{},"Indus river is Pakistan’s largest river that runs the length of the country from north to south. Feeding towns, cities and large swathes of agricultural land.",[11,397,398],{},"Some issues faced are:",[78,400,401,404,407,410],{},[81,402,403],{},"ineffective early-warning system for floods,",[81,405,406],{},"poor disaster management",[81,408,409],{},"political instability",[81,411,412],{},"unregulated urban development",[11,414,415],{},[25,416,419],{"href":417,"rel":418},"https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=32616270",[29],"how much should startup founder share with employees",[11,421,422,423,425,426,428,429,431],{},"Avoid generating too high expectations",[67,424],{},"\nProvide context",[67,427],{},"\nThink preemptively",[67,430],{},"\nAlways give space for clearing doubts",[11,433,434],{},[25,435,438],{"href":436,"rel":437},"https:\u002F\u002Ffev.al\u002Fposts\u002Fcapacity-plan\u002F",[29],"Capacity Planning",[11,440,441],{},[25,442,445],{"href":443,"rel":444},"https:\u002F\u002Fmissingdice.com\u002Fdice-roller\u002F",[29],"Dice roller",[11,447,448],{},[25,449,452],{"href":450,"rel":451},"https:\u002F\u002Ffs.blog\u002Fsecond-order-thinking\u002F",[29],"Second Order Thinking",[11,454,455],{},[25,456,459],{"href":457,"rel":458},"https:\u002F\u002Fbigthink.com\u002Fneuropsych\u002Fdo-i-own-too-many-books\u002F",[29],"Value of owning more books than you can read",[11,461,462],{},"Reminder to self that there are a lot more things we do not yet know.",[11,464,465],{},[25,466,469],{"href":467,"rel":468},"https:\u002F\u002Fparttimetech.substack.com\u002Fp\u002Fthe-future-of-work-isnt-just-remote",[29],"Future of work is part time",[11,471,472],{},[25,473,476],{"href":474,"rel":475},"https:\u002F\u002Ft.me\u002Fhackernewslive\u002F132630",[29],"Learnings from Zapier CEO",[11,478,479],{},[25,480,483],{"href":481,"rel":482},"https:\u002F\u002Fandrewchen.com\u002Fhow-to-design-a-referral-program\u002F",[29],"How to design a referral Program",[11,485,486,487,489,490,492,493,495,496,498],{},"Get as much impression as possible",[67,488],{},"\nPut it as part of a main flow",[67,491],{},"\nDon’t make it look like ads",[67,494],{},"\nUber’s holidizing a referral campaign with a special campaign for a holiday season.",[67,497],{},"\nGetting new users to refer their friends. Keep it close to the onboarding workflow.",[78,500,501,504,512],{},[81,502,503],{},"Contradicts school of thought which we get users to experience value first.",[81,505,506,507],{},"Probability\n",[78,508,509],{},[81,510,511],{},"Mathematically, while your new users have yet to churn, you have more eyeballs",[81,513,514,515,517,518,520],{},"New users generally hav emore friends who havent yet used the product, because they are new themselves.",[67,516],{},"\nConsider intrinsic vs extrinsic values.",[67,519],{},"\nGenerally its to prioritize new users and thus make your rewards as concrete as possible. Dollar is usually clear to any users.",[11,522,523,524,526],{},"Thinking of viral feature vs referral programs. Different solutions to similar objectives: sharing the product with their friends. Investing in more meaningful, viral features will create evergreen value.",[67,525],{},"\nReferral programs will kickstart your virality but you have to focus on creating a good valuable product, and in that, your delighted users will delightfully invite their friends.",[11,528,529],{},[25,530,533],{"href":531,"rel":532},"https:\u002F\u002Ft.me\u002Fhackernewslive\u002F132661",[29],"mBuilding muscles starts with a daily habit",[11,535,536],{},[25,537,540],{"href":538,"rel":539},"https:\u002F\u002Fwww.atvbt.com\u002Fhappiness-is-two-scales\u002F",[29],"Happiness and unhappiness are 2 diff scales",[11,542,543],{},[25,544,547],{"href":545,"rel":546},"https:\u002F\u002Fstaysaasy.com\u002Fmanagement\u002F2020\u002F07\u002F24\u002FManaging-One-Person.html",[29],"4 is better than 1",[11,549,550],{},[25,551,552],{"href":552,"rel":553},"https:\u002F\u002Ftrolololo.xyz\u002Fprogramming-discussions",[29],[11,555,556],{},"Publishing your own book in substack",[11,558,559],{},[25,560,561],{"href":561,"rel":562},"https:\u002F\u002Ftedgioia.substack.com\u002Fp\u002F10-reasons-why-im-publishing-my-next",[29],[11,564,565],{},[25,566],{"href":567,"rel":568},"https:\u002F\u002Fwww.elidedbranches.com\u002F2022\u002F08\u002Fthe-product-culture-shift.html",[29],[11,570,571],{},[25,572,575],{"href":573,"rel":574},"https:\u002F\u002Fgifcities.org",[29],"gif city",{"title":103,"searchDepth":577,"depth":578,"links":579},2,3,[580,581],{"id":20,"depth":577,"text":21},{"id":346,"depth":577,"text":347},null,"2022-10-08","Putting together your learning habit even when you are travelling can be intense. Its intentional but rewarding when you have a habit that supports your personal growth…","md","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1526374965328-7f61d4dc18c5","en",true,{"layout":590,"fig-caption":582,"tags":591},"post",[592],"tag","\u002Fposts\u002Fen\u002F2022-10-08-sep-articles",4,{"title":6,"description":582},"2022-10-08-sep-articles","posts\u002Fen\u002F2022-10-08-sep-articles",[],"PinLB-2hSDXO8r5hWYSHS0U9fMOVjvGRpLqBGiYKtW8",{"slug":601,"title":602},"2022-11-24-test-case-test-plan","Difference between Test Cases vs Test Plans",{"slug":604,"title":605},"2022-09-10-how-to-know-everything-as-software-engineer","How to ask better questions as a software engineer?",false,1794023764298]