[{"content":"\nVenue: KubeCon + CloudNativeCon India 2024\nSlides\n","date":"17 décembre 2024","externalUrl":null,"permalink":"/talks/kubecon-in-2024-fantastic-keps/","section":"Work","summary":"Venue: KubeCon + CloudNativeCon India 2024","title":"Fantastic KEPs and Where to Find Them: A Guide to Kubernetes Enhancements!","type":"work"},{"content":"\nVenue: KubeCon + CloudNativeCon Europe 2024,\n(Kubernetes Contributor Summit Europe 2024)\nSlides\n","date":"5 avril 2024","externalUrl":null,"permalink":"/talks/kubecon-eu-2024-peribolos/","section":"Work","summary":"Venue: KubeCon + CloudNativeCon Europe 2024","title":"Peribolos: GitHub Management Amidst Growth in Kubernetes Project!","type":"work"},{"content":"\nVenue: KubeCon + CloudNativeCon Europe 2023\nSlides\n","date":"19 avril 2023","externalUrl":null,"permalink":"/talks/kubecon-eu-2023-prow-jobs/","section":"Work","summary":"Venue: KubeCon + CloudNativeCon Europe 2023","title":"Prow Jobs: Day 2 Aspects and How to Navigate, Read \u0026 Write Them","type":"work"},{"content":"","date":"17 décembre 2024","externalUrl":null,"permalink":"/talks/","section":"Work","summary":"","title":"Talks","type":"work"},{"content":"\nVenue: KubeDay India 2023\nSlides\n","date":"8 décembre 2023","externalUrl":null,"permalink":"/talks/kubecon-in-2023-e2e/","section":"Work","summary":"Venue: KubeDay India 2023","title":"Efficient Kubernetes E2E Testing: Unleash the Power of Prow","type":"work"},{"content":"It’s a circular thing, this page.\nI am inspired by and copying what Priyanka is doing.\nShe in turn, was inspired by my earlier progress on the old microblog, which sadly no longer exists.1\nShort story short, once upon a time, due to life and circumstances, I weighed close to a hundred kilos.2\nI embarked on a journey that took me close to a year and half, where I learnt and internalised the basics of diet and exercise and lost 30kgs to come down to a lean 67kgs.\nCut to now, where once again, due to life and circumstances, I find myself having put on quite a bit of weight.3\nWriting and logging helped then. I know it will help me once more now. Ergo this page.\nIt’s on the blog this time, because I am mad, that I lost my old journey. Hopefully a simple text file will not crash and die on me, and it will stay put here for a long time to come.\nI’ll be adding entries up top, so if you want to read from the beginning, you’ll have to come up from the bottom.\nWhat’s with all the jargon? Here’s a key.\nhw: Highest weight\nsw: Starting weight\ncw: Current weight\ngw: Goal weight\n2025-03-14 # Managed to eat consistently this month.\n- cw: 97.7 kgs (2025-03-14) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2025-02-14 # Trying to eat clean.\nNot being able to give it the time.\n- cw: 97 kgs (2025-02-14) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2025-01-10 # - cw: 97.4 kgs (2025-01-10) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-10-11 # Into dreaded three digit territory now!\nNothing much has happened this month.\nThe weight is slowly telling on my body.\nJoints getting creakier.\nNote to self, think we need to reprioritise now.\n- cw: 100.9 kgs (2024-10-11) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-11-08 # Making the effort.\nSlow progress.\n- cw: 98.9 kgs (2024-11-08) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-09-14 # Ok, coming back to log after a month.\nOne big life thing is out of the way.\nShould hopefully give me more leeway to focus on losing weight.\n- cw: 99.4 kgs (2024-09-14) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-08-09 # Nothing’s really happened the past few months.\nBarely keeping my head above water.\n- cw: 98.6 kgs (2024-08-09) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-03-04 # Ok! Time to probably start focussing on this.\nBecause at least a third of my thoughts are about how my weight’s creeping up.\n- cw: 98.6 kgs (2024-03-04) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-02-26 # Grrr!\n- cw: 98.5 kgs (2024-02-26) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-02-19 # Not gonna to lie. Ate a /lot/ this week!\n- cw: 98 kgs (2024-02-19) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-02-12 # I’m trying dammit! 😂\n- cw: 98 kgs (2024-02-12) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-01-22 # Went down a good amount, but I know I am still holidaying so will know properly only in the second week of Feb\nTrying in the meanwhile to somehow rejig my life, to healthy eating and try and find time to cook myself. That too is something I will only know at the end of Feb.\nIn the meanwhile, slow and steady and intentionally does it …\n- cw: 97.1 kgs (2024-01-22) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-01-15 # Still in a Christmas food coma 😂\n- cw: 97.6 kgs (2024-01-15) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2024-01-05 # Let’s go, New Year.\n- cw: 96.6 kgs (2024-01-05) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-12-29 # Started the year at 91 and ended up 6 kgs heavier.\nThis was that kind of year.\nI did however have the presence of mind to see how this happened, and not end up stressed and surprised.\nI just have that kind of life and I realise that I prioritise other things that are more important to me. And this year, I saw what trading your life and health for other things feels like. This year, the tradeoff was worth it. Reflecting back, the tradeoff earlier was worth it too.\nHere’s to having the space and time to work at health and fitness in the new year.\n- cw: 97.10 kgs (2023-12-29) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-12-01 # Having more bad days than good, this time in my life.\n- cw: 96 kgs (2023-12-01) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-11-24 # Diwali extended! 😂\n- cw: 95.8 kgs (2023-11-24) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-11-17 # Diwali! 😂\n- cw: 95.3 kgs (2023-11-17) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-11-10 # Moved in the right direction this week.\n- cw: 95.1 kgs (2023-11-10) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-11-03 # Trying to get a handle on at least eating right.\n- cw: 95.71 kgs (2023-11-03) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-10-27 # Life’s happening. Overeating is happening.\n- cw: 97.1 kgs (2023-10-27) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-10-13 # Some lost. I realise I need to have some physical activity in my life.\nSadly life does not permit that right now.\nBut I hope to, soon.\n- cw: 93.5 kgs (2023-10-13) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-10-06 # Keep on swimming …\n- cw: 93.8 kgs (2023-10-06) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-09-29 # Sigh!\n- cw: 93.9 kgs (2023-09-29) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-09-22 # Lost a tiny bit more.\n- cw: 93.6 kgs (2023-09-22) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-09-15 # Lost a bit more.\nNeed to stay on top of this.\nStruggling.\n- cw: 94 kgs (2023-09-15) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-09-08 # Lost a bit\nNow to keep at it.\n- cw: 94.4 kgs (2023-09-08) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-09-01 # New month. Journey’s still the same.\nGained quite a bit.\n- cw: 94.8 kgs (2023-09-01) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-08-25 # Still the same.\n- cw: 93.9 kgs (2023-08-25) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-08-18 # Been quite a while since I updated this.\nToo much happened. Gained a bit of weight.\n- cw: 93.9 kgs (2023-08-18) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-05-01 # Made quite a bit of progress.\nHoping this sticks.\n- cw: 92.1 kgs (2023-05-01) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-03-27 # I think my scale is broken 😂\nNo, it’s a couple of days of not being intentional.\n- cw: 94.6 kgs (2023-03-27) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-03-20 # Giving up on the gym for now.\nI cannot seem to manage it with the rest of my life.\nWill keep continuing with my walks\n- cw: 93.7 kgs (2023-03-20) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-03-13 # Would you believe it? Still sick!\n- cw: 93.7 kgs (2023-03-13) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-03-06 # Still sick!\nTaking time off.\n- cw: 93.7 kgs (2023-03-06) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-02-27 # Been sick as a dog all week.\nTaking time off.\n- cw: 93 kgs (2023-02-27) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-02-20 # Gained weight.\nThe gym is making me hungry!\n- cw: 93.2 kgs (2023-02-20) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-02-13 # No change.\nNo news is good news :)\n- cw: 92.7 kgs (2023-02-13) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-02-06 # Still trying to get used to physical activity.\nThe diet’s all off, because I am hungry after the gym and I eat more.\nKeep track and doing things slow.\n- cw: 92.7 kgs (2023-02-06) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-01-30 # In pain.\nTrying to get used to the gym and the hurt.\n- cw: 93.1 kgs (2023-01-30) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-01-23 # I began working out a bit.\nI ate because I was hungry and gained weight 😂\nOnce the aches and pains go away, will look at matching diet and exercise.\n- cw: 92.8 kgs (2023-01-23) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-01-18 # I’ve begun taking care of myself in earnest, with small baby steps this week.\nStill noting what I eat.\nWalking regularly.\n- cw: 92.4 kgs (2023-01-18) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-01-09 # I’m still feasting! 😂\n- cw: 92.2 kgs (2023-01-09) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2023-01-02 # Nothing’s changed yet 😂\n- cw: 91.4 kgs (2023-01-02) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-12-30 # Ending the year, close to 10kgs heavier than I began and about 22kgs away from my goal.\nThe log has kept me sane and away from a panicky “How did this happen?!” attack.\nI know how I put on the fat and I’ve given myself the grace to be ok with it.\nI’ve been through this before. I can do this again.\nHere’s to showing up, keeping at it and persistently doing the work, in the new year.\n- cw: 91.4 kgs (2022-12-30) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-12-18 # Two words.\nStress Ate.\nAnd will now festive eat 😂\nSo just keeping an eye on my weight.\nAt least this time, I am not surprised about how I packed on so much weight.\nI have seen each kilo rise, and I have been cognizant of what I was feeling and what I was doing.\nMakes it easy to be kind on myself and give myself grace.\nMakes it easy to be persistent and show up anyway!\n- cw: 90.8 kgs (2022-12-12) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-12-12 # Haven’t written here for a month\nBut life really went topsy turvy\nI had been keeping track though Big swing up over last time\n- cw: 89.3 kgs (2022-12-12) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-11-14 # Don’t know if I was hallucinating last week.\nBut the weights were all wrong.\nI was 88.8 last. Not 88.\nAnd obviously no goal was broken.\nAnyhoo, I seem to have lost a teensy bit!\nBack to the grind and doing it with intention :)\n- cw: 88.5 kgs (2022-11-14) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-11-09 # Hit goal one!\nYippee!\nOn to the next!\n- cw: 88 kgs (2022-11-09) - gw1: 87 kgs 👍 - gw2: 85 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-10-31 # Lost about a kilo since I last updated.\nNow to just keep at it.\nRejigged the goal weights, to motivate me some\n- cw: 88 kgs (2022-10-31) - gw1: 87 kgs - gw: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-10-25 # Some weight loss.\nI had nothing to do with this though.\nToo much life happening and I just zombied throught the week.\n- cw: 88.9 kgs (2022-10-25) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-10-16 # Gained a kilo again!\nI started all those months ago to lose weight, and I’ve gained close to 7 kgs!\nTalk about a kick in the pants.\nDon’t know when I will be able to gain momentum to start pushing this down.\nBut watching and being as intentional as possible is helping me stay sane and not panic.\n- cw: 89.3 kgs (2022-10-16) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-10-09 # Still on autopilot. Some more weight lost.\n- cw: 88.4 kgs (2022-10-09) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-10-02 # Was on autopilot tihs week.\nHappy to see some weight loss\n- cw: 88.7 kgs (2022-10-02) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-09-25 # A whopping two kilo gain.\nLife happened.\nStress ate.\nThis time, I am observant and am letting it be.\nI can see the stress, and I see my reaction to it.\nThis time, the gain does not catch me unawares, so at least, the weight gain is not another source of stress for me.\nI realise it will be a lot of hard work to get rid of this.\nBut for now, it helps me cope.\n- cw: 89 kgs (2022-09-25) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-09-18 # Ok. did not gain any this week.\nSo that’s heartening.\n- cw: 87 kgs (2022-09-18) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-09-13 # Huge weight gain in two weeks.\nHopefully the end of travel, means I can get it all down.\nMentally, getting a bit stressed as the weight keeps inching up.\nHave to keep reminding myself that I am doing the best that I can, eating as well as I can and as intentionally as I can.\n- cw: 87 kgs (2022-09-13) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-08-29 # Travelling. Just trying to eat as well as I can.\n- cw: 84.7 kgs (2022-08-29) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-08-21 # Life’s been crazy.\nAnd my weight’s gone up.\nI’m now close to 2kgs heavies than when I started.\n- cw: 84.5 kgs (2022-08-21) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-08-14 # It went up by half a kilo this week.\nBut! I ate clean.\nSo, to just stick to the plan and wait.\n- cw: 83.9 kgs (2022-08-14) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-08-07 # Well, it’s beginning to go down a bit 🤞\n- cw: 83.4 kgs (2022-08-07) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-08-01 # Stayed the same. (well, mostly)\nWill just keep going this week too.\n- cw: 84.0 kgs (2022-08-01) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-07-25 # Got stressed. Binged on food. Gained weight. Oh well!\nJust keep truckin’\n- cw: 83.9 kgs (2022-07-25) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-07-18 # Back from a medium sized trip out of town.\nEating on the road was definitely not healthy.\nHowever, I tried to be really intentional about what I was eating.\n(Did not always succeed. Lots of Maggi. Lots of Sweets 😂)\nLost 500g to come back to the weight I was about three weeks ago.\nThat’s a win in my book.\n- cw: 83.2 kgs (2022-07-18) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-06-27 # And … 600g gained.\nThink I ate fairly clean this week.\nNo reason to see why I gained. Figuring out things like this, are why I need to log stuff.\nWill make food logging a part of my daily routine now. There’ll be fits and stumbles, before I get into some sort of rhythm with that.\nBut, this is the journey. And this is the work.\n- cw: 83.7 kgs (2022-06-27) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-06-20 # Have gotten into eating pulses regularly.\nBroke down and ate junk a couple of times.\n500g lost. Fairly good week.\n- cw: 83.1 kgs (2022-06-20) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-06-13 # Weekly update.\nWeight’s up by a kilo over the past week.\nI attribute it to switching to wholly homecooked meals and having regular water intake.\nSince a kind neighbour is cooking, I have no say in what goes into the food.\nBut right now I am just happy, I get good food.\nNow that I am eating at a regular cadence, my next step will be to increase the level of protein intake.\nWill try doing boiled eggs / pulses / protein shakes for the next week or so, to make that a habit too.\n- cw: 83.6 kgs (2022-06-13) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-06-09 # Attempted to eat on time.\nFailed. Will keep trying.\nEating clean continues to happen.\n- cw: 83.3 kgs (2022-06-09) - gw1: 81 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-06-08 # Turning off, most of the goal weights, while I do frequent updates 4\nAnother good day healthwise, yesterday.\nGained weight, but I feel much better than I have in weeks.\nThink I’ll stick to eating healthy this week and begin logging next week.\n- cw: 83.8 kgs (2022-06-08) - gw1: 81 kgs - sw: 82.7 kgs - hw: 97 kgs 2022-06-07 # Will drop down to a weekly cadence sooner or later, but right now I feel like logging the struggles as I begin.\nSwitched over to eating home cooked food, by a lady in my neighbourhood.\nThat seems to have solved a lot of bodily issues; have gained some weight though.\nI’m content with this happening, until I am ok eating clean.\nAnd then start calorie counting.\nAnd then, some while after that, add in some exercise as I go.\nHere’s to an intentional journey.\n- cw: 83.3 kgs (2022-06-07) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs Begin! # - cw: 82.7 kgs (2022-06-05) - gw1: 81 kgs - gw2: 78 kgs - gw3: 75 kgs - gw4: 72 kgs - gw5: 69 kgs - gw6: 68 kgs - sw: 82.7 kgs - hw: 97 kgs There’s bit of trepidation as I begin here.\nWill I be able to do it? Or will I be overwhelmed? I was waiting for some clear window and some headspace to start, but apparently that is not on the cards.\nSo the best thing I can do is start, and do it slowly.\nMy only commitment is to show up everyday.\nThe computer ate my homework.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n97 kgs to be precise.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n83 kgs this morn (2022-06-05)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\notherwise this will just be a whole maze of code boxes 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","externalUrl":null,"permalink":"/fitness/","section":"Plus …","summary":"My weekly weight log","title":"Fitness","type":"more"},{"content":" via Ricardo Siri\nYea, Lindy. From the term popularised in Taleb’s Antifragile.\nThat is how most of the folks I learn from, read.\nShane Parrish uses it as a guide to choose a book.\nAs do the readers of his blog at Farnam Street.\nVishal Khandelwal writes about it on his awesome blog.\nAnd also uses it as a guide to reading for investors.\nSo these, are my Lindy books.\nThe ones I cherish and have read ragged and have gifted and own multiple formats of.\nThe ones I reread every, single, year.\nThe Little Prince, Antoine de Saint-Exupéry The Song of the Bird, Anthony de Mello Meditations, Marcus Aurelius The Count of Monte Cristo, Alexandre Dumas Antifragile: Things That Gain from Disorder, Nassim Nicholas Taleb (one of the few books that changed my life … and made me fall in love with reading all over again) Atomic Habits, James Clear So Good They Can’t Ignore You, Cal Newport Deep Work: Rules for Focused Success in a Distracted World, Cal Newport Bird by Bird, Anne Lamott Brave Enough, Cheryl Strayed ","externalUrl":null,"permalink":"/lindy-books/","section":"Reading","summary":"","title":"Lindy Books","type":"reading"},{"content":"","date":"24 juillet 2026","externalUrl":null,"permalink":"/tags/blogging/","section":"Tags","summary":"","title":"Blogging","type":"tags"},{"content":"","date":"24 juillet 2026","externalUrl":null,"permalink":"/tags/blowfish/","section":"Tags","summary":"","title":"Blowfish","type":"tags"},{"content":"","date":"24 juillet 2026","externalUrl":null,"permalink":"/tags/go/","section":"Tags","summary":"","title":"Go","type":"tags"},{"content":"","date":"24 juillet 2026","externalUrl":null,"permalink":"/tags/go-lang/","section":"Tags","summary":"","title":"Go Lang","type":"tags"},{"content":"","date":"24 juillet 2026","externalUrl":null,"permalink":"/tags/go-templates/","section":"Tags","summary":"","title":"Go Templates","type":"tags"},{"content":"","date":"24 juillet 2026","externalUrl":null,"permalink":"/tags/hugo/","section":"Tags","summary":"","title":"Hugo","type":"tags"},{"content":"\nIntended Audience Me.\nThis is a sorta-kinda living document, a record of my idiosyncratic decisions to first move to, and then bend the Blowfish theme to my needs.\nUpdate (2026-07-24) : RSS updates, Miscellanea, some editing.\nBlowfish theme logo I changed my blog theme from Papermod to Blowfish.\nWhy move to Blowfish? # Papermod, to my mind, is perfection. And I outgrew it. That’s all there is to the why.\nPapermod caters to the needs of a blog, and I think my blog is slowly turning into a multi section website.\nI want menus, and possibly submenus and Papermod does not do them.\nThe finished outcome, while not as pretty and uniform as the old Papermod site, makes writing and managing it all, much simpler.\nBlowfish specific things for future Jason to note. # Big Picture things # The theme does a lot. Most of which I don’t think I need.1 The aim is to match what my site looked with Papermod, as closely as possible. Everything CSS is in assets/css/custom.css, rather than multiple CSS files as it was with Papermod. Pagefind powers search on the site. The inbuilt search is disabled in main.toml. Footnotes use Littlefoot; so they appear as popups, and the need to scroll up and down the page is reduced. Configuration # Blowfish separates everything out in its config. Lots of toml files in there.\nBase config is in hugo.toml, theme parameters are in params.toml, menus in menus.XX.toml and language + translation related stuff is in languages.XX.toml 2 main.toml sets the theme, the baseURL and I’ve added a section to limit RSS entries to only the last 50 items. The author parameters along with the social link set, as well as the logo, are in languages.XX.toml. I have duplicated them. One for EN and one for FR. The logo that it requires, is in the assets/logo directory. Menus and submenus in menus.XX.toml. Duplicated. The English menus have English names and the French, French ones. Parameters; the header is set to basic. Every other option creates a sticky header of some sort. Lots of other changes. Most are self explanatory. Turned off “Hero” options everywhere, to stick to a plain, basic layout as much as possible. My split of the various configuration files for environments (base, development \u0026amp; production) have stayed the same with no changes. Content Structure # Directories and subdirectories for each section. Make sure each section has a corresponding index.XX.md for static pages or _index.XX.md for list pages. This, I think (but am not sure) has fixed my old, nagging issue of page navigation overflowing. I would keep going next, in the Talks section for example, and when I reached the end, it would show me another entry from some other section. Now the front/back buttons stay restricted to the section they are in. Archetypes # All the archetypes have been slightly tweaked. They now also include a template line for an image. It uses the theme’s figure shortcode for images. i18n (Internationalisation) # The internationalisation options are easier here. Just defining a term somewhere and then referring to it here just works.\nFor e.g., I use search_placeholder as a term in the search layout and then in i18n/en.yaml I have, search_placeholder: \u0026quot;Search for something …\u0026quot; while i18n/fr.yaml gives the same term a different spin, search_placeholder: \u0026quot;Rechercher des articles …\u0026quot; Layout Overrides # RSS # Have tweaked the RSS layout a teensy bit. My version is in layouts/_default/rss.xml, which includes the full text of the post, instead of just a summary. \u0026lt;!-- \u0026lt;description\u0026gt;{{/* .Summary | transform.XMLEscape | safeHTML */}}\u0026lt;/description\u0026gt; --\u0026gt; \u0026lt;description\u0026gt;{{ .Content | transform.XMLEscape | safeHTML }}\u0026lt;/description\u0026gt; Have restricted RSS feed generation for posts in the Notes and Miscellanea section. They won’t appear in the RSS feed unless I want them to. Most of them are just streams of consciousness, to help me get on with my day. Only a few are exceptions, that I want published.\nI even disable sitemap generation for those “important to me, but useless for thee” posts with this bit of metadata in each post3 sitemap: disable: true So I have then taken advantage of this fact, to exclude these posts from having entries in the RSS feed, by telling Hugo to only look at posts where such a key does not exist; which basically, is everything else. \u0026lt;!-- {{/* range $pages */}} --\u0026gt; {{ range where $pages \u0026#34;Sitemap.Disable\u0026#34; \u0026#34;ne\u0026#34; true }} Search # This pulls in the script and the styles for Pagefind, which I use for searching the blog. Layout is in layouts/_default/search.html. Also note, then when working on search locally, first create an index with pagefind and move it to the static folder because our normal way of working is to render it all in memory. do a hugo build then do pagefind_extended --site public then mv public/pagefind static/pagefind then rm -rf public and then start the hugo server like we normally do Littlefoot # Footnotes are powered by Littlefoot. Have used layouts/partials/extend-footer.html to pull in the Littlefoot script and layouts/partials/extend-footer.html to grab the CSS. Redirect # An old redirect template to redirect from one section to the other is still in place in the layouts/redirect directory Shortcodes # Most of the old shortcodes made it over. Retired my image and caption shortcodes in favour of using Blowfish’s version. Also created an hsgallery shortcode, so that I could continue using my old Hugo Shortcode Gallery to create image galleries. The gallery shortcode conflicts with Blowfish’s own, which I don’t like and so won’t use. Static + Tools # Fonts and Littlefoot reside in the static directory, along with all my images. There’s also a tools directory which contains the Pagefind binary. This does not get published obviously. But the Forgejo action uses this to generate an index for the site and then sends the whole thing off to the VM. Themes # Contains Blowfish and Hugo Shortcode Gallery, added as git submodules. I dropped Hugo Admonitions, because Blowfish has them already. CSS # All in assets/css/custom.css\nImport fonts: Valkyrie for the site and Source Code Pro for code. Tweaked the Janusworx up left on my site, and changed all the nav bar items to use Valkyrie Caps. Dark mode links were not contrasty enough. So changed the colour and added an underline on hover. Added a class to the figure tag, so I could center the pics I use. Added an indent to the numbered list items on the Annual Book List pages, so that the numbers stay under each month. Style littlefoot footnotes, so that the button is slightly smaller and higher, and the notes use Valkyrie, along with a couple of other tiny tweaks. Style the Blowfish box, and the results, on the search page Main thing to note. Use !important; liberally. Changes don’t always cascade down correctly. Miscellanea # Go Templates: # Use ```go-html-template as the language hint to the code fence to display Go template code correctly. (like I needed to in this post for e.g.) If it is pure Go Template stuff with little to no html, another alternative is ```go-text-template I could not just comment out Go template code with HTML comment markers \u0026lt;!-- --\u0026gt;. The Hugo live server kept crashing on me with weird EOF errors, until I figured this out. The Go template block needs a comment marker inside the the {{ … }} section like so, {{/* … */}}.\nE.g. {{/* range $pages */}} Feedback on this post?\nMail me at feedback at this domain.\nP.S. Subscribe to my mailing list!\nfamous last words!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nXX is the language code. I have EN for English and FR for French. So menus.fr.toml for e.g.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI have modified the notes archetype, so this is always pre filled and set.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"24 juillet 2026","externalUrl":null,"permalink":"/work/moved-from-papermod-to-blowfish/","section":"Work","summary":"“Why do you go away? So that you can come back. So that you can see the place you came from with new eyes and extra colors. And the people there see you differently, too. Coming back to where you started is not the same as never leaving.” ― Terry Pratchett, A Hat Full of Sky","title":"Moved From Papermod to Blowfish","type":"work"},{"content":"","date":"24 juillet 2026","externalUrl":null,"permalink":"/tags/papermod/","section":"Tags","summary":"","title":"Papermod","type":"tags"},{"content":"","date":"24 juillet 2026","externalUrl":null,"permalink":"/categories/work/","section":"Categories","summary":"","title":"Work","type":"categories"},{"content":"Just a test to see if this appears in the general feed.\nFeedback on this post?\nMail me at feedback at this domain.\n","date":"23 juillet 2026","externalUrl":null,"permalink":"/nm/2026-07-23/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-07-23 Notes","type":"nm"},{"content":"","date":"6 juillet 2026","externalUrl":null,"permalink":"/tags/abbygail/","section":"Tags","summary":"","title":"Abbygail","type":"tags"},{"content":"","date":"6 juillet 2026","externalUrl":null,"permalink":"/tags/ghalib/","section":"Tags","summary":"","title":"Ghalib","type":"tags"},{"content":"","date":"6 juillet 2026","externalUrl":null,"permalink":"/tags/gratitude/","section":"Tags","summary":"","title":"Gratitude","type":"tags"},{"content":"","date":"6 juillet 2026","externalUrl":null,"permalink":"/tags/happy-birthday/","section":"Tags","summary":"","title":"Happy Birthday","type":"tags"},{"content":" Abby, at her second favourite place in the world. Love knows no difference between life and death.\nThe one who gives you a reason to live is also the one who takes your breath away.\nجینے مرنے میں کچھ فرق نہیں فرق نہیں\nاُسی کو دیکھ کر جیتے ہیں جس کافر پہ دم نکلے\n(jeene marne mein kuchh farq nahi farq nahi\nusi ko dekh kar jeete hain jis kafir pe dam nikle)\n— Ghalib\nFeedback on this post?\nMail me at feedback at this domain.\nP.S. Subscribe to my mailing list!\n","date":"6 juillet 2026","externalUrl":null,"permalink":"/personal/happy-birthday-abbygail-4/","section":"Personal","summary":"Happy birthday Wife! :)","title":"Happy Birthday Abbygail","type":"personal"},{"content":"","date":"6 juillet 2026","externalUrl":null,"permalink":"/tags/photography/","section":"Tags","summary":"","title":"Photography","type":"tags"},{"content":"","date":"6 juillet 2026","externalUrl":null,"permalink":"/tags/portraits/","section":"Tags","summary":"","title":"Portraits","type":"tags"},{"content":"","date":"3 juillet 2026","externalUrl":null,"permalink":"/tags/annualbooklist/","section":"Tags","summary":"","title":"AnnualBookList","type":"tags"},{"content":"","date":"3 juillet 2026","externalUrl":null,"permalink":"/tags/books/","section":"Tags","summary":"","title":"Books","type":"tags"},{"content":" Photo by Luke Stackpoole on Unsplash The old annual book lists have used stars to mark the books I liked/loved.\nBut this year, I have been mostly only listing things that I love, because I’ve gotten into the habit of putting down the things that don’t hold my attention and moving on to something else. There’s a certain joy to throwing a book across the room with a “Nooooooooo! Not reading this one any more … Life’s too short! So there!”\nNow, a title only goes on the list if I’ve finished the book and I love/like it.\nFeedback on this post?\nMail me at feedback at this domain.\nP.S. Subscribe to my mailing list!\n","date":"3 juillet 2026","externalUrl":null,"permalink":"/reading/no-more-stars/","section":"Reading","summary":"Silent night …","title":"No More Stars","type":"reading"},{"content":"","date":"3 juillet 2026","externalUrl":null,"permalink":"/categories/reading/","section":"Categories","summary":"","title":"Reading","type":"categories"},{"content":"","date":"3 juillet 2026","externalUrl":null,"permalink":"/tags/reading/","section":"Tags","summary":"","title":"Reading","type":"tags"},{"content":" Photo by Zoe on Unsplash Got quite a bit of reading done this month, because there was little else to do with the root canal and other things that kept popping up. Reading kept me sane.\nEmpire Podcast: Spice Wars, The Battle of the East India Companies, Episodes 358-360 # While India had the EIC later, Indonesia and its surroundings were ground earlier under the boot of the VOC. According to Wikipedia:\nStatistically, the VOC eclipsed all of its rivals in the Asian trade. Between 1602 and 1796, the VOC sent nearly a million Europeans to work in the Asia trade on 4,785 ships, and netted for their efforts more than 2.5 million tonnes of Asian trade goods and slaves. By contrast, the rest of Europe combined sent 882,412 people from 1500 to 1795. The fleet of the English, later British East India Company, the VOC\u0026rsquo;s nearest competitor, was a distant second to its total traffic, with 2,690 ships and one-fifth the tonnage of goods carried by the VOC. The VOC enjoyed huge profits from its spice monopoly through most of the 17th century.\nThe series details the history of the two early corporate raiders and plunderers, and the carnage they wrought in South East Asia and the Indian subcontinent.\nThe Rest is History, The Fall of the Incas, Episodes 644-649 # I don’t know why but I always assumed South America was colonised east to west. This series along with the Simon Bolivar series last month gives me the idea, that it went from the Caribbean to Mexico and then downwards towards the top of South America and down the west coast. I should read more history about the continent.\nThis series, somehow, felt even more heart breaking than the Aztecs. The greed and the avarice and the deception and the desperate, brutish, violence of it all, should leave you shaking with rage.\nThe Secret Pilgrim, John le Carré # The probably will be my last le Carré for a while. Too much bleakness, while real life is in a tumult is not good. A collection of stories big and small, with Smiley playing the framing device. This is more about Ned and his adventures in the service. I loved it.\nPlatform Decay, Martha Wells # Yay! New Murderbot episode! Bought and read in a day flat. Not as good as the older Murderbots, but even a middling Murderbot book is much better than most other books. Loved it to bits. Plot is the same as every other Murderbot. Murderbot rescues someone. What else is new? Murberbot now has regular “check-ins” with its feelings.\nControl, Andy Diggle, Angela Cruickshank, Andrea Mutti \u0026amp; Vladimir Popov # A modern hardboiled comic … err graphic novel. Cleaned out a lot of my comics. Most of the old ones have not aged well. And most of the new ones are just out there to shock you. Alan Moore really raised the bar. Nothing really comes close. His are the only ones I’ve held on to. V for Vendetta is the only one of two hardback I have. The other is my lovely Sandman series (written by the asshole who shall not be named, and illustrated by Keith, Dringenberg et al.)\nBack to Control. This plays like an old potboiler. Detective is framed. Detective has to break the law to get justice and show her innocence. Pretty decent writing. But lovely art.\nChung Ju-yung \u0026amp; Hyundai, Farnam Street Podcast # This is Shane Parrish trying to pull an Acquired like episode. Really, really, really good.\nThe (hagiographic) story of Chung Ju-Yung’s life and how he built Hyundai and was a major driving force behind South Korea turning into one of the largest economies in the world.\nSteve Jobs in Exile, Geoffrey Cain # If Becoming Steve Jobs, tracked Jobs and his personal growth through his Next years, this one fleshes out nearly everything Schlender talked about in his book. If you are interested in biographies or Steve Jobs, this is definitely worth a read. I bought it because this is the only era of Jobs’ life and career that I’m interested in. The turnaround of Apple was something started just as I entered the workforce and was something I lived through. The early Apple, I already know lots about. So I’ve always wanted to know what happened in the “lost decade.” Becoming Steve Jobs and Steve Jobs in Exile are a good duology to know everything about that era.\nApple: The First 50 Years, David Pogue # If you want an grand overview of Apple’s history, look no further. Pogue probably leveraged damn near every connection he must have had to write this. It’s a lovely history of the company. Gets a little sloggy in parts, but a good book nonetheless.\nLearning Object-Oriented Programming, Design and TDD with Pharo, Stéphane Ducasse \u0026amp; Damien Pollet # I just had to understand what message passing meant, and what Objects were, in the way the original authors intended it. Pharo is a spiritual descendant of Smalltalk, and like Lisp, works in a self contained environment where darn near everything is an object and can be reconfigured. This book gave me a really good base on which to build my further programming knowledge when it comes to Object Oriented Programming. This book—along with others—is freely available on the Pharo website.\nData Structures the Fun Way, Jeremy Kubica # Reading a No Starch book is always fun. And I read this to get a handle of just what the big picture was on Data Structures. This is a really good book that does that. Examples are clear. Ideas are well explained. And nothing gets too dreary. The coffee analogies are just … barista’s kiss!\nThe Art of Reading, Timothy Spurgin (The Great Courses) # This is the companion to Adler’s, How to Read a Book. Adler is about the craft, while Spurgin is about the art. They both complement each other. Adler comes from how to use your mind to tackle the rectangular piece of dead tree in front of you, in a methodical manner. And once you have that, Spurgin then takes you on a journey of just how large the world of reading is. How to think about narration. And the basics of storytelling. Of plots and plotting. The rise of metafiction. What it means to read closely and carefully. And how even small details all contribute the the work as a whole. It truly has made me want to be, what Spurgin calls, “an artful reader.”\nThis series of lectures was something I bought on a whim when I was trying to learn Mathematics via the Great Courses during Covid.1 And it just sat on the shelf, until I realised, I could just convert the videos to audio and then listen to them as I potter about the kitchen in the mornings. Halfway through the book, I also found that the Great Courses were available as audiobooks on Audible as well. So my wishlist is damn near full for the next two years now. 😂 So hopefully there will always be one of these courses I do every month. These are really lovely.\nGoing through this course, also finally helped me clarify to myself, just what it is that I consider a really good book. It has to be beautifully written. And the writing has to match the world and the genre. It also makes me realise books like these are few and far between, so now it also makes me a more patient book buyer :)\nSome examples: Richard Powers in The Overstory, Ursula K Leguin and Tamsyn Muir with all their works of fantasy, and Peter Watts too with his hard edged, dark, science fiction. And then there’s always the classics, which I am now slowly discovering and enjoying. Wish me luck!\nFeedback on this post?\nMail me at feedback at this domain.\nP.S. Subscribe to my mailing list!\ndon’t ask why.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"2 juillet 2026","externalUrl":null,"permalink":"/reading/books-i-read-in-june-2026/","section":"Reading","summary":"“When I have a house of my own, I shall be miserable if I have not an excellent library.” – Jane Austen, Pride and Prejudice","title":"Books I Read in June, 2026","type":"reading"},{"content":"","date":"2 juillet 2026","externalUrl":null,"permalink":"/tags/newsletter/","section":"Tags","summary":"","title":"Newsletter","type":"tags"},{"content":" What do all the stars and daggers after the book titles mean?\n¶ for Lindy books † for most non fiction\n‡ for tech / work / study / reference stuff # for alternate media (like audio or video)\nnumbers are footnotes\nSome book titles might be repeated (in addition to the annual Lindy reads :)\nAfter all, we are what we re-read :)\nJanuary # The Rest is History, The Nazis at War, Parts I-IV†# The Second Stain, Sherlock \u0026amp; Co. Podcast, Season 37# The Man with the Twisted Lip, Sherlock \u0026amp; Co. Podcast, Season 38# Mania for Subjugation III, Hardcore History, Episode 73†# The Thin Man, Dashiell Hammett Sister, Maiden, Monster, Lucy A. Snyder Shattered Lands, Sam Dalrymple†, Related Post The Psychology of Money, Morgan Housel†, Related Post History of the Alphabet, Kevin Stroud† A Play of Isaac, Margaret Frazer The Rest is History, Jack the Ripper, Parts I-IV†# The Muskgrave Ritual, Sherlock \u0026amp; Co. Podcast, Season 39 February # The Spy Who Came in from the Cold, John le Carré The Novice’s Tale, Margaret Frazer Beyond the Rift, Peter Watts The Servant’s Tale, Margaret Frazer Call for the Dead, John le Carré A Murder of Quality, John le Carré The Outlaw’s Tale, Margaret Frazer Deep Questions, Cal Newport, Episodes 381-390†# The Girl with the Dragon Tattoo, Stieg Larsson Falco, The Official Companion, Lindsey Davis March # The Girl Who Played With Fire, Stieg Larsson The Girl Who Kicked the Hornet’s Nest, Stieg Larsson The Looking Glass War, John le Carré Tinker, Tailor, Soldier, Spy, John le Carré The Honourable Schoolboy, John le Carré The Bear and the Nightingale, Katherine Arden The Girl in the Tower, Katherine Arden The Winter of the Witch, Katherine Arden April # 50 Literature Ideas, You Really Need to Know, John Sutherland† Deep Questions, Cal Newport, Episodes 391-400†# Lincoln the Unknown, Dale Carnegie† Empire Podcast, The Bronze Age Apocalypse, Episodes 332-337†# Empire Podcast, Indian Uprising 1857, Episodes 322-329†# The Beryl Coronet, Sherlock \u0026amp; Co. Podcast, Season 40 The Stockbroker’s Clerk, Sherlock \u0026amp; Co. Podcast, Season 41 The Six Napoleons, Sherlock \u0026amp; Co. Podcast, Season 42 Songteller, My Life in Lyrics, Dolly Parton†# Empire Podcast, The Middle East: From the Arab Cold War to the Israeli Invasion of Lebanon, Episodes 346-353†# May # The Three Garridebs, Sherlock \u0026amp; Co. Podcast, Season 43 The Empty House, Sherlock \u0026amp; Co. Podcast, Season 44 Smiley’s People, John le Carré Empire Podcast, Simon Bolivar: the Liberator, Episodes 354-357†# Vanguard, Spring 2026, Episode 3, Acquired Podcast†# June # The Rest is History, The Fall of the Incas, Episodes 644-649†# Empire Podcast, Spice Wars: The Battle of the East India Companies, Episodes 358-360†# Learning Object-Oriented Programming, Design and TDD with Pharo, Stéphane Ducasse \u0026amp; Damien Pollet‡ The Secret Pilgrim, John le Carré Control, Andy Diggle, Angela Cruickshank, Andrea Mutti \u0026amp; Vladimir Popov Chung Ju-yung \u0026amp; Hyundai, Farnam Street Podcast†# The Art of Reading, Timothy Spurgin (The Great Courses)‡# Steve Jobs in Exile, Geoffrey Cain† Data Structures the Fun Way, Jeremy Kubica‡ Platform Decay, Martha Wells Apple: The First 50 Years, David Pogue† July # Analysis and Critique, Dorsey Armstrong (The Great Courses)‡# D’Aulaires’ Book of Greek Myths, Ingri \u0026amp; Edgar Parin d’Aulaire A World is Born, Leigh Bracket Becoming a Great Essayist, Jennifer Cognard-Black (The Great Courses)‡# Writing Down the Bones, Natalie Goldberg How to Read a Book: The Art of Reading \u0026amp; Dialogues about Books, Mortimer Adler \u0026amp; Charles Van Doren‡# The Greek Interpreter, Sherlock \u0026amp; Co. Podcast, Season 45 The Engineer’s Thumb, Sherlock \u0026amp; Co. Podcast, Season 46 Pirates of Venus, Edgar Rice Burroughs ","date":"1 juillet 2026","externalUrl":null,"permalink":"/reading/2026/","section":"Reading","summary":"All the Titles from 2026","title":"2026","type":"reading"},{"content":"","date":"23 juin 2026","externalUrl":null,"permalink":"/tags/forgejo/","section":"Tags","summary":"","title":"Forgejo","type":"tags"},{"content":"","date":"23 juin 2026","externalUrl":null,"permalink":"/tags/pagefind/","section":"Tags","summary":"","title":"Pagefind","type":"tags"},{"content":"","date":"23 juin 2026","externalUrl":null,"permalink":"/tags/search/","section":"Tags","summary":"","title":"Search","type":"tags"},{"content":"\nIntended Audience Me. In case I want to retrace the big idea tomorrow\ntldr: https://janusworx.com/search # Being the lazyass that I am, I used to depend on search engine indexes to find something on my own blog. (First google, then DuckDuckGo.)\nKushal, having https://search.kushaldas.in/ has always made me jealous though.\nAnd now, the days of finding something relevant on my blog, on the first search are long gone. Search engines today are a pale shadow of what they used to be. The current load of crap actually makes me long for the days of Altavista!\nSo, I decided to get off my butt, and go do something about it, because everytime I want something, my blog is one of the first places I search.\nFor e.g. when writing this post, I needed to look up how to add line numbers to my code blocks. Search helped me find it :)\nI went to the Hugo website and decided to implement the first search tool1 they suggested: Pagefind.\nWell, I did that since Pagefind took care of the only thing I’m anal about. It keeps everything local and under my control. If not, I’d have kept looking for something else.\nWhat it (Pagefind) does, is parse the site, Hugo builds for me, and create a search index along with some more goodies (an api for search as well as UI components) in a bundle. The rendered html and the bundle together are now the artifact that my site is made up of.\nThe Plan # Get Pagefind and install it into a tools subdirectory in my blog’s directory, so I always have it handy (and the Forgejo action can get its grubby paws on it when it wants to run the publishing workflow) Create an entry in my menu, so I can go clicky to a search page. Create said search page. Make search work. Make the page resemble the rest of the blog as much as possible. Installing it and wiring it all up # 1. Installation # This is the easy part. Pagefind is a single binary, which I shoved into the tools subdirectory.\n2. Creating an entry for search in the navigation menu # I edited my Hugo config (mine is called hugo.yaml), and added search as a menu item.\nMore shifted downwards, as did its weight.\nmenus: main: # elided config - identifier: search name: search url: /search weight: 60 - identifier: more name: more … url: /more/ weight: 70 3. Creating the search page. # This was a two step process.\na. I needed a placeholder page that I could render some layout (a template) into. # This was search.md which lives in my content directory. This is all it contains …\n1 2 3 4 5 --- title: Search layout: search url: /search/ --- See the key that says layout on line 3? This is looking for a layout called search which is what we now create …\nb. Creating the search layout. # Papermod already ships with a layout called search. Which I did not want, because it is meant for use with another local search engine called lunr.js.\nHugo can override whatever file your theme provides, by letting you create your own versions of said file in the layouts directory. Hugo will then look at that instead of the theme’s file.\nOver the years I’ve gotten dangerous enough by using Hugo’s lovely channel for discourse. Between that, and Hugo’s documentation as well as Pagefind’s own help page, I rustled up a layout file called search.html which lives in my layouts/_default directory. This is what it contains …\n{{ define \u0026#34;main\u0026#34; }} \u0026lt;link rel=\u0026#34;stylesheet\u0026#34; href=\u0026#34;/pagefind/pagefind-component-ui.css\u0026#34;\u0026gt; \u0026lt;script type=\u0026#34;module\u0026#34; src=\u0026#34;/pagefind/pagefind-component-ui.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;div class=\u0026#34;main\u0026#34;\u0026gt; \u0026lt;article class=\u0026#34;post-single\u0026#34;\u0026gt; \u0026lt;header class=\u0026#34;post-header\u0026#34;\u0026gt; \u0026lt;h1 class=\u0026#34;post-title\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;/header\u0026gt; \u0026lt;div class=\u0026#34;post-content search-content\u0026#34;\u0026gt; \u0026lt;pagefind-searchbox id=\u0026#34;searchbox\u0026#34; autofocus=\u0026#34;true\u0026#34; shortcut=\u0026#34;/\u0026#34; placeholder=\u0026#39;{{ i18n \u0026#34;search_placeholder\u0026#34; }}\u0026#39;\u0026gt; \u0026lt;/pagefind-searchbox\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/article\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;script\u0026gt; // we’re waiting for the pagefind-searchbox component to be registered customElements.whenDefined(\u0026#39;pagefind-searchbox\u0026#39;).then(() =\u0026gt; { const box = document.querySelector(\u0026#39;pagefind-searchbox\u0026#39;); // shadowRoot input, or a delegatesFocus component may expose it differently const tryFocus = () =\u0026gt; { const input = box.shadowRoot?.querySelector(\u0026#39;input\u0026#39;) ?? box.querySelector(\u0026#39;input\u0026#39;); // search for input boxes in two different ways above // and if it finds one focus it below if (input) { input.focus(); } else { // component rendered but input not yet in DOM — wait one more frame // wait for the shado requestAnimationFrame(tryFocus); } }; // try one more time requestAnimationFrame(tryFocus); }); \u0026lt;/script\u0026gt; {{ end }} This creates the box on the search page, ready to take input and show results.\nUpdate (2026-06-24): The eagle eyed amongst you, have figured out this code has changed between yesterday and today. I used Pagefind’s documentation to simplify what I had yesterday even more and then got one of the llms to write a script that focuses the input box when the page loads, so that we can just start typing in whatever we need to search.\n4. Make the page resemble the rest of the blog as much as possible. # Doing things a bit out of order and finishing up with the page first.\nLeaned on Pagefind’s docs as well as Chatgpt, Claude and Gemini for this part to create a CSS file, that looks pretty native to my blog. I’ve called it include-pagefind.css and it lives in the assets/css/extended subdirectory.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 :root { /* you don’t really need to use `pf-font`, if you don’t have a custom font. for some reason, it wouldn’t render the font I specified here, so I forced it with `!important` */ --pf-font: your-font-name-here !important; --pf-text: var(--primary); --pf-text-secondary: var(--secondary); --pf-text-muted: var(--secondary); --pf-background: var(--theme); --pf-border: var(--border); --pf-border-focus: var(--primary); --pf-hover: var(--tertiary); --pf-mark: var(--primary); --pf-border-radius: 8px; --pf-input-height: 48px; --pf-input-font-size: 1rem; --pf-result-title-font-size: 1rem; --pf-result-excerpt-font-size: 0.90rem; --pf-shadow-sm: none; --pf-shadow-md: none; --pf-shadow-lg: none; } .search-content { margin-top: 2rem; } pagefind-input { display: block; margin-bottom: 1.5rem; } pagefind-summary { display: block; margin-bottom: 1rem; } pagefind-results { display: block; margin-top: 1rem; } pagefind-results a { text-decoration: none; } pagefind-results article { border: 1px solid var(--border); border-radius: 8px; padding: 1rem; background: var(--entry); } pagefind-results article:hover { background: var(--tertiary); } 5. Make Search Work. # This is a 3 step process\na. Build the blog. # Easy peasy. hugo build and we have our blog rendered in the public subdirectory.\nb. Get Pagefind to create its index in the build directory. # This is easy as well.\n./tools/pagefind --site public and Pagefind creates a pagefind subdirectory in our public directory where it creates its search index after reading all the html.\nAll I need to do now, is just …\nc. Publish! # Ok, I lied a teensy bit. I don’t have to do steps a. and b. because they are part of step c.\nThe Forgejo action checks out my committed files, pulls in Hugo from a private package repo, builds the site, then runs Pagefind to generate the index2 and finally uses rysnc to sync it with the VM. Here’s the relevant section of the action.\n# lots of stuff elided … jobs: build-and-deploy: runs-on: my-big-box env: HUGO_VERSION: ${{ vars.HUGO_VERSION }} steps: # lots of snipped stuff … - name: Checkout the website repo uses: actions/checkout@v4 with: submodules: recursive fetch-depth: 1 - name: Build website with Hugo env: HUGO_ENVIRONMENT: production run: | hugo \\ --gc \\ --minify - name: Build the Pagefind search index run: | tools/pagefind \\ --site public I thought the indexing would take a lot of time and was hesitant to use it as part of a regularly run Forgejo action workflow, but several runs show that the index generation only increases the time by at a couple of seconds at most. This is amazing!\nNow I can search my own words, on my own blog, to my hearts content!\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nas on 2026-06-23\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthis is why i chucked it into the tools subdirectory and committed it.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"23 juin 2026","externalUrl":null,"permalink":"/work/you-can-now-search-this-blog/","section":"Work","summary":"","title":"You Can Now Search this Blog","type":"work"},{"content":" Goals + Recap # Get through the day 2026-06-12 10:00 # Modified my notes bash function to launch the hugo live view in a browser as well It began with just starting up a new note using today’s date and the notes archetype, progressed to committing the note automatically to git (with another script that would keep doing so) and now launching the live view as well 😂 If I keep doing the same thing everyday, I eventually get the urge to automate it. 2026-06-12 16:05 # Spent the day doing errands and then window shopping on Audible 😂 Feedback on this post?\nMail me at feedback at this domain. ","date":"12 juin 2026","externalUrl":null,"permalink":"/nm/2026-06-12/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-06-12 Notes","type":"nm"},{"content":" Goals + Recap # Potter around the house and the computer. Get through the day. 2026-06-11 08:15 # In too much pain today. Will just try and get bits and bobs done. Sent my reading newsletter a couple of days ago. Forgot to log it here Got to freeing quite a bit of space by deleting a lot of comic books off my computer. I wasn’t as attached to them as I thought. Freed quite a bit of disk space. Filling up all that disk space and more this morning, by “liberating” my recent Audible purchases. Tried my tiny home grown bash script to upgrade the sendy install (have deliberately kept it manual.) Everything went smoothly. Kudos to past Jason for documenting everything so well! 2026-06-11 10:10 # Focussing when the body is in pain, seems to have been a really optimistic idea. I got some Rustlings done, not nearly as much as I thought I’d get done. Being uncomfortable, both mentally and physically is not something that I can do, as I’ve found to my disappointment. Oh to be young and foolhardy and full of life. But then, it is exactly that foolhardiness, landed me in this pickle 😂 2026-06-11 19:35 # Washing clothes And then bed Feedback on this post?\nMail me at feedback at this domain. ","date":"11 juin 2026","externalUrl":null,"permalink":"/nm/2026-06-11/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-06-11 Notes","type":"nm"},{"content":"\ncourtesy, Encyclopædia Britannica Didn’t read as much as I wanted to. Too much, as they say, of life happened! Been reading in the small snatches of time that I get.\nSherlock \u0026amp; Co. Podcast # The Three Garridebs, Season 43\nMariana (Mrs. Hudson) Ametxazurra (the amazing Marta da Silva), helms this one.\nBecause John is, uhm, out of the picture somehow.\nThis one is not filler (even though I love their fluffy episodes very much, as well) and is a bit dark.\nAddictive listening as usual.\nThe Empty House, Season 44\nThe House across No. 22B Baker Street is empty!\nIs the spider still around?\nOnce again Mariana untangles the pieces. Also Sherlock creates a pillow fort!\nVanguard, Spring 2026, Episode 3, Acquired Podcast # St. Jack, needs no introduction to you folks if you invest in the markets (specially if you are a die hard Boglehead).\nJack Bogle took a very blue collar, common sense, attitude to investing.\nAnd then, he brought it to the masses.\nAnd then, he spent the rest of his life, preaching it.\nIf you think index funds are the bees knees, you have Jack to thank!\nThe podcast goes through his life and reveals just why Jack had to do things, the way he did them.\nSmiley’s People, John le Carré # George spends twenty years obsessing over a lighter and then when he actually gets it back, does not want it.\nWell, that’s one way of spoiling the novel 😂\nTo me, it sort of put an end to one era of le Carré’s novels.\nWe end at another border crossing in Berlin and Smiley gets some form of closure.\nIf you enjoy bleak, nihilistic, yet well crafted novels, le Carré’s your man.\nEmpire Podcast: Simon Bolivar: the Liberator, Episodes 354-357 # “Freedom is often the first casualty of war.”\n— Gabriel García Márquez, The General in His Labyrinth\nA rapid run, through the complex life of the man who led six countries to freedom! (ergo, El Libertador)\nHe wanted freedom, but mostly for his class, not for the underclass.\nAnd yet to gain that freedom, he ranged so wide and rode thousands of miles on horseback, leading folks to call him Iron Ass!\nHe fought Spain and he fought the jungle and he fought tuberculosis.\nHe jailed and killed his own supporters out of paranoia.\nHe finally had to be stripped of power and yet remains one of South America’s biggest heroes.\nWell worth a listen.\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\n","date":"9 juin 2026","externalUrl":null,"permalink":"/reading/books-i-read-in-may-2026/","section":"Reading","summary":"“Freedom is often the first casualty of war.”, Gabriel García Márquez, The General in His Labyrinth","title":"Books I Read in May, 2026","type":"reading"},{"content":" Goals + Recap # Cook Do some Rust Read a bit 2026-06-08 08:55 # Trying to take it slow. This week and the next will be quite busy between personal and medical stuff. Will try and do things as slowly as possible. Since I cannot focus, will just divide my time between reading and Rustlings exercises. Note to self: Move recurring weekend tasks and redistribute them in the week somewhere. Makes it impossible to relax otherwise. PS was right, as usual. Hate it when a twenty something chit has to teach a forty some old geezer stuff about life. Found Eleanor Konik’s blog, via Chris Krycho’s new post on his new approach to note taking on books. Now that’s a few hours of my life well sunk! 😂. Her approach to note taking is pretty exhaustive! 2026-06-08 19:30 # Off to bed! Feedback on this post?\nMail me at feedback at this domain. ","date":"8 juin 2026","externalUrl":null,"permalink":"/nm/2026-06-08/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-06-08 Notes","type":"nm"},{"content":" Goals + Recap # Client call 2026-06-03 19:30 # Loooong day. Finished one technical book after a long time, though. Time for bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"3 juin 2026","externalUrl":null,"permalink":"/nm/2026-06-03/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-06-03 Notes","type":"nm"},{"content":" Goals + Recap # Get through another day Do NMC tasks 2026-06-02 10:35 # Been struggling to recover from the flu and restlessness last week. Instead of doing two things a day, will try just doing one thing a day (which today means doing some open source work) Shower thought. Should one day a week (maybe Friday) be dedicated to writing? Or I’ll never quite write anything of note (bar these silly daily notes). I am jealous of my friend (and former colleague) Mandar Vaze, or folks like Charles Choi or Chris Krycho, who have a semi regular writing routine Another shower though. Between work and home, there are so many things I have to do, that I am struggling a bit and have lost sight of the things that engage me, the thing I want to do. But in the grand scheme of things, that is not such a bad problem to have :) Maybe I should have called these, tea thoughts, because I’ve been having them as I enjoy my warm mint tea. 2026-06-02 11:15 # Other colleagues have already done the NMC work for me. (PS has be instrumental with these. I don’t quite know how to thank her). Did some more reflection, and decided to step back from open source for a month, until I get back into better frame of health and mind. 2026-06-02 14:20 # Thought I would invest some money. Got ridiculously confused over my chart. Will do next month. Am already helping mom with another financials chart. Don’t want to muddle things up 2026-06-02 17:15 # Long, intermittent, client calls today. 2026-06-02 20:20: Shutting down. Feedback on this post?\nMail me at feedback at this domain. ","date":"2 juin 2026","externalUrl":null,"permalink":"/nm/2026-06-02/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-06-02 Notes","type":"nm"},{"content":" Goals + Recap # Just get through the day 2026-05-28 09:30 # The past few days have just been a blur of fever and housework. A bit better today. Let’s see how it goes. Feedback on this post?\nMail me at feedback at this domain. ","date":"28 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-28/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-28 Notes","type":"nm"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/corrode/","section":"Tags","summary":"","title":"Corrode","type":"tags"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/mailing-list/","section":"Tags","summary":"","title":"Mailing-List","type":"tags"},{"content":" Intended Audience Mostly me (confirmation bias. slight gloating 😂)\nI’m writing this post today, because I monkeyed with my newsletter template. Again!\nSo this post is just to make sure there are no more hiccoughs :)\nMatthias Endler, he of the fantastic Rust in Production podcast (and the Corrode rust consultancy) just published a post on his newsletter setup and how he went about building it.\nHis reasons (and his story) are really similar to mine.1\nTinyletter =\u0026gt; Mailchimp =\u0026gt;\nWanting to have a semblance of control after being burnt =\u0026gt; Self hosting!\nHe settled on Plunk, while I use my Sendy + Amazon SES combo. (they look pretty similar to me)\nNewsletters live in a git controlled repo. Same.\nWrite in my favourite editor. Ditto.\nOne markdown file per letter. Same pinch!\nThe only difference, is his workflow is controlled by a fancy cli, while I depend on ye old copy \u0026amp; paste.\nHaving someone with a visible presence do this, hopefully serves as an inspiration to others.\nI just wish more of my nerd kinfolk do this!\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nexcept for his audience ofcourse! Which is orders of magnitude larger than my dinky little circle of friends\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"22 mai 2026","externalUrl":null,"permalink":"/work/matthias-endler-built-his-own-newsletter-setup/","section":"Work","summary":"","title":"Matthias Endler Built His Own Newsletter Setup","type":"work"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/matthias-endler/","section":"Tags","summary":"","title":"Matthias-Endler","type":"tags"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/sendy/","section":"Tags","summary":"","title":"Sendy","type":"tags"},{"content":"\nDistill a whole year down into a day\nAct like we all start over with a pristine slate\nTo get yourself a new life you\u0026rsquo;ve got to give the other one away\nAnd I\u0026rsquo;m starting to believe, in the power of a name\nCause it can\u0026rsquo;t be a mistake,\nif I just call it change!\n— Sara Bareilles, December\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\n","date":"22 mai 2026","externalUrl":null,"permalink":"/personal/change-sara-bareilles/","section":"Personal","summary":"","title":"Change!","type":"personal"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/europe/","section":"Tags","summary":"","title":"Europe","type":"tags"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/france/","section":"Tags","summary":"","title":"France","type":"tags"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/paris/","section":"Tags","summary":"","title":"Paris","type":"tags"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/sara-bareilles/","section":"Tags","summary":"","title":"Sara-Bareilles","type":"tags"},{"content":"","date":"22 mai 2026","externalUrl":null,"permalink":"/tags/travel/","section":"Tags","summary":"","title":"Travel","type":"tags"},{"content":" Goals + Recap # Try a couple of more newsletters Client call 2026-05-22 16:00 # One letter done Client call done. 2026-05-22 17:20: Wrote another post. Getting into the groove of writing MJML! Off to a walk. And then bed. More now, on Monday! Feedback on this post?\nMail me at feedback at this domain. ","date":"22 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-22/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-22 Notes","type":"nm"},{"content":"","date":"21 mai 2026","externalUrl":null,"permalink":"/tags/email/","section":"Tags","summary":"","title":"Email","type":"tags"},{"content":"\nIntended Audience Mostly me.\nAlso hopefully, other folks struggling with, or looking for a way to create email newsletters.\nI recently upgraded Sendy, the software, I’m using to create and send my newsletters.\n(I don’t need the new shiny, or the extra features, but also those folks have been pretty good as far as pricing and functionality go, and I want them to stick around for a long time.)\nThe new release, in addition to a refreshed interface, now features a block WYSIWYG editor. And my old template (based on the venerable Antwort) that I used to compose my emails broke. What used to be a predictable way of writing emails, now turned into something filled with papercuts. Everything would look alright, but everything was ever so subtly out of place.\nSo I went looking for something that I could live with long term once again.\nSince all of this is a personal hobby and I only use all of this to send mail to a handful of my friends, most of the paid options go right out of the window, because. And because I am a control freak, hosted options aren’t a thing for me either.\nEnter MJML.\nFrom their website:\nMJML was created in early 2015 by a team of Mailjet developers while they were working on Passport, Mailjet’s drag-and-drop interface for creating responsive emails. Having been knee deep in email for five years, the Mailjet team saw two things: a) email HTML is antiquated and not developer friendly b) a growing trend of email being viewed on mobile and tablet and the number of screens is only increasing. This means that finding a way to code responsive email easily and quickly is pretty important. The team started by creating a new markup language that would abstract the complexity of responsive HTML and automatically generate it. And that’s how MJML was born.\nAfter learning so much from our users, we wanted to give back to the community by sharing this open-source framework to make responsive email easier and redefine the coding experience once and for all.\nIt works in the same vein as revealjs.1\nYou install the tool and use their semantic markup to write a document.\nThe MJML cli tool, in this case, then renders it to email worthy HTML.\nThe markup is simple and well thought out. Writing it is a breeze.\nI used Timo Reymann’s MJML plugin for Jetbrains editors to help me write, which makes things even easier, since it let’s me preview my work live.\nI took one of their pretty templates, Recast and then stripped it down to meet my needs and match it as closely as I could to my old customised Antwort template.\nNow all I do, is write, copy the HTML into the sendy editor and send. Life is good!\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nOr does revealjs work in the same vein as mjml?\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"21 mai 2026","externalUrl":null,"permalink":"/work/found-mjml/","section":"Work","summary":"","title":"Found MJML","type":"work"},{"content":"","date":"21 mai 2026","externalUrl":null,"permalink":"/tags/mjml/","section":"Tags","summary":"","title":"Mjml","type":"tags"},{"content":" Goals + Recap # Continue jotting down the things i want to do in the next few months here (copying them from day to day, so that I can empty my mind over this week). Cook Finish first draft my newsletter template I want to (the asterisks are important): # Finish my AWS kubernetes project* Prepare for my new Kubecon India talk* Learn Rust* Do TeachYourselfCS* (this is important, but medium term) Learn about lighting in photography Learn more about Darktable Learn French Learn Urdu Hmm … what else do I have on my mind? 2026-05-21 08:25 # Decided I wasn’t quite happy with the newsletter template. So will try a couple of final tweaks 2026-05-21 11:00 # Got done tweaking my template. Now to write a letter. Got done with my NMC backlog. 2026-05-21 12:55: Wrote and send my first newsletter with MJML and the new template. Now to rush to cook. 2026-05-21 19:00 # Think I’m done with the braindump. Will move them to my TODO file. (half the stuff is in there already!) Rejigging my daily routine Ok done. Time for bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"21 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-21/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-21 Notes","type":"nm"},{"content":" Goals + Recap # Continue jotting down the things i want to do in the next few months here (copying them from day to day, so that I can empty my mind over this week). Cook I want to (the asterisks are important): # Finish my AWS kubernetes project* Prepare for my new Kubecon India talk* Learn Rust* Do TeachYourselfCS* (this is important, but medium term) Learn about lighting in photography Learn more about Darktable Learn French Learn Urdu Hmm … what else do I have on my mind? 2026-05-20 08:25 # Been busy in the kitchen since morning. Cooking anything from scratch is both painful (because of the back) and meditative and pleasing. 2026-05-20 15:40 # Cooked up a storm. and now I’m dead tired. Got the kitchen, the way I wanted though.1 So hopefully, tomorrow is easier Now to try working on my newsletter template. 2026-05-20 19:30 # Done with creating the template. MJML is pretty handy. Used a preexisting template and then modified it to match my original as closely as possible. Works beautifully with the new sendy. There’s plenty of rough edges, but this should be enough to let me start writing again for now. Feedback on this post?\nMail me at feedback at this domain. Mom’s going to kill me when she returns\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"20 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-20/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-20 Notes","type":"nm"},{"content":" Goals + Recap # Continue jotting down the things i want to do in the next few months here (copying them from day to day, so that I can empty my mind over this week). Figure out how to send newsletters with the new sendy install. The old template is broken. Need some other way, than the default web editor I want to (the asterisks are important): # Finish my AWS kubernetes project* Prepare for my new Kubecon India talk* Learn Rust* Do TeachYourselfCS* (this is important, but medium term) Learn about lighting in photography Learn more about Darktable Learn French Learn Urdu Hmm … what else do I have on my mind? 2026-05-19 11:40 # Found MJML. Will work on it a bit on the coming days to create a template and use that to send my newsletters 2026-05-19 15:15 # Cooked lunch. Had lunch. Had a nap. Will try figuring out MJML for a bit before tea and walk. Installed mjml with npm and installed the mjml pluging in Webstorm. 2026-05-19 15:55: Ok no walk today. It is too hot out and I am too tired. Nap and then trying to do some MJML 2026-05-19 17:30 # Shutting down. Will continue tomorrow. Will go walk now Feedback on this post?\nMail me at feedback at this domain. ","date":"19 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-19/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-19 Notes","type":"nm"},{"content":" Goals + Recap # Continue jotting down the things i want to do in the next few months here (copying them from day to day, so that I can empty my mind over this week). Drop mum at the airport Upgrade my sendy install I want to (the asterisks are important): # Finish my AWS kubernetes project* Prepare for my new Kubecon India talk* Learn Rust* Do TeachYourselfCS* (this is important, but medium term) Learn about lighting in photography Learn more about Darktable Learn French Learn Urdu Hmm … what else do I have on my mind? # Feedback on this post?\nMail me at feedback at this domain. ","date":"18 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-18/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-18 Notes","type":"nm"},{"content":"\nApril was as busy as March, with hardly any time, between returning from Kubecon, catching up with everything and then once again getting ready to visit a client in early May. Did get quite a bit reading done though.\nAs you can see above, I was enchanted by the magic of Dolly Parton all this month!\nDeep Questions, Cal Newport, Episodes 391-400 # I’m going to stop counting these episodes as books now.\nCal’s getting more prolific and repetitive.\nNeither of which are bad things at all.\nBut this means that I now listen to him, like I listen to my old songs or Ziglar tapes.\nJust so that I can hear their voices and remember their principles.\n400 seems to be a lovely place to stop counting.\nHis advice and work on the intersection of life and craft, is invaluable to me, and you can be sure, I’ll be listening as long as he is sharing his thoughts.\nLincoln the Unknown, Dale Carnegie # This is a book I read when I was a child and when I came across it in a flea market, I picked it up out of sheer delight and nostalgia.\nIt presents Lincoln as a moral guide with plenty of stories of his life, his family and his work. No critical or academic study here. It has quite a few facts and a great deal of hagiographic admiration as well.\nI absolutely loved it!\nEmpire Podcast # Indian Uprising 1857, Episodes 322-329\nThe First War of Independence, the Indian Uprising of 1857, the Great Sepoy Mutiny, it goes by so many names.\nThis series goes into quite a bit of depth on the events upto and during the war for independence and presents many, many points of view.\nThis was a wonderful listen.\nThe Bronze Age Apocalypse, Episodes 332-337\nA small series on a old civilisation extant in the Levant and its relationships with other places in the Mediterranean.\nThe Middle East: From the Arab Cold War to the Israeli Invasion of Lebanon, Episodes 346-353\nIf you want to know all the context for what’s happening in Iran now, go listen to this series. Very insightful.\nThe Beryl Coronet, The Stockbroker’s Clerk, The Six Napoleons, Sherlock \u0026amp; Co. Podcast, Season 40, 41 \u0026amp; 42 # A series of tiny adventures stringing along a much larger arc. Who is the Spider? Is it Moriarty lurking in the shadows? It’s getting thrillier and thrillier!\nLiterature Ideas, You Really Need to Know, John Sutherland # Lots of concepts very simply explained and thought through. Everything I found here, will help me be more introspective about all future (good) books I read. I learned quite a lot. Here’s a bit about classics …\n‘Classic’ – a debased term? Eliot’s question (what is a classic?) remains tantalizing; and the abuses of the term he joked about are still everywhere. ‘Classic comedy’ is more likely to mean Carry On Up the Khyber than Aristophanes. Football matches, rock-and-roll and tea cakes are all given honorific ‘classic’ status (cigars are also labelled ‘Hamlet’ – but that, like nags called Dante, is something else).\nOverused and abused as the term is, literature still needs it. Properly applied, the idea of ‘classic’ points towards something that we hold to be centrally important – although defining that something is tricky.\nEliot saw classics as fruit of the society in which they happened. ‘A classic,’ he told his Virgilian audience, ‘can only occur when a civilization is mature; when a language and a literature are mature. And it must be the work of a mature mind.’ He doubtless made this lofty statement in an auditorium where the blackout blinds were pulled down, as part of the protective measures against German bombers aiming to blast the assembled classicists to pieces. Whatever epithet one chose in 19441 for the civilization that had produced Virgil (currently under the heel of Mussolini), ‘mature’ would not be it.\nThe classic and empire: [Frank] Kermode was sharper in his sociology than Eliot. It was not a civilization but an empire – with all the temporal (and, if necessary, brutal) cultural power imperialism implies – that supplied the foundation for the classic. If a language is, as linguists like to joke, a dialect with an army behind it, then classic literature is writing with an imperium behind it. This is easily enough tested with reference to the European Union, which currently has some 27 member countries. Which of those countries can be said to have classic literatures, as opposed to some impressive works of literature? The answer would be those which – before the twentieth-century winds of change blew – had great empires (Britain, France, Spain, Italy, Portugal, Germany, Holland, Austria, Belgium). Does Luxembourg have its classics? Or Moldova? Where are their Shakespeares, Racines or Cervantes?\nIn a brilliant critical move Kermode argues that it is the very pliability of the classic that is its essence. It ‘accommodates’ – makes itself at home – wherever and whenever it finds itself. It is the classic’s ability to be both antique, yet modern, its infinite – but never anarchic – plurality that defines it. A work like King Lear, Kermode argues, ‘subsists in change, by being patient of interpretation’. Every generation will read, or understand, King Lear differently insofar as every generation is different from its predecessors. No final version, or interpretation, of the play can be achieved. But every generation will find its own satisfactory interpretation. And the classic is tolerant of each and every different explanation of itself.\nThe condensed idea\nThe classic is the gold standard of literature – but all that glistens is not classic\nSongteller: My Life in Lyrics, Dolly Parton # I listened to this on audio first, because I wanted to hear Dolly sing, just as I wanted to hear Sara Bareilles tell of her songs in her book and Judi Dench speak of her perfomances in hers. And then I went and bought it as an ebook as well, because I wanted to see all the pictures as well :)\nMy childhood was Dolly Parton (and Kenny Rogers and Willie Nelson and other country artists). And I probably listened to her as she hit her stride as an extremely successful solo artist. Because I had no idea of her variety show on television and all her work with Porter Wagoner for close to two decades before her solo work, seventies onwards.\nI loved hearing her voice, humming along and laughing along and telling stories of her dad and her husband and all her big family and the struggles she faced and the way she handled fame, showcased in short, rapid vignettes. If you love her music, this is a must listen. Dolly’s amazing!\nDolly, talking about her song, “The Sacrifice” as well as reminiscing on her journey.2\nThis is a song that I wrote that just came out of my heart and soul, my gut. Sometimes you wonder if you’ve made all the wise choices. Would you do things differently if you could?\nPeople say, “How come all of this success happened to you?” I say, “Because I sacrificed whatever I had to in order to get it.” You can’t veer off into this and that. You can’t lose your momentum if you’ve got a dream and a focus. I always felt like God was directing me. So I’m not going to let up until He says, “Stop.” I just keep going, like a horse with blinders on.\nI wrote “The Sacrifice” because somebody asked me that question. Well, the answer is, I gave up time with family and friends. I gave up vacations for work. I “carried my pail.” Like the song says, “You don’t drink the water, if you don’t drill the well.” One of my favorite lines I ever wrote is, “I was gonna be rich, no matter how much it cost / And I was going to win, no matter how much I lost.”\nIt’s only in the wee hours, when you’re fading off to sleep, that you ask, “Is it worth the sacrifice?” I think I probably wouldn’t have done anything different, because I believe that this is what I was supposed to do. Who am I not to sacrifice to make things better for the people here that I am responsible for?\nYes, I would do it all again. No doubt about it.\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nEliot was addressing the Virgil Society on the subject of classics in 1944\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThis text closes the audiobook. But I’ve chosen the paraphrased text from the ebook though. Dolly’s actual ramble while lovely to listen to, meanders somewhat before it gets to her very emphatic No doubt about it :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 mai 2026","externalUrl":null,"permalink":"/reading/books-i-read-in-april-2026/","section":"Reading","summary":"Of Songs and Telling Stories of Songs …","title":"Books I Read in April, 2026","type":"reading"},{"content":" Goals + Recap # Continue jotting down the things i want to do in the next few months here (copying them from day to day, so that I can empty my mind over this week). Client call I want to (the asterisks are important): # Finish my AWS kubernetes project* Prepare for my new Kubecon India talk* Learn Rust* Do TeachYourselfCS* (this is important, but medium term) Learn about lighting in photography Learn more about Darktable Learn French Learn Urdu Hmm … what else do I have on my mind? 2026-05-15 09:40 # Busy weekend. Client call today And then will be busy with personal stuff. Should be back Monday now. Feedback on this post?\nMail me at feedback at this domain. ","date":"15 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-15/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-15 Notes","type":"nm"},{"content":" Goals + Recap # Continue jotting down the things i want to do in the next few months here (copying them from day to day, so that I can empty my mind over this week). Another date with the dentist. I want to (the asterisks are important): # Finish my AWS kubernetes project* Prepare for my new Kubecon India talk* Learn Rust* Do TeachYourselfCS* (this is important, but medium term) Learn about lighting in photography Learn more about Darktable Learn French Learn Urdu Hmm … what else do I have on my mind? 2026-05-14 15:45 # Done with the dentist. Had lunch. Now on a walk. 2026-05-14 17:30 # Client Meeting Day planned. Shutdown Feedback on this post?\nMail me at feedback at this domain. ","date":"14 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-14/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-14 Notes","type":"nm"},{"content":" Goals + Recap # Jot down the things i want to do in the next few months here (copying them from day to day, so that I can empty my mind over this week) I want to (the asterisks are important): # Finish my AWS kubernetes project* Prepare for my new Kubecon India talk* Learn Rust* Do TeachYourselfCS* (this is important, but medium term) Learn about lighting in photography Learn more about Darktable Learn French Learn Urdu Hmm … what else do I have on my mind? 2026-05-13 09:30 # Doing my bare french, because I have more Hugo stuff to configure (rather, rollback because I want the theme (Papermod) to catch up to the new Hugo changes, otherwise the site breaks) 2026-05-13 09:50: Rollback done. Everything works now! The pace of Hugo realeases is too fast for most of the surrouding ecosystem methinks. 2026-05-13 10:00: Updated my submodules manually. Left papermod alone. 2026-05-13 10:30 # Client meeting. 2026-05-13 13:35: Done with call and lunch. Short nap. 2026-05-13 20:25 # Another client call. Dinner. Some day planning and then bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"13 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-13/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-05-13 Notes","type":"nm"},{"content":" Goals + Recap # Do some investments for the better half Jot down the things i want to do in the next few months here I want to (the asterisks are important): # Finish my AWS kubernetes project* Prepare for my new Kubecon India talk* Learn Rust* Do TeachYourselfCS* (this is important, but medium term) Learn about lighting in photography Learn more about Darktable Learn French Learn Urdu Hmm … what else do I have on my mind? 2026-05-12 12:30 # Busy morning. Helped a client out with stuff. Still in a bit of pain, from all the dental stuff, but at least am home and can take it easy. 2026-05-12 13:00: Too late to do any big thing before lunch, so configured my hugo config to eliminate a ton of warnings, that the latest version was constantly yapping at me about. 2026-05-12 13:30 # Back at my desk. Let’s get done with the investments. 2026-05-12 14:45: Ok. Done! Now to stop worrying about it until next year 😂 2026-05-12 18:15 # Back from my walk. 2026-05-12 19:15: Done with another client call. 2026-05-12 19:40: Planned tomorrow. Time for bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"12 mai 2026","externalUrl":null,"permalink":"/nm/2026-05-12/","section":"Notes \u0026 Miscellanea","summary":"A get things out of my brain, day","title":"2026-05-12 Notes","type":"nm"},{"content":" Goals + Recap # Some CS:APP Some photography tutorials 2026-04-29 09:05 # Doing some cleanup of my e-book library 2026-04-29 17:25 # Nothing and lots of things done today Lots of disjointed work. Couldn’t do any of the things I wanted. Will be back now in a couple of weeks Feedback on this post?\nMail me at feedback at this domain. ","date":"29 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-29/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-29 Notes","type":"nm"},{"content":" Goals + Recap # More photography tutorials Read a bit of CS:APP 2026-04-28 08:25 # The strays were too fussy about eating today. Had to chase after them in the heat for close to twenty minutes. Now I know why the expression “mad dogs” exists 😂 Both of mine are nuts! :) 2026-04-28 14:45 # Done with my tutorials Done with NMC work (background earworm) 2026-04-28 15:30: Off to a walk 2026-04-28 18:30 # Done with my walk. Now to rapid read some CS:APP. Everytime I read anything about code, folks talk about stuff with a lot of context. And as I am slowly getting better at writing programs, I realise I have none of it. So getting some fundamentals in, will be really helpful! Switched to Okular (installed via a flatpak on Mint) to read all my large PDF files. Such a relief, to not have the CPUs crank up and get the fans howling. 2026-04-28 19:21: Getting started with a technical book is hard. Distracted as shit. 2026-04-28 19:32: Giving up. Off to wind down, and go to bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"28 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-28/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-28 Notes","type":"nm"},{"content":" Goals + Recap # Watch photograpy tutorials 2026-04-27 09:45 # Not in good physical shape today. Pulled something during physio. Taking it easy 2026-04-27 11:00: French done. Trying to figure out Math conferences for my niece 2026-04-27 11:25: Done. Now for some photography lighting education 2026-04-27 20:00 # Exhausting day. Lots of housework. Time for bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"27 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-27/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-27 Notes","type":"nm"},{"content":" Goals + Recap # Darktable lessons Figure out Look Up Tables (LUTS) for my Fujifilm camera to use in Darktable 2026-04-25 09:45 # Done with the morning routine. 2026-04-25 10:30: Started watching Dylane Moreau’s French Grammar Lessons. Upto lesson 4 today. Off to make some green tea. And then on to Darktable. 2026-04-25 10:35 # Ok, ready with tea at the desk. 2026-04-25 10:45: Making good progress learning darktable. Most of it seems to be figuring out where the image controls are now in Darktable as opposede to where they were in Lightroom. (and figure out how to twiddle the knobs to get what I want.) The instructor has a thick French accent. Reminds me of my old school days. My high school physics and chemistry teachers would talk about waves and valencies in heavy Tamil and Marathi accents. And all of them are top notch at what they do :) It adds real flavour to my learning! 2026-04-25 12:02: Done learning most of the modules. Now to figure out how to apply them locally and selectively using masks. And a huge sigh of relief! Now I am quite sure, I can get replicate my old photo workflow in Darktable. Figuring out LUTs for my Fujifilm X-T5 camera later and I should be all set! 2026-04-25 13:20: Yay! Course succesfully completed! Now to lunch 2026-04-25 16:05 # Time to walk 2026-04-25 19:55 # Read a couple of magazines Time for bed Feedback on this post?\nMail me at feedback at this domain. ","date":"25 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-25/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-25 Notes","type":"nm"},{"content":" Goals + Recap # Learn some Darktable Figure out to use my clothes vacuum pump, so that I can compact my winter clothes in a vacuum sealed bag 2026-04-23 08:15 # The pain is much less today. Modern root canals seem to be much better than those of yesteryear. (Note to self: Remember to take your meds) I bought myself an electric kettle a couple of months ago, so that I would always have hot water on hand. I love using playing with it. I love listening to the sounds the water makes as it boils. It’s very meditative. I also like letting out the steam after I pour the water out. Fly away you little baby cloud. You’re free! 😂 2026-04-23 10:25 # Figured out the vacuum thing. All the woolies are in. Put all my soft toys in another bag and compressed them as well 😂 2026-04-23 10:30 # On to darktable lessons 2026-04-23 10:48: Finally figured out how to use curves! (At least the basics) Only took fifteen years 😂 Now I get what folks mean when they say, they can work with precision. 2026-04-23 13:00: Lunch! 2026-04-23 18:00 # Done with my walk Planning tomorrow and then calling it a day! Feedback on this post?\nMail me at feedback at this domain. ","date":"23 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-23/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-23 Notes","type":"nm"},{"content":" Goals + Recap # Root canal 2026-04-22 09:00 # Cleared the decks, for my smallest root canal session today. There will be more in the coming days. I think I will just shut everything down then focus on reading. For now, it’s just one day at a time. 2026-04-22 10:25: iCloud photo backup done. Off to the dentist. 2026-04-22 12:45 # Back. Step one was a success. More sessions over the coming two weeks. Have back to back client meetings as well. Will probably mean travel and no posting here for a while 2026-04-22 14:45: Learned how to set icons for groups in Signal 2026-04-22 19:25 # Done with the day. Time for bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"22 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-22/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-22 Notes","type":"nm"},{"content":" Goals + Recap # Finish my Dolly Parton Biography Client Meeting 2026-04-21 08:15 # Trying to work slowly through the day. The new physio routine is exhausting. 2026-04-21 09:20: Done listening to Dolly’s fantastic book about her life, told through all the songs she wrote. 2026-04-21 10:05: Did some french. Now to make some green tea and have my meeting. 2026-04-21 20:00 # All done. off to bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"21 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-21/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-21 Notes","type":"nm"},{"content":"","date":"20 avril 2026","externalUrl":null,"permalink":"/tags/cncf/","section":"Tags","summary":"","title":"Cncf","type":"tags"},{"content":"","date":"20 avril 2026","externalUrl":null,"permalink":"/tags/kubernetes/","section":"Tags","summary":"","title":"Kubernetes","type":"tags"},{"content":" Intended Audience Mostly me.\nClick the image to embiggen!\nThis is a note of gratitude.\nA tad late. But better late than never :)\nI decided to get involved with the Kubernetes community on a lark about four years ago.\nI wanted to learn about containers and orchestration, and I thought learning via joining the upstream community was it.\nI was wrong 😂\nLife got in the way and I only finally got around to learning it all last December.\nBut the community was interesting and helpful.\nI got to learn the terms of art, by osmosis.\nI got to see how a large community functions, how a large software project was run.\nAnd in time, I got to pitch in and help a bit as well.\nI pitched in with the Release Team for v1.25 to gain a sense of how a release comes about.\nAnd a couple of years ago, I saw my good friend (and frequent collaborator) Priyanka buckling a bit under the weight of the work, in the various roles she had assumed to help out in the community. I asked her if there was anyway I could help her, that did not involve meetings or talking to people 😂1 And she asked me if I could pitch in and help with helping folks gain membership into various Kubernetes orgs on Github.\nI ayed.\nShe taught me the ropes. And I became a Github New Membership Coordinator for the Kubernetes project.\nAnd all of this history to say, I’m grateful to Priyanka for this serendipitous opportunity.\nI fell in love with the work.\nFor someone who has had to face a lot of cynicism in his real world day job, it’s been a lot of joy, welcoming folks into the project. It’s one of the happier parts of my day, when I sit at the desk to process the requests that come in.\nI’m also grateful to the Kubernetes as well as the overarching CNCF communities for recognising what I do, for two successive years.\nI was the recipient of the Kubernetes Contributor award in 2024 and the CNCF’s, Chop Wood Carry Water award in 2025.\nI’m both, honoured and humbled.\nI hope to contribute to this community, a while longer :)\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nI was well and truly burned out then\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"20 avril 2026","externalUrl":null,"permalink":"/work/kubernetes-cncf-awards/","section":"Work","summary":"","title":"Kubernetes \u0026 CNCF Awards","type":"work"},{"content":" Intended Audience My tiny audience, who reads these posts via email or rss\nMy last post in this section / category was in December.\nThere ought to be more, because I learn so much every week.\nEven in December, the massive move I did, needs documenting. (at least for me, if not for your reading)\nSo the new plan is to cut the doing and the learning in half (or by a third). And use that time to write about what I learned.\nI know this about myself. I write real good … sometimes. But to even get to that point, I have to write a lot of drivel.\nSo, in essence, welcome to the drivel :)\nThe posts will get more frequent, so if that bothers you or I write about things that aren’t what you came to read me for, I won’t hold it against you if you choose to unsubscribe. I need to be able to write for me. And this is the only place where I can.\nIf you do decide to stay and read, as always, I’m grateful. I truly am.\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\n","date":"20 avril 2026","externalUrl":null,"permalink":"/work/trying-a-different-tack-to-writing-work-posts/","section":"Work","summary":"Just for reference","title":"Trying a Different Tack to Writing Work Posts","type":"work"},{"content":" Goals + Recap # Try writing a work post. Even if meaningless on the blog Continue learning Darktable 2026-04-20 07:55 # Fairly decent morning with everything running according to plan so far.\nThe daily time blocked schedule helps. I should add more context to my notes, if I want them to make sense in the future. I have a reminder that popped up today that just says Hell’s Heart. What on god’s green earth was I thinking? Only god knows. *08:20:*Ok figured it out. It’s a book 😂 (A modern retelling of Moby Dick … in space. By Alexis Hall) 2026-04-20 09:56: Did some French. off to make some green team 2026-04-20 11:00 # Back from a short medicine supply run. Now to get to that blog post Two! I got TWO blog posts done! 2026-04-20 19:00 # Did a lot of client work. Got done with my walk. Planned tomorrow. Off to bed Feedback on this post?\nMail me at feedback at this domain. ","date":"20 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-20/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-20 Notes","type":"nm"},{"content":" Goals + Recap # Do paperwork Reorganise book drawer 2026-04-18 08:10 # Doing French 2026-04-18 08:41: Done. Now to learn some Darktable 2026-04-18 09:05: I keep getting so drowsy watching videos. I need to remember to take breaks and walk 2026-04-18 09:35: v5 has become a lot more friendly than the v2 that scared me off all those years ago. Second round, seems to be much better! 2026-04-18 10:00: Off to a break 2026-04-18 10:45 # Getting to the main tasks of the day 2026-04-18 12:55: Lunch 2026-04-18 21:15 # Got done with a lot of stuff. Calling it a night! Feedback on this post?\nMail me at feedback at this domain. ","date":"18 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-18/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-18 Notes","type":"nm"},{"content":" Goals + Recap # Work according to schedule and adjust gracefully when shtf. 2026-04-17 08:55 # Still fiddling with my schedules. Just rememebered a thing (boiling water) that I now do daily, that isn’t captured. I need to keep noticing where I “lose” time. Not because I want to be really efficient rather so I don’t feel guilty about where all that time went and what did I do all day? 2026-04-17 09:30: Did some substantial French lessons on Duolingo, instead of just a tiny one to keep my streak alive. 2026-04-17 09:45: Updated my self hosted Forgejo to the spanking new v15 2026-04-17 10:15 # Made green tea. Now to learn some Darktable + Gimp 2026-04-17 10:34: Begin by installing Darktable! 2026-04-17 12:22: Forgot to verify if my camera was supported in the first place! Thankfully it is 😂 2026-04-17 12:55: Lunch! 2026-04-17 13:40 # Back. Now for some NMC work 2026-04-17 15:30 # Off for a walk. 2026-04-17 17:34: Back! 2026-04-17 18:40 # Planned tomorrow. Calling it a day. Feedback on this post?\nMail me at feedback at this domain. ","date":"17 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-17/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-17 Notes","type":"nm"},{"content":"\ncourtesy, Penguin Random House\nBetween getting ready for Kubecon EU, 2026 (creating my poster) and getting ready for Kubecon EU, 2026 (dealing with all the travel sutff), March was a busy month.\nDid get quite a bit of reading done. Did not have enough time to listen to my favourite history podcasts though :)\nThe Girl Who Played With Fire and The Girl Who Kicked the Hornet’s Nest, Stieg Larsson # This is a pattern that I now see everywhere when I now read a trilogy (or series).\nThe first book sets up the world, the rest of them then just tell a very good story set in that world. Millennium (this series) is a very good example of this trope. The Girl with the Dragon Tattoo (which I read last month) sets up the bleak, colourless, cold, misogynistic world. And now Fire and Hornet’s Nest tell a single long story in that world. These should have been one book.\nThis time the focus is on Salander and her life. Something’s happened in the past, which leaves her broken. In the meanwhile, there are old men dying in hospitals, gang members getting beat up and stuff happening at the highest levels of government. How do all of these events tie together?\nIt’s immersive and wonderfully told. Lisbeth Salander is fire, like the title suggests!\nI hope some other similar heroine catches my attention soon!\nThe Looking Glass War, Tinker, Tailor, Soldier, Spy and The Honourable Schoolboy, John le Carré # More greedy old men trying to hang on to power.\nMI6 is compromised, by the wily and smart, anti-Smiley, Karla. Who is the mole leaking British secrets to Russia?\nAn empathetic gangster, and an honourable schoolboy have a standoff at an island outside Hong Kong.\nLe Carré was the one who saw and taught me how British influence waned on the world stage when all the while, the system still hung on to dreams of their “glory” days. He also taught me how to see in shades of grey.\nThe Bear and the Nightingale, The Girl in the Tower and The Winter of the Witch (Winternight trilogy), Katherine Arden # I do not know what you should choose. Every time you take one path, you must live with the memory of the other: of a life left unchosen.\nDecide as seems best, one course or the other; each way will have its bitter with its sweet.”\nHere is a clearing on the border between winter and spring. Once Vasya would have said that the cusp of spring was a moment.\nBut now she knew that it was also a place, at the edge of the lands of winter.\nI read these in two weeks in the bracing cold of Europe.\nAnd once again, this felt like a duology rather than a set of three. The Bear and the Nightingale sets up the world while the Girl in the Tower and the Winter of the Witch feel like a long and beautiful story set in that world.\nI had read a big book of Russian folk tales as a child, and they still linger in my heart and soul to this day. I don’t remember what it was called or who wrote it, save for the fact that it was a big grey hardback with a wolf head embossed on the cover. But I read about phoenixes and big grey wolves and Tsars and Baba Yaga and Vasilisa and so many wonderful characters and stories then.\nArden takes all of them (and more that I did not read about) and weaves a beautiful story through fable and history and time. She’s a lovely storyteller. The prose is lovely too! Nature comes alive. Old faith and tradtitons tangle with the new. All against the backdrop of cold wintry nights. I absolutely loved reading Vasilisa’s coming of age and finding her path through life, all the time being framed in events that were true yet beautifully enhanced by the fantastic. I hope these books entrance young folk, while also make them read and fall in love with the old tales as well.\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\n","date":"16 avril 2026","externalUrl":null,"permalink":"/reading/books-i-read-in-march-2026/","section":"Reading","summary":"Winter Fantasy","title":"Books I Read in March, 2026","type":"reading"},{"content":" Goals + Recap # Try to get back into the swing of things. 2026-04-16 10:35 # Back from a good time in Kubecon EU. Had a good vacation in Paris as well, after that. Need to get back into writing my thoughts down here, so that I don’t forget the small yet important things that keep occuring to me. Need to start planning my days again. Right now, I have no clue of what shape or plan the near future has to take (with the exception of an upcoming work trip). Too busy firefighting. 2026-04-16 10:36: Change my current reverse proxy on the lan to Traefik. What am I using? For the life of me, I cannot recall. (Haproxy. I’m using Haproxy. God, I’m getting old) Ooh, the automatic commit and publish my daily note “workflow”1 still works! Yippee! Lean into sending myself more push notifications of the things that I do, via pushover. Always gives me a thrill to see something working. 2026-04-16 11:30 # Got done with my NMC work. Finally seem to have gotten a handle on pending stuff. 2026-04-16 14:05 # Got done with sending my monthly reading newsletter! 2026-04-16 15:20: A nap and some busywork, creating invoices for clients. Tea time! 2026-04-16 16:30 # Created a schedule for tomorrow. Now to ease into it. Note to self: be willing to abandon tasks without feeling guilty. You do it anyway. No use crying over it. Added more tasks to the burgeoning task list 2026-04-16 20:15 # Futzed around with Emacs config to make my agenda always open to the right. org-agenda is too smart for my own good. Calling it a night. Feedback on this post?\nMail me at feedback at this domain. bag of shell scripts\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 avril 2026","externalUrl":null,"permalink":"/nm/2026-04-16/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-04-16 Notes","type":"nm"},{"content":"\nfrom https://picclick.it/Pan-THE-SPY-WHO-CAME-IN-FROM-THE-296332075807.html, via DuckDuckGo\nBetter late than never, so let’s begin!\nThis month I moved from history to historical fiction.\nFrom modern spy novels to medieval detective fiction, I had centuries worth of fun!\nDeep Questions, Cal Newport, Episodes 381-390 # Some non fiction first.\nI finished catching up with all the episodes of the podcast and now I’ll keep listing them as soon as I finish a batch of ten (around 8+ hours of listening to something counts as book length to me. Unless it’s a four hour Dan Carlin episode. Those are dense 😂)\nThe new episodes hew toward philosopical discussions about how to live in a world that is slowly being infected with AI. What is true? What is art? Is AI really taking over the world? Is AI really an apt term for what we are seeing? Pretty interesting listen.\nBeyond the Rift, Peter Watts # Whenever I find my will to live becoming too strong, I read Peter Watts.\n— James Nicoll\nWatts is one of my favourite authors. I often wonder why he did not get popular.\nThe Rifters trilogy is my favourite science fiction series. Nothing has come close yet. Power is now taken from geothermal vents in the oceans. The only folks who can adapt to this environment are folks with psychological disorders. They’re given iron gills and other alterations to withstand deep sea pressure. Murder and mayhem ensue. Between the crazy beasts in the dark of the ocean and the crazies themselves.\nTechno lingo mixed with poetry, crazy doomsday scenarios and lots of potty mouthedness! Nobody writes quite like him. Nobody writes what he does either. Hard biological sci-fi.\nIf you’d read the adventures of Lenie Clarke, then nothing about today’s creeping AI world and its dumb “intelligence” would surprise you. And that is precisely why I want to go read Starfish, Maelstrom and Behemoth once more. To see if the books still engage.\nYou can too! The novels are available as ebooks in various formats for free on his website.\n(If you are going to print them, then caveat printor! These are chonky beasts.)\nBut all this is besides the point. Beyond the rift, is a lot of short stories in the world of the Rifters. It clears up, follows through or talks about other things in that setting. I loved it.\nPspsps, some short stories are available on the link I shared above as well!\nThe Spy Who Came in from the Cold, John le Carré # Daddy gave me a even more battered copy of the book, than the pic above.\nI don’t know what possesed him to do that. I don’t know what his fascination with Le Carré (\u0026amp; Forsyth) was. For a man who would normally be pretty optimistic and generaly full of hope, to be suggesting I read a book with such a cold, inhospitable view of the world was quite out of character. But I loved reading all about Smiley and the circus. And I spent most of my boyhood, learning about WWII and the cold war world via Smiley and gang.\nThe book is a modern classic, though I don’t know why. Probably just a luck of the draw? I’m not complaining though. It’s a wonderful piece of spy drama.\nOn teensy flimsy actions, on such tiny wings does the world turn. What if Liz and Leamas didn’t get together? Would Smiley’s plan have worked then? A cynical yet bemused Le Carré would say yes and invent some other small thing that would have things just as bleak as they turned out to be.\nCall for the Dead and A Murder of Quality # These came before Spy did, and read more like dark Christie novels. More detective than spy. Good fun!\nFalco, The Official Companion, Lindsey Davis # Medieval detective fiction is no longer enough. I’m now going to ancient Rome for some crime!\nI found Lindsey Davis’ Falco who is a soldier turned detective in ancient Rome. (with some Britain thrown in.)\nThis book is a non fiction companion to the series and the world ala GRRM’s, A World of Ice and Fire. These are Davis’ thoughts and recollections on how she created Falco, the history (actual and imagined) of the world at the time, the impetus behind why he behaves the he does and all sorts of other bits and bobs. She shares her day, her writing process and lots of intersting tidbits from here there and everywhere. This was tonnes of fun. I’m going into the series, really pumped!\nThe Novice’s Tale, The Servant’s Tale, and The Outlaw’s Tale, Margaret Frazer # I turned away from Frazer’s group of players in her Joliffe series (which I began last month) and went a few decades earlier to meet Dame Frevisse.\nShe is a hosteller when I meet her in the Novice’s tale, which solves the problem of how a nun in a convent, is able to meet and talk to people. She’s also Chaucer’s niece which gives her a wee bit of influence.\nShe reads like a more wonderfully written Sexton Blake. The way they solve crimes is not a coming together of what you may have observed, but something that is happens or is shown at the very end. I hope it gets better with the solution and the foreshadowing as I go deeper into the series. What makes me want to read though is the journey, Frazer takes us on and the conversations these people have and the expositon of the lives they lead. All that is wonderfully done!\nIn Novice, a crazy rich woman, comes to get her niece back from the convent where Frevisse is and then gets murdered.\nServant, brings in Joliffe who I read last month into this world when his band of players come to the convent, bearing the dead body of a villager who they claim they found on the way. One of the players is blamed, and accusations fly across the three engaged parties. Who killed that loathsome villager?\nOutlaw, seems like an episode of a serious K drama, where the main cast takes off to Jeju island for a holiday and something happens there. Dame Frevisse is accompanying her fellow nun to her home for a baptism, when they are kidnapped! The kidnapper is Frevisse’s cousin! And then he’s murdered!\nFrazer writes good page turners!\nThe Girl with the Dragon Tattoo, Stieg Larsson # Modern detective fiction! A journalist plays detective in this one.\nTake a girl on the autistic spectrum, give her a really bad childhood, and have still be as normal as possible.\nAn old man, keeps getting flowers on his dead grand-daughter’s birthday for close to thirty years after she dies.\nA self absorbed yet talented journalist who loses darn near everything and now has such a stain on his integrity that no one will believe him.\nBring them all together, add in a pile of dead bodies in the freezing countryside of Sweden and you have a thriller!\nI read it when it was first published and I turned to it again. It still holds up. It’s a fun read.\nLarsson supports women and is a feminist, yet does not quite know how to write women. He still makes the book work though.\nLisbeth Salander is a woman who hates men who hate women. And she really is badass!\nMore next month! À bientôt!\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\n","date":"11 mars 2026","externalUrl":null,"permalink":"/reading/books-i-read-in-february-2026/","section":"Reading","summary":"Historical fiction!","title":"Books I Read in February, 2026","type":"reading"},{"content":" Goals + Recap # Have another slow day today.\nToday:\nFrench Plan my upcoming trip Client meeting Think about ways and means to backup my Kubernetes Cluster data 2026-02-28 10:00 # French 2026-02-28 10:50 # Client call 2026-02-28 13:00: Lunch break 2026-02-28 13:30 # Vacation planning next 2026-02-28 18:44: Finally done! Feedback on this post?\nMail me at feedback at this domain. ","date":"28 février 2026","externalUrl":null,"permalink":"/nm/2026-02-28/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-02-28 Notes","type":"nm"},{"content":" Goals + Recap # Have another slow day today.\nToday:\nTry and begin French lessons again. Time myself today. I take an hour. So I need to budget about 75 minutes a day. Get back to walking daily. Been doing both in auto-pilot mode a wee bit daily Client meeting Think about ways and means to backup my Kubernetes Cluster data 2026-02-27 09:45 # Began the day with ordering groceries! All out of toothpaste! 2026-02-27 10:30 # Begin french 2026-02-27 11:30: Done! Now to my meeting 2026-02-27 20:00 # Long day. Long meeting. Lots of housework All done though Feedback on this post?\nMail me at feedback at this domain. ","date":"27 février 2026","externalUrl":null,"permalink":"/nm/2026-02-27/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-02-27 Notes","type":"nm"},{"content":" Goals + Recap # Just got done, designing my poster for my next Kubecon EU visit. Visa’s in place. All set for the event.\nToday:\nTry and begin French lessons again Get back to walking daily. Been doing both in auto-pilot mode a wee bit daily Try and get back to speed with the AWS+Manning project Finish reading The Girl with the Dragon Tattoo 2026-02-26 08:15 # Been listening to the first book of Stieg Larsson’s Millennium trilogy over the past few days. Still holds up since I read it twenty years ago. Still fun. Also feels like nothing’s changed as far as the treatment of women goes. 2026-02-26 10:45 # Did my French lessons. Had to drag myself through it. Need to time myself tomorrow. It takes quite a bit out of me. 2026-02-26 11:20: Struggling with buying an audiobook on the US audible site. 2026-02-26 11:55: Ok, the trick now a days, always seems to be to buy the vendor’s gift card if they have any (in this case, Amazon does) and then use that to make the purchase. Audiobook now dowloading! 2026-02-26 13:00 # Lunch Break 2026-02-26 17:15: Done reading my book! Now to read it again, in French 2026-02-26 21:00 # Booked some fun things to do on an upcoming trip. Off to bed now. Feedback on this post?\nMail me at feedback at this domain. ","date":"26 février 2026","externalUrl":null,"permalink":"/nm/2026-02-26/","section":"Notes \u0026 Miscellanea","summary":"","title":"2026-02-26 Notes","type":"nm"},{"content":" Goals + Recap # Client Meetings 2026-02-04 10:15 # Lazy morning. Client meetings at 10.30 and 11.30 Think I need to write down what I should do next, as wel as the interesting ideas that occur to me in the shower in more detail. I seem to get lost when I finish a task (even though there are a million things to do 😂) 2026-02-04 15:30 # Done with meetings. Started with Debroy’s mammoth translation of the Mahabharat last night. I just about read the lamentations of Dhritarashtra and now I want to Sanskrit! If it is so moving in English, I can only imagine how evocative it’ll be in the original! So that makes three languages I want to learn 😂 (French, Urdu and now Sanskrit) 2026-02-04 19:30 # Shutting down. Will continue working at the AWS + Manning project tomorrow. Feedback on this post?\nMail me at feedback at this domain. ","date":"4 février 2026","externalUrl":null,"permalink":"/nm/2026-02-04/","section":"Notes \u0026 Miscellanea","summary":"If you need to fall apart, I can mend a broken heart","title":"2026-02-04 Notes","type":"nm"},{"content":"","date":"4 février 2026","externalUrl":null,"permalink":"/tags/client-work-nm/","section":"Tags","summary":"","title":"Client-Work-Nm","type":"tags"},{"content":" Goals + Recap # Play with and configure Kitty as another option for my terminal Work on ZNC 2026-02-03 11:00 # While I got the basics working the other day, I finished the rest of the work and got Kitty working just the way I want it. I can now launch kitty via ulauncher or gnome-terminal and get a Kitty layout for writing just like I used to1, with Tmux and Zellij. And now I can copy and paste text as well! Blessed relief! Now on to getting my ZNC up and running! 2026-02-03 11:34: Note to self: I am calling ZNC images in two places in my deployment. Make sure their versions always stay in sync via flux updations 2026-02-03 12:12: Ok, figured out the reason for my znc misery. ZNC can accept both irc as well as http traffic on the same port. And if I want traefik to be able to route both sorts of traffic to znc then I cannot terminate tls at traefik. Which I really, really want. Because I don’t want the headache of keeping track of which applications can maintain their own certs and which don’t. Simplest thing (which ZNC supports) is to add another listener port to ZNC. IRC traffic goes to one port, web traffic to another and hopefully all will be well. That’s the idea, in theory at least. Now to go try it out. 2026-02-03 12:22: Ok. Change znc config to accept web connections on another port and redeployed the pod. Now to get web traffic working first 2026-02-03 12:29: It works! My ZNC website is up! Now to go figure out how to route IRC traffic. 2026-02-03 12:47: Lunch! 2026-02-03 13:10 # Back 2026-02-03 13:32: Ok sorta kinda wrote the ingressRouteTCP rule. Now to deploy and test 2026-02-03 14:38: It works! ZNC is alive! Will know tomorrow if my history buffers hold :) 2026-02-03 14:49: Tried a reboot. Still lost history. Need to configure ZNC probably. Checking that now. 2026-02-03 15:30: Tea time 2026-02-03 16:00: Walk 2026-02-03 17:40 # Back Trying to quickly see if there’s any Lightroom alternative out there in Linux land, that is not Darktable. 2026-02-03 18:00: Found one. It’s Darktable! But I found that it now has a Sigmoid workflow, that gives me a very Lightroom-esque workflow. Or maybe it’s just that the interface has changed to where I find it familiar. Anyhoo, this makes me so happy! Finally, I can now invest the time in a new tool :) Now to some NMC work. 2026-02-03 18:48: Done. Now to get ZNC to update itself. 19:15: Done! 2026-02-03 19:25: Schedule, shutdown complete! Feedback on this post?\nMail me at feedback at this domain. 3 paned layout.\nLarge pane on the right. For me. For writing or commands or whatever.\nTop left pane to run Hugo Liveserver; bottom left pane to run a script that watches today’s daily note and keeps committing to it to the code repo to auto publish\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 février 2026","externalUrl":null,"permalink":"/nm/2026-02-03/","section":"Notes \u0026 Miscellanea","summary":"Lift you up and fly away with you into the night","title":"2026-02-03 Notes","type":"nm"},{"content":"","date":"3 février 2026","externalUrl":null,"permalink":"/tags/devops-nm/","section":"Tags","summary":"","title":"Devops-Nm","type":"tags"},{"content":"","date":"3 février 2026","externalUrl":null,"permalink":"/tags/flux-nm/","section":"Tags","summary":"","title":"Flux-Nm","type":"tags"},{"content":"","date":"3 février 2026","externalUrl":null,"permalink":"/tags/k3s-nm/","section":"Tags","summary":"","title":"K3s-Nm","type":"tags"},{"content":"","date":"3 février 2026","externalUrl":null,"permalink":"/tags/kubernetes-nm/","section":"Tags","summary":"","title":"Kubernetes-Nm","type":"tags"},{"content":"","date":"3 février 2026","externalUrl":null,"permalink":"/tags/thelounge-nm/","section":"Tags","summary":"","title":"Thelounge-Nm","type":"tags"},{"content":"","date":"3 février 2026","externalUrl":null,"permalink":"/tags/znc-nm/","section":"Tags","summary":"","title":"Znc-Nm","type":"tags"},{"content":"\nThis was a good reading month. I think I have become a history geek, thanks to podcasts and books and those are going to be what I read heavily for quite a while now. Some books intentionally read, some comfort reads.\nAll recommended.\nThe Thin Man, Dashiell Hammett # A mystery whodunit. I am finally in my Noir phase. And enjoying it.\nDrunk retired detective, socialite wife, multiple red herrings, 30s America, what’s not to like?!\nThe Rest is History, The Nazis at War, Hitler Strikes West, Parts I-IV # Every year, the company of Holland and Sandbrook, walk through the events (slowly) of World Wars One and Two, in order to make up for the travesty of the coverage that they started the show with! Then entire French Revolution in 20 minutes if I remember correctly. 😂 This time, they covered the events of Nazi Germany’s march on and upto the fallo of France. The duo are lovely when they are in flow and these episodes are worth a listen.\nThe Rest is History, Jack the Ripper, Parts I-IV # More from the podcast, this time covering the ghastly killings of the Whitechapel Murderer. Between reading about the events with morbid fascination as a child and then growing up and reading different versions of the events (I liked Alan Moore’s, From Hell if you are a comics person or the ITV miniseries featuring Michael Caine), I thought I had heard all and seen all. The duo surprised me by telling the story from distinct and different perspectives. One was how the media influenced the events, drawing parallels to today, and the other, more importantly, was the lives of the victims, and the events from their perspective leading to their sad demise. The series leaned heavily on a Hallie Rubenhold book, The Five to do that. I bought it and it is now on the pile. This probably is the least I felt I could to to erase young Jason’s fevered fascination with killers.\nThe Second Stain, The Man with The Twisted Lip, and The Muskgrave Ritual, Sherlock \u0026amp; Co. Podcast, Seasons 37, 38 \u0026amp; 39 # This is the other boyhood fascination that still remains. Sleuths and detectives and whodunits.\nThis series has several lovely takes on the original Doyle stories and are worth your time, if you want to be entertained! When they began, I felt their voices were too akin to the modern BBC series featuring Cumberbatch \u0026amp; Freeman, but now they’ve grown on me and the reverse feels true. Some stories are fun and relaxed and some taut all through. All of them are lovely.\nMania for Subjugation III, Hardcore History, Episode 73 # This is Alexander as never told before. In true Carlin style, you wait eight months to a year between episodes, but when they come, oh boy, do they deliver. We are at the third episode in the series and Alexander has just about started his journey to conquering the world as he knew it. If you want deeply researched history, Dan Carlin’s your man. The amount of books and time and work that goes into each episode is incredible. My only nitpick, is if he could be more humane. The man comes from the other end, a wargamer who loves what-if scenarios (like young Jason with his fascination for murderers and sociopaths). He’s come a long way from his earlier episodes, but I wish for just a little more humanity. The stories have enough pathos though and he always does them justice.\nSister, Maiden, Monster, Lucy A. Snyder # I thoroughly disliked this one. This feels like someone read the Book of Revelations1 when high and then based a sci-fi novella on it. Deliciously unhinged, reads a review. It’s unhinged, alright.\nI normally don’t mention or list books that I hate or do not finish or do not agree with. This is not that. This is a prime example of a “this is not for me” book. And this probably is the first book I read, that I felt this about. The writing is competent, but it did nothing for me. So no. Not for me. A pandemic rages through the world, and people get affected differently, in different manners. All gruesome.\nI think only one person does horror, the way I want and love. And I remain grateful to the stories and work of Guillermo del Toro.\nThe Psychology of Money, Morgan Housel # I loved the old timey self help folks. Carnegie, Ziglar et al. Simple truths told with lovely stories.\nHousel is the modern form of that persona. Observations on how you think about money, what is wrong with it and suggestions on how one ought to actually think. All interspersed between engaging stories. I wrote a post about the book, if you want to know more.\nShattered Lands, Sam Dalrymple # This soothed an itch, that’s been there since my childhood. Raised as I was, in the last remnants of empire and with a father and grandfather—who sometimes were sad about what was lost—I was always fascinated with British India. To learn about the length and breadth of the British Indian Empire, was both novel and yet unsurprising. More thoughts in a post I wrote when I finished the book. If you love reading Indian History, this is a must get, must read book.\nHistory of the Alphabet, Kevin Stroud # This one felt like I already had so many disparate pieces of some whole and Stroud made them all fit, to form a beautiful tapestry.\nI’m following his History of English podcast2, and I bought the History of the Alphabet to try and support him, not expecting much, but I was pleasantly surprised. Weaving through times and peoples, from Egypt to the Levant to Greece to Italy with the Eruscans and later the Romans, to France and beyond. It’s a lovely tale!\nA Play of Isaac, Margaret Frazer # This is a lovely piece of historical detective fiction. Set in Oxford in the middle 15th century, it follows a company of players who are staging Abraham and Isaac for a local lord and someone dies at their doorstep.\nMore than this specific book itself, I want to write a bit about this class of author, whose writings I have really come to enjoy. I have no name for the kind of writing they do. But I love the prose to bits. Gail Lynn Brown (writing as Margaret Frazer), is the latest. The other two I found so far were Edith Pargeter (writing as Ellis Peters) and Rosemary Kirstein.\nI found Edith first, with her monumental Cadfael series of books. By the time I was in book two, I was amazed by this man who could do nuance so perfectly (Of course, it turned out to be a woman 😂). But yes, it is the nuance, the way they do turns of phrase, the way they write their characters … I don’t know what binds them togther, what the likeness is. It can’t be genre, because while Pargeter and Brown write historical detective fiction, Kirstein does not.(She seems to have created a unique genre/niche of her own.)\nSo like I said, while I don’t know what unites them, I will continue to ravenously read everything they write. The writing is letter perfect to my mind and heart. I enjoy them, with emphasis on joy.\nThese are all for now. I hope you found something in the list above that tickled your fancy.\nÀ demain!\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nWhich is already kooky in the first place\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThe language. Not the English people. There are a lot of peoples in this story :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"1 février 2026","externalUrl":null,"permalink":"/reading/books-i-read-in-january-2026/","section":"Reading","summary":"History month!","title":"Books I Read in January, 2026","type":"reading"},{"content":" Goals + Recap # Play with and configure Kitty as another option for my terminal Work on ZNC 2026-01-29 10:40 # Got tired of being unable to cut and paste out of Tmux and Zellij. Realised what I want is a terminal that lets me do that, not necessarily a muxer. Something that lets me cut and paste text and have layout my little windows in the way I want. The Kitty docs suggest this is possible. So I’m giving it a spin. 2026-01-29 10:41: Do some NMC work first. 2026-01-29 10:41: Some tea first! 2026-01-29 11:05: Ok, now NMC work. 2026-01-29 11:26: Alright, now to go play with Kitty. 2026-01-29 12:16: Found a theme I liked. (Github Dark. The default theme is called default) 2026-01-29 15:45: Still struggling. Break. 2026-01-29 18:45 # Back at work. Found an exact sample of what I wanted done in the Kitty docs. 2026-01-29 19:30: Adapted it. Applied it. It works. Done! Calling it a night Feedback on this post?\nMail me at feedback at this domain. ","date":"29 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-29/","section":"Notes \u0026 Miscellanea","summary":"Let me be the one you call; if you jump, I’ll break your fall","title":"2026-01-29 Notes","type":"nm"},{"content":" Goals + Recap # Work on ZNC Attend my first contribex meeting 2026-01-28 12:00 # Picking up the pieces after a break is darned hard 2026-01-28 19:00 # Got halfway up to speed. Will struggle more tomorrow Feedback on this post?\nMail me at feedback at this domain. ","date":"28 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-28/","section":"Notes \u0026 Miscellanea","summary":"When darkness is upon your door, and you feel like you can’t take anymore","title":"2026-01-28 Notes","type":"nm"},{"content":"","date":"24 janvier 2026","externalUrl":null,"permalink":"/tags/syntopica/","section":"Tags","summary":"","title":"Syntopica","type":"tags"},{"content":" I heard Morgan Housel on the latest episode of the Shane Parrish podcast recently as well as a while ago on Vishal Khandelwal’s podcast, and most of what he said resonated with what I learned and found out on my own independently over the years.\nSo I went and got his book.\nTake the best of Taleb, Danny Kahneman, and your grandma, put them into story form with an earnest tone, and you get this book. It’s lovely.\nRealise that you’re unique. You have your scars. Realise that colours everything that you see and do. Stop idolising individuals. The patterns lie in large numbers. Not in a single individual’s story, no matter how inspiring you think it is. You have no clue of which butterfly flapped its wings to create Bill Gates’ wealth. The aim ought to be enough. Which you get to decide. But there has to be a point where you say enough. The gains from compounding occur at the end. The only reason Buffett has the money he has now (~90 billion dollars), is because he started investing at 10. Had he started at 30, he’d only be worth ~20 million. Like Housel says, Effectively all of Warren Buffett’s financial success can be tied to the financial base he built in his pubescent years and the longevity he maintained in his geriatric years.\nHis skill is investing, but his secret is time. That’s how compounding works.\nMaking money is one thing. It’s the keeping of the money that’s harder. How does one do this? Stay in the margins. Survive. And use Taleb’s Barbell. Have options. You never know which one might pan out. Also realise that options are another way of saying that one of your individual bets could die for the sake of your bigger aim, and you’ll still be ok. An individual stock might not work, but the index has always inched upwards for decades. The best freedom, to paraphrase Taleb, is the ability to say, “Fuck this!” to things you don’t want to do. Or to actually quote him … This kind of sum I’ve called in my vernacular “fuck you money” —a sum large enough to get most, if not all, of the advantages of wealth (the most important one being independence and the ability to only occupy your mind with matters that interest you) but not its side effects, such as having to attend a black-tie charity event and being forced to listen to a polite exposition of the details of a marble-rich house renovation. […] Beyond a certain level of opulence and independence, gents tend to be less and less personable and their conversation less and less interesting.\nHousel puts it much more eloquently …\nThe highest form of wealth is the ability to wake up every morning and say, “I can do whatever I want today.”\nPeople want to become wealthier to make them happier. Happiness is a complicated subject because everyone’s different. But if there’s a common denominator in happiness—a universal fuel of joy—it’s that people want to control their lives.\nThe ability to do what you want, when you want, with who you want, for as long as you want, is priceless. It is the highest dividend money pays.\nStop playing the Keeping up with the Kumars1. Save money. Being reasonable is greater than being rational. You’re not a spreadsheet. You’re a person. Do not aim to be coldly rational when making financial decisions. Aim to just be pretty reasonable. Reasonable is more realistic and you have a better chance of sticking with it for the long run, which is what matters most when managing money.\nYou cannot spend your time and energy watching the world and waiting for the “best” time to make a investment. Save money. Invest it. Let it compound. Margin of Safety. That ought to be one of the main weapons in your mental arsenal. Always have room for error. Always have slack. You will change over time. Learn to be kind to your future self. Make sure you’re not wedded to past decisions. Make your circumstances adapt to you. Nothing’s free. What are you willing to pay to get what you want? Note to self: Learn Statistics. Learn probabilities. They’ll teach you more than stories that folks weave. And yet paradoxically, when you want to convince folks? Use stories. They are always more powerful! Manage and invest your money in a way that helps you sleep at night. The best “shortcut” to do better with your investments? Increase your time horizon and let compounding work for you. What works for others will not work for you. They are not you. Make your own mistakes. And your own decisions. There is no single right answer; just the answer that works for you. Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nDeep cut silly joke, if you loved the Kumars and Goodness Gracious me.\nThe Jones at No. 42 were Indian.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"24 janvier 2026","externalUrl":null,"permalink":"/reading/the-psychology-of-money/","section":"Reading","summary":"","title":"The Psychology of Money","type":"reading"},{"content":"","date":"24 janvier 2026","externalUrl":null,"permalink":"/tags/the-psychology-of-money/","section":"Tags","summary":"","title":"The Psychology of Money","type":"tags"},{"content":"\nI came across this little paradox of history when I read, “The Race for Paradise” in 2018.\nBashir saw the strange spectacle of the Frankish1 lord of Antioch marching alongside Muslim troops from the lord of Aleppo, arrayed in battle against the Sultan’s representative, the Muslim lord of Mosul, who marched with his own Frankish1 allies from Edessa.\nClose to eight hundred years later, history rhymed. From Sam Dalrymple’s, Shattered Lands …\nCommunities divided between India and Burma like the Mizos and Chakma thus found themselves pulled into the war over Pakistan. Later India would send a battalion of Tibetan refugees against them, so that on the eastern front the battle over the future of the Islamic Republic of Pakistan ironically involved two rival Buddhist militias – neither of them Bengali.\nThat’s always the zeitgeist apparently.\nPeople are dorks.\nShowing grace to folks “not like us” is hard.\nLet me get the one nitpick out of the way first. It’s a bit rich for Sam to play doomsayer for modern Asia or roleplay a stern parent by expecting us to behave “propah”. He thinks its an irony that\nin the twenty-first century it is easier for Indians, Pakistanis and Bangladeshis to meet in England, their former colonial power, than to meet in the subcontinent itself.\nThe fact remains that Britain abandoned its Empire. They just upped sticks and left. With nothing left for us.\nYes it is sad that there are divisions. But leave the healing to us.\nI don’t want the man2 who stabbed me in the back, in the dark, and looted and raped everything of mine, to come and preach to me of forgiveness or how division is bad for us..\nSam says,\nThe last decade has witnessed the decline of globalisation, the strengthening of borders and the resurgence of nationalism across the world. India’s Partitions are a dire warning for what such a future might hold.\nI sincerely hope this is a message to the nations of the “first world” to stop ravaging our lands and not for folks in Africa and Asia. Be really hypocritical if it wasn’t.\nAnd now to the rest of the book.\nIt’s a real tour de force of history.\nBeginning in the late 1920s and ending in the mid 70s, the book traces the breakup of the British Indian Empire.\nSo many pieces of jumbled childhood memories, now make sense. The reason why so many Goans and Mangaloreans rushed to do labour in the erstwhile Trucial States in the mid 80s (modern UAE and other neighbouring countries). I have seen old Indian currency used in Aden (my relatives), as well as Indian currency that could be used in Saudi Arabia when folks went on the Haj (via friends). Why when I went to work in the Eastern part of my state (Maharashtra) in my younger years, the dialect and culture felt different (Because Dakhani. Because erstwhile Hyderabad). Why there used to be so many State Banks.\nWhile I was fairly well informed about how Pakistan and Bangladesh came about, I wanted to learn more about of the Easternmost (Burma) and Westermost (Arabian States) flanks of the British Indian Empire. The book delivered in spades.\nIt’s extremely well researched, and Sam has the blood of his ranconteur papa when relating this (hi)story.\nThe history I loved and related to the most, was Angami Zapu Phizo’s lifelong struggle (and failure) to build a Naga nation. Phizo keeps appearing in nearly every Partition story, trying his hardest. The Nagas were the best part of the book.\nI have friends, who still reel from the partitions, who have left family on the other side, who have lost lands and property and freedom.\nMy father (born in 1942) as well as several other older friends (born in the 1930s) used to lament of all that was lost, without being able to articulate what and how.\nThis book made me realise how and just how much.\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nChristian\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nEngland\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"19 janvier 2026","externalUrl":null,"permalink":"/reading/shattered-lands/","section":"Reading","summary":"Five Partitions and the Making of Modern Asia","title":"Shattered Lands","type":"reading"},{"content":"","date":"19 janvier 2026","externalUrl":null,"permalink":"/tags/shattered-lands/","section":"Tags","summary":"","title":"Shattered Lands","type":"tags"},{"content":" Goals + Recap # I completely borked my Traefik deployment yesterday and brought down all my sites and web apps. Spent the day fixing it.\nToday:\nVote in the local elections Continue with my IRC+ZNC quest 2026-01-15 10:50 # Starting with my Duolingo 2026-01-15 11:32: Break. 2026-01-15 14:20 # Upgrading Mint. Feedback on this post?\nMail me at feedback at this domain. ","date":"15 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-15/","section":"Notes \u0026 Miscellanea","summary":"It’s hard to find relief and people can be so cold","title":"2026-01-15 Notes","type":"nm"},{"content":" Goals + Recap # First day with new time table and I’m already behind. Will need to track how much time I spend on morning tasks and be more realistic Continue with my work to get IRC+ZNC working on th cluster. 2026-01-14 10:15 # Switched to doing Duoling on the desktop. It feels slightly better. Will keep at it. Tea time. 2026-01-14 10:30 # Now to start on my IRC+ZNC travails 2026-01-14 11:14: Think I am going to split them into two separate deployments. They are not going to talk to each other internally anyway. Tackling ZNC theLounge first. 2026-01-14 12:08: theLounge is up. Moving on to getting ZNC up and running. 2026-01-14 12:42: Creating deployments isn’t the hard part. Creating deployments that are gitops ready is. 2026-01-14 12:52: Lunch 2026-01-14 13:10 # Back Figured it out. Needed an init container. 2026-01-14 14:26: Nap 2026-01-14 16:55 # Back from a walk 2026-01-14 18:35: Borked my traefik totally 2026-01-14 19:42: Got Traefik running. Will do the rest tomorrow. Feedback on this post?\nMail me at feedback at this domain. ","date":"14 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-14/","section":"Notes \u0026 Miscellanea","summary":"I know you feel like the walls are closing in on you","title":"2026-01-14 Notes","type":"nm"},{"content":" Goals + Recap # Get out of my slump Do NMC work Start Duolingo again Redo morning routine to better fit my morning energy Redo my IRC deployment on Janus 2026-01-13 10:40 # Instant distraction. Trying to figure out if my writing life will get any simpler by switching to ox-hugo. (A few moments later … No it won’t. My weird workflow, still works for me.) 2026-01-13 11:05: Ok, buckled down and finished up with my day organisation 2026-01-13 11:51: Done with Duolingo 2026-01-13 13:15: Lunch 2026-01-13 14:15 # Back Slowly working on my IRC+ZNC combo 2026-01-13 16:06: Got distracted with a issue with my network. Back to work Move all the old files out. Deleted my namespace. Deleted the deploy on the cluster 2026-01-13 18:25: Break 2026-01-13 20:25 # Been thinking hard about how to achieve two way sync between a container and my home machine. Syncthing still seems to be the best bet 2026-01-13 20:56: Working on getting a folder setup for ZNC to use 2026-01-13 22:00: Got syncthing to work and got znc to look at the folder. But it does not seem to login. Will continue tomorrow Feedback on this post?\nMail me at feedback at this domain. ","date":"13 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-13/","section":"Notes \u0026 Miscellanea","summary":"Give me a moment please to tame your wild, wild heart","title":"2026-01-13 Notes","type":"nm"},{"content":" Goals + Recap # Don’t feel good. Will spend time in bed reading a book 2026-01-09 10:10 # Just slowly trudging about the house Watching “The Ridiculous Engineering Of The World\u0026rsquo;s Most Important Machine” Feedback on this post?\nMail me at feedback at this domain. ","date":"9 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-09/","section":"Notes \u0026 Miscellanea","summary":"When you feel all alone and the world has turned its back on you","title":"2026-01-09 Notes","type":"nm"},{"content":" Goals + Recap # My Miniflux is down. Will spend the day troubleshooting it 2026-01-08 09:35 # Late start. Just out of the bath. Be back in probably an hour. After breakfast 2026-01-08 10:40 # Did some work. Realised that my wants have already outgrown what my cluster can provide 😂 Flux CD attempted three automatic upgrades and succeded with two. Only Miniflux borked. For now I just recreated everything (Settings were already in a configmap and feeds are always at hand in an OPML. Most I will lose is my reading progress which does not matter to me.) Took all of 5 minutes. The work I put into doing this cluster thing has already paid off in spades! Not to mention Kanboard and Joplin upgrades going through without fuss! This is amazing! 2026-01-08 11:58: So for the future? I’ll come back to this once I am done with the AWS project. From my little research, what I need now is observability and then planned deployments. (Prometheus and Flagger will most probably be the tools in my case.) Feedback on this post?\nMail me at feedback at this domain. ","date":"8 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-08/","section":"Notes \u0026 Miscellanea","summary":"Gonna be a man in motion, all I need is a pair of wheels","title":"2026-01-08 Notes","type":"nm"},{"content":" Goals + Recap # Figured out what I wanted to do with my AWS+Kubernetes project. Will follow along with a Manning live project and write about it.\nIt’s called Deploy Services Using Kubernetes. Some of it will be reflection and reproduction. Did I do what I did in November and December purely stumbling along? Or do I know what I did? Will I be able to write about it coherently? This project should help. And the big new piece is hopefully learning about doing a “real-world”-ish project on AWS. Not that what I did was not real world. I do use all my services in real life and the cluster has solved so many issues for me, but what I do, I think is a bit novel and not the norm. So the Manning project is something for folks to recognise and relate to. From their description: FGTO is almost ready to deploy their Kubernetes application—they just need you to help them create a Kubernetes cluster for their production environment.\nThe simplest and most reliable way to do this is to use a managed Kubernetes service, and for this liveProject, you’ll use AWS EKS. You’ll work with various tools, including Terraform and Crossplane, to create and configure the cluster. Terraform helps you configure your cluster with just a small amount of code, while Crossplane ensures you can provision the service and its infrastructure using only Kubernetes manifests. Once the application is deployed, you’ll work to encrypt secrets in Git using SOPS and AWS KMS and promote changes from development to production on EKS.\nWhen you’re done, FGTO will have a complete working Kubernetes deployment!\nThis quarter, my focus will be on: Walking Doing the project above. Writing about my experiences with Kubernetes. Reducing client work a bit. Prep for a project in March. Continue with NMC work. 2026-01-06 09:50 # Late start. Was hungry so had some breakfast. 2026-01-06 09:55: Off to mail some letters. Be back in a while. 2026-01-06 14:00 # Took a while. But I think, I’ll do an hour or so of work now First hiccough, my version of Java is too new for the project’s version of gradle. So with the help of Gemini:\nchange the distribution to use in gradle/wrapper/gradle-wrapper.properties to distributionUrl=https\\://services.gradle.org/distributions/gradle-8.6-all.zip Still errors. Think I am going to just create a VM and install everything the way the project wants me to. 2026-01-06 15:02: VM’s up. Now to install project dependancies. 2026-01-06 15:41: Done with the installs. 2026-01-06 17:07: And now I run into a different error. Thi live project seems to be too old and not updated. The newer versions of Docker don’t seem to like talking to whatever it is, that is calling it from the app. 2026-01-06 17:12: Ok, known issue. So I did like they said, created a .docker-javo.properties file in my home folder and explicitly set api.version=1.44. Test seems to be running now. Found it thanks to another live project member who went before me!1 2026-01-06 17:54: Calling it a day. Feedback on this post?\nMail me at feedback at this domain. Thank you Kries!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"6 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-06/","section":"Notes \u0026 Miscellanea","summary":"I’ll be where the eagle’s flyin’ higher and higher","title":"2026-01-06 Notes","type":"nm"},{"content":"","date":"6 janvier 2026","externalUrl":null,"permalink":"/tags/aws-kubernetes-nm/","section":"Tags","summary":"","title":"Aws-Kubernetes-Nm","type":"tags"},{"content":"","date":"6 janvier 2026","externalUrl":null,"permalink":"/tags/gitops-nm/","section":"Tags","summary":"","title":"Gitops-Nm","type":"tags"},{"content":" Goals + Recap # Happy New Year! 🎉 Nothing much happened over Chrismas break. I wanted to finish a couple of long pending books on IPv6 and Computer Architecture, but I couldn’t find the time. Today I decided to add a new service to the cluster. Am going to hunt for some book tracking service and use that to for my books. 143 posts in 2025. This once I feel pretty proud. Most of them are these notes. But even that counts. I wanted a sustained writing habit, and this was the first year, I wrote all throughout. 2026-01-05 08:45 # Coffee time! I need to be done by 2! 2026-01-05 08:55: Got distracted, went looking for updates on Alecto, instead of looking for my book software 2026-01-05 09:00: Found Booklogr. Trying it out. 2026-01-05 09:10: Nope. Not for me. 2026-01-05 09:13: Found Jelu. 2026-01-05 09:17: Nope. Continuing Search 2026-01-05 09:23: Found Tome 2026-01-05 09:49: Nope 2026-01-05 10:02: Not booktracker 2026-01-05 10:23: Not Koha. Break 2026-01-05 10:50 # Back. If I don’t find stuff, then I probably will use one of the above tools. 2026-01-05 11:12: Just remembered a fan of the Cal Newport podcast had built a similar page in Notion. Looking at if I can do something similar with Obsidian or Affine 2026-01-05 11:25: Too fidgety 2026-01-05 11:33: Trying booklogr again. Nope. Back to Obsidian 2026-01-05 12:45: Gave up on Obsidian. It’s not fun. I’m going to have to install Bookwyrm, aren’t I? 2026-01-05 13:14: Gave up. Will stick to the same old, same old, plain reading post this year. And keep an eye out for something that’ll help me. 2026-01-05 13:36: Created a new page for this years reading. Lunch 2026-01-05 19:15 # Time for bed Feedback on this post?\nMail me at feedback at this domain. ","date":"5 janvier 2026","externalUrl":null,"permalink":"/nm/2026-01-05/","section":"Notes \u0026 Miscellanea","summary":"I can see a new horizon, underneath the blazin’ sky","title":"2026-01-05 Notes","type":"nm"},{"content":"","date":"5 janvier 2026","externalUrl":null,"permalink":"/tags/ansible-nm/","section":"Tags","summary":"","title":"Ansible-Nm","type":"tags"},{"content":" What do all the stars and daggers after the book titles mean?\nNote to self, for this year: Read less, write more notes. Abandon more books.\nJanuary # Murder at the Vicarage, Agatha Christie* The Body in the Library, Agatha Christie* The Moving Finger, Agatha Christie* Sleeping Murder, Agatha Christie* A Murder Is Announced, Agatha Christie* They Do It with Mirrors, Agatha Christie* My Horrible Career, John Arundel*† The Veiled Lodger, Sherlock \u0026amp; Co. Podcast* Hardcore History, Mania for Subjugation II, Episode 72*† A Pocket Full of Rye, Agatha Christie* 4.50 from Paddington, Agatha Christie* The Mirror Crack’d From Side to Side, Agatha Christie* As You Wish: Inconceivable Tales from the Making of The Princess Bride, Cary Elwes \u0026amp; Joe Layden*† A Caribbean Mystery, Agatha Christie* At Bertram’s Hotel, Agatha Christie* Nemesis, Agatha Christie* Miss Marple’s Final Cases, Agatha Christie* February # A Shadow in Summer, Daniel Abraham* Black Peter, Sherlock \u0026amp; Co. Podcast, Season 25* On Writing with Brandon Sanderson, Episodes 1-4, Brandon Sanderson*‡ A Betrayal in Winter, Daniel Abraham* I Will Judge You by Your Bookshelf, Grant Snider* The Art of Living, Grant Snider* The Shape of Ideas, Grant Snider* For the Love of Go, John Arundel*‡ Powerful Command-Line Applications in Go, Ricardo Gerardi*‡ Learning Go, Jon Bodner*‡ An Autumn War, Daniel Abraham* The Price of Spring, Daniel Abraham* Math for English Majors, Ben Orlin (Notes)*† Empire Podcast, The Three Kings, Episodes 212–214*†# March # Companion to the Count, Melissa Kendall* Wisteria Lodge, Sherlock \u0026amp; Co. Podcast, Season 26* A Story of Love, Minerva Spencer* The Etiquette of Love, Minerva Spencer* A Very Bellamy Christmas, Minerva Spencer* Empire Podcast, The Rise and Fall of the Mughal Empire, Episodes 205–211, 215-222*†# Empire Podcast, Britain’s Last Colony, Episodes 229-230*†# Head First Java (3rd edition), Kathy Sierra, Bert Bates \u0026amp; Trisha Gee*‡ Head First Go, Jay McGavren*‡ The Rest is History, The French Revolution (Part II), Episodes 503–507*†# The Rest is History, The French Revolution (Part III), Episodes 544-547*†# Morris Chang \u0026amp; TSMC, Spring 2025, Episode 1, Acquired Podcast*†# Rolex, Spring 2025, Episode 2, Acquired Podcast*†# Head First C, Dawn Griffiths \u0026amp; David Griffiths*‡ April # Head First Learn to Code, Eric Freeman*‡ On Writing with Brandon Sanderson, Episodes 4.5-8, Brandon Sanderson*‡ Spellfire Thief, Sarah Hawke* Thinking About Thinking, Grant Snider* The Disappearance of Lady Frances Carfax, Sherlock \u0026amp; Co. Podcast, Season 28* Deep Questions, Cal Newport, Episodes 01-10*†# Deep Questions, Cal Newport, Episodes 11-20*†# Unlovable, Darren Hayes*† May # Deep Questions, Cal Newport, Episodes 21-30*†# Dick Barton and the Secret Weapon, Edward J Mason*# Dick Barton and the Paris Adventure, Edward J Mason*# Dick Barton and the Cabatolin Diamonds, Edward J Mason*# Kill the Pharaoh, Victor Pemberton*# On Writing with Brandon Sanderson, Episodes 8-12, Brandon Sanderson*‡ Deep Questions, Cal Newport, Episodes 31-40*†# Trial \u0026amp; Error (The Hardy Boys), Franklin W. Dixon Understanding APIs and RESTful APIs Crash Course, Kalob Taulien (Udemy)*‡# System Collapse, Martha Wells* Deep Questions, Cal Newport, Episodes 31-40*†# A Sham Engagement, Fil Reid A Hint of Scandar, Fil Reid Gideon the Ninth, Tamsyn Muir*# Deep Questions, Cal Newport, Episodes 41-50*†# Deep Questions, Cal Newport, Episodes 51-60*†# Harrow the Ninth, Tamsyn Muir*# June # Deep Questions, Cal Newport, Episodes 61-70*†# Deep Questions, Cal Newport, Episodes 71-80*†# Apple in China, Patrick McGee*† Dreaming of Elisabeth, Camilla Lackberg* An Elegant Death, Camilla Lackberg* Steve Ballmer, Summer 2025, Episode 1, Acquired Podcast†# Deep Questions, Cal Newport, Episodes 81-90*†# The Rest is History, Warlords of the West, The Rise and Fall of the Franks, Episodes 520-525*†# The Rest is History, Heart of Darkness, Horror in the Congo, Episodes 538-541*†# Antifragile, Nassim Nicholas Taleb*† A Man and a Woman, Robin Schone* Deep Questions, Cal Newport, Episodes 91-100*†# A Scandal in Bohemia, Sherlock \u0026amp; Co. Podcast, Season 30* How to Read a Book, Mortimer J. Adler*‡ The Secret Rules of the Terminal, Julia Evans*‡ The Lover, Robin Schone Slide:ology, Nancy Duarte*‡ July # Deep Questions, Cal Newport, Episodes 101-110*†# Deep Questions, Cal Newport, Episodes 111-120*†# The Rest is History, 1066: The Norman Conquest of England, Episodes 548-557*†# Emacs Writing Studio, Peter Prevos*‡ Deep Questions, Cal Newport, Episodes 121-130*†# Empire Podcast, The History of Ireland, Episodes 231-246*†# The Priory School, Sherlock \u0026amp; Co. Podcast, Season 32* The Adventures of Johnny Bunko: The Last Career Guide You\u0026rsquo;ll Ever Need, Daniel H. Pink*‡ The Sketchnote Handbook, Mike Rohde*‡ Business Etiquette, Ann Marie Sabath*‡ Dare to Tempt an Earl This Spring, Sara Adrien \u0026amp; Tanya Wilde* How to Lose Prince This Summer, Sara Adrien \u0026amp; Tanya Wilde* Empire Podcast, Victorian Narcos (The Opium Wars), Episodes 248-255*†# Deep Questions, Cal Newport, Episodes 131-140*†# Lost Islamic History, Firas Alkhateeb*† Empire Podcast, Canada, Episodes 267-272*†# Deep Questions, Cal Newport, Episodes 141-150*†# 100 Tricks to Appear Smart in Meetings, Sarah Cooper*† August # Empire Podcast, The Panama Canal, Episodes 273-277*†# Deep Questions, Cal Newport, Episodes 151-160*†# Dick Barton and the Smash and Grab Raiders, Edward J Mason*# Deep Questions, Cal Newport, Episodes 161-170*†# Deep Questions, Cal Newport, Episodes 171-180*†# Empire Podcast, Partitions (The Breakup of the Britisth Indian Empire), Episodes 278-283*†# I Do Everything I’m Told, Megan Fernandes* Deep Questions, Cal Newport, Episodes 181-190*†# September # Deep Questions, Cal Newport, Episodes 191-200*†# Deep Questions, Cal Newport, Episodes 201-210*†# Deep Questions, Cal Newport, Episodes 211-220*†# 300, Frank Miller* V for Vendetta, Alan Moore* The Killing Joke, Frank Miller* Watchmen, Alan Moore* Nona the Ninth, Tamsyn Muir*# Deep Questions, Cal Newport, Episodes 221-240*†# Empire Podcast, The Suez Crisis, Episodes 284-288*†# Empire Podcast, The Cholas, Episodes 289-290*†# Vivian Maier: Street Photographer, John Maloof*† Vivian Maier: Out of the Shawdows, Richard Cahn \u0026amp; Michael Williams*† Mastering Fujifilm Camera Menus, Joshua Chard*‡# Learn Manual Mode Photography in Under 1 Hour!, David Eastwell*‡# Street Photography Masterclass, Adam Tan*‡# October # Deep Questions, Cal Newport, Episodes 241-250*†# The Rest is History, The First World War (1914–15), Episodes 594-599*†# Picture Perfect Posing, Roberto Valenzuela*‡ Picture Perfect Practice, Roberto Valenzuela*‡ Alien Overlords Series, Theodora Taylor \u0026amp; Eve Vaughn The Rest is History, Greek Myths, Episodes 602-605*†# Deep Questions, Cal Newport, Episodes 251-270*†# Deep Questions, Cal Newport, Episodes 271-290*†# Abbey Grange, Sherlock \u0026amp; Co. Podcast, Season 33* The Mazarin Stone, Sherlock \u0026amp; Co. Podcast, Season 34* The Missing Three-Quarter, Sherlock \u0026amp; Co. Podcast, Season 35* The Rest is History, Greek Myths, Episodes 602-605*†# Talk Python in Production, Michael Kennedy *‡ Deep Questions, Cal Newport, Episodes 291-310*†# Classics of British Literature, John Sutherland (The Great Courses) Lectures 1-10*‡# Bootstrapping Microservices, Ashley Davis*‡ The Book of Kubernetes, Alan Hohn*‡ Google, Summer 2025, Episodes 2 \u0026amp; 4 and Fall 2025, Episode 1, Acquired Podcast†# Deep Questions, Cal Newport, Episodes 311-330*†# Empire Podcast, Gaza! The History, Episodes 291-301*†# The Count of Monte Cristo, Alexandre Dumas* November # Kathryn, Minerva Spencer* Deep Questions, Cal Newport, Episodes 331-350*†# Classics of British Literature, John Sutherland (The Great Courses) Lectures 11-31*‡# Trader Joe’s, Fall 2025, Episode 2, Acquired Podcast†# GitOps, Florian Beetz, Anja Kammer \u0026amp; Simon Harrer*‡ GitOps Cookbook, Natale Vinto \u0026amp; Alex Soto Bueno*‡ GitOps and Kubernetes, Yuen, Matyshentsev, Ekenstam \u0026amp; Suen*‡ Argo CD: Up \u0026amp; Running, Andrew Block \u0026amp; Christian Hernandez*‡ Leveraging Kustomize for Kubernetes Manifests, Brent Laster*‡ Deep Questions, Cal Newport, Episodes 331-350*†# Classics of British Literature, John Sutherland (The Great Courses) Lectures 32-49*‡# Learning Helm, Butcher, Farina \u0026amp; Dolitsky*‡ Kubernetes Up and Running, Burns, Beda \u0026amp; Hightower*‡ Kubernetes Cookbook, Naik, Goasguen \u0026amp; Michaux*‡ Deep Questions, Cal Newport, Episodes 351-370*†# Wisdom Takes Work, Ryan Holiday*† Right Thing, Right Now, Ryan Holiday*† Soul Harvest (Dread Knight #2), Sarah Hawke* Dark Covenant (Dread Knight #3), Sarah Hawke* Rebirth (Dread Knight #4), Sarah Hawke* Talk of the Town, Jerry Pinto \u0026amp; Rahul Srivastava*† The Penguin Classics Book, Henry Eliot*† Flux CD for Absolute Beginners, Yogesh Raheja*‡# Wide Angle Photography, Chris Marquardt*‡ A Wanton Adventure, Ramona Elmes* A Translation of Desire, Ramona Elmes* The Psychology of Human Misjudgment, Charles T. Munger*† Laird’s Curse, Katy Baker* Redemption of a Rakehell, April Moran* The Complete Yes Minister, Jonathan Lynn \u0026amp; Antony Jay* December # The Complete Yes Prime Minister, Jonathan Lynn \u0026amp; Antony Jay* Deep Questions, Cal Newport, Episodes 371-380*†# Confessions of a Rakehell, April Moran* Traefik API Gateway for Microservices: With Java and Python Microservices Deployed in Kubernetes, Rahul Sharma \u0026amp; Akshay Mathur *‡ The Hound of the Baskervilles, Sherlock \u0026amp; Co. Podcast, Season 36* Coca Cola, Fall 2025, Episode 3, Acquired Podcast†# The Way of Kings, Brandon Sanderson* Words of Radiance, Brandon Sanderson* Edgedancer, Brandon Sanderson* Altered Carbon, Richard Morgan* ","date":"31 décembre 2025","externalUrl":null,"permalink":"/reading/2025/","section":"Reading","summary":"All the Titles from 2025","title":"2025","type":"reading"},{"content":" Goals + Recap # After a week of festivity, I’m looking to a slow peaceful day today. The single node K3s cluster has behaved admirably, ever since it came online. I haven’t missed anything from the older incarnation of Janus.1 Pat on the back for a job really well done :) Will try reading a book today and learn some IPv6. 2025-12-31 08:50 # First day, trying to get back to a semblance of eating right, and I’m already really hungry. 2025-12-31 11:21: Been through three books now. Really distracted today. Made a copy of all my iCloud photos. 2025-12-31 13:55: Ok, found a book that clicked. Reading Third Generation Internet Revealed. 2025-12-31 14:15: Renewed my ACM Skills bundle. 2025-12-31 19:50 # Got through half the book. God knows, when I’ll finish the rest. Time to shut down. Feedback on this post?\nMail me at feedback at this domain. knocks on wood\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-31/","section":"Notes \u0026 Miscellanea","summary":"But maybe sometime if you feel the pain, You’ll find you’re all alone, everything has changed","title":"2025-12-31 Notes","type":"nm"},{"content":" Goals + Recap # Bittersweet end to the The Big Plan!\nIt helped me keep on track with the move, and now am still settling into this new house. And with the whole, cattle not pets thing now, the new VM will probably never feel like home. Today: See if I can get the Moi archival script to work on my local system Now that I got scenarios working on Huginn, get the old ones back 2025-12-20 09:10 # 2025-12-20 12:19: Making slow, lazy progress moving the interconnected pile of scripts that is my archive microblog script. Was using Pyenv. Think I will use UV now. Good chance to play with it 2025-12-20 13:25: Done! Lunch 2025-12-20 13:50 # Back 2025-12-20 14:17: All done! Good night! Feedback on this post?\nMail me at feedback at this domain. ","date":"20 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-20/","section":"Notes \u0026 Miscellanea","summary":"Passin’ by, movin’ straight ahead, you knew it all","title":"2025-12-20 Notes","type":"nm"},{"content":"","date":"19 décembre 2025","externalUrl":null,"permalink":"/tags/ansible/","section":"Tags","summary":"","title":"Ansible","type":"tags"},{"content":"","date":"19 décembre 2025","externalUrl":null,"permalink":"/tags/gitops/","section":"Tags","summary":"","title":"Gitops","type":"tags"},{"content":"","date":"19 décembre 2025","externalUrl":null,"permalink":"/tags/hetzner/","section":"Tags","summary":"","title":"Hetzner","type":"tags"},{"content":"","date":"19 décembre 2025","externalUrl":null,"permalink":"/tags/k3s/","section":"Tags","summary":"","title":"K3s","type":"tags"},{"content":"","date":"19 décembre 2025","externalUrl":null,"permalink":"/tags/terraform/","section":"Tags","summary":"","title":"Terraform","type":"tags"},{"content":" Intended Audience Me!\nUpdate 2025-12-19: All done!\nI just finished a move from one Hetzner VM to another.\nThe type of VMs are the same, in fact.\nIt’s just that the new VM and all the software on it are entirely software driven. I kept logging my progress in my notes, copy pasting the plan from day to day and ticking things off.\nNow that it’s done and I still want to refer to it regularly, as the rest of the services come over, I wanted a place to keep it. And so this post, it is.\nList of services that absolutely need to come over. Miscellaneous stuff later. # the main domain french version of the website the mastodon archive the email distribution list miniflux for rss feeds joplin baikal discourse (no more discourse!) markdown editor (hedgedoc) anki huginn syncthing IRC: theLounge + znc (see if we can make do with a single service now (2025-12-15: we could!)) kanboard Certs, Move them over, or figure out a way to generate and renew them via Ansible The Big Point of The Big Plan # Save time and energy. Managing all the disparate services I use is taking more and more of my time. I need to claim that back, while being able to use said services. Be gitops driven. Managing stuff gets easier. Tearing down things and rebuilding them gets easier Have most everything I use, be in a Kubernetes cluster. Be pragmatic enough to know that everything cannot be in a Kubernetes cluster and will have to live in the root VM Have Flux CD manage everything in the cluster Have Ansible Pull manage everything in the VM, acting as my single node. The point of doing this is not idempotency, rather to have everything in code; something that I can comment and uncomment and manipulate at will, something I can update at will and something that is documented. Never again will Future Jason have to scratch his head about, just how to go about doing something. (Long term note to self: Have the discipline to write tasks and drive everything with Ansible, despite the ease of “just doing it at the command line”) The Big Plan (Done! 🎉🎉🎉) # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Flux CD Certmanager (Not using it) Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Figure out how to automate deployment of manual manifests Figure out how to migrate there if there is any in an old app Figue out how to automate updation of images in manual manifests Get another app (Miniflux) deployed Figure out what needs to happen as part of the lifecycle. What you want in the cluster, what stays out, do they intersect, how do updates of cluster happen? VM (node) updates as well? Then begin to think along the lines of Live Deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) Go live! Git is source of truth. Two repos. One for the Main node and its update Terraform will provision node and install package, setup firewall Figure out how to get Terraform to get the node talking to the git forge Structure repo, copy every thing node related there, and make sure stuff gets updated periodically and if possible, idempotantly, via ansible pull and a systemd timer The other one for k3s and flux Convert everything I have done locally to run on prod. Add more steps as you do them below Unrelated. Long term. Optional. Just here so that I remember # Get Moi publish script running Redo Huginn Scenarios Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n","date":"19 décembre 2025","externalUrl":null,"permalink":"/work/the-big-plan-change-my-vm-to-be-gitops-driven/","section":"Work","summary":"Just for reference","title":"The Big Plan: Change My VM to Be Gitops Driven","type":"work"},{"content":" Goals + Recap # Everything came to a head yesterday. Was able to bend the last two months of learning towards quickly moving most of my remaining services across. All that’s left is Anki and a few finishing touches. Today Look at The Big Plan!, to see if anything needs adding or changing. Add my CI/CD runner key to the new VM via Ansible Move Anki to the server. Figure out if image updations for the new apps and create them if warranted. Hedgedoc Huginn: do it the old fashioned way. Reminder in org mode to check for a new release every quarter and upgrade manually Joplin Mastodon Archive Blog Decommission the old VM. Au revoir, mon ami! 2025-12-19 08:10 # Begin! 2025-12-19 08:15: All this work has proven itself. All I had to do to update Lego on the VM was update a variable and run my ansible-pull script! 2025-12-19 08:20: Break 2025-12-19 08:55 # Back Reading up on how to wrangle a Python container 2025-12-19 09:15: Moved Anki’s DNS to point to the new VM. That’s the last of it. All my records now point to the new VM. 2025-12-19 09:28: Break 2025-12-19 11:00 # Back 2025-12-19 12:03: Built a small Anki image, by pip installing into the standard Python image 2025-12-19 12:41: Slimmed the image and uploaded it. Lunch break 2025-12-19 13:10 # Back 2025-12-19 14:15 # And we’re done! Goodbye Janus! You were a good VM! 2025-12-19 14:30 # Break. Back later. 2025-12-19 16:25 # Back 2025-12-19 16:48: Got ansible to install the public key for Forgejo blog deploys to the VM. 2025-12-19 17:50: Most all apps now update themselves thanks to Flux CD. The doing was fun! And now to slow down and think and write about all I’ve done. Also think of some project that I could deploy on AWS, so I can show that off as part of my portfolio. But right now, to enjoy Christmas break. I will be sporadic until the next year. Feedback on this post?\nMail me at feedback at this domain. ","date":"19 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-19/","section":"Notes \u0026 Miscellanea","summary":"Growin’ up, you don’t see the writing on the wall","title":"2025-12-19 Notes","type":"nm"},{"content":" Goals + Recap # Got Sendy to move. It felt like pushing Pinko’s (my big stray mutt) butt across the floor when he does not want to move. I can now craft and send emails to my little list from the cluster! My old sysadmin skills are proving darned handy here. Am also getting better at troubleshooting stuff when it does not work … Today Look at The Big Plan!, to see if anything needs adding or changing Move Joplin Server to the cluster Move Hedgedoc to the cluster 2025-12-18 08:40 # Let’s begin. Pointing Joplin to the new server location so that the original one stops serving requests and lets me back it up 2025-12-18 09:30: Zipped up all the data and moved it from the old server to the new one. Thank you Syncthing! Created a namespace and dumped all the environment variables from the old .env file into a secret. 2025-12-18 09:52: Moved some data out into a configmap 2025-12-18 12:48: Lunch. Was struggling with two containers in the same pod. This approach does not seem to jibe well with the Joplin image. Will come back and split it into two pods. 2025-12-18 14:00 # Back at it 2025-12-18 14:38: And now that there are multiple containers, everything just works. Joplin has moved over. Hedgedoc is next! 2025-12-18 18:13: Hedgedoc done. 2025-12-18 19:13: Got the mastodon archive site down to my local machine, committed to git and publishing to the new server, just like the main site. 2025-12-18 21:05: Only one service remaining. All the others have moved! 🎉 Tomorrow: Add Moi’s key to authorised keys on the remote machine, via Ansible Create a folder for moi to publish files to Move Anki Feedback on this post?\nMail me at feedback at this domain. ","date":"18 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-18/","section":"Notes \u0026 Miscellanea","summary":"I believe you don’t know what you’ve got until you say goodbye","title":"2025-12-18 Notes","type":"nm"},{"content":" Goals + Recap # Sendy is proving to be quite hard. Continuing work on moving it today. Today Look at The Big Plan!, to see if anything needs adding or changing Move Sendy (my email list software) to the cluster 2025-12-17 07:50 # Let’s dive in. Will first start with trying to replace the current php/apache image I am using with one from Ubuntu. (A few minutes later … nope!) 2025-12-17 08:07: From Sendy’s docs, it looks like I need more php extensions than are provided. There are good folks on the net, who have already done this work! Will copy and adapt. 2025-12-17 08:08: Screw adapt. I think I will just copy. The only adaptation I think I will do is figure out how to enable Docker repos on forgejo and use them as a private repo, so I can do this in a private pipeline. Quite a bit of yak shaving this is turning out to be! 2025-12-17 09:15 # Created a new user and transferred most of the git repos I did not use to it. 2025-12-17 09:41: Modified my git backup services and ensured they were still running. 2025-12-17 10:03: Update profile. Tea break. 2025-12-17 10:35 # Back. Trying to figure out docker login for forgejo now 2025-12-17 10:52: Forgejo confige changed. Docker login succeeded. Now to figure out how to make and upload one there 2025-12-17 12:15: Built and pushed and used and tested a basic apache+php image to the private repo 2025-12-17 12:16: I always wondered what it would be like to build my own docker image. Well, I don’t have to wonder any longer 😂 Now to spend the rest of the day, beavering at creating one for sendy 2025-12-17 12:24: Lunch break 2025-12-17 12:50 # Back. Getting something sorta kinda working locally. 2025-12-17 13:55: Nap 2025-12-17 14:08 # Now trying my tiny custom apache/php image on the cluster Figured that I need a secret of the type:docker-registry to stuff my code forge’s credentials into 2025-12-17 15:30: Got the basic install working with my custom image! Needs a bit of tweaking to automate mail sending. Manual stuff works! Tea break. 2025-12-17 16:00 # 2025-12-17 17:26: Most of my stumbles seem to be something I never could have foreseen. Am struggling with cron jobs in a container as I write this 2025-12-17 18:06: One final tweak to cronjobs and everything clicked into place and started working! 2025-12-17 18:20: Cleaning up everything. 2025-12-17 18:22: Packing up for today. Tomorrow, Joplin! Feedback on this post?\nMail me at feedback at this domain. ","date":"17 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-17/","section":"Notes \u0026 Miscellanea","summary":"I believe the grass is no more greener on the other side","title":"2025-12-17 Notes","type":"nm"},{"content":"","date":"17 décembre 2025","externalUrl":null,"permalink":"/tags/sendy-nm/","section":"Tags","summary":"","title":"Sendy-Nm","type":"tags"},{"content":" Goals + Recap # Yesterday was was quite hard, but it ended in the traefik on the cluster, managing its own certificates rather than me having to provide it manually. My IRC client (theLounge IRC) moved as well. Today Look at The Big Plan!, to see if anything needs adding or changing Move Sendy (my email list software) to the cluster 2025-12-16 09:20 # Let’s start (at the very beginning … ) I like the fact, that despite all the upheavel, my writing process has essentially remained unaffected. I don’t think I had a single day I could not write and publish my thoughts and updates as I go through the move. I am grateful to the muses and the kindly ones for that 2025-12-16 10:22: Been doing research on sendy migrations. Tea break 2025-12-16 10:45 # Back. Continuing research 2025-12-16 11:18: Too tough to do directly online in production. Trying stuff on the home cluster first 2025-12-16 12:28: Lunch 2025-12-16 12:55 # Back to work 2025-12-16 13:57: Overwhelmed. Doing some other chores for a bit 2025-12-16 14:32: Back at work 2025-12-16 14:56: Gave up on the idea of locally doing this. Too cumbersome. Will try it online 2025-12-16 17:10: Figured that I’d use the hostpath approach just like I did for the Hugo blog. Being single node makes a lot of things really easy. I really need to do a bigger multi-node cluster to understand what’s on the other side though. I’d hazard that data and databases are out in some shared thing somewhere, not in the cluster 2025-12-16 17:19: Also realised that there’s a fantastic MariaDB helm chart, but I’m sticking to my manual copy/paste/adapt of a simpler docker image, since my needs are not complex. 2025-12-16 19:35: Giving up for today. Will continue tomorrow Feedback on this post?\nMail me at feedback at this domain. ","date":"16 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-16/","section":"Notes \u0026 Miscellanea","summary":"I believe you can’t appreciate real love, till you’ve been burned","title":"2025-12-16 Notes","type":"nm"},{"content":" Goals + Recap # Had some time yesterday and realised, I must have gotten out of Letsencrypt jail by now. So I decided to tackle my certificate situation. Figured out how to generate a cert and renew it. And put them into my Ansible tasks Low hanging yet extremely important to me, my contacts and calendar moved from the old VM to the new cluster on Saturday Today Look at The Big Plan!, to see if anything needs adding or changing Figure out to get the newly minted certificates into the cluster (Settled on traefik generating certs independantly in-cluster) ~~ Move Sendy (Email list) ~~ not today Move IRC (theLounge), if there is time 2025-12-15 09:10 # Update the Big Plan to make the why more explicit do near future Jason, when he decides to tear his hair out, or tries to overengineer things 2025-12-15 09:43: Break 2025-12-15 10:25 # Back While I was on the break, I was thinking about the certs, and whether I’m missing something. I need the certs on the node. At least for now. Ok. Now the question becomes, how do I convert it into a sealed secret and push it into the cluster itself? Do it on the VM? That’ll mean putting kubeseal on the VM. Do it at home on my main machine? What happens when I am not there and the machine is off? Do it on a third machine? How do I now integrate that bugger into my flow? Hmmm. Thinking a bit more … 2025-12-15 10:33: Should a runner on my code forge do it? I’ll need to save the sealed-secret there then? Do I have something against having a copy of my repo on the VM? That happens with Ansible Pull anyway? Oh, but that is a different repo. 2025-12-15 10:46: Taking the simplest (and most secure) route for now and doing it all locally. The only (only but BIG) con I see to this approach is if my main machine is off for a few days or I am travelling and that period coincides with a cert expiry. Hmmmm. So should Traefik take over cert generation renewal stuff for the cluster then? I was trying to avoid multiple requests to Letsencrypt as much as possible, but then this seems to be the cleanest approach rather then. 2025-12-15 10:52: Ok. I seem to enjoy making more work for myself. Let’s knuckle down and figure this out then. How would Traefik get certs? 2025-12-15 12:05: Got my porkbun creds as a sealed secret into the cluster 2025-12-15 12:44: Been reading Traefik docs. Lunch break. 2025-12-15 14:02 # Back\n2025-12-15 15:07: Tea break. The traefik documentation is driving me nuts! 2025-12-15 15:30: Back at it 2025-12-15 17:05: Alright! Done! Took a lot of search, looking at examples, asking ChatGPT and fixing typos. But it got done. I had the sense this time, to try it all out with Letsencrypt staging first! :) 2025-12-15 17:30 # cleaned stuff up as much as I could. Love Flux CD and containers now! 2025-12-15 17:36: Starting with theLounge now. Hopefully this should not be hard (fingers crossed!). This is just setting up a new instance, with no data coming over. 2025-12-15 17:45: Am getting pretty good at translating docker-compose files into kubernetes manifests 😂 2025-12-15 18:23: Well not that good. Still miss plenty of stuff. 2025-12-15 19:12: Done. I forgot to make a note of what channels I was in, before I retired the old ZNC/TheLounge setup. But never mind. The important ones I have rejoined. Tomorrow: Move Sendy (Also only pick up one task a day now onwards.) Feedback on this post?\nMail me at feedback at this domain. ","date":"15 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-15/","section":"Notes \u0026 Miscellanea","summary":"I believe in karma, what you give is what you get returned","title":"2025-12-15 Notes","type":"nm"},{"content":" Goals + Recap # Look at The Big Plan (Done! 🎉🎉🎉), to see if anything needs adding or changing Made steady progress yesterday. Got both my websites moved over Sent my last newsletter of the year. Decided to do that, in case Sendy crashed and burned during the move and I couldn’t send stuff Today Change fan on the Pi 5 Move kanboard to the cluster Update image repositories for both websites + kanboard + miniflux, so they update automatically Client call Move baikal to the cluster (if possible) 2025-12-13 07:30 # The 3rd party fan/heatsink on the Pi5 finally gave up the ghost. Thankfully, I saw it coming and ordered an officially Raspberry Pi fan now. I’d kept the original case as well. So off came the old and in went the new fan. My music server is back online! 2025-12-13 08:00: Updated my Papermod theme. Everything went off without a hitch. 2025-12-13 08:14: Got today’s note up and running. Now to tackle kanboard, before the client call at 11. 2025-12-13 08:20 # Beginning work on Kanboard 2025-12-13 08:41: Got sidetracked by two hungry stray doggies. Back to work Pointed the domain at kanboard. 2025-12-13 09:02: Moved Kanboard. Moved the data. All good! 2025-12-13 09:05 # Will move Baikal first before doing creating image updations for all the stuff I’ve moved Pointed the URL to the new server, and disabled the site in nginx, so that nothing touches the old stuff now. Hopefully DNS will timeout and point to the new server shortly 2025-12-13 10:45 # Done with Baikal. Moved data from the old machine and into the new cluster. All is well! Everything’s changed behind the scenes and my phone and computer just chug along like nothing’s happened. Gives me quite a thrill! Now to go do my client call *2025-12-13 13:40: Done with the meeting. Off to my lunch break. 2025-12-13 17:30 # Back at work. Had another meeting and then a tea break Now I understand why PVC. The backing storage could change tomorrow, but as long as I can mount it with a name at a path, nothing changes for my app. The other way around too. The app could keep changing, but as long as the data is kept away from it and accessed in the right manner, (is it a db that allows multiple access? or a file that only a single thread can touch at one time?), it’s all cool 2025-12-13 17:55: Not touching image stuff for Baikal. Need to figure out how to filter out a custom thing from a tag. Got Kanboard to update! Now to Nginx for both the websites 2025-12-13 18:27: Both sites automatically updated to the latest version of Nginx! 2025-12-13 19:20: Got baikal up and updating too! It needed a tiny bit of regex to filter the tag. 2025-12-13 19:40: Think I’ve done all the low hanging fruit. Now to tackle the rest, one by one Monday onwards Some will mean moving things to my desktop (the Mastodon mirror script) and some will probably mean creating my own docker images (anki) and finally some I’ll just have to be really careful migrating data over (sendy) Feedback on this post?\nMail me at feedback at this domain. ","date":"13 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-13/","section":"Notes \u0026 Miscellanea","summary":"I believe I’m loved when I’m completely by myself alone","title":"2025-12-13 Notes","type":"nm"},{"content":" Goals + Recap # Read a book on Traefik, yesterday. Pretty helpful. It covered the older version of Traefik though, so I’ll have to adapt the advice to my new version. I tried reading the actual documentation next, but they are umm, I cannot put my finger on it, but I keep getting lost. What is written, is pretty well written, but I think there is a lack of a connecting link from the big picture to the nitty gritty, or if there is, is just glossed over. If it wasn’t for the book, I’d be pretty lost. But as a reference though, it is really good. The cluster is still up and running well. Miniflux works. Been using it all day yesterday and today. Pretty please with the decision to move to a cluster, now that it is set up. Look at The Big Plan (Done! 🎉🎉🎉), to see if anything needs adding or changing Today, figure out http to https redirects. And move the main site https://janusworx.com to the cluster 2025-12-12 09:15 # Let’s get to work! 2025-12-12 09:30: Changed all my Hugo archetypes to no longer include links to my discourse. Will need to maket the time someday to remove existing links from all the pages. 2025-12-12 10:04: Got my http to https redirect working! Also fixed my tls sealed-secret for traefix. Nothing big, but in my haste, yesterday, I forgot to export it in yaml. And today, I wondered why my manifest was formatted so queerly, until I realisde I was looking at json. Surprisingly, Traefik had taken that json-in-yaml manifest and worked without complaint! Tea break. 2025-12-12 10:30 # Thoughts to move https://janusworx.com to the new cluster. Doing this first, because this is the most public facing part of my VM. If there are any issues here, better get them out as soon as possible. Have a folder that I can rsync all my new posts to (like it is on the old one) Have an nginx container look at it via some hostpath pvc? Serve! Now to go stumble about doing it and fixing any hiccoughs along the way Disabled miniflux on the old VM as well 2025-12-12 10:45: Ok think I will first fix my deploy action to sync to the new VM 2025-12-12 11:27: Use ansible to create a folder for my hugo deploy Switched variables in my forgejo action to the new VM, gave it my new key, as well as updated known hosts (No other change) Manually running the action now. Did not realise how big my site has grown in size over the years 2025-12-12 11:33: Ok my action timed out. Think I will manually move stuff first with a syncthing sync. (Thank god i set it up yesterday!) 2025-12-12 11:40: Running action again. It works! It works! Now I know why gitops! Change a few variables, drink some soup et voilà, your new site deploy is done! Wow! Love this! 2025-12-12 11:45: Also realised my original manual action run had not timed out. It was, in fact, interrupted by a subsequent automated run, which had succeeded! Now that the data is in place, I’m off to get nginx working in the cluster. 2025-12-12 12:45: Just realised, I might have to have two containers. One for https://fr.janusworx.com as well. Seems wasteful. Checking to see, if one pod / nginx instance can do both. 2025-12-12 12:57: Realised, I am then asking Nginx to do another level of routing. Hmm, no thank you. I’ll keep things simple, be a little wasteful and run two nginx containers. Lunch break 2025-12-12 13:30 # Back for a while 2025-12-12 14:28: Yay! Done! https://janusworx.com is now served from the cluster! Done with work for the day :) 2025-12-12 14:45 # Some NMC work now 2025-12-12 15:00: Tea. Be back later. 2025-12-12 16:20 # Done with French. Off for a walk. 2025-12-12 17:30 # 2025-12-12 18:00: Send out a mail to the newsletter list. I might not be able to later, with this migration. 2025-12-12 19:20: Moved the french version of the site over as well. One less thing to do tomorrow. Tomorrow # Enable image updation of the nginx image for both jw and fr.jw Figure out how to go about moving the mastodon archive and keeping it updated Feedback on this post?\nMail me at feedback at this domain. ","date":"12 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-12/","section":"Notes \u0026 Miscellanea","summary":"I believe that beauty magazines promote low self esteem","title":"2025-12-12 Notes","type":"nm"},{"content":"","date":"12 décembre 2025","externalUrl":null,"permalink":"/tags/cloudinit-nm/","section":"Tags","summary":"","title":"Cloudinit-Nm","type":"tags"},{"content":"","date":"12 décembre 2025","externalUrl":null,"permalink":"/tags/terraform-nm/","section":"Tags","summary":"","title":"Terraform-Nm","type":"tags"},{"content":" Goals + Recap # I think, I think, that most of the fundamental pieces are in places after yesterday’s work. The Big Plan is done! Now to move each production item from the old VM to the new cluster. Today, figure out http to https redirects. And move one app. Note to Self: Quit at 1p. Get back to life. The Big Plan (Done! 🎉🎉🎉) # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager (Not using it) Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Figure out how to automate deployment of manual manifests Figure out how to migrate there if there is any in an old app Figue out how to automate updation of images in manual manifests Get another app (Miniflux) deployed Figure out what needs to happen as part of the lifecycle. What you want in the cluster, what stays out, do they intersect, how do updates of cluster happen? VM (node) updates as well? Then begin to think along the lines of Live Deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) Go live! Git is source of truth. Two repos. One for the Main node and its update Terraform will provision node and install package, setup firewall Figure out how to get Terraform to get the node talking to the git forge Structure repo, copy every thing node related there, and make sure stuff gets updated periodically and idempotantly, via ansible pull and a systemd timer The other one for k3s and flux Convert everything I have done locally to run on prod. Add more steps as you do them below 2025-12-11 09:30 # The night passed well for the new VM. It rebooted on time, just as scheduled. Hetzner backed it up, just as instructed. 2025-12-11 09:37: Also, Oi, wot? Traefik natively supports what I have been trying to do with Lego! Get Lego to generate certs and install them as a sealed secret into the cluster for Traefik to use. Will try to figure out what to do once my Letsencrypt jail time gets over. Maybe do both. Traefik can handle stuff for the cluster and Lego can get them as well and keep them in another place in the VM in case I need it outside the cluster. 2025-12-11 09:55: Don’t think I want to work on the VM today. Will sit and read a book about Traefik. Tea Break 2025-12-11 10:15 # Back. Begin reading! 2025-12-11 12:42: Lunch. Finished half of the book. Will do the rest after lunch. 2025-12-11 13:05 # Back to the book. 2025-12-11 13:30: Done with the book. Nap time! 2025-12-11 17:15 # Did my Duolingo and had a long walk after quite a few weeks 2025-12-11 17:16: Reading Traefik docs 2025-12-11 17:54: Client call 2025-12-11 18:35 # Back. 2025-12-11 19:12: Shutting down for the day! Feedback on this post?\nMail me at feedback at this domain. ","date":"11 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-11/","section":"Notes \u0026 Miscellanea","summary":"I believe your parents did the best job they knew how to do","title":"2025-12-11 Notes","type":"nm"},{"content":" Goals + Recap # Got Ansible Pull working, so now I can update a playbook and the VM fetches it and does what I tell to! Who’s a good VM? Struggled with getting LEGO to generate a first time cert. And then like a ignorant fool, I made too many requests of Letsencrypt and got locked out. Shoulda done dry runs! I forgot! Will simply copy over my certs from ye olde plaice and then figure out a way to do the renew script. Even for later, methinks I will leave initial certificate generation to be a manual thing. For the big AWS project, I will figure something else out. Will focus on getting Lego and certs working and getting an app or two at most deployed on the new production cluster. Note to Self: Quit at 3p. Get back to life. The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager (Not using it) Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Figure out how to automate deployment of manual manifests Figure out how to migrate there if there is any in an old app Figue out how to automate updation of images in manual manifests Get another app (Miniflux) deployed Figure out what needs to happen as part of the lifecycle. What you want in the cluster, what stays out, do they intersect, how do updates of cluster happen? VM (node) updates as well? Then begin to think along the lines of Live Deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) Go live! Git is source of truth. Two repos. One for the Main node and its update Terraform will provision node and install package, setup firewall Figure out how to get Terraform to get the node talking to the git forge Structure repo, copy every thing node related there, and make sure stuff gets updated periodically and idempotantly, via ansible pull and a systemd timer The other one for k3s and flux Convert everything I have done locally to run on prod. Add more steps as you do them below 2025-12-10 09:50 # Paused a systemd service via Ansible-Pull. Feels very cool! 2025-12-10 10:21: I keep getting distracted with the bigger picture and what ifs rather than focussing on what is right in front of me. 2025-12-10 13:00: Lots of ansible work. Good progress. Lunch break. I used to think that Ansible roles were too granular and now I seem to be doing the same with my tasks 😂 2025-12-10 14:15 # Will just copy the certs for now 2025-12-10 17:23: Got the plays structured nad worknig just the way i want\nGot syncthing installed, service installed, and working through the firewall. 2025-12-10 18:14: Copied files and got sealed secrets up and runnig within seconds! 2025-12-10 18:35: Got Kubeseal installed via ansible, without a single hitch! 2025-12-10 19:24: Manually put in the secret to the cluster. Will look at automation after a few days when Letsencrypt decides to talk to me. 2025-12-10 19:25: And just like that Traefik is up! 2025-12-10 20:06: Couldn’t get Miniflux working. Will work on it tomorrow. Calling it a night. 2025-12-10 20:30: Couldn’t quite leave it alone. I think I forgot to encrypt the cert with the new cluster’s sealed certificate. Will give that a try. If it works good. If not, we try again tomorrow! :) 2025-12-10 21:00: It was the damned cert! Ok, now I know I was not going batty :) Figure out http to https tomorrow. Haproxy was doing it here. Need to figure out how to do it with Traefix directly. Time for bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"10 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-10/","section":"Notes \u0026 Miscellanea","summary":"I believe that junk food tastes so good because it’s bad for you","title":"2025-12-10 Notes","type":"nm"},{"content":" Goals + Recap # Got Terraform working and the node is now up, exactly the way I want it! The cluster also got installed perfectly and I was able to connect to it. Today will work on Ansible, so that local updates are easy. The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager (Not using it) Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Figure out how to automate deployment of manual manifests Figure out how to migrate there if there is any in an old app Figue out how to automate updation of images in manual manifests Get another app (Miniflux) deployed Figure out what needs to happen as part of the lifecycle. What you want in the cluster, what stays out, do they intersect, how do updates of cluster happen? VM (node) updates as well? Then begin to think along the lines of Live Deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) Go live! Git is source of truth. Two repos. One for the Main node and its update Terraform will provision node and install package, setup firewall Figure out how to get Terraform to get the node talking to the git forge Structure repo, copy every thing node related there, and make sure stuff gets updated periodically and idempotantly, via ansible pull and a systemd timer The other one for k3s and flux Convert everything I have done locally to run on prod. Add more steps as you do them below 2025-12-09 09:00 # 2025-12-09 10:13: The net is down, so am trying to work via codeberg. Makes me thankful, that I worked out of a private repo and didn’t commit private stuff to it 2025-12-09 10:13: Tea break 2025-12-09 10:52 # Back 2025-12-09 11:21: Now learing the push/pull dance with ansible-pull. Making changes here. Pushing to the forge and then pulling in on the VM is a novel experience. As compared to editing conf files on the VM itself 2025-12-09 13:12: Lunch. making steady progress though 2025-12-09 13:39 # Back. Got ansible pull working as well. Now, to take all the changes I’ve done, commit them to git and rebuild the cluster, hopefully, one last time 2025-12-09 15:00: It worked! It all worked! Tea break. 2025-12-09 17:20 # Bootstrapped flux on the VM cluster 2025-12-09 21:01 # Bootstrapping a Letencrypt cert with lego is causing no end of problems. Tomrrow will just import. and then use the current certs And adapt the ansible playbook to just do an install Feedback on this post?\nMail me at feedback at this domain. ","date":"9 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-09/","section":"Notes \u0026 Miscellanea","summary":"I believe we place our happiness in other people’s hands","title":"2025-12-09 Notes","type":"nm"},{"content":" Goals + Recap # Thank you PS, for being my sounding board. Created repos and moved around directories and fixed scripts so that most of my infrastructure stuff is properly organised. Created the repos I needed for the new VM and the single node cluster that will run on it. The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager (Not using it) Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Figure out how to automate deployment of manual manifests Figure out how to migrate there if there is any in an old app Figue out how to automate updation of images in manual manifests Get another app (Miniflux) deployed Figure out what needs to happen as part of the lifecycle. What you want in the cluster, what stays out, do they intersect, how do updates of cluster happen? VM (node) updates as well? Then begin to think along the lines of Live Deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) Go live! Git is source of truth. Two repos. One for the Main node and its update Terraform will provision node and install package, setup firewall Figure out how to get Terraform to get the node talking to the git forge Structure repo, copy every thing node related there, and make sure stuff gets updated periodically and idempotantly, via ansible pull and a systemd timer The other one for k3s and flux Convert everything I have done locally to run on prod. Add more steps as you do them below 2025-12-08 09:00 # Client call 2025-12-08 10:30 # Beginning work Installed the 1Password CLI tool and figured out how to read stuff into an environment variable. Will see how to integrate this with scripts over time. I am getting tired of copy pasting stuff. Plus a few critical secrets are on text files on the disk. The disk is encrypted, so I’m not that worried; but still. 2025-12-08 11:10: Found https://yaml-multiline.info/. Pretty handy! 2025-12-08 12:16: Lunch Break. Got into a flow state after a long time 2025-12-08 13:30 # Back Currently working on setting up and getting ansible-pull installed and working. Ansible lint wasn’t working. Got it to work. Ansible and Ansible Lint 2025-12-08 16:15: Tea Break 2025-12-08 17:15 # Back. Thought I had it all setup, and the VM gets deployed, but I cannot seem to login Simplifying my cloud-init and doing things one by one TIL, even if I botch my cloud-init config, keys are inserted into the root login, so I can do a root login and diagnose. This helps! Stuff was getting stuck, because point 1. an operation had to be deferred to the end. Checking the second thing now Figured it out. It was some multiline data, that is sticking in cloud-init’s craw. Now to base64 encode it and pass it. Done! At least the Terraform bit :) The cluster’s up. Most of the plumbing for Ansible updates is done as well. I can talk to my Git forge from the VM. Next step is to get VM updates working tomorrow. Feedback on this post?\nMail me at feedback at this domain. ","date":"8 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-08/","section":"Notes \u0026 Miscellanea","summary":"I believe the sun should never set upon an argument","title":"2025-12-08 Notes","type":"nm"},{"content":" Goals + Recap # Tried a long day yesterday, to finish Miniflux out of spite. Body gave up and I went to be 9.30ish. Did figure and learn a lot as I re-did things yesterday. More confident operating the cluster Today, will try to finish Miniflux. The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager (Not using it) Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Figure out how to automate deployment of manual manifests Figure out how to migrate there if there is any in an old app Figue out how to automate updation of images in manual manifests Get another app (Miniflux) deployed Figure out what needs to happen as part of the lifecycle. What you want in the cluster, what stays out, do they intersect, how do updates of cluster happen? VM (node) updates as well? Then begin to think along the lines of Live Deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) Go live! Git is source of truth. Two repos. One for the Main node and its update Terraform will provision node and install package, setup firewall Figure out how to get Terraform to get the node talking to the git forge Structure repo, copy every thing node related there, and make sure stuff gets updated periodically and idempotantly, via ansible pull and a systemd timer The other one for k3s and flux Convert everything I have done locally to run on prod. Add more steps as you do them below 2025-12-06 08:10 # Beginning today. Setting everything up. 2025-12-06 08:20: Coffee! 2025-12-06 09:00: Fed the strays. Now to work. 2025-12-06 10:04: Got miniflux running manually! First multi container pod! and first readiness check! Yay! Break. 2025-12-06 10:35 # 2025-12-06 11:04: Got Miniflux working via flux. Now to use it a bit to test if storage works 2025-12-06 11:35: Yes. Got state and storage working as well!\nNow to don thinking cap again and figure out what needs to happen live. 2025-12-06 11:45: Decided to reboot the machine to see what happens. All state is safe :) Back to thinking A cloud init is a one time thing. Cannot use terraform to keep messing with the machine. So all I will use it for is to bring up the cluster? And a few select tools. Ansible needs to handle the rest. So now figure out a playbook to manage the new server. Spoke to PS to make sure, I wasn’t being a boob. 2025-12-06 12:23: Oof! forgot that Miniflux needs automatic image updation. Alright. Hard hat on. Work in progress 2025-12-06 12:57: Miniflux updated itself to the latest version! Lunch break 2025-12-06 19:00 # Back. Had a client meeting. 2025-12-06 19:35: Done for the day. Did a lot of thinking about how I want to provision and update my Hetzner node. Will try and put it into practice on Monday. Stuff is up in the plan above 2025-12-06 20:20: Shutdown! Feedback on this post?\nMail me at feedback at this domain. ","date":"6 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-06/","section":"Notes \u0026 Miscellanea","summary":"Flying high now","title":"2025-12-06 Notes","type":"nm"},{"content":"","date":"6 décembre 2025","externalUrl":null,"permalink":"/tags/traefik-nm/","section":"Tags","summary":"","title":"Traefik-Nm","type":"tags"},{"content":" Goals + Recap # Yesterday was filled with client meetings And K3s was one unmitigated disaster after another. The cluster died by the end of the day. I got lucky with my late night slog, and got back up not just the cluster, but even Traefik, Sealed Secrets and my Kanboard app! Now I realise the power of declarative files. I did not have to screw around with the command line much last night, with a couple of exceptions. I got things out of my backups1 and then copied and pasted them around and adapted and simplified them and everything came back up like magic! And on the bright side of this morbid situation, I do know more about the innards of cluster administration than I did before. Today will be an attempt and getting old data from an existing install into an app. And if that works, spend the rest of the day, spinning up and setting up the production cluster on Hetzner, so that I can then test here and then deploy there. Right now I am keeping the two (home and production) separate and apart in different repos, even though Flux does let me have the option of having multiple environments. I am just being my usual paranoid self. Note to Self: Remember! There is no tearing down this VM once it comes up. Time for play is over! Also Note to Self: Monday onwards, strict cutoff at 2p. Work meetings, try to schedule as much as possible, in the evening block between 4p-8p The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Figure out how to automate deployment of manual manifests Figure out how to migrate there if there is any in an old app Figue out how to automate updation of images in manual manifests Once another app is done, then start live deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) 2025-12-05 00:45 # Got the cluster back up in its entirety, pretty much the way I want it.\nWith Kanboard working! Woohooooo! 🎉\nTime for bed. 2025-12-05 08:15 # Starting up slowly … still sleepy 2025-12-05 08:40: Everything is booted up and ready. Time for work! 2025-12-05 08:56: Slightly sluggish. Note to self: Do things slowly and carefully! 2025-12-05 09:14: The all Terraform + Flux driven cluster dream of mine probably needs a little compromise. I will have to get Ansible or some automation tool into the mix, because I will have to use at least a couple of things natively on my VM. Syncthing is one thing that comes to mind. Runing something like that on/via a cluster is really overkill to me. It also seems a bit antithetical in terms of values. Syncthing concerns itself entirely with state and data, while Kubernetes veers in the other direction. OS updates are another thing. I don’t want to keep deploying new os images and moving data around. I am not made of money, to run that kind of setup. Will need to figure such a use case to build up the big portfolio project on AWS though. 2025-12-05 09:30: While the dream is always, oh everything is driven by code, there comes a time when stuff cannot be automated completely. So for most deployments folks do VMs and apps on the cloud, where the computer has been abstracted away. In my case, it hasn’t so I can’t treat my single VM as a fungible, disposable thing. Similarly even in the “cloud”, I’m sure there are worker bees, buzzing around machines in datacenters, babysitting them. 2025-12-05 09:35: Break 2025-12-05 10:30 # Back 2025-12-05 10:54: Moved old data into Kanboard. It just works!\nLearned to pause flux while I work on something:\nflux suspend kustomization \u0026lt;name\u0026gt; and\nflux resume kustomization \u0026lt;name\u0026gt;\nSame with helmrelease 2025-12-05 11:04: Trying to install extra controllers into flux 2025-12-05 11:13: image-reflector-controller and image-automation-controller installed 2025-12-05 12:18: Break. Tried everything, but the image won’t update. Need to clear my head 2025-12-05 12:19: Lunch 2025-12-05 12:40 # Back 2025-12-05 13:22: Got it to work. I had pointed the automation manifest to the wrong folder 2025-12-05 13:22: Break 2025-12-05 13:50 # Back. Thought up a rule of thumb. Anything exposed out to the web, ought to run in the cluster. Anything local, or exposed only to me, can stay on the node (would prefer it on the cluster, but if not, that’s fine too) 2025-12-05 14:10: And now I have figured out how to convert a docker compose into auto updating Kubernetes manifests, that relieves me of the need to desperately hunt down Helm packages. 2025-12-05 14:21: Starting with Miniflux locally. If all goes well, then off to the production races we go 2025-12-05 14:31: Just realised, Miniflux runs on Postgres. So production work will have to wait. This is going to take a while 2025-12-05 16:07: Struggling to figure out why my letsencrypt certs aren’t updating within the cluster. 2025-12-05 17:00: Fixed it. Cron has limited access to an environment and the KUBECONFIG variable is not set and so no secret or sealed secret was being generated. All I had were empty yaml files. Told the bash script to set KUBECONFIG=/dev/null since I was only generating manifests, not talking to a cluster. And everything started working. 2025-12-05 17:15 # Back to figuring out Miniflux 2025-12-05 19:30: Dinner 2025-12-05 20:30 # Back to try and finish this 2025-12-05 21:46: Still struggling. So just packing up and going to bed Feedback on this post?\nMail me at feedback at this domain. Paranoid backups save your ass. Who knew? I did! I have been bitten more times than I can count. Ergo, the habit!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"5 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-05/","section":"Notes \u0026 Miscellanea","summary":"Gonna fly now","title":"2025-12-05 Notes","type":"nm"},{"content":" Goals + Recap # Figured out every thing I needed that I needed to spin up the cluster the way I wanted it. (Update 2025-12-04: Figured out everything I need to deploy and expose an app, as well) Figured things out at a brisk clip yesterday (not fast, not slow either). Got Kanboard up and running! Will try and redo Kanboard (once again); this time with an gitopsy Flux CD approach And leave it at that, since the rest of the day is filled with meeetings The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Figure out how to automate manual manifests Once another app is done, then start live deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) 2025-12-04 08:05 # Updated my reading list for November Did my NMC run. It’s always fun getting new members into the Kubernetes community Now to focussed work 2025-12-04 08:25: I love Kubernetes namespaces! Lets me delete everything in a jiffy! 2025-12-04 08:50: Client call 2025-12-04 09:30 # Back 2025-12-04 09:50: Client call 2025-12-04 10:10 # Back 2025-12-04 11:18: Learning to handwrite kubernetes manifests with the help of IDE completion 2025-12-04 11:55: Troubleshot my first yaml mistyped key. I should not depend on the IDE so much. I know I have to use ReadWriteOnce and yet, somehow I have ReadWriteMany! But the speed at which I can tear down and recreate stuff and iterate is amazing! 2025-12-04 12:30: Bumped version in a yaml, Flux made the deployment follow suit! Woohoo! 2025-12-04 12:43: Both my automation controllers are borked. Need to figure out what to do. 2025-12-04 12:58: Lunch 2025-12-04 13:20 # Killing cluster. Rebuilding bit by bit. paying attention. Besides one more good thing to try is to move even my cluster state to the big hdd 2025-12-04 13:42: Got cluster up! Verified data is now stored on the big hdd 2025-12-04 14:23: Installed flux without the additional image controllers. So far so good 2025-12-04 14:33: Troubleshooting errors comes more easily now 2025-12-04 14:41: Sealed secrets installed. It also took my letsencrypt cert that I create with the new key 2025-12-04 14:42: Client call 2025-12-04 16:50 # Trying to get back into the swing of things 2025-12-04 16:52: Realised the new cluster is a clean sweep too. 2025-12-04 16:58: Traefik and kanboard deployed in minutes! Gitops is amazing! 2025-12-04 17:00: Client call 2025-12-04 20:33 # Somehow managed to screw up Traefik. Redoing Fat fingered and deleted both my flux repo and my files. That should teach me not to do things at night after a stressful day Well, one advantage is this will let me do things even more simpler! Now that I’ve gotten a grasp on things. Worst case, I had made a paranoid backup in the morning. I can refer to that and redo things 2025-12-04 21:38: Simplified the config maps I use for Helm Releases 2025-12-04 22:31: Cert ready for Traefik 2025-12-04 23:12: Nothing seems to work Traefik wise. Calling it a night. Will start afresh with a new cluster tomorrow. Feedback on this post?\nMail me at feedback at this domain. ","date":"4 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-04/","section":"Notes \u0026 Miscellanea","summary":"Won’t be long now","title":"2025-12-04 Notes","type":"nm"},{"content":" Goals + Recap # Figured out every thing I needed that I needed to spin up the cluster the way I wanted it. Apps are a different thing apparently. This now, is my next windmill to tilt at. I assumed most apps I use would have neatly created Helm packages available. There aren’t. So will learn how to convert from docker-compose to kubernetes manifests and deploy accordingly The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager Letsencrypt (using pre existing Letsencrypt certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is! Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Convert a docker-compose to kubernetes manifests Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Make Kubernetes manifests work with flux Once another app is done, then start live deploys. Prototype locally and once it works, migrate to production immediately Convert Kubernetes manifests to Helm Charts (optional, based on energy) 2025-12-03 09:30 # Writing the recap daily helps me focus! 2025-12-03 11:54: Ok, went down a rabbit hole. I think I need to figure out how to write my own yaml 2025-12-03 12:10: Realised most code editors generate scratch manifests from templates to fill in. This should hopefully make things easier. IntelliJ Idea for e.g.1, lets me just type in kdeployment and it creates one with the most frequent values 2025-12-03 12:44: Lunch. Think I watched enough videos to get a grasp on what I need to write. Will begin with Kanboard when I come back 2025-12-03 14:00 # Ok, back to work 2025-12-03 18:00: Been so busy, I forgot to update here It’s been a steady iterative process. Have gotten the namespace, a configmap, a pv/pvc combo and a deployment all working for a test kanboard install Figured out how to move the location of where my containers will store data by modifying the local path provisioner’s settings. They now save to my big hard disk Trying to figure out how to expose the app to the outside world! (reading up tells me I need a clusterip service and a Traefik Ingress Route) 2025-12-03 19:06: It works! I think I have most of my bases covered! 2025-12-03 19:12: Stopping for the day. Time for dinner and bed. Note to Self: Can slow down to a normal routine tomorrow onwards Feedback on this post?\nMail me at feedback at this domain. after installing the Kubernetes plugin\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-03/","section":"Notes \u0026 Miscellanea","summary":"Getting strong now","title":"2025-12-03 Notes","type":"nm"},{"content":" Goals + Recap # I crashed Traefik at the end of the day yesterday. At least that shows me what’ll happen when stuff crashes in my cluster and how good a job I’ve done with setting things up. This is the first order of the day today. Stand Traefik back up and figure out how to get it to accept my wildcard cert Yesterday I learned that an “ingress” and an “ingressRule” were two different beasts. Ingress is a Kubernetes native thing and IngressRule is a Traefik definition. I could use either, but better to do IngressRules for now. Go all in on Traefik. Pat on the back for setting up my Haproxy well enough, that network routing from the outside to the cluster worked without a hitch! (2025-12-02 11:09: Spoke too soon. Local sites on the network are borked 😂) The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager Letsencrypt (using pre existing certs) Get Traefik Ingress to work Figure out a way to get certs automatically into the cluster And once that is done, figure out an app to move (Miniflux or Hedgedoc?) Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed (Wildcard cert works now, just like it does without the cluster) Learn how to configure an app with code Learn how to store data and back it up Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy (Traefik does this natively) Figure out other apps later 2025-12-02 08:30 # Fixed the bloody traefik cert issue. Classic case of fat fingers and I didn’t know any better. At least this will teach me to always check my yaml indentation.\nI did: 1 2 3 4 tlsStore: default: defaultCertificate: secretName: letsencrypt-cert instead of the actual (Line 4’s indentation is fixed):\n1 2 3 4 tlsStore: default: defaultCertificate: secretName: letsencrypt-cert 2025-12-02 09:44: Figured out a way to get my remote certs into my machine.\nDumped the commands into a bash script. Here’s the command for the cert. I have to to the same with the key. ssh user@certificate-host \u0026#39;sudo cat /path/to/certificates/wildcard.crt\u0026#39; \u0026gt; \\ /local/directory/certificates/wildcard.crt Since the key and the cert are protected file and I don’t want to mess with remote file permissions, I just cat each file with sudo access and then dump the contents into a local file.\n2025-12-02 09:49: Tea break 2025-12-02 10:20 # Back, now to scribble another script to update the wildcard sealed secret 2025-12-02 11:15: I wrote about borking my Haproxy. No it wasn’t. It was just a caching issue. All is fine! Claps all around 👏 2025-12-02 11:17: Think I got the cert thing working. Now to put them into cron 2025-12-02 11:18: Trying to force flux to update the secret to see if it works 2025-12-02 12:06: Does not seem to make a difference. Will see when the cert changes itself. 2025-12-02 12:07: Client Meeting 2025-12-02 13:57: Lunch 2025-12-02 14:25 # 2025-12-02 14:46: Ok scripts in place. One script gets certs into the local node. The other creates a sealed secret and commits it to git 2025-12-02 16:20: Client meeting 2025-12-02 18:48 # Trying to get some work done now! 2025-12-02 19:25: Kanboard does not seem to be Kubernetes ready. Will need one of my apps that is compatible with what I have done so far, so I can see if it all works. Maybe Miniflux or Hedgedoc if they have ready made helm charts. Converting one of the other apps to a kubernetes deployment is something to tackle later 2025-12-02 20:10: Ok nothing is available. I’ll just have to go do it myself. Will write straight deployments and use flux to reconcile them. That seems to be the most straightforward approach. I need automatic upgrades and that Flux can do with its annotations and ImageRepository/ImageUpdateAutomation stuff. Time for bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"2 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-02/","section":"Notes \u0026 Miscellanea","summary":"Tryin’ hard now","title":"2025-12-02 Notes","type":"nm"},{"content":" Goals + Recap # Last we heard, our intrepid explorer was at an impasse on how to do wild card certificates for his apps. There is no golden path to follow ala Funky Penguin, because there is no direct cert-manager for DNS challenges via Porkbun. The alternatives then are to get a bit more complex and bring Vault into the mix or … Simplify and do some shell script / cron job / kubeseal / kubectl hackery and get the certificates Lego generates already into my cluster and use them as the default Traefik certificate. Think this is what I’ll do. What about internal tls traffic between apps using cert manager? I have none currently, so that can wait until I come to that bridge The Big Plan # The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager Letsencrypt (using pre existing certs) Get Traefik Ingress to work And once that is done, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-12-01 09:55 # Starting slow, today 2025-12-01 10:30: Figuring out Traefik basics 2025-12-01 10:35: Tea Break 2025-12-01 10:55: Back 2025-12-01 11:28: Ok manually got the certs over from the other machine, created a tls secret with kubectl, converted it into a sealed-secret with kubeseal and pushed it to the git repo. Et voilà! I have it as a secret in my cluster barely a minute later! Thank you flux! Trying to figure out how to replicate my secrets clusterwide now 2025-12-01 11:54: Decided not to do it. If I run into such a need, I shall later 2025-12-01 12:15: Getting into the swing of creating a primitive, committing to git and then watching flux create it live and then fix my mistakes and then iterate. This is fun! 2025-12-01 12:30: Also getting confident enough to write stuff and push knowing Flux will handle the rest. Need to remember to later change these frequent intervals to something reasonable. If I need something right now, I can always manually trigger stuff 2025-12-01 13:05: Off to lunch 2025-12-01 13:25 # Back. Continuing with Traefik. There seems to be some hiccough with the default values I provided 2025-12-01 14:00: Botched my podinfo deploy. Flux is not fixing it. Troubleshooting in progress 2025-12-01 14:10: Got podinfo working there is something wrong with my values. Commenting them all out did the trick. Trying it one more time. 2025-12-01 14:15: Attemping a manual deletion of podinfo. Hoping to get it back via flux 2025-12-01 14:22: Got it working. Figured out the offending bits in the values.yaml 2025-12-01 14:24: Alos getting fluent*-er* with the limited subset of flux / kubectl commands I am learning 2025-12-01 14:38: Accessed podinfo from outside! Basically means the network works! Not available over ssl. Need to check why. That can wait until tomorrow. Done with K3s for the day 2025-12-01 15:15 # Doing some NMC work 2025-12-01 15:30: Done for the day. Will do tea, walk, some french and then bed Tomorrow, redo Traefik and figure out why it is not taking my wildcard cert Feedback on this post?\nMail me at feedback at this domain. ","date":"1 décembre 2025","externalUrl":null,"permalink":"/nm/2025-12-01/","section":"Notes \u0026 Miscellanea","summary":"It’s so hard now","title":"2025-12-01 Notes","type":"nm"},{"content":" Goals + Recap # Trying to do a tiny bit today Got secrets to work yesterday. Now to get certs working The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Certmanager Letsencrypt (using pre existing certs) Get Traefik Ingress to work And once that is done, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-30 11:15 # Funky Penguin has an External DNS guide, but I’d rather point to the services manually. They don’t change that often. I already have a wild card certificate going with Lego. Web+LLM searches tell me I can have two different sources request wild card certs. Let’s see how this goes I, sort of like the idea, that the Funky Penguin guide is a little out of date. So while I get at the principles and the big ideas, the execution of everything is now up to me And now that I know what I am doing, it’s easier to go search for and adapt things. Cert Manager, for example has a page that does exactly what I want with Flux. I would not have know earlier though 2025-11-30 13:40: Did my first app deploy with zero errors! Hopefully more practice will lend me speed 2025-11-30 14:30 # Back after a short break Now to move on to configuring Letsencrypt as a certificate issuer with Cert Manager 2025-11-30 16:00: Hiccough! Porkbun isn’t natively supported as a DNS challenge solver. Need to figure out what to do next. Get Porkbun challenges working somehow? Or change my domain’s DNS to a cert-manager supported DNS provider? Or can it use my existing lego generated certs? Pondering hat on … 2025-11-30 18:00: Break 2025-11-30 18:50 # Back Think I won’t touch cert-manager for now. Will probably use it for inter app communication if needed later Will just use the existing lego wildcard certs, use sealed secrets to post them to git, and then have flux pull it in as a tls secret for use by traefik. Ok this is the big idea. Now to put it into practice 2025-11-30 20:15: Was still reading up. Rubber hits the road tomorrow morn Feedback on this post?\nMail me at feedback at this domain. ","date":"30 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-30/","section":"Notes \u0026 Miscellanea","summary":"Trying hard now","title":"2025-11-30 Notes","type":"nm"},{"content":" Goals + Recap # Got the cluster up and running finally yesterday. Figured out how git and flux and kubernetes interact The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Letsencrypt and Certmanager Get Traefik Ingress to work And once that is done, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later) Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-29 09:15 # Short day today. Have a client meeting coming up Was confused between whether to do Traefik first. But past Jason seems to have already figured that out for me. Looking at Sealed Secrets next I think I want to change my mind. Looking at vault Mind changed again. Back to Sealed Secrets. Implementing another running service to herd, is not what I want to do right now. But it is important. I ought to look at Vault someday. I was worried about what would happen if my K3s cluster crashed, taking my secrets along with it. Most LLMs suggest that I can backup the key and reuse it. So mind relieved. Worst case, I can just create new secrets by resealing. I do have all my secrets “unencrypted”, but stored in a password manager anyway 2025-11-29 11:00: Off to work 2025-11-29 19:00 # 2025-11-29 20:00 Got sealed secrets installed. Did all the yaml and the wiring myself. Gettingt the hang of installing apps (as well as troubleshooting flux, when things don’t work) Feedback on this post?\nMail me at feedback at this domain. ","date":"29 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-29/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-11-29 Notes","type":"nm"},{"content":"","date":"29 novembre 2025","externalUrl":null,"permalink":"/tags/helm-nm/","section":"Tags","summary":"","title":"Helm-Nm","type":"tags"},{"content":" Goals + Recap # Had a busy few days, consulting out in the field with clients last week + the early part of this week and then lost steam over the next few days. Will slow down and not push to hard. Do tiny bits.\nOther goals, same as Monday, considering I tore everything down at the end of the day So think I’ll noodle a bit to see if I can get something done today. No pressure The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Letsencrypt and Certmanager Get Traefik Ingress to work And once that is done, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-28 17:45 # Been at it slowly all day Nothing works yet. But a few more things have clicked in my head 2025-11-28 19:00 # Got it working! I got it to work, gosh darn it! Yippeee! 2025-11-28 20:00 # Ok, tried it all again, so that I know this was not a fluke. Wrote down all the commands Will try to do auto updation of this demo app on Monday Feedback on this post?\nMail me at feedback at this domain. ","date":"28 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-28/","section":"Notes \u0026 Miscellanea","summary":"Then you stand!","title":"2025-11-28 Notes","type":"nm"},{"content":"\nI used Reeder for reading all my RSS feeds ever since the app launched over fifteen years ago. RSS is how I keep up with everything in the world outside and having a pleasant reading experience is very important to me.\nIt no longer serves that need for me.\nFor a long time, the way the app worked aligned with the way I want to read. Earlier this year though, the developer decided to take the app in a different direction, with a different reading experience. The older app is still available as Reeder Classic, but only a few months of use have shown me that the app is basically abandoned. The attention to detail is obviously now being applied to the new app.\nEnter ReadKit.\nI had used it briefly during the Google Reader apocalypse when every feed reader was scrambling to find new backends to sync to. Reeder similarly had switched to local only mode and was taking a while before it supported other services.\nReadKit in the meanwhile already had support for Feedwrangler, and so I switched to it until Reeder came back to speed.\nAnd I’ve switched to it for the foreseeable future.\nIt looks beautiful!\nIt does everything I want, shows everything the way and want and behaves just the way I want it to. The only knock I have against it, is that it does not feel as fluid as Reeder does. But that’s nothing compared to the constant launch and relauch dance, I have to do with Reeder nowadays. Consistency and stability matter a lot to me.\nEven better, it syncs natively with Miniflux, the service I use to actually fetch and read RSS feeds on my Linux desktop. No more Google Reader API!\nThis is a list of all my categories (with one of them expanded, click for a larger view)\nand this is a list of unread articles in a feed, alongside one that is open (once again, click to enlarge if you want to see details)\nThat gnawing feeling has now gone away from the back of my brain.\nThe experience of reading and catching up with the world is once again a glorious experience thanks to ReadKit.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n","date":"17 novembre 2025","externalUrl":null,"permalink":"/work/moved-from-reeder-to-readkit/","section":"Work","summary":"Le client du RSS est mort, vive le client du RSS!","title":"Moved From Reeder to Readkit","type":"work"},{"content":"","date":"17 novembre 2025","externalUrl":null,"permalink":"/tags/readkit/","section":"Tags","summary":"","title":"Readkit","type":"tags"},{"content":"","date":"17 novembre 2025","externalUrl":null,"permalink":"/tags/reeder/","section":"Tags","summary":"","title":"Reeder","type":"tags"},{"content":"","date":"17 novembre 2025","externalUrl":null,"permalink":"/tags/rss/","section":"Tags","summary":"","title":"Rss","type":"tags"},{"content":" Goals + Recap # Saturday was slow progress! So think I’ll noodle a bit to see if I can get something done today. No pressure The plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Letsencrypt and Certmanager Get Traefik Ingress to work And once that is done, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-17 17:45 # Struggling to get cert-manager installed. No dice 2025-11-17 18:15: Got frustrated. Tore it all down. Will be back day after Feedback on this post?\nMail me at feedback at this domain. ","date":"17 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-17/","section":"Notes \u0026 Miscellanea","summary":"Wipe your hands, shake it off","title":"2025-11-17 Notes","type":"nm"},{"content":" Goals + Recap # Yesterday was a another long day! But I think I’ve finally got my arms around Flux CD and how it can help me with my cluster. I was trying to follow Funky Penugin’s guide, since it did nearly everything that I needed done. But it does it, in its own opinionated way, and that is a little restricting for me\nSo what I think I’ll do is do it may way with what I learned yesterday, using FP as an ideal. It may well be, that I might come to implement things the way they do with time So the plan is to redo the cluster again and do my own instance of K3s Sealed Secrets Letsencrypt and Certmanager Get Traefik Ingress to work And once that is done, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-15 08:50 # Let’s get to work A wee bit of thinking and I seem to be creating the same kind of folder structure on my own as FP 😂 Stopped a while to listen to this 2025-11-15 09:58: Tea time. Did a lot of reading to figure out how to deal with the fact thta I might undersize PVs for my pods to store data in (tldr; possible for the pv to retain data. set it that way. and then the old pvc needs to be deleted and the new one attached to the PV that still carries the data. Take backups!) 2025-11-15 10:30 # 2025-11-15 11:13: No OIDC for me, but definitely for the project. The problem for future Jason is to find a project that will give me the excuse to implement all this 2025-11-15 11:43: Tore down the old cluster 2025-11-15 13:04: Got k3s and flux up. Breaking for lunch 2025-11-15 14:25 # 2025-11-15 16:13: Got my first service/deployment done via flux! Sealed secrets is now installed. I can now push secret stuff with ease! Tea break 2025-11-15 18:39: Try as I might, I could not get cert manager installed. Will try on Monday now. Feedback on this post?\nMail me at feedback at this domain. ","date":"15 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-15/","section":"Notes \u0026 Miscellanea","summary":"You get mad, you get strong","title":"2025-11-15 Notes","type":"nm"},{"content":" Goals + Recap # Yesterday was a doozy! And stuff just worked today morning! I didn’t have to do anything at all! I had done everything correctly last night and then my tired brain was testing stuff with a typo in my commands. It also taught me that most stuff is easy. And I should be open to learning new stuff if it interests me. I stuck with Nginx out of inertia for far to long. HAProxy actually fits my mental model of a proxy / load balancer. I find its config easier and more intuitive. Should have switched long ago Continue with doing MetalLB Once that is done, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-14 09:35 # Slow start today. Was trying to figure out what Metal LB meant by a pool and did it mean my DHCP pool (No. it does note) 2025-11-14 09:45: Tea break. 2025-11-14 10:15 # Back to work 2025-11-14 11:35: Giving up on MetalLB for now. Sticking to the inbuilt load balancer. Nothing’s quite clicking right and I don’t know where to start troubleshooting. Maybe I’ll give myself until lunch and then decide 2025-11-14 11:37: Yea, no. Tearing down the cluster and bringing it back up with ServiceLB 2025-11-14 12:56: Lunch. 2025-11-14 13:21: Cleared the decks so I could work afternoon as well 2025-11-14 15:36: Got sealed secrets installed. Trying to copy paste and modify these things myself now. Tea break. External DNS is next on the list 2025-11-14 16:20 # 2025-11-14 17:26: Decided not to do External DNS. Another one for the AWS project list. I want to retain control by some manual work. External DNS does not help or hinder in this regard. Better off without it for my personal use. Will come back to it, if needs change 2025-11-14 18:01: Reading flux documentation 2025-11-14 18:09: Switched to a video course 2025-11-14 20:41: Going through the course makes me realise that Funky Penguin’s structure is maybe a little too strict for me. Will have to look into adapting it a bit to my liking 2025-11-14 21:58: Making good progress with the course 2025-11-14 22:57: Done. Calling it a night! Feedback on this post?\nMail me at feedback at this domain. ","date":"14 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-14/","section":"Notes \u0026 Miscellanea","summary":"Decide you’ve had enough","title":"2025-11-14 Notes","type":"nm"},{"content":"","date":"14 novembre 2025","externalUrl":null,"permalink":"/tags/haproxy-nm/","section":"Tags","summary":"","title":"Haproxy-Nm","type":"tags"},{"content":" Old Post This is just an old post, about reading, that has moved from the personal section to here.\nvia a Tom Gauld Book1\nEver so often, after one of my reading updates on social media, some of my young friends ask me how I get so much reading done.\nSo, I decided to answer it here for posterity and then just point folk here.\nYou are not me.\na. I am a book worm.\nb. I am much older than you, with lots more practice. You most probably want to rush through a hard, technical book.\na. I find them as hard as you.\nb. I read them at, as slow a pace as you.\nc. I interleave the hard stuff, with a lot of easy, “I-Love-This” fiction Speed Reading is Bullshit!\nOnce you read a lot of books, you can pattern match and speed up or slow down, through whole blocks and paras and chapters and pages. Reading for studying’s sake is work and unavoidable and not quite related to reading for reading’s sake.\na. These I pucker up and do anyway, just like taking bad medicine. The only things that matter, when it comes to reading are …\nBe consistent. Read a little bit, daily.\nThe trick to reading a lot, is to read a little every day. And the trick to reading a little every day is to, make it a habit. Be curious. Read whatever you want. Read whenever you want. Read wherever you want. Quit Books.\nYou don’t have to finish it. You don’t have to slog through it.\nSet it down. Come back to it, tomorrow … or in a few decades.\nOr just throw it out and forget all about it. And if reading really becomes a sort of calling for you, then learn how to do it properly.2 That’s about it for now. If I remember something more, I’ll come back and tack it on here.\nI forget which one!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\ntotally optional. I learnt this really late in life and while it has enriched my reading experience, it had nothing to do with my love of reading.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"14 novembre 2025","externalUrl":null,"permalink":"/reading/focus-on-how-long-you-read-not-how-much/","section":"Reading","summary":"","title":"Focus on How Long You Read, Not How Much, aka The Best Advice I Could Give You About Reading Lots of Books","type":"reading"},{"content":" Goals # Flux setup yesterday! Try and get Metal LB working. Found [Funky Penguin’s guide][]. Will use it to, uhm, guide me through my setup.e Once the CD stuff works, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-13 08:40 # Updated hcloud cli and lego on both my machines 2025-11-13 09:51: Utterly botched all my network machines Will do a tea break and then go look at the mess I made 2025-11-13 10:44: Fixed the network 2025-11-13 11:22: Trying to get Nginx stream proxying to work. Grrrr 2025-11-13 13:23: Completely buggered up the Nginx machine now. Needs a complete redo! 2025-11-13 14:14: MetalLB seems like a distant dream right now! 2025-11-13 14:14: Trying to get myself an alternative to Nginx which (hopefully) does better layer 4 routing? Looking at haproxy. 2025-11-13 18:17: Got haproxy working for the forgejo instance somehow with a lot of help from the docs and various llms 2025-11-13 19:01: The haproxy tutorials page is dammed helpful! 2025-11-13 21:31: Calling it a night. Exhausted. Most everything is done. Need to figure out a way to somehow serve static files at the files path for the forgejo instance Feedback on this post?\nMail me at feedback at this domain. ","date":"13 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-13/","section":"Notes \u0026 Miscellanea","summary":"On your knees, you look up","title":"2025-11-13 Notes","type":"nm"},{"content":" Goals # Kanboard moved yesterday! Now to do it again! Found Funky Penguin’s guide. Will use it to, uhm, guide me through my setup. One change: decided to switch to Flux instead of Argo for continuous deployment. Why? Just because. Just because I fancy Flux more. And because I am new and learning still and these decisions have few consequence at this stage I also figured out the easiest, most manual way of proxying my traffic to the cluster from my other machine that runs nginx. The home router is (obviously) incapable of routing at layer 7. So http/https traffic is routed to Nginx on my always running NUC, from where the traffic for the apps on the cluster will come, thanks to Nginx proxying it forward. I tried a blind stream proxy approach with Nginx, but that did not seem to play nice with my existing setup and local sites Once the CD stuff works, do kanboard again Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-12 07:35 # Alright, let’s begin 2025-11-12 08:26: Bootstrapping flux via forgejo failed. will try github first. 2025-11-12 08:43: Redoing K3s install. Trying without serviceLB this time 2025-11-12 09:11: Running into reconciliation issues. Ok this is good practice with troubleshooting 2025-11-12 09:42: Tea break 2025-11-12 10:00 # Realised that K3s was running slightly degraded. Note to self, try and keep only one NIC active when installing + make sure that I open up the proper ports 2025-11-12 10:14: Running into the same issues on Github as I did with my Forgejo. It’s both a relief that I did do things right, as well as slightly maddening at the same time 2025-11-12 10:30: Ok stuff seems to have changed in FluxCD world ever since the guide was done. Had to update api versions and remove a field from a yaml file 2025-11-12 10:31: Now to try replicating this with Forgejo. 2025-11-12 10:39: Et voilà! It now works with Forgejo too! 2025-11-12 13:02: Break for lunch. Be back in the eve. MetalLB is hard to configure! 2025-11-12 18:30 # Come back really late. Will continue tomorrow Feedback on this post?\nMail me at feedback at this domain. ","date":"12 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-12/","section":"Notes \u0026 Miscellanea","summary":"’Cause it’s all you can take","title":"2025-11-12 Notes","type":"nm"},{"content":"","date":"11 novembre 2025","externalUrl":null,"permalink":"/tags/devops/","section":"Tags","summary":"","title":"Devops","type":"tags"},{"content":"\nIntended Audience Mostly me. Also other grizzly sysadmins who are learning devops like me.\nOne thing that bit me when I was trying to expose my apps to the world when working on the home cluster, is that Kubernetes on bare metal—I was using Kind at the time—expects to talk to a load balancer service, which then talk to an actual load balancer. Which if you are using bare metal, you won’t usually have.\nI had to then go expose a “NodePort” to gain access from outside.\nSo to expose my stuff in as “real world” a way as possible, we need to:\nEither install a load balancer implementation like MetalLB. OR Use a Kubernetes distribution that has a load balancer implementation built-in, like K3s. I chose option 2 and used K3s, because I am, as they say in popular parlance, using Kubernetes at the edge.1\nIn which case, I prefer to have as many batteries built-in as possible.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nAlthough, from the articles I’ve read, if you’re doing a multiple node cluster, then you’re better off using MetalLB.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"11 novembre 2025","externalUrl":null,"permalink":"/work/kubernetes-note-to-self-need-load-balancer-installed-on-bare-metal/","section":"Work","summary":"","title":"Kubernetes, Note to Self: Need Load Balancer Installed on Bare Metal","type":"work"},{"content":" Goals # Continue moving Kanboard. We got it up yesterday. Data does not show up though Once the manual approach works, move it to Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-11 08:05 # Wrote up a post on load balancers that bit me Continuing with yesterday’s work now 2025-11-11 09:05: Switching folders, enabling and disabling deploys, setting permissions and now I realise why I need charts and gitops 2025-11-11 09:28: Yea baby yea! Dumb permissions issue! Kanboard migrated successfully! Now to make it accessible from the outside 2025-11-11 09:30: Tea Break 2025-11-11 11:14: Struggled for close to 45 minutes before I realised I had not brought up a service after deleting it! 2025-11-11 11:22: I have made my way step by step from a docker file to a working app on kubernetes. Feels good 2025-11-11 11:37: Now that I seem to have a good handle on making things work, I should make it a habit of reading the docs bit by bit 2025-11-11 12:34: Found Funky Penguin! 2025-11-11 12:43: Tore everything down. Again! Will do more in the evening sesssion using Funky Penguin’s suggestions, most of which, I arrived at independantly. So that gives me a lot of self confidence 2025-11-11 16:50 # The hard part now is to somehow proxy requests from my nginx gateway to this here k3s cluster 2025-11-11 19:24: Calling it a night. Will follow the Penguin tomorrow, because he is doing the same thing that I want Feedback on this post?\nMail me at feedback at this domain. ","date":"11 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-11/","section":"Notes \u0026 Miscellanea","summary":"You might bend ’til you break","title":"2025-11-11 Notes","type":"nm"},{"content":"\nIntended Audience Mostly me. Also other grizzly sysadmins who are learning devops like me.\nProblem # My main SSD is too small to hold all my kubernetes and K3s shenanigans. (It’s only about 512gb) So I need a way to move my K3s data folder out to my big HDD.\nSolution # Caution Before you do any of the following, make sure to stop the cluster with:\nsudo systemctl stop k3s\nK3s supports having a custom data directory, by letting me specify a data-dir.\nI decided to specify it in the K3s config file at /etc/rancher/k3s/config.\nIf it isn’t there (as it wasn’t in my case), just create one. You’ll need to do this as the root user.\nThis is what I now have in there.\ndata-dir: /BIGHDD/rancher/k3s And then, I …\nCreated a rancher directory in my big hard disk. (root owns it) Ran rsync as the root user: rsync -a /var/lib/rancher/k3s/ /BIGHDD/rancher/k3s/ Started up my cluster again with a sudo systemctl start k3s Feedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n","date":"10 novembre 2025","externalUrl":null,"permalink":"/work/k3s-move-data-folder/","section":"Work","summary":"It’s all about the data!","title":"K3s: Move Data Folder","type":"work"},{"content":" Goals # Same as Friday with one change! We begin by moving Kanboard (an app to do Kanban project tracking (by the same fine folks who make Miniflux)) Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Miniflux next, followed by Hedgedoc 2025-11-10 07:40 # Monday! Sluggish as a snail right now. Slightly lost as well. Slowly ramping up to speed I need to work faster, more purposefully and with more intent in the mornings. I always underestimate, how much time I have and before I know it, the morning’s flown and I (feel like I) have hardly made progress. 2025-11-10 08:03: Torn between just doing the move vs actually trying to figure out each step. Think I’ll stick to the move and learn via troubleshooting. The intentional learning I will keep for the AWS project I’ll tackle next 2025-11-10 09:15: Migrated Kanboard data to my local desktop and ensured the local install is running 2025-11-10 11:59: Yes, I said I wouldn’t fiddle with my terraform plan any more, but cert manager was something I just had to install into the cluster at init time 2025-11-10 12:38: Grr. SSH! solved it anyhoo. logged into the new cluster. all works fine. really appreciate terraform now! 2025-11-10 19:07: Got a basic service running. I can access the kanboard page. It does not seem to have taken my data though. Will continue tomorrow Feedback on this post?\nMail me at feedback at this domain. ","date":"10 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-10/","section":"Notes \u0026 Miscellanea","summary":"You taste what you’re made of","title":"2025-11-10 Notes","type":"nm"},{"content":"","date":"10 novembre 2025","externalUrl":null,"permalink":"/tags/argocd-nm/","section":"Tags","summary":"","title":"Argocd-Nm","type":"tags"},{"content":" Goals # Same as yesterday! Begin by moving (lifting and shifting in popular parlance) Miniflux to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Hedgedoc next 2025-11-08 08:40 # Reading a Kubernetes book More like exploring. Finding some new term, something clicks, go and find out about it, then come back to book. Slow, but interesting going 2025-11-08 16:50: Have read and learned enough about Kuberntes to have finally gotten the big picture and to be able to ask intelligent “dumb” questions now 2025-11-08 18:47: Calling it a night! Full steam ahead Monday now! Look into Kompose and Katenary! Both are installed Feedback on this post?\nMail me at feedback at this domain. ","date":"8 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-08/","section":"Notes \u0026 Miscellanea","summary":"’Cause when push comes to shove","title":"2025-11-08 Notes","type":"nm"},{"content":" Goals # The cluster’s up! Learn to deploy apps to it. Begin by moving (lifting and shifting in popular parlance) Miniflux to the cluster Cert will probably be needed Learn how to configure an app with code Figure out secrets, if there are any Learn how to tunnel through and reverse proxy Learn how to store data and back it up Move Hedgedoc next 2025-11-07 07:55 # Quickly skim through the Helm book Dumb thought: Backups should get easier. All the data will probably lie in one directory somewhere on disk and configs will lie in code 2025-11-07 09:02: Think I’ll install things manually and then “gitops” it. Because right now, everything feels turtles all the way down AND chicken and egg to me 2025-11-07 09:41: Trying to get a local cluster environment going 2025-11-07 09:56: Tea break 2025-11-07 10:25 # Back at it, attempting to install traefik on a local cluster 2025-11-07 12:09: Got tired trying to adapt Kind to the K3s way of doing things. Switching to K3s on the local system as well, because I keep forgetting that kind itself runs inside a docker container. K3s is light enough to run on my local system as well. 2025-11-07 12:35: K3s installed and configured. One happy accident is that I don’t have to install Traefik (plus associated sofware like load balancers) any more 2025-11-07 12:54: Lunch 2025-11-07 16:25 # Back. Installing argocd on the home cluster as well. the cloud-init for my hetzer vm has come in really handy! 2025-11-07 16:52: Back to the helm book 2025-11-07 19:31: Still with the book. Will come back to it and the rest of work tomorrow. Calling it a night Feedback on this post?\nMail me at feedback at this domain. ","date":"7 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-07/","section":"Notes \u0026 Miscellanea","summary":"But you’ll be alright, yeah, you’ll be alright","title":"2025-11-07 Notes","type":"nm"},{"content":" Problem # I have a post in one section of my site, say notes and miscellanea\nThat is my canonical post.\nBut I also need it to show up in the work section of my site, possibly with a another name.\nA Hugo alias in the yaml front matter does not work, since both sections exist and Hugo gets confused.\nSolution # Make sure layouts/redirect/single.html exists within your Hugo folder structure and it contains just this line … {{- template \u0026#34;alias.html\u0026#34; (dict \u0026#34;Permalink\u0026#34; .Params.target) -}} Create your original post as usual Then go create a post in your other1 section with the following metadata: --- title: \u0026lt;Your title here\u0026gt; #date autogenerated by my archetype. if missing, add date date: 2025-11-06T08:30:54+05:30 type: redirect target: \u0026lt;url-to-redirect-to\u0026gt; summary: \u0026lt;Optional text, that will appear in the sectiones listing page\u0026gt; --- The date field is critical. The post might not appear where you expect it, if it’s absent.\nIf not date, then you might need to use weight. One of the two is needed. In my case, the metadata looked like this: --- title: \u0026#34;The Plan for My New Hetzner VM\u0026#34; date: 2025-11-06T08:30:54+05:30 type: redirect target: /nm/2025-11-06/ summary: Alone and helpless, like you\u0026#39;ve lost your fight --- Done! You can see an entry for “The Plan for My New Hetzner VM” in my work section as you see in the pic below. Clicking that will redirect to the actual post in my Notes and Miscellanea section! Tada 🎉 Feedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nin my case, work\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"6 novembre 2025","externalUrl":null,"permalink":"/work/hugo-redirect-from-post-in-one-section-to-another/","section":"Work","summary":"","title":"Hugo Redirect From Post in One Section to Another","type":"work"},{"content":"","date":"6 novembre 2025","externalUrl":null,"permalink":"/tags/notetoself/","section":"Tags","summary":"","title":"NoteToSelf","type":"tags"},{"content":" Update: 2025-12-11 # I got it done! Preamble # If this post is weird and stream of consciousness like, that’s by design.\nYou are seeing a notes and miscellanea post, in the work category.\nI want to be able to think through what I am doing. Mostly to clarify, document and explicitly state what I want. To avoid shifting goalposts (or rather to shift them intentionally, if need be.)\nI’ll be updating and revising this post as I think and learn and experience things\nGoals # Think about and write what I want to get done with my hetzner For now, the how does not matter What I want # A VM running K3s, that I can deploy my Hugo website to, as well all the apps that I choose to run on Janusworx My main need with a cluster is the GitOps aspect. Not the scaling or redundancy. I want infrastructure as code and automated updates, as much as possible. Everything goes through my Forgejo instance at home I write a post and it should deploy to the website somehow Apps that I put in there, either just my config files of already published images/deployments, or my own custom things, ought to be pushed to or pulled by the cluster and deployed. Upgrades should be a matter of manipulating code Secrets should be self hosted, via environment variables or some self hosted solution. Never at a third party service 2025-11-06 09:35 # Got tangled with Hugo in the morning. I think I got the basics down, the VM comes up. K3s in installed, but in what order do I move my apps over? Think I’ll the root domail last. And try beginning with the “simpler” apps first Begin with familiarising myself with Helm 2025-11-06 10:06: Tea break 2025-11-06 13:06: Lunch break 2025-11-06 16:00 # Back. Trying to port my dev terraform setup to production. It should just work. But it does not. 2025-11-06 16:59: Solved. I had somehow borked my Terraform state. Nuked it. And then things started working again Show stopper now. My GPG key has expired. Need to figure out how to sign my git commits with SSH now 2025-11-06 18:26: I think I’ve licked it. Both Github and Forgejo don’t seem to be complaining. Let’s see what else I’ve broken over the coming days 2025-11-06 20:00: Done! My production cluster is up! And I can tear it down and build it up consistently. Now to work with it tomorrow. Feedback on this post?\nMail me at feedback at this domain. ","date":"6 novembre 2025","externalUrl":null,"permalink":"/work/the-plan-for-my-new-hetzner-vm/","section":"Work","summary":"Alone and helpless, like you’ve lost your fight","title":"The Plan for My New Hetzner VM","type":"work"},{"content":" Update: 2025-12-11 # I got it done! Preamble # If this post is weird and stream of consciousness like, that’s by design.\nYou are seeing a notes and miscellanea post, in the work category.\nI want to be able to think through what I am doing. Mostly to clarify, document and explicitly state what I want. To avoid shifting goalposts (or rather to shift them intentionally, if need be.)\nI’ll be updating and revising this post as I think and learn and experience things\nGoals # Think about and write what I want to get done with my hetzner For now, the how does not matter What I want # A VM running K3s, that I can deploy my Hugo website to, as well all the apps that I choose to run on Janusworx My main need with a cluster is the GitOps aspect. Not the scaling or redundancy. I want infrastructure as code and automated updates, as much as possible. Everything goes through my Forgejo instance at home I write a post and it should deploy to the website somehow Apps that I put in there, either just my config files of already published images/deployments, or my own custom things, ought to be pushed to or pulled by the cluster and deployed. Upgrades should be a matter of manipulating code Secrets should be self hosted, via environment variables or some self hosted solution. Never at a third party service 2025-11-06 09:35 # Got tangled with Hugo in the morning. I think I got the basics down, the VM comes up. K3s in installed, but in what order do I move my apps over? Think I’ll the root domail last. And try beginning with the “simpler” apps first Begin with familiarising myself with Helm 2025-11-06 10:06: Tea break 2025-11-06 13:06: Lunch break 2025-11-06 16:00 # Back. Trying to port my dev terraform setup to production. It should just work. But it does not. 2025-11-06 16:59: Solved. I had somehow borked my Terraform state. Nuked it. And then things started working again Show stopper now. My GPG key has expired. Need to figure out how to sign my git commits with SSH now 2025-11-06 18:26: I think I’ve licked it. Both Github and Forgejo don’t seem to be complaining. Let’s see what else I’ve broken over the coming days 2025-11-06 20:00: Done! My production cluster is up! And I can tear it down and build it up consistently. Now to work with it tomorrow. Feedback on this post?\nMail me at feedback at this domain. ","date":"6 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-06/","section":"Notes \u0026 Miscellanea","summary":"Alone and helpless, like you’ve lost your fight","title":"2025-11-06 Notes aka The Plan for My New Hetzner VM","type":"nm"},{"content":"","date":"6 novembre 2025","externalUrl":null,"permalink":"/tags/hetzner-nm/","section":"Tags","summary":"","title":"Hetzner-Nm","type":"tags"},{"content":" Goals # Continue the move to K3s.\nDon’t overthink. If something you want, is out of scope, but important and takes more than 10 minutes to do, skip it. We’ll tackle it later. 2025-11-05 08:10 # The K3s cluster is default:default Need to change it Comparing it with my kind config tells me I need to change the name of the cluster the name of the context (possibly the user, but I’m ok leaving that as default) Ok cannot do it during install. Popular suggestions are to just rename things in my copy of the kubeconfig 2025-11-05 08:49: Making a list of all my services. Ok, there is cruft I need to clean up too! the main domain the mastodon archive the email distribution list miniflux for rss feeds joplin baikal discourse no more discourse! markdown editor (hedgedoc) anki huginn syncthing IRC: theLounge + znc (see if we can make do with a single service now) 2025-11-05 09:17: Went off the rails just now thinking about backups! Think I’ll just figure out how to backup each service somehow. 2025-11-05 09:30: Break 2025-11-05 10:00 # start with a smol syncthing folder to test no start with my website there’s going to be dev versions of every darned thing i do now! 2025-11-05 10:30 # the dev environment is overwhelming me and creating extra work. maybe i’ll create one later, when i need to prototype stuff without bringing down my main cluster will just stick to creating the main prod cluster one bit at a time switching gears then to try and automate as much of the main cluster creation as possible rapid reading two gitops books (ok make that 5) i get frustrated at times with the slow progress, but then yea, another hidden piece of the puzzle falls into place, so i ought not to grumble too much the need for helm and kustomize just clicked in my head 2025-11-05 12:42: Lunch 2025-11-05 16:00 # 2025-11-05 16:48: Using the hcloud cli makes me realise why everyone uses various cli’s now. every aspect of said org can be controlled! 2025-11-05 17:51: On my final book 2025-11-05 19:02: Calling it a night. Gained some new knowledge. Not as much as I expected. Let’s see what tomorrow brings Feedback on this post?\nMail me at feedback at this domain. ","date":"5 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-05/","section":"Notes \u0026 Miscellanea","summary":"Just like a picture with a broken frame","title":"2025-11-05 Notes","type":"nm"},{"content":" Goals # Learn how to name the cluster, and get a kubeconfig down via terraform, so I can access it locally Move website to dev cluster and from then on to a new production cluster 2025-11-04 07:55 # Ok, New Day! Trying to get vagrant up so i can have another place to test my vms. 2025-11-04 09:01: ok screw vagrant. will just quicly duplicate my own vm 2025-11-04 09:10: Ok, i need to be using teh damn thing. back to vagrant. Note to self, be a little more ok with changes to your work machine. you have backups and you can always purge something you don\u0026rsquo;t like. the detritus does not last long anyway since you format the machine every couple of years 2025-11-04 09:34: Ok Virtualbox and KVM/QEMU cannot coexist any longer. Trying to get vagrant working with libvirt. if this does not work, will stop futzing with vagrant. I realise this is a niche thing that probably only a few like me need. and that the images will be few and far. But if it works, good for me Commands vagrant init Find a [qemu or libvirt box][] and use those details in the Vagrantfile vagrant up --provider=libvirt (Changed it to be the default in .bashrc, so now a simple vagrant up will work) Grateful to Alchemy Solutions for a base debian image! 2025-11-04 10:05: Gave up. It’s more trouble than it\u0026rsquo;s worth. Simpler for me to just snapshot my vm and try stuff in there, even if it takes a while 2025-11-04 10:10: Starting a debian iso download and off to make some tea 2025-11-04 10:35 # Struggling with ssh. Once done with this, hopefully the rest should be smooth sailing 2025-11-04 11:39: Got what i wanted with a different domain name. Now I realise, I will not use it 😂 At least I got a quick vm with snapshots out of it If I want to pass options to some command I am piping in from stdin then script | sh -s - --option-blah the sh -s - is what does the trick Change the timezone to India, because I got tired of calculating UTC offsets 2025-11-04 12:15: Had to reboot the machine because of my ssh shenanigans 2025-11-04 12:56: Lunch 2025-11-04 16:45 # I still hesitate every time I do a terraform apply, because that is money out of my pocket. Need to get over this mental block 2025-11-04 19:04: And once again something I struggled to do for the past two hours, on hindsight and with some thinking, I don’t really need to do. I was obsessed with getting the k3s config down to my local system, until I realised that I will mostly run this through a CI/CD and this is moot. Well, at least I’m learning. 2025-11-04 20:10: Shutting down for the day. Got a k3s cluster up and running. Now to start working with it tomorrow Feedback on this post?\nMail me at feedback at this domain. ","date":"4 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-04/","section":"Notes \u0026 Miscellanea","summary":"You feel like a candle in a hurricane","title":"2025-11-04 Notes","type":"nm"},{"content":"","date":"4 novembre 2025","externalUrl":null,"permalink":"/tags/bash-nm/","section":"Tags","summary":"","title":"Bash-Nm","type":"tags"},{"content":"","date":"4 novembre 2025","externalUrl":null,"permalink":"/tags/vagrant-nm/","section":"Tags","summary":"","title":"Vagrant-Nm","type":"tags"},{"content":" Goals # Continue with my K3s move 2025-11-03 08:15 # I was wondering yesterday, just how to go about automating the whole thing. My main way of learning is to do it manually and learn by iteration. But what I want in the end is a written document that I can use to reproduce my whole infrastructure automatically. Priyanka suggested—when I was noodling about this with her—that I could just do everything manually and then document it in code as a second step. It’d just mean running an extra hetzner VM (or a local one). Sounds good. 2025-11-03 09:04: Duplicated the folders 2025-11-03 09:23: Spun up a second Hetzner instance. Now I really get it! Adaptation to spin up barely took a few minutes! 2025-11-03 10:24: Will need to figure out just how to save data automatically or at least have a protocol to do it consistently, even if manually 2025-11-03 19:43: Got it to install Tomorrow, replace my local ip with the hetzer ip so i can access it from my desktop. also find a way to get terraform to give me a copy of the kubeconfig Feedback on this post?\nMail me at feedback at this domain. ","date":"3 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-03/","section":"Notes \u0026 Miscellanea","summary":"Do it all again!","title":"2025-11-03 Notes","type":"nm"},{"content":" Goals # Document a bit of what I finished with yesterday 2025-11-01 08:30 # Did quite a bit Trying to figure out if I should now start with the CI/CD bit? or straight with installing K3s and onward manually. Think I’ll do CI/CD. It’ll help me put the hours in with Github actions 2025-11-01 15:15 # Spent most of the day troubleshooting a printer issue with Priyanka. I had done this once before and forgotten Reading photography magazines this eve. Calling it a day Feedback on this post?\nMail me at feedback at this domain. ","date":"1 novembre 2025","externalUrl":null,"permalink":"/nm/2025-11-01/","section":"Notes \u0026 Miscellanea","summary":"Take it easy … Don’t let the sound of your own wheels drive you crazy","title":"2025-11-01 Notes","type":"nm"},{"content":" Goals # Get Garage working as an S3 source for my Terraform state 2025-10-31 07:30 # Going off to make some coffee My only use of Zellij (just like my only use of Tmux) to to set up a 3 pane terminal session for my blog writing sessions. And yet I am so grateful this exists to help me with my writing. Doing this manually is such a pain in the ass Bought myself a bucketful of free Victorian romances on a Kobo deal 2025-10-31 09:30 # Beginning work late today Created a repo and began slowly committing work to it 2025-10-31 10:20: Tea time 2025-10-31 11:00 # Back to work 2025-11-01 07:42 # Forgot to update this last evening Good steady iterative day of work Got Garage to work as an S3 source for Terraform. It meant instructing the Terraform S3 provider to skip a lot of checks. Garage S3 also does not provide versioning on its buckets. Small price to pay for having everything in my control though! Need to update the files as to what commands to use today Feedback on this post?\nMail me at feedback at this domain. ","date":"31 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-31/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-10-31 Notes","type":"nm"},{"content":" Goals # Think about how to CI/CD all of yesterday’s work. Is it even needed? 2025-10-30 08:10 # Beginning the day. Probably try SOPS to encrypt / decrypt and then ci/cd? hmmm. needs some thinking ok decided to skip the terraform portion of my move to ci/cd. that portion is too small and riddled with the chicken and egg problem of where to host tfstate. maybe i will commit it to my personal forgejo repo and extract what I can to publish to github later or maybe try self hosting consul? is that a thing? Ok found Garage. Will probably use that. 2025-10-30 10:35 # So today is probably Garage installation day. 2025-10-30 12:55: Just about got it installed. Now to figure out how to use it. That’s probably for tomorrow now. Lunchtime Feedback on this post?\nMail me at feedback at this domain. ","date":"30 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-30/","section":"Notes \u0026 Miscellanea","summary":"Turning the ship around …","title":"2025-10-30 Notes","type":"nm"},{"content":" Goals # Continue with moving the VM 2025-10-29 07:50 # Setting things up now 2025-10-29 08:22: Shit! got distracted! Getting back to work asap! 2025-10-29 09:40 # Have actually begun work now. Life happened changed my mind. i don\u0026rsquo;t need an idempotent config. will use cloud init (instead of ansible as i originally planned) to set up details in the vm once it is provisioned by terraform 2025-10-29 10:47: Still at it 2025-10-29 11:58: If i call the file terraform.tfvars, terraform reads it in automatically. If not, I have to specify a -var-file=\u0026quot;blah.tfvars\u0026quot; at the command line Terraform will read the .tfvars file and attempt to match it to variable names in main.tf or variables.tf (or whatever) and if there aren’t any declared, it will complain. So definitions in the .tf files first, the values of which can be found then in the .tfvars files. DON’T COMMIT A .tfvars FILE TO GIT!!! 2025-10-29 13:10: Break 2025-10-29 13:30 # Back 2025-10-29 13:51: Tweaked my Zellij config a bit, so that now I don’t have to lift a finger in my supplementary panes of my writing session. Hugo serve automatically starts in one pane and the other automatically watches for changes to today’s notes file and keeps committing it to git Decided to continue with with the Terraform / K3s move all day 2025-10-29 14:10: Brains not braining. Time for a small nap 2025-10-29 14:30 # Back 2025-10-29 15:40: Made good progress. Tea Break 2025-10-29 16:24: Done. Continuing 2025-10-29 16:30 # 2025-10-29 19:00: Done! I got a Hetzner VM up and running and managed to log in! Tomorrow to put K3s on it! Feedback on this post?\nMail me at feedback at this domain. ","date":"29 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-29/","section":"Notes \u0026 Miscellanea","summary":"To thine own self be true …","title":"2025-10-29 Notes","type":"nm"},{"content":" Goals # Continue with the migration from a bare metal VM to kubernetes cluster 2025-10-28 07:20 # The better half is sick. So the day might be scattered Remembered to update my Reading list for the month 2025-10-28 07:40: Everyone is up and about, so running around doing things 2025-10-28 08:20: Am tired of manually refreshing my org agenda. will go and find out if something out there let’s me do it automatically. (Update: There is!) 2025-10-28 08:40 # Beginning work now! Feedback on this post?\nMail me at feedback at this domain. ","date":"28 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-28/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-10-28 Notes","type":"nm"},{"content":" Goals # Skim several books that I might need to use Monday onwards as I start redoing my Hetzner VM 2025-10-25 07:55 # Took Mandar’s advice, and switched to Zellij to setup my Hugo writing session. Startup against tmux is night and day. Shortcuts are intuitive. Most tmux stuff works here just fine. I used shift to select text, purely from muscle memory and it just worked 2025-10-25 10:00: Spent some time trying to integrate QuodLibet into my sound applet in Mint Off to tea 2025-10-25 10:15 # Realised I didnot have to read a book on AWS yet. Now going looking for Hetzner and Terraform stuff 2025-10-25 12:05: Ok today is holiday. I am doing my music collection since morning 2025-10-25 14:34: Ok done! My entire music library is now converted from Apple formats to flacs or mp3s. Now to some lunch Feedback on this post?\nMail me at feedback at this domain. ","date":"25 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-25/","section":"Notes \u0026 Miscellanea","summary":"Read, read, read","title":"2025-10-25 Notes","type":"nm"},{"content":" Goals # Make progress on the book 2025-10-24 07:30 # Hoping to get a head start on the day again Learning about tests and automated testing of microservices today 2025-10-24 08:32: Scaling up the fundamentals of Testing is still very fuzzy to me. I understand it from the point of view of unit tests and from the peak of testing the behaviour of the whole application. Mocking and everything intermediate is what I don’t quite get yet. Hope I understand as I write more code The number of resources suggested, will definitely amount to years of reading! 2025-10-24 09:35 # Ok. I ate my testing brocoli Now to figure out how to ship! Putting it together also feels like drawing the rest of the fucking owl!\nBasically tells me I need to do this over and over to get good at it\nI thought I could learn all this and write holistically about a whole project I’d put together. Now it will more NM posts, as I learn the pieces and see how they fit It does give me an idea of how microservices work though. Fast, consistent, reproducible, modular programming Launched and tested the whole application, that the author generously provided with docker compose. More now after tea. 2025-10-24 10:25 # Back to work Most stuff now presupposes the existence of a cluster, so is that a separate thing to do always? I assume clusters don’t change that often 2025-10-24 13:15: Breaking for lunch. Will continue with the book today, since I think I’m at the end and I don’t want to rebuild and redo my Azure cluster again tomorrow 2025-10-24 13:40 # Back to work 2025-10-24 14:05: And we’re done! The end came faster than I expected\nMonday onwards now I’ll start applying these lessons my raft of tiny services, so that I don’t have to worry about setting up my Hetzner VM ever again. 2025-10-24 18:00 # Brain seems to have stopped functioning. Calling it a night. Feedback on this post?\nMail me at feedback at this domain. ","date":"24 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-24/","section":"Notes \u0026 Miscellanea","summary":"More bootstrapping!","title":"2025-10-24 Notes","type":"nm"},{"content":" Goals # Work on chapter 7 of Bootstrapping Microservices 2025-10-23 07:15 # Got an early start today. Hoping to finish early as well 2025-10-23 07:37: Coffee done. Time to get cracking We’re learning Terraform today! I love this books approach. Here’s how to fix your problem and go read those books if you want to learn more in depth 2025-10-23 08:39: Terraform feels like building computers with lego blocks! working with the cloud is so slow! am so spoiled by zippy local systems got done with Chapter 7. This was easier compared to yesterday 2025-10-23 10:00: tea break. back in 30 2025-10-23 10:30 # 2025-10-23 11:56: The github actions chapter goes from zero to draw the rest of the fucking owl, real fast 😂 2025-10-23 13:03: Alright, alright, alright, it turned out to be slightly underwhelming. I thought Github actions would use terraform to launch a cluster and then deploy my app on it. Turns out I needed an already running cluster. Still. Learnt lots. More tomorrow now 2025-10-23 19:14: Done for the day. Fixed my espanso issue. Will try and figure out Zellij some other day Feedback on this post?\nMail me at feedback at this domain. ","date":"23 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-23/","section":"Notes \u0026 Miscellanea","summary":"Keep going!","title":"2025-10-23 Notes","type":"nm"},{"content":" Goals # Continue with the Bootstrapping Microservices Book 2025-10-22 07:50 # 2025-10-22 08:22: Got distracted by the fact that I wanted to run a browser window in a buffer alongside this post as I compose it.\nWill see how to do that in the eve. Off to work 2025-10-22 09:04: The Azure web interface is \u0026amp;^%$#@! 2025-10-22 09:56: It feels like playing a video game. One wrong click and uh oh! Now do it all over again. Now I know the need for declarative files. No one in their right mind would keep doing this shit over and over 2025-10-22 09:57: Ooh! Success! atleast it does not give me any verification errors. Now to let Azure Web create the cluster, while I go on a tea break 2025-10-22 10:25 # Getting back to work We need a container registry. Off to azure to create one Most basic stuff on Azure seems to work if I set the region to somewhere in India or Asia. The US only seems to have higher end resources for use. (Purely my current assumption) 2025-10-22 11:01: done! I’m gettin the hang of this, Dorothy! 2025-10-22 11:28: Being used to the speed of my local system, a remote cluster seems godawfully slow 2025-10-22 11:59: Everything works! Teardown of resources feels easier on Azure than on AWS 2025-10-22 12:25: Lunch 2025-10-22 18:00 # Now to get cracking on the itch that I wanted scratched in the morn Nope. “That juice ain’t worth the squeeze”, as one of L’Amour’s gun slinging cowboys would say. Simpler to stick to a dedicated Cinnamon workspace. This should teach me that one ought not to go chasing rabbit holes when there’s deep work to be done Tomorrow’s planned. Open loops closed. Schedule shutdown, complete.\nOff to some cheesy country music, dinner and bed. Feedback on this post?\nMail me at feedback at this domain. ","date":"22 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-22/","section":"Notes \u0026 Miscellanea","summary":"Carrying on with Kubernetes","title":"2025-10-22 Notes","type":"nm"},{"content":" Goals # Do another day like yesterday. Slightly less rushed this time, though. Earworm: “You don’t look a day over Fast Cars and Freedom” 2025-10-21 08:45 # Let’s start already! Idea being to see if I run into the same hiccoughs with Miniflux1 Minikube today as I did with Kind yesterday Minikube installed. Set config to use all 4 of my aging xeon cores See now why folks prefer Kind. It takes a while to spin up Run into the same problem image wise as Kind yesterday. Figuring out a way to load my containers into the Minikube cluster It works! Ok, both have their uses. If I want to play with software development, Kind makes sense, but if I want a running cluster to test stuff in, with better network support, I’ll use Minikube Or will I? A tiny config tweak let me access my app with Kind as well. So methinks, I’ll stick to Kind for most my jobs and use Minikube when Kind doesn’t cut it 2025-10-21 10:05: Tea break 2025-10-21 10:45 # Back to work Now that I got the local setup running and my options at hand and the local app running, now to get back to the book to see how to do the same thing on a cloud. got the heebie-jeebies tryng Azure stuff on my now expired trial. signing up with another email id to test 2025-10-21 12:31: Calling it a day with focussed work. Azure took the wind out of me Feedback on this post?\nMail me at feedback at this domain. I’m going to mistype this a lot. I just know it!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"21 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-21/","section":"Notes \u0026 Miscellanea","summary":"Let’s see how we fare today","title":"2025-10-21 Notes","type":"nm"},{"content":" Goals # Rejig the day Get back to starting on the devops project 2025-10-20 07:15 # Getting back to writing notes after two months. Lots has happenend in that time. Need to redo all the work I do and reshuffle them through the day BIG Idea: Focus hours first thing in the day. Four hours. One half hour break in the middle So the three Ss in the morning. meditation, back physio, making breakfast, feeding the pups in the morning Then, start with the focus task of the day Then, break for lunch and a nap Then, French, and misc work (calendar/org tasks, system updates) and pottering about the house Tea, followed by a walk OSS work Next self learning / hobby block. (Rustlings or Writing posts or working on Rust projects) End with planning the day next, before turning in for dinner and bed 2025-10-20 07:45 # And so we begin! Starting up where I left in the Bootstrapping Microservices Book 2025-10-20 08:55: Going well so far. There are distractions, but not much Refamiliarised myself and got myself up to speed, much faster than usual Best to have two separate Dockerfiles according to the book: We can get away with having a single Docker Compose file that is parameterized by an environment variable, but I generally keep separate versions for testing development and production.\nThat’s because I like to have my production Docker Compose file mimic the real production environment as much as feasible. In addition, usually my development version will replace various microservices with mock versions for easier and faster testing, but when testing in production mode, it’s better to test the real microservices and not the mock versions.\n2025-10-20 09:35: Saw an example of containers communicating directly with http Learnt how to be dangerous with mongosh 2025-10-20 10:00: Tea break 2025-10-20 10:30 # Back 2025-10-20 10:58: Got through whole chapter! On to chapter 6! Updating kind on my machine Learned that kind lets me have as many “nodes” as I want. This tiny snippet gives me a control plane and two nodes! kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 name: my-humongous-cluster nodes: - role: control-plane - role: worker - role: worker Kind has no access to my locally built images. I need to load them in … kind load docker-image \u0026lt;image-name:n\u0026gt; # n is a version number tag 2025-10-20 12:50: Done for the day. Good progress\nHad issues with kind. Will investigate Minikube tomorrow. 2025-10-20 19:00 # Did Rustling for an hour. Head’s flummoxed with the final enums exercise Did lots of housework as well This new state of affairs has gone well for today Let’s see how the next couple of weeks go Feedback on this post?\nMail me at feedback at this domain. ","date":"20 octobre 2025","externalUrl":null,"permalink":"/nm/2025-10-20/","section":"Notes \u0026 Miscellanea","summary":"Once more unto the breach, dear friends, once more …","title":"2025-10-20 Notes","type":"nm"},{"content":"","date":"20 octobre 2025","externalUrl":null,"permalink":"/tags/docker-nm/","section":"Tags","summary":"","title":"Docker-Nm","type":"tags"},{"content":"","date":"20 octobre 2025","externalUrl":null,"permalink":"/tags/kind-nm/","section":"Tags","summary":"","title":"Kind-Nm","type":"tags"},{"content":"\nCute wolf Mabel, who caused quite a Ruckus, courtesy David Beazley\nI had started this series, to catalogue my journey learning Rust whilst doing David Beazley’s, Ruckus course.\nAnd just like that, it’s over! 😂 The course is done, and I am already missing Dave and my fellow journey folk, Rodica, Yadu, Marko, Upul, Gabriela, and Eugene!\nI never thought the end would be so bittersweet.\nWorth it financially? # Yes! Oh, dear God, yes!\nTo begin with, I never thought that Dave’s courses were expensive. Yes, they cost money, but he’s given so much away for free, that I was willing to save up and put my money where my mouth was.\nI also think, I’ve figured out Dave’s schtick with the idea of what he teaches.\nTake something, something hard, (Write a compiler? Figure out distributed consensus in networked systems? The big ideas and paradigms in computing?); something that would take an average Joe, 4-6 months (or a college semester) to learn, and then compress it down to anything from a couple of days to a work week. Compress the time that is … not the knowledge.\nHaving that much knowledge dowloaded into your head in that short a time frame, is what (to use a Dave-ism) makes your brain explode.\nAnd now having actually done it, I’m now swinging around to the price is just right or “He actually undercharges a bit” camp.\nThis is bloody addicting. I’m just going to save up and do them all as and when I can over time. Like Neo answering Tank’s, “How about some more?”, with a Hell yes!\nWorth it for the knowledge I gained? # Have I already said, Oh, dear God, Yes?! Doubly so, here!\nLearning it myself, I realised that Rust had paradigms, teasing me at the edge of my vision, which I couldn’t quite see, frustrating my attempts to learn the language.\nPython (C/OOP) is my ur-language. Having that, made it easy to learn Go. Rust turned out to be a different beast altogether. Having the big ideas of Rust laid bare and then explained thoroughly was therefore, such an eye opening experience. And I learned it while doing something else, that is inherently hard. Dave makes it easy though, like I describe below.\nI just wanted to learn Rust. I didn’t really want to write a small programming language.\nBut doing that, made me learn Rust without even realising it. He’s that good. The pedagogical method is that good.\nMost big ideas were in there. Ownership and borrowing, check. Compare and contrast how things are done in other languages, double check. Macro magic, check and triple check.\nThe course was more focussed on the why of Rust, more than the more easily discoverable, how.\nA fascinating mental model was looking at Rust like Earth. An inner strict core, surrounded by a more relaxed, friendlier outer shell.\nDaily work was tremendously, mentally taxing. In a good way.\nDave keeps saying that minds explode due to the material. But no good Sir, that is not true!\nTo Dave I say, “’Tis thou, Dave, who dost cause the explosions of brains!”\nHe starts with an innocent problem, something seemingly innocuous, and then lays his trap.\nSimple solutions are shown not to work, teensy yet ghastly exceptions show up to trip you, dreadful scenarios that you’d never imagine, lie beneath the surface. And your mind gets wound up so tight, that when Dave finally has had his fun, takes pity on us and shows us the solution, it naturally goes, Boom!\nI cannot wait, to have my brains exploded once again :)\nAm I done with this series? # No.\nI jumped into the deep end of the pool, by attempting to learn Rust with a hard project at the same time.\nSo while I’ve learned a lot, there’s plenty of work to do.\nWhile the others could do their programming exercises quickly, I have seriously lagged behind.\nWith the notes I’ve made and the resources that I have access to, I will attempt to redo this week myself over the coming months and write about it, and ponder, struggle, work through it here.\nDave as teacher and all round good egg # The man puts in tremendous amounts of work.\nEvery bit of the course, is planned and structured meticulously and then he just riffs off of the ideas.\nThere was a collaborative Github repo ready and waiting, there were video recordings ready as soon as the day was done.\nDave never pretends to have all the answers. 99% of the time, he does and hides it well, so we do the thinking, but the few times he didn’t, he let us know and then came back to us with answers and thoughts either in the next session or the next day.\nUnfailingly polite, kind and generous to a fault, he fostered an extremely collaborative environment, in which, even when there were other folks much more learned and experienced than I; I never felt like a dunce. I never felt spoken down to.\nAll my kooky ideas were evaluated, and then Dave would point out why doing something like what I suggested wouldn’t quite work or why stuff would crash and burn or why what I suggested doing eeny, meeny, miny, moe was in fact, pretty good.\nI learned not just what, not just how, but also why.\nAnd I learned it all in a place that was nice, and friendly, and warm, and kind.\nDave, thank you for all you do! I’m very grateful!\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n","date":"20 septembre 2025","externalUrl":null,"permalink":"/work/make-a-ruckus-001/","section":"Work","summary":"I cannot wait to, have my brains exploded once again :)","title":"Make a Ruckus: 001, Done! Or Are We? Thank you, Dave!","type":"work"},{"content":"","date":"20 septembre 2025","externalUrl":null,"permalink":"/tags/ruckus/","section":"Tags","summary":"","title":"Ruckus","type":"tags"},{"content":"","date":"20 septembre 2025","externalUrl":null,"permalink":"/tags/rust/","section":"Tags","summary":"","title":"Rust","type":"tags"},{"content":"\nWolf howl, by Lorc, CC BY 3.0, via Wikimedia Commons\nI signed up for the latest cohort of David Beazley’s, Ruckus.\nThe basic idea, behind Ruckus is to write a small interpreter in Rust!\nWhy? # From the Ruckus page:\nThis course tackles Rust by stepping back and thinking about it from the standpoint of a \u0026ldquo;programming languages\u0026rdquo; project. If Rust is really so different, how would you go about finding out how? Suffice to say, building a programming language will cut right to the heart of the matter.\nThis is exactly how I learned Python. Only it took me an inordinately long time. And I didn’t even realise that I was doing it that way. While most of my friends were happy just using Python, I could not quite do it right, because I had no fundamentals1, and since my background has been tech support, hardware and people management, I needed to unlearn a ton of stuff.\nI’m cautiously hoping Ruckus will help me do the same with Rust, only in a turbo charged manner.\nRust fascinates me. And I quite like my journey to its doorstep.\nI learned writing for myself with Python. But when it came time to sharing my tiny projects with friends and family, I was a bit stumped.\nI learned Go, just so I could give them a binary and then instruct them with a “just run this.”\nAnd while that solved my distribution problem, Go’s type system made me realise, just how well suited a typed language is for collaboration.\nWhich brings me to Rust. Long term, this is the language2, I would love to write for performant code, because Rust’s big picture features (safe, performant, easy to distribute) are exactly what I want for all my tiny bits and bobs.\nWhich in turn brings me back to Ruckus.\nGetting a teensy peek at how everything works underneath, while at the same time, getting a firm handle on the language seems like a fun challenge.\nI also wanted to try what Cal Newport, calls a grand gesture in Deep Work:\nThe concept is simple: By leveraging a radical change to your normal environment, coupled perhaps with a significant investment of effort or money, all dedicated toward supporting a deep work task, you increase the perceived importance of the task. This boost in importance reduces your mind’s instinct to procrastinate and delivers an injection of motivation and energy.\n[…] The dominant force is the psychology of committing so seriously to the task at hand. To put yourself in an exotic location to focus on a writing project, or to take a week off from work just to think, or to lock yourself in a hotel room until you complete an important invention: These gestures push your deep goal to a level of mental priority that helps unlock the needed mental resources. Sometimes to go deep, you must first go big.\nMake no mistake, my current state is that of an enthusiastic, ignorant newbie. How hard can it be? I’m woefully unprepared for what might come. The only thing I know, is that I don’t know. I fully expect to be like the wolf above, losing my mind, howling at the moon and generally creating a ruckus.\nFeedback on this post?\nMail me at feedback at this domain or continue the discourse here. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nI have some now\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI thought I could be pragmatic about the giant that stewards Go, but I realise that it’s something that’ll always stick in my craw. I have no issues using it with other folks or in a collaborative project. I just don’t want to use it for myself and my projects.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"11 septembre 2025","externalUrl":null,"permalink":"/work/make-a-ruckus-000/","section":"Work","summary":"Let’s make some noise!","title":"Make a Ruckus: 000, The Motivation","type":"work"},{"content":"\nHow it started \u0026amp; How it’s going!\nPicture credits, Walter Pinto \u0026amp; Priyanka Saggu\nClick the pic, to make big!\nIn love, as in dreams,\nall is possible!\nI love you for completing me, in every possible way. I cannot imagine life without you! 😘\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n","date":"10 septembre 2025","externalUrl":null,"permalink":"/personal/14/","section":"Personal","summary":"How it started \u0026 How it’s going!","title":"14 (All is Possible!)","type":"personal"},{"content":"","date":"10 septembre 2025","externalUrl":null,"permalink":"/tags/happy-anniversary/","section":"Tags","summary":"","title":"Happy Anniversary","type":"tags"},{"content":" Goals # Still a rainy day. A lot less the the days before though Plan still holds. Same as the past two. Do a little bit of the routine. Be prepared for lots of hiccoughs 2025-08-21 12:46: Lunch time. Powercut all morning. Spent the time reading Feedback on this post?\nMail me at feedback at this domain. ","date":"21 août 2025","externalUrl":null,"permalink":"/nm/2025-08-21/","section":"Notes \u0026 Miscellanea","summary":"Here comes the rain again, falling on my head like a new emotion …","title":"2025-08-21 Notes","type":"nm"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nThe book now dives into the Four Levels of Reading.\nWe tackle notes from the First Level of Reading, Elementary Reading, today\nStages of Learning to Read # 1. First Stage of Learning to read (Reading Readiness)\nThis begins, at birth, and continues normally until the age of about six or seven. Reading readiness includes several different kinds of preparation for learning to read.\nPhysical readiness involves good vision and hearing. Intellectual readiness involves a minimum level of visual perception such that the child can take in and remember an entire word and the letters that combine to form it.\nLanguage readiness involves the ability to speak clearly and to use several sentences in correct order.\nPersonal readiness involves the ability to work with other children, to sustain attention, to follow directions, and the like.\nGeneral reading readiness is assessed by tests and is also estimated by teachers who are often skillful at discerning just when a pupil is ready to learn to read.\n2. Second Stage: Simple Material Reading Children learn to read very simple materials.\nThey usually begin, by learning a few sight words, and typically manage to master perhaps three hundred to four hundred words by the end of the first year. Basic skills are introduced at this time, such as the use of context or meaning clues and the beginning sounds of words.\nThe Miracle of Reading\nIt is incidentally worth observing that something quite mysterious, almost magical, occurs during this stage.\nAt one moment in the course of her development the child, when faced with a series of symbols on a page, finds them quite meaningless. Not much later—perhaps only two or three weeks later—she has discovered meaning in them; she knows that they say “The cat sat on the hat.”\nHow this happens no one really knows, despite the efforts of philosophers and psychologists over two and a half millennia to study the phenomenon. Where does meaning come from? How is it that a French child would find the same meaning in the symbols “Le chat s’asseyait sur le chapeau”?\nIndeed, this discovery of meaning in symbols may be the most astounding intellectual feat that any human being ever performs—and most humans perform it before they are seven years old!\n3.Third Stage: Vocabulary Acquisition\nThe third stage is characterized by rapid progress in vocabulary building and by increasing skill in “unlocking” the meaning of unfamiliar words through context clues.\n4. Fourth Stage: Assimilation\nFinally, the fourth stage is characterized by the refinement and enhancement of the skills previously acquired. Above all, the student begins to be able to assimilate his reading experiences—that is, to carry over concepts from one piece of writing to another, and to compare the views of different writers on the same subject. This, the mature stage of reading, should be reached by young persons in their early teens. Ideally, they should continue to build on it for the rest of their lives.\nStages and Levels # It is of paramount importance to recognize that the four stages outlined here are all stages of the first level of reading\nThe first stage of elementary reading—reading readiness—corresponds to pre-school and kindergarten experiences.\nThe second stage—word mastery—corresponds to the first grade experience of the typical child (although many quite normal children are not “typical” in this sense), with the result that the child attains what we can call second-stage reading skills, or first grade ability in reading or first grade literacy.\nThe third stage of elementary reading—vocabulary growth and the utilization of context—is typically (but not universally, even for normal children) acquired at about the end of the fourth grade of elementary school and results in what is variously called fourth grade, or functional, literacy—the ability, according to one common definition, to read traffic signs or picture captions fairly easily, to fill out the simpler government forms, and the like.\nThe fourth and final stage of elementary reading is attained at about the time the pupil leaves or graduates from elementary school or junior high school. It is sometimes called eighth grade, ninth grade, or tenth grade literacy. The child is a “mature” reader in the sense that he is now capable of reading almost anything, but still in a relatively unsophisticated manner. In the simplest terms, he is mature enough to do high school work.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n[2]:\n","date":"20 août 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-009/","section":"Reading","summary":"It’s elementary …","title":"How to Read a Book: 009, Elementary Reading, The First Level","type":"reading"},{"content":"","date":"20 août 2025","externalUrl":null,"permalink":"/tags/how-to-read-a-book/","section":"Tags","summary":"","title":"How-to-Read-a-Book","type":"tags"},{"content":" Goals # Take the day as it comes. The rains haven’t abated a bit Try and do only as much as I can. No use pushing, when I don’t know what will happen 2025-08-20 11:25 # Nothing much work related has happened so far, because of the rains. Trying to start and see what comes of it Chapter 4 of Bootstrapping Microservices! Learning Docker Compose. Hopefully the Azure account I finally managed to create yesterday will come in handy today 2025-08-20 17:00 # Had a nap. Now to see, what I can do. Some NMC work done Tomorrow’s planned 2025-08-20 18:40: Done with the blog post at least 2025-08-20 20:24: Did a wee bit of the rust book. Some progress better than no progress! Off to bed! Feedback on this post?\nMail me at feedback at this domain. ","date":"20 août 2025","externalUrl":null,"permalink":"/nm/2025-08-20/","section":"Notes \u0026 Miscellanea","summary":"Here comes the rain again, raining in my head like a tragedy …","title":"2025-08-20 Notes","type":"nm"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nEnlightenment or Sophmore(istry)? Reading serves both. It’s the reader who is the difference # To be informed is to know simply that something is the case.\nTo be enlightened is to know, in addition, what it is all about: why it is the case, what its connections are with other facts, in what respects it is the same, in what respects it is different, and so forth.\nThis distinction is familiar in terms of the differences between being able to remember something and being able to explain it.\n[…] you have gained nothing but information if you have exercised only your memory. You have not been enlightened. Enlightenment is achieved only when, in addition to knowing what an author says, you know what he means and why he says it.\nIt is true, of course, that you should be able to remember what the author said as well as know what he meant. Being informed is prerequisite to being enlightened. The point, however, is not to stop at being informed.\nMontaigne speaks of “an abecedarian ignorance that precedes knowledge, and a doctoral ignorance that comes after it.”\nThe first is the ignorance of those who, not knowing their ABC’s, cannot read at all.\nThe second is the ignorance of those who have misread many books.\nThey are, as Alexander Pope rightly calls them, bookful blockheads, ignorantly read. There have always been literate ignoramuses who have read too widely and not well. The Greeks had a name for such a mixture of learning and folly which might be applied to the bookish but poorly read of all ages. They are all sophomores.\nArt of Reading # The process whereby a mind, with nothing to operate on but the symbols of the readable matter, and with no help from outside, elevates itself by the power of its own operations. The mind passes from understanding less to understanding more. The skilled operations that cause this to happen are the various acts that constitute the art of reading.\nWhat is Reading? A couple of meanings … # 1. When you already know things\nThe first sense is the one in which we speak of ourselves as reading newspapers, magazines, or anything else that, according to our skill and talents, is at once thoroughly intelligible to us.\nSuch things may increase our store of information, but they cannot improve our understanding, for our understanding was equal to them before we started. Otherwise, we would have felt the shock of puzzlement and perplexity that comes from getting in over our depth—that is, if we were both alert and honest\n2. When you understand new things\nThe second sense is the one in which a person tries to read something that at first he does not completely understand.\nHere the thing to be read is initially better or higher than the reader. The writer is communicating something that can increase the reader’s understanding. Such communication between unequals must be possible, or else one person could never learn from another, either through speech or writing. Here by “learning” is meant understanding more, not remembering more information that has the same degree of intelligibility as other information you already possess.\nOn Reading as Discovery # The distinction between being informed vs being enlightened is familiar in terms of the differences between being able to remember something and being able to explain it.\nEnlightenment is achieved only when, in addition to knowing what an author says, you know what he means and why he says it.\nTo avoid error of assuming that to be widely read and to be well-read are the same thing—we must consider a certain distinction in types of learning.\nIn the history of education, people have often distinguished between learning by instruction and learning by discovery. Instruction occurs when one person teaches another through speech or writing. We can, however, gain knowledge without being taught. If this were not the case, and every teacher had to be taught what he in turn teaches others, there would be no beginning in the acquisition of knowledge. Hence, there must be discovery—the process of learning something by research, by investigation, or by reflection, without being taught.\nDiscovery stands to instruction as learning without a teacher stands to learning through the help of one. In both cases, the activity of learning goes on in the one who learns. It would be a mistake to suppose that discovery is active learning and instruction passive. There is no inactive learning, just as there is no inactive reading.\nThis is so true, in fact, that a better way to make the distinction clear is to call instruction “aided discovery.”\nThe difference between learning by instruction and learning by discovery—or, as we would prefer to say, between aided and unaided discovery—is primarily a difference in the materials on which the learner works. When he is being instructed—discovering with the help of a teacher—the learner acts on something communicated to her. She performs operations on discourse, written or oral. She learns by acts of reading or listening.\nWhen, however, the learner proceeds without the help of any sort of teacher, the operations of learning are performed on nature or the world rather than on discourse. The rules of such learning constitute the art of unaided discovery. If we use the word “reading” loosely, we can say that discovery—strictly, unaided discovery—is the art of reading nature or the world, as instruction (being taught, or aided discovery) is the art of reading books or, to include listening, of learning from discourse.\nThinking is only one part of the activity of learning. One must also use one’s senses and imagination. One must observe, and remember, and construct imaginatively what cannot be observed. There is, again, a tendency to stress the role of these activities in the process of unaided discovery and to forget or minimize their place in the process of being taught through reading or listening. For example, many people assume that though a poet must use his imagination in writing a poem, they do not have to use their imagination in reading it.\nThe art of reading, in short, includes all of the same skills that are involved in the art of unaided discovery: keenness of observation, readily available memory, range of imagination, and, of course, an intellect trained in analysis and reflection. The reason for this is that reading in this sense is discovery, too—although with help instead of without it.\nOn Present and Absent Teachers (Or as Munger would have put it, the eminent dead) # We have been proceeding as if reading and listening could both be treated as learning from teachers. To some extent that is true. Both are ways of being instructed, and for both one must be skilled in the art of being taught. Listening to a course of lectures, for example, is in many respects like reading a book; and listening to a poem is like reading it.\nYet there is good reason to place primary emphasis on reading, and let listening become a secondary concern. The reason is that listening is learning from a teacher who is present—a living teacher—while reading is learning from one who is absent.\nIf you ask a living teacher a question, she will probably answer you. If you are puzzled by what she says, you can save yourself the trouble of thinking by asking her what he means.\nIf, however, you ask a book a question, you must answer it yourself. In this respect a book is like nature or the world. When you question it, it answers you only to the extent that you do the work of thinking and analysis yourself.\nThis does not mean, of course, that if the living teacher answers your question, you have no further work. That is so only if the question is simply one of fact. But if you are seeking an explanation, you have to understand it or nothing has been explained to you. Nevertheless, with the living teacher available to you, you are given a lift in the direction of understanding her, as you are not when the teacher’s words in a book are all you have to go by.\n[…] (for us readers though) our continuing education depends mainly on books alone, read without a teacher’s help. Therefore if we are disposed to go on learning and discovering, we must know how to make books teach us well. Reading, like unaided discovery, is learning from an absent teacher.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n[2]:\n","date":"19 août 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-008/","section":"Reading","summary":"On Enlightenment and Discovery","title":"How to Read a Book: 008, More On the Activity and the Art of Reading","type":"reading"},{"content":" Goals # Make tiny progress. It’s raining cats and dogs since the day before. The city’s just about to give up. So best be prepared for whatever comes today 2025-08-19 09:25 # Created a Mint web app for my Hugo live views, so that now I have a dedicated window to preview while writing. 2025-08-19 10:01: As predicted, a power cut! 2025-08-19 10:30: Back to work 2025-08-19 11:03: Reinstalling docker! BRB 2025-08-19 11:15: This is like herding cats. You catch one, and there’s another one biting and scratching. Grr. 2025-08-19 11:43: Chapter 3 of the book is done!\nlearned docker and how to upload my docker image to a private container registry created (and deleted) one on aws. learned how to authenticate with aws cli learnt how to tag images with the private repos url and push to it 2025-08-19 13:00: Calling it quits for today. Ended by finally successfully creating an Azure account for the lessons 2025-08-19 15:20 # Done with my NMC work AND my HTRAB post for the day! Woohoo! 2025-08-19 16:25: Planned tomorrow. Now to learn some Rust. And then call it a day. The rains are really lashing the window now! 2025-08-19 16:54: Smol note. Focus better today than yesterday 2025-08-19 18:15: Learning a new language, Rust, once again feels like the blind man touching the elephant, trying to figure out the shape of the thing and whatsits use This seems to be less about learning a new language and more about learning new concepts about programming that I’m unfamiliar with. Go made me appreciate types, and Rust seems to want to make me love them 2025-08-19 18:57: Done for the day. Figured out primitive data types in Rust Feedback on this post?\nMail me at feedback at this domain. ","date":"19 août 2025","externalUrl":null,"permalink":"/nm/2025-08-19/","section":"Notes \u0026 Miscellanea","summary":"Here comes the rain again, falling on my head like a memory …","title":"2025-08-19 Notes","type":"nm"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nParaphrased and excerpted as usual …\nThinking is vitally important, but the modern world does not let us … # One of the reasons for this situation is that the very media we have mentioned are so designed as to make thinking seem unnecessary (though this is only an appearance).\nThe packaging of intellectual positions and views is one of the most active enterprises of some of the best minds of our day. The viewer of television, the listener to radio, the reader of magazines, (the “consumer” of modern internet streams —mjb) is presented with a whole complex of elements—all the way from ingenious rhetoric to carefully selected data and statistics—to make it easy for one to “make up one’s own mind” with the minimum of difficulty and effort.\nBut the packaging is often done so effectively that the viewer, listener, or reader does not make up their own mind at all. Instead, they inserts a packaged opinion into their mind, somewhat like inserting a cassette into a cassette player. They then push a button and “play back” the opinion whenever it seems appropriate to do so. They have performed acceptably without having had to think.\nOn the ability to read actively \u0026amp; the need to make an effort to match the author’s # Since reading of any sort is an activity, all reading must to some degree be active. Completely passive reading is impossible; we cannot read with our eyes immobilized and our minds asleep. Hence when we contrast active with passive reading, our purpose is, first, to call attention to the fact that reading can be more or less active, and second, to point out that the more active the reading the better.\nReading and listening are commonly thought of as receiving communication from someone who is actively engaged in giving or sending it. The mistake here is to suppose that receiving communication is like receiving a blow or a legacy or a judgment from the court.\nOn the contrary, the reader or listener is much more like the catcher in a game of baseball.\nCatching the ball is just as much an activity as pitching or hitting it. The pitcher or batter is the sender in the sense that his activity initiates the motion of the ball. The catcher or fielder is the receiver in the sense that his activity terminates it. Both are active, though the activities are different.\nIf anything is passive, it is the ball. It is the inert thing that is put in motion or stopped, whereas the players are active, moving to pitch, hit, or catch. The analogy with writing and reading is almost perfect. The thing that is written and read, like the ball, is the passive object common to the two activities that begin and terminate the process.\nWe can take this analogy a step further. The art of catching is the skill of catching every kind of pitch—fast balls and curves, changeups and knucklers.\nSimilarly, the art of reading is the skill of catching every sort of communication as well as possible.\nIt is noteworthy that the pitcher and catcher are successful only to the extent that they cooperate. The relation of writer and reader is similar. Successful communication occurs in any case where what the writer wanted to have received finds its way into the reader’s possession. The writer’s skill and the reader’s skill converge upon a common end.\nThere is one respect in which the analogy breaks down. The ball is a simple unit. It is either completely caught or not.\nA piece of writing, however, is a complex object. It can be received more or less completely, all the way from very little of what the writer intended to the whole of it. The amount the reader “catches” will usually depend on the amount of activity he puts into the process, as well as upon the skill with which he executes the different mental acts involved.\nWhat does active reading entail?\nGiven the same thing to read, one person reads it better than another, first, by reading it more actively, and second, by performing each of the acts involved more skillfully. These two things are related.\nReading is a complex activity, just as writing is.\nIt consists of a large number of separate acts, all of which must be performed in a good reading. The person who can perform more of them is better able to read.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][2]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n","date":"18 août 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-007/","section":"Reading","summary":"","title":"How to Read a Book: 007, Highlights from the Activity and the Art of Reading","type":"reading"},{"content":" Goals # Get back to my routine. Make tiny progress Work through Bootstrapping Microservices 2025-08-18 09:10 # The voices in my head! All the bleddy time!\nvia, https://www.tumblr.com/persephonelovesbooks/792138541788512256\n2025-08-18 09:15 # Got coffee! Begin work! 2025-08-18 10:18: Chapter 2 done! 2025-08-18 10:24: Chapter 3 is Docker!!! 2025-08-18 11:45 # Back for a second session after a short tea break. Maintaning focus is hard. I want to keep switching away and checking my messages and emails and feeds 😂 2025-08-18 12:33: Done for the day. Wrangling stuff between Azure and failing and then trying AWS and failing broke me. Will try again tomorrow 2025-08-18 18:10 # Did some NMC stuff 2025-08-18 18:52: Trying to write a blog post, if it kills me. I just have to gain this habit! 2025-08-18 20:19: Ok done! Off to bed now! Feedback on this post?\nMail me at feedback at this domain. ","date":"18 août 2025","externalUrl":null,"permalink":"/nm/2025-08-18/","section":"Notes \u0026 Miscellanea","summary":"Won’t you meet me, in Montana?","title":"2025-08-18 Notes","type":"nm"},{"content":"","date":"18 août 2025","externalUrl":null,"permalink":"/tags/bootstrapping-microservices-nm/","section":"Tags","summary":"","title":"Bootstrapping-Microservices-Nm","type":"tags"},{"content":" Goals # Go shopping. Do House Chores Find a way to hit priorities if I can 2025-08-14 10:35 # House Chore 1, turned out to be a bust. At least I got a walk out of it. Will try day after 2025-08-14 11:35 # Nap 2025-08-14 11:46 # Back. Now to skim three Terraform books and figure out one that will help me the most Terraform in Depth, by Hafner it is. 2025-08-14 11:54: Interrupted. BRB 2025-08-14 13:55 # Back\n2025-08-14 14:25: Ok. Not that book. I seem to be mean to tech books. I gave it a fair try. This is not serving me right now though. Off to look for something else that matches my needs\n2025-08-14 14:26: Ok, found two. One is Bootstrapping Microservices, which seems to be exactly what I want. And the other is Terraform in Action, which is something I’ll pick up, if the Bootstrapping book does not work out.\n2025-08-14 14:34: Yes, Bootstrapping Microservices is it. Better to work from outside in. I know what I want. And I hope to learn more in depth and find what I’m not so good at as I actually do this\n2025-08-14 14:46: From the book,\nThis book won’t teach you everything; there’s far too much to learn for any single book to do that. Instead, we’ll take a different approach: we’ll learn practically the minimum that is necessary to bootstrap a new application and get it in front of our customers.\nWhy, yes please!\n2025-08-14 14:57: I thought I’d me doing my server first and then writing about a more generic version of what I did on the blog. Looks like I’ll be doing this the other way round\n2025-08-14 15:15: Tea\n2025-08-14 15:45 # Back. Few heuristics on designing microservices: Don’t overdesign or try to future proof your architecture. Start with a simple design for your application. Apply continuous refactoring during development to keep it as simple as it can be. Let a good design emerge naturally. What I’m saying is that you should be planning for your plan to change! You should be able to respond quickly to changing circumstances, and that’s something also well supported by microservices. More Design Principles: Single responsibility principle: each service should have a single, well-defined area of responsibility. Separation of concerns: clear separation of responsibilities rather than intermingled responsibilities, which helps make each microservice simpler and easier to understand. Loose coupling: connections between services are minimal and that they don’t share information unless necessary. High cohesion: all the code in a microservice belongs together and contributes to solving the problem that is the service’s area of responsibility. If a microservice solves more than one problem or has a larger area of responsibility, then this is an indication that it’s not highly cohesive. Domain Driven Design\nA bounded context is a conceptual bubble within the domain model in which all the terms, entities, and logic within the bubble make sense together, belong together, and are consistent with each other. Creating bounded contexts is a way to carve up our domain models into logical and self-contained parts.\nThe process of DDD can help us figure out the answer to this question: What goes into each microservice? Is it “micro”-service?\nwe should be building them around the concepts in our domain and to whatever size feels natural for that domain. The tiny project, the book aims to build; A video streaming service # 2025-08-14 16:05 # Chapter 2! The book is darned repetitive. And not in a good, Head First book way. I hope they stop doing this in future chapters The author’s philosophy of development Iterate Keep it working Move from simple to complex 2025-08-14 16:38: Stop for chores. Be back. 2025-08-14 20:30 # Back too late to continue. Bed Time! Feedback on this post?\nMail me at feedback at this domain. ","date":"14 août 2025","externalUrl":null,"permalink":"/nm/2025-08-14/","section":"Notes \u0026 Miscellanea","summary":"Work, work, work, work, work!","title":"2025-08-14 Notes","type":"nm"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nI’ve always been precious about the physical books, I have.\nPartly because the books I read when I was a child, didn’t belong to me.\nAnd so, I wrote notes. Gentle pencil marks as I read (to be erased, before I returned them), and then writing them all out into a notebook (and later typed in to a computer when I could afford one.)\nI’ve longed to write in the damned books themselves, but old habits die hard. Until I read Adler, that is.\nAnd then the clouds parted.\nMarking a book, making it your own, highlighting it, questioning it, raging at it, whispering to it, completing the conversation, the author wishes to have with you … all of it, is such a sheer, physical, visceral experience.\nI wonder why I didn’t do it sooner. Better late than never though. I’ve been marking every physical book and highlighting and annotating every electronic book, ever since I got back into reading, ten years ago.\nHere’s Adler on why one needs to physically manhandle a book.1\nMerely asking questions [of a book] is not enough. You have to try to answer them. And although that could be done, theoretically, in your mind only, it is much easier to do it with a pencil in your hand. The pencil then becomes the sign of your alertness while you read.\nIt is an old saying that you have to “read between the lines” to get the most out of anything. The rules of reading are a formal way of saying this. But we want to persuade you to “write between the lines,” too. Unless you do, you are not likely to do the most efficient kind of reading.\nWhen you buy a book, you establish a property right in it2\nBut the act of purchase is actually only the prelude to possession in the case of a book. Full ownership of a book only comes when you have made it a part of yourself, and the best way to make yourself a part of it—which comes to the same thing—is by writing in it.\nWhy is marking a book indispensable to reading it?\nFirst, it keeps you awake—not merely conscious, but wide awake.\nSecond, reading, if it is active, is thinking, and thinking tends to express itself in words, spoken or written. The person who says they knows what they think but cannot express it usually does not know what they think.\nThe Art of Reading, according to Adler, is that we take part in a great conversation.\nI am talking to the author, but they have learnt from other masters elsewhere and are passing on their thoughts and knowledge, thus taking part in a single great conversation of humankind through the ages.\nReading a book should be a conversation between you and the author.\nPresumably she knows more about the subject than you do; if not, you probably should not be bothering with her book.\nBut understanding is a two-way operation; the learner has to question themselves and question the teacher. They even has to be willing to argue with the teacher, once they understand what the teacher is saying.\nMarking a book is literally an expression of your differences or your agreements with the author. It is the highest respect you can pay them\nMortimer Adler’s methods of marking up a book and making it your own # I’m not particularly religious about using them all, because I’ve already been using something similar (a subset) all my life\nThere are all kinds of devices for marking a book intelligently and fruitfully. Here are some devices that can be used:\nUNDERLINING—of major points; of important or forceful statements.\nVERTICAL LINES AT THE MARGIN—to emphasize a statement already underlined or to point to a passage too long to be underlined.\nSTAR, ASTERISK, OR OTHER DOODAD AT THE MARGIN—to be used sparingly, to emphasize the ten or dozen most important statements or passages in the book. You may want to fold a corner of each page on which you make such marks or place a slip of paper between the pages. In either case, you will be able to take the book off the shelf at any time and, by opening it to the indicated page, refresh your recollection.\nNUMBERS IN THE MARGIN—to indicate a sequence of points made by the author in developing an argument.\nNUMBERS OF OTHER PAGES IN THE MARGIN—to indicate where else in the book the author makes the same points, or points relevant to or in contradiction of those here marked; to tie up the ideas in a book, which, though they may be separated by many pages, belong together. Many readers use the symbol “Cf ” to indicate the other page numbers; it means “compare” or “refer to.”\nCIRCLING OF KEY WORDS OR PHRASES—This serves much the same function as underlining.\nWRITING IN THE MARGIN, OR AT THE TOP OR BOTTOM OF THE PAGE—to record questions (and perhaps answers) which a passage raises in your mind; to reduce a complicated discussion to a simple statement; to record the sequence of major points right through the book. The endpapers at the back of the book can be used to make a personal index of the author’s points in the order of their appearance.\nTo inveterate book-markers, the front endpapers are often the most important. Some people reserve them for a fancy bookplate. But that expresses only their financial ownership of the book. The front endpapers are better reserved for a record of your thinking. After finishing the book and making your personal index on the back endpapers, turn to the front and try to outline the book, not page by page or point by point (you have already done that at the back), but as an integrated structure, with a basic outline and an order of parts. That outline will be the measure of your understanding of the work; unlike a bookplate, it will express your intellectual ownership of the book.\n“That outline will express your intellectual ownership of the book”\nClick to embiggen\nBut, wait! There’s more! # Marking up a book is all fine and dandy, but what about recording your thoughts? And questions?\nAdler to the rescue again with The Three Kinds of Note-making.\nWhich kind you make depends upon the level at which you are reading.\n1. Notes during Inspectional Reading\nThe questions answered by inspectional reading are: first, what kind of book is it? second, what is it about as a whole? and third, what is the structural order of the work whereby the author develops his conception or understanding of that general subject matter?\nYou should make notes concerning your answers to these questions, especially if you know that it may be days or months before you will be able to return to the book to give it an analytical reading. (These kind of notes have served me really well, since I tend to keep the book down and then come back to it after a while)\nNotes at this stage, primarily concern the structure of the book, and not its substance—at least not in detail.\nThe best place to make such notes is on the contents page, or perhaps on the title page, which are otherwise unused in the scheme we have outlined above.\n2. Notes during Analytical Reading\nIn the course of an inspectional reading, especially of a long and difficult book, you may attain some insights into the author’s ideas about his subject matter. Often, however, you will not; and certainly you should put off making any judgment of the accuracy or truth of the statements until you have read the book more carefully.\nThen, during an analytical reading, you will need to give answers to questions about the truth and significance of the book. The notes you make at this level of reading are, therefore, not structural but conceptual. They concern the author’s concepts, and also your own, as they have been deepened or broadened by your reading of the book.\n3. Notes during Syntopical Reading\nThere is a step beyond even that, however, and a truly expert reader can take it when he is reading several books syntopically. That is to make notes about the shape of the discussion—the discussion that is engaged in by all of the authors, even if unbeknownst to them. We prefer to call such notes dialectical.\nSince they are made concerning several books, not just one, they often have to be made on a separate sheet (or sheets) of paper. Here, a structure of concepts is implied—an order of statements and questions about a single subject matter.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nedited and paraphrased\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nemphasis, mine\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 août 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-006/","section":"Reading","summary":"Scratch, scribble, mark and dog ear them!","title":"How to Read a Book: 006, Own Your Book","type":"reading"},{"content":" Goals # Do the Flatcar tutorial (some bit at least) 2025-08-13 11:30 # The morning just … flew by. I have learnt how to say no to everyone. But sometimes when family asks, you can’t (and shouldn’t. They’ve been the ones to stand by you through thick and thin.) In that case, I just shut up and put up. I do need to push such requests down to when I can handle though. But this was urgent. So what then? Sigh … C’est la vie 2025-08-13 12:29: Flatcar tutorial 2 done. Am getting familiar with how services come up. Short answer, if it’s new, it takes a while. I was scratching my head as to why my nginx server wasn’t up and running 😂 2025-08-13 13:00: Lunch! 2025-08-13 13:50 # Lunch done. Watching https://www.youtube.com/watch?v=Kp6FXsIpPBs to familiarise myself with the big picture of a container focussed operating system 2025-08-13 15:44: Done. Fantastic talk! Now tea time 2025-08-13 16:20 # 2025-08-13 18:28: Continuing with the final Flatcar tutorial. Done! Understood the bare basics and what I’d need to start doing the move 2025-08-13 18:30: Start with the rust book. 2025-08-13 18:45: Gave up. Tired now. Brain not braining 2025-08-13 18:55: Will try writing a blog post, instead 2025-08-13 21:15: Ok, I had the strength to do that much at least. New post on How to Read a Book is off to the presses for publication. Time to go to bed Feedback on this post?\nMail me at feedback at this domain. ","date":"13 août 2025","externalUrl":null,"permalink":"/nm/2025-08-13/","section":"Notes \u0026 Miscellanea","summary":"Flat Cars!","title":"2025-08-13 Notes","type":"nm"},{"content":"I’m taking a tiny sabbatical from consulting and other stuff, to focus on sharpening my devops chops.\nWhat better way than to move my motley collection of services to something that is managed in code?\nGoals # Figure out what I want to do for the next three months to do the move 2025-08-12 13:00 # Very distracted sort of day. Got my new earphones set up Got espanso working with some new expansions Changed archetypes on the blog to remove some template links Very little has gotten done. Taking it easy on myself, because first day. Be back after lunch. 2025-08-12 15:00 # Just cannot focus! Decided to do some busywork and then tea. Hopefully evening will be better 2025-08-12 16:40 # Try again! Ok some clarity. I wanted Flatcar as my OS, but right now trying to do that along with my move, seems to be more than I can chew. So that’s an idea for another day. Or is it worth the effort? Think I’ll do a bit more research Ok there’s a tutorial. Will try that and decide They need a VM. Off to install a new one. BRB. Debian 13 VM, here we come! 2025-08-12 18:08: Some yak shaving later, a debian vm is up. Now to get ssh working. 2025-08-12 18:18: Done! Now to the tutorial So while I am installing all the flatcar stuff, I’ve come up with a tentative plan of what I want to do, this month. Health \u0026amp; Diet My Devops Project Writing on the blog Learn Rust basics My French Duolingo And seeing, the way today has gone, I need to really put hard stops on my tasks or I’ll never get shit done Speaking of hard stop, time for one. Will come back to this tomorrow. 2025-08-12 19:30 # Got Flatcar running locally. Yay! Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\n","date":"12 août 2025","externalUrl":null,"permalink":"/nm/2025-08-12/","section":"Notes \u0026 Miscellanea","summary":"Getting back in the saddle after a while, and planning things to do","title":"2025-08-12 Notes","type":"nm"},{"content":"","date":"8 juillet 2025","externalUrl":null,"permalink":"/tags/mjb-reading-process/","section":"Tags","summary":"","title":"Mjb-Reading-Process","type":"tags"},{"content":"I finally got done transferring all my highlights and thoughts and notes from Adler into a notes file on the computer. This was my first, really large notes file, filled with heirarchies of headlines and tags and Org Mode handled it like a champ!\nIt took me five times as long to transfer and organise the file, as it took me to read the book. This was very painful!\nI am writing this down, so that my future self remembers!\nVery, very, painful!\nSo I need to be intentional about books that I need to analytically read and change my reading habits.\nHave a one to one ratio for notes vs reading.\nThis means for every ten minutes I want to read, I need to allocate at least the same amount of time for bringing my notes in. All of the above, has to be a single session.\nSo reading, followed by a bit of reflection, followed by transferring my notes and annotations out to Org Roam. So my old hour of reading is now 30m of reading, followed by 30m of thinking and jotting my thoughts down. Cross my fingers, and hope that it’ll all work out. Hope that something sane, something intelligible emerges in the end. Feedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"8 juillet 2025","externalUrl":null,"permalink":"/reading/observations-as-i-learn-to-read-2/","section":"Reading","summary":"Avoid long slogs","title":"Observations as I Learn to Read, 2","type":"reading"},{"content":"","date":"6 juillet 2025","externalUrl":null,"permalink":"/tags/emacs/","section":"Tags","summary":"","title":"Emacs","type":"tags"},{"content":" I’ve never updated my Emacs packages until recently, because Emacs is where all my writing happens, and so I’m justifiably paranoid.\nBut then some packages stopped working, due to various circumstances1 and an update solved it.\nSo I’ve decided to update my packages once a quarter, so that I don’t lose days yak shaving when something goes wrong and I handle breakage on my terms and not the machine’s.\nAs far as package management goes, I want to keep things simple.\nIn fact, I still haven’t graduated to use-package or straight.el because my package needs are few and conservative2. And so, while there are automatic update options out there, I’ll just stick to updating them manually, every quarter.\nErgo, this is the checklist I’ll use next time onwards …\nStop emacs user service, systemctl --user stop emacs Backup emacs folder in ~/.config Start emacs manually (not the service). M-x package-refresh-contents M-x package-upgrade-all Problems? Quit emacs. Revert backup folder. In the end, start emacs user sevice, systemctl --user start emacs There’s an Org mode task, scheduled quarterly, so that I won’t forget.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nWhile I don’t want updated packages, I do want updated Emacs and that broke stuff 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThe biggest change I forsee, is if Jetbrains ever turn evil and I have to move off their editors and subsequently need to use Emacs as an IDE\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"6 juillet 2025","externalUrl":null,"permalink":"/work/emacs-package-updation-checklist/","section":"Work","summary":"Checklist for future, lost, Jason","title":"Emacs Package Updation Checklist","type":"work"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nThis has never been a bugbear for me. A lifetime of reading has led me to read at a fairly fast clip. But Adler puts into specific words, what it is that I actually, subconsciously do. This will help me advise my younger friends, when I used to struggle earlier, with a “Just keep at it”\nBelow followeth Adler’s advice …\nGreat speed in reading is a dubious achievement; it is of value only if what you have to read is not really worth reading. A better formula is this:\nEvery book should be read no more slowly than it deserves, and no more quickly than you can read it with satisfaction and comprehension. In any event, the speed at which they read, be it fast or slow, is but a fractional part of most people’s problem with reading The ideal is not merely to be able to read faster, but to be able to read at different speeds — and to know when the different speeds are appropriate. So if that is the ideal, how do we go about increasing our speed if we are slow / irregular? Adles has an observation and a suggestion, that’ll take us most of the way there.\nThe eyes of young or untrained readers “fixate” as many as five or six times in the course of each line that is read. (The eye is blind while it moves; it can only see when it stops.) Thus single words or at the most two-word or three-word phrases are being read at a time, in jumps across the line. Even worse than that, the eyes of incompetent readers regress as often as once every two or three lines—that is, they return to phrases or sentences previously read. Place your thumb and first two fingers together. Sweep this “pointer” across a line of type, a little faster than it is comfortable for your eyes to move. Force yourself to keep up with your hand. You will very soon be able to read the words as you follow your hand. Keep practicing this, and keep increasing the speed at which your hand moves, and before you know it you will have doubled or trebled your reading speed. With a caveat however …\nWhat exactly have you gained if you increase your reading speed significantly? It is true that you have saved time—but what about comprehension? Has that also increased, or has it suffered in the process?\nIt is worth emphasizing, therefore, that it is precisely comprehension in reading that this book seeks to improve. You cannot comprehend a book without reading it analytically; analytical reading, as we have noted, is undertaken primarily for the sake of comprehension (or understanding). Feedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"5 juillet 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-005/","section":"Reading","summary":"Slow is smooth, and smooth is fast","title":"How to Read a Book: 005, On Reading Speed","type":"reading"},{"content":"","date":"4 juillet 2025","externalUrl":null,"permalink":"/tags/heart-of-darkness/","section":"Tags","summary":"","title":"Heart-of-Darkness","type":"tags"},{"content":"\nvia PRH NZ\nBeen listening to Joseph Conrad’s, Heart of Darkness in the little cracks of time in the day1 and as always being led to the sad and inevitable conclusion that we always fail to learn from what came before.\nIt was as unreal as everything else—as the philanthropic pretence of the whole concern, as their talk, as their government, as their show of work. The only real feeling was a desire to get appointed to a trading-post where ivory was to be had, so that they could earn percentages. They intrigued and slandered and hated each other only on that account—but as to effectually lifting a little finger—oh, no.\nBy heavens! there is something after all in the world allowing one man to steal a horse while another must not look at a halter. Steal a horse straight out. Very well. He has done it. Perhaps he can ride. But there is a way of looking at a halter that would provoke the most charitable of saints into a kick.\nAaron Swartz had to give his life for his beliefs, yet when the robber barons thieve everything is suddenly alright.\nGreed, like love, never dies!\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nafter hearing it being heavily referred to, in The Rest is History’s episodes on the rape, pillage and exploitation of the Congo (Episodes 538-541)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"4 juillet 2025","externalUrl":null,"permalink":"/reading/joseph-conrad-forsees-aaron-swartz-and-ai-bandits/","section":"Reading","summary":"","title":"Joseph Conrad Forsees Aaron Swartz and the AI Bandits","type":"reading"},{"content":"This is a smol log as I try to reason out what is bothering me about getting the most out of the books I want to, uh, get the most out of.\nSomething is rankling me, but I don’t know what.\nAs I go through How to Read a Book, I’ve realised that I need to digest a book in a manner of speaking, specially on my subsequent reads.\nMy ideal is to pick up a book, and read through it at the speed it ought to take; highlighting, annotating and writing down my thoughts as I go.\nAnd while I do that, also write things down here on the blog, as I’ve been attempting to do with Adler.\nRather, I thought I would do that with Adler.\nBut through force of habit, I’ve gone and done the same thing I’ve always done.\nRead through the entire book, highlighting as I go.\nSo now I have a book full of notes, and a few thoughts, but all the “brilliant”1 insights that struck me as I read the book have vanished from my mind, as has any tentative mental model of the structure of the book.\nAnd I’m frustrated with this state of affairs.\nWhat happens then, is me having just a page full of notes without any of my thoughts in there, or trying to recapture lighting in a bottle over months of agonising effort.\nNeither appeals to me.\nThe only things I can think of doing right now are:\nKeep a notebook beside me and write my thoughts down. The flyleaves are barely enough for me to keep track of running highlights across pages. Intentionally slow down, even more. I don’t know what this will do to my flow. Read in chunks. And then stop and write about them. I’ll probably miss the big picture. But I’ll arrive at it slowly, eventually. And the writing will reflect that. Is that good or bad? I don’t really know. So I think I’m going to buckle down and finish getting my notes from Adler into posts in the coming weeks and try the above on my next book.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nvery debatable 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 juillet 2025","externalUrl":null,"permalink":"/reading/observations-as-i-learn-to-read-1/","section":"Reading","summary":"Some things that struck me, about how I struggle with my reading.","title":"Observations as I Learn to Read, 1","type":"reading"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nThis is another post, that is near verbatim1 from the book.\nBecause, once again, this is reference material, that I need to come back to over and over.\nThe Four Levels of Reading # They are called so, because they are cumulative.\nThe first level is not lost in the second, the second in the third, the third in the fourth. In fact, the fourth and highest level of reading includes all the others. It simply goes beyond them.\nLevel 1: Elementary Reading # Everyboy can read at this level!\nThis is the most common level there is.\nThe first level of reading we will call Elementary Reading. In mastering this level, one learns the rudiments of the art of reading, receives basic training in reading, and acquires initial reading skills. We prefer the name elementary reading, because this level of reading is ordinarily learned in elementary school.\nThe child’s first encounter with reading is at this level. His problem then (and ours when we began to read) is to recognize the individual words on the page. He is merely concerned with language as it is employed by the writer. At this level of reading, the question asked of the reader is “What does the sentence say?” That could be conceived as a complex and difficult question, of course. We mean it here, however, in its simplest sense.\nLevel 2: Inspectional Reading # This level I do very well, because of the anti-library.\nFiguring out whether the book is worth reading or not, is a critical skill for me.\nToo many books, far too little time, after all :)\nThe second level of reading we will call Inspectional Reading.\nOne way to describe this level of reading is to say that its aim is to get the most out of a book within a given time—usually a relatively short time, and always (by definition) too short a time to get out of the book everything that can be gotten.\nStill another name for this level might be skimming or pre-reading. However, we do not mean the kind of skimming that is characterized by casual or random browsing through a book. Inspectional reading is the art of skimming systematically.\nWhen reading at this level, your aim is to examine the surface of the book, to learn everything that the surface alone can teach you. That is often a good deal.\nWhereas the question that is asked at the first level is “What does the sentence say?” the question typically asked at this level is “What is the book about?” That is a surface question; others of a similar nature are “What is the structure of the book?” or “What are its parts?” Upon completing an inspectional reading of a book, no matter how short the time you had to do it in, you should also be able to answer the question, “What kind of book is it—a novel, a history, a scientific treatise?”\nLevel 3: Analytical Reading # This is the level at what I want to read regularly.\nWhat I want to do, everytime I pick up a book to learn from and understand deeply.\nThis is what I have set out to learn from this book.\nFrancis Bacon once remarked that “some books are to be tasted, others to be swallowed, and some few to be chewed and digested.”\nI want to be able to digest the books I read!\nThe third level of reading we will call Analytical Reading.\nAnalytical reading is thorough reading, complete reading, or good reading—the best reading you can do. If inspectional reading is the best and most complete reading that is possible given a limited time, then analytical reading is the best and most complete reading that is possible given unlimited time.\nThe analytical reader must ask many, and organized, questions of what he is reading. […] analytical reading is always intensely active. On this level of reading, the reader grasps a book—the metaphor is apt—and works at it until the book becomes his own.\nWe also want to stress that analytical reading is hardly ever necessary if your goal in reading is simply information or entertainment. Analytical reading is preeminently for the sake of understanding.\nLevel 4: Syntopical Reading # This level is one, I really doubt I’ll ever do outside of work or research or learning.\nThat is where I use it the most. And this level of learning is something I figured out on my own, while consulting. Tackling a specific problem in a niche domain, meant that I needed to figure out all the angles beforehand. Figuring what that world was like, and how did what I want fit into that world. Syntopical Reading is very very similar. And like Adler notes, very demanding.\nThe fourth and highest level of reading we will call Syntopical Reading.\nAnother name for this level might be comparative reading. When reading syntopically, the reader reads many books, not just one, and places them in relation to one another and to a subject about which they all revolve. But mere comparison of texts is not enough. Syntopical reading involves more. With the help of the books read, the syntopical reader is able to construct an analysis of the subject that may not be in any of the books.\nIt is the most complex and systematic type of reading of all. It makes very heavy demands on the reader, even if the materials he is reading are themselves relatively easy and unsophisticated.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nOk, I say verbatim, but now everything is excerpted and heavily paraphrased and put in slightly out of order. You could even say, this is a Syntopical post!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"2 juillet 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-004/","section":"Reading","summary":"The Four Levels of Reading","title":"How to Read a Book: 004, The Four Levels of Reading","type":"reading"},{"content":"\nvia Know Your Meme\nMy primary reading device is my Kobo.\nFor the simple reason, that I will need to buy a whole new home, for my books otherwise. The anti-library is just too large.\nBut as I was reading, How to Read a Book, I realise I’ll probably need a copy on the Kobo as well as a physical copy in hand, for any book that I want to read in depth.\nIf reading is effort, as the book suggests, then I might as well have the right tools for the right kind of effort.\nRapidly scanning through, marking things up, jotting thoughts down, and all other assorted marginalia is very easy with a physical book. Looking words up in a dictionary, copying notes in and out, and searching are very easy with the Kobo.\nWhen it comes to writing my thoughts elsewhere or doing research, it is easy to scan through a physical book, find the relevant page, and then I am back in that mental space I was, that triggered the thought. This realisation; that books are spatial memory, is new to me (I might have been using it subconsciously all along). An e-reader cannot give me that.\nSo I’m going to make the best of both worlds and use both!\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"29 juin 2025","externalUrl":null,"permalink":"/reading/i-need-two-copies-of-a-book-now/","section":"Reading","summary":"More! Moaar! Moaaaar!","title":"I Need Two Copies of a Book Now","type":"reading"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nThe Four Basic Questions: # This is the basic idea, that permeates the entire book down to its bones and colours every piece of advice Adler offers.\nI’m quoting this verbatim, without any paraphrasing, because these questions are what I will be returning to time and again, in the coming days (and weeks and months and years.)\nThe one simple prescription for active reading.\nIt is: Ask questions while you read—questions that you yourself must try to answer in the course of reading.\nWhat is the book about as a whole?\nYou must try to discover the leading theme of the book, and how the author develops this theme in an orderly way by subdividing it into its essential subordinate themes or topics.\nWhat is being said in detail, and how?\nYou must try to discover the main ideas, assertions, and arguments that constitute the author’s particular message.\nIs the book true, in whole or part?\nYou cannot answer this question until you have answered the first two. You have to know what is being said before you can decide whether it is true or not. When you understand a book, however, you are obligated, if you are reading seriously, to make up your own mind. Knowing the author’s mind is not enough.\nWhat of it?\nIf the book has given you information, you must ask about its significance. Why does the author think it is important to know these things? Is it important to you to know them? And if the book has not only informed you, but also enlightened you, it is necessary to seek further enlightenment by asking what else follows, what is further implied or suggested.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"28 juin 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-003/","section":"Reading","summary":"The Four Basic Questions!","title":"How to Read a Book: 003, The Four Basic Questions (A Reader Asks)","type":"reading"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nA few thoughts on books and how long it takes me to read them, as they relate to what I learned reading this book\nReading for joy, is just that. Reading for joy! Nothing needs to come in the way of that. Books can take as long as they need to be read. Comprehension is key. Not how many I finish. I was wondering how so many folks read so many books “better” faster than me. The book assures me that reading books analytically, reading ideas syntopically across a swathe of books is inherently slow. I cannot read everything that way. Nor should I want to obviously. The book needs to be worthy of that kind of time and attention. To quote Adler … A good book can teach you about the world and about yourself.\nYou learn more than how to read better; you also learn more about life.\nYou become wiser. Not just more knowledgeable—books that provide nothing but information can produce that result. But wiser, in the sense that you are more deeply aware of the great and enduring truths of human life.\nAnd I always worried about how I would go about reading all the great books there were, when there were so many? How would I get to them all? Adler assures me that such books are few and far between. And Having read thousands of books by now, I agree. A good book, a good Lindy book is really hard to find. The last great expository / philosophical / non fiction book I read was Antifragile close to twelve years ago. The last great fiction book, luckily was Harrow in 2020. Great books don’t come by often.\nHere’s Adler again … … if the book belongs to the highest class—the very small number of inexhaustible books—you discover on returning that the book seems to have grown with you. You see new things in it—whole sets of new things—that you did not see before. Your previous understanding of the book is not invalidated (assuming that you read it well the first time); it is just as true as it ever was, and in the same ways that it was true before. But now it is true in still other ways, too.\nHow can a book grow as you grow? […] what you only now begin to realize is that the book was so far above you to begin with that it has remained above you, and probably always will remain so. Since it is a really good book—a great book, as we might say—it is accessible at different levels. Your impression of increased understanding on your previous reading was not false. The book truly lifted you then. But now, even though you have become wiser and more knowledgeable, it can lift you again. And it will go on doing this until you die.\nThere are obviously not many books that can do this for any of us. Our estimate was that the number is considerably less than a hundred. But the number is even less than that for any given reader. Human beings differ in many ways other than in the power of their minds. They have different tastes; different things appeal more to one person than to another. You may never feel about Newton the way you feel about Shakespeare, either because you may be able to read Newton so well that you do not have to read him again, or because mathematical systems of the world just do not have all that appeal to you. Or, if they do then Newton may be one of the handful of books that are great for you, and not Shakespeare.\nYou should seek out the few books that can have this value for you. They are the books that will teach you the most, both about reading and about life. They are the books to which you will want to return over and over. They are the books that will help you to grow.\nAnd suddenly it isn’t so hard any more. The path I have now before me, is to go find my small set of great books. The books I can learn from and grow old with. Oh joy! To quote Nux, Oh, what a day! What a lovely day!\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"27 juin 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-002/","section":"Reading","summary":"This sparks joy!","title":"How to Read a Book: 002, A Few Thoughts on Books","type":"reading"},{"content":"\nimage courtesy, Simon \u0026amp; Schuster\nWhy do I need to learn how to read? What has brought me to this? # Some thoughts …\nI feel like, for all my reading, whenever I come across a great book, I don’t quite get as much out of it, as I ought to. (Anthony D’Mello, Tamsyn Muir and Nassim Taleb are a few who come to mind.) Most of my note taking has been intuitive. And then I struggle to draw insights. To add insult to injury, the struggle is unique for each book. I need a framework, to get atleast 80% of the way there, predictably, every time. Why this book? # Because I like it.1\nI love the old-timey feel of the book. Yes, it is a product of its time and I really, desperately wish, they update it to become a whole lot more inclusive when it comes to a great many things. Not the least being gender. Also faith.\nBut for the actual lessons that it does try to teach; I resonate with the author’s voice.\nWhat’s the plan now? What do I hope will happen? # Read it.\nMake notes.\nWrite about it in tiny bits.\nWrite down, thoughts, insight, stuff that strikes me, paragraphs from the book, quotes, and everything in between\nLet it take as long as it does.\nThe biggest lesson, I took away from the book last time I read it, was that the intentional reading of a good book, takes time. I want to be able to do this with the books I like, so I’m getting the ball rolling with this one itself.\nThe note I wrote to myself at the beginning of the year was …\nRead less, write more notes. Abandon more books.\nBy reading less, I meant I wanted to read good books slower and longer, which is what I hope I will do, once I get done reading this book.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n“a rare phenomenon, a living classic …” is how the publisher refers to it\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"26 juin 2025","externalUrl":null,"permalink":"/reading/how-to-read-a-book-001/","section":"Reading","summary":"I’m learning to read books!","title":"How to Read a Book: 001, Begin!","type":"reading"},{"content":" I’d gotten this working earlier and wanted to post it up.\nAnd then promptly forgot about it.\nUntil today that is, when I wanted to make changes to it.\nHere it is for posterity.\nThe newest change is that the action now runs every six hours.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 name: Build and Deploy Janusworx website on: schedule: - cron: \u0026#39;0 */6 * * *\u0026#39; workflow_dispatch: push: branches: - main jobs: build-and-deploy: runs-on: intel # make sure there are runners tagged \u0026#34;intel\u0026#34; on your network or replace this with something of your own env: HUGO_VERSION: ${{ vars.HUGO_VERSION }} steps: - name: Install wget \u0026amp; rsync run: apt-get update \u0026amp;\u0026amp; apt-get install wget rsync -y - name: Install Hugo run: | wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \\ \u0026amp;\u0026amp; dpkg -i ${{ runner.temp }}/hugo.deb - name: Checkout the website repo uses: actions/checkout@v4 with: submodules: recursive fetch-depth: 0 - name: Build website with Hugo env: HUGO_ENVIRONMENT: production TZ: Asia/Kolkata run: | hugo \\ --gc \\ --minify - name: Install SSH key run: | mkdir -p ~/.ssh echo \u0026#34;${{ secrets.SSH_PRIVATE_KEY }}\u0026#34; \u0026gt; ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 echo \u0026#34;${{ secrets.SSH_KNOWN_HOSTS }}\u0026#34; \u0026gt; ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts - name: Deploy website with rsync env: REMOTE_HOST: ${{ vars.REMOTE_HOST }} REMOTE_USER: ${{ vars.REMOTE_USER }} REMOTE_PATH: ${{ vars.REMOTE_PATH }} run: | rsync -avz --delete public/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH Notes:\nIt needs a few variables set, in the repo (repo-\u0026gt;Settings-\u0026gt;Actions-\u0026gt;Variables), which are the details I need (Hugo version, Remote Host IP, Remote path to copy the built output to, and the Remote user to use for SSH) to push via rsync to the host.\nHugo version is in there, because Hugo breaks things all the time, so I upgrade cautiously.\nIt also needs a couple of secrets, set in the repo (repo-\u0026gt;Settings-\u0026gt;Actions-\u0026gt;Secrets) to enable rsync to copy. (SSH_KNOWN_HOSTS and SSH_PRIVATE_KEY). Also best if this is a dedicated private key just for copying. Running ssh-keyscan \u0026quot;your-host-name-or-ip\u0026quot; \u0026gt; known_host_data.txt should dump the data you’d need for SSH_KNOWN_HOSTS\nWith the changes I made today, the workflow can publish\non demand every 6 hours every time I commit to the repo I added time based publishing, so that I could publish future dated posts as and when the time rolls around.\nWith this, I think I’m done tinkering with my blog, with the exception of moving it out of my home network and out on to my VM, so that I can truly publish from anywhere. That is a big heft for me currently and a job for future Jason.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"9 juin 2025","externalUrl":null,"permalink":"/work/forgejo-workflow-action-to-publish-hugo-blog/","section":"Work","summary":"Trying to publish on a schedule","title":"Forgejo Workflow Action to Publish Hugo Blog","type":"work"},{"content":"","date":"9 juin 2025","externalUrl":null,"permalink":"/tags/linux/","section":"Tags","summary":"","title":"Linux","type":"tags"},{"content":"This newsletter went out to the mailing list on April 21st.\nIf you want to read them as soon as they come out, Subscribe!\nI’m tired of making excuses for my tardiness 😂\nSo, like Don Cheadle says in Iron Man 2, “Look, it’s me. I’m here. Deal with it. Let’s move on.”\nWhile I tell you about the books I loved, you can also click each month to find the complete list of titles I loved.\nJanuary # I think this year continues my fascination with Agatha Christie.\nJanuary was mostly spent in the world of Marple. I think I’ll be back doing Christie runs in the coming months. I don’t know what it is about her worlds, but I keep coming back to them ove and over again.\n(even more than Doyle and Holmes, though I love the new fresh takes in the Holmesian world. While David Suchet and his run will always remain the canonical Poirot to me, I have no such qualms with anyone else doing Holmes)\nSo I spent January with Ms. Marple. The Mirror Crack’d from Side to Side was my favourite. The sudden, heart-stopping realisation of what must have happened, by one of the main characters, the immense grief that must have rolled down on them all over again, summed up in the lines from Tennyson’s poem that give the book its title.\nShe look’d down to Camelot.\nOut flew the web and floated wide;\nThe mirror crack’d from side to side;\n‘The curse is come upon me,’ cried\nThe Lady of Shalott.\nI also love following these pretty webs, authors lay for me. Thanks to Agatha Christie penning these words in 1962, I went looking for a poem from 1832 and thoroughly enjoyed it :)\nHonourable mention to the Sherlock \u0026amp; Co. podcast.\nI began listening to it, just for curiosity’s sake and have now been looking forward to each new adventure of our intrepid heroes. My favourite parts are when other hosts from the Goalhanger universe come in to do cameos, like Will Dalrymple and Anita Anand (Empire) did in one of my recent favorites, The Sign of Four (Season 22 on iTunes) or when Dominic Sandbrook (The Rest is History) played a crazy, stressed lawyer in The Norwood Builder (season 27 on iTunes). It’s really fun!\nFebruary # February started me on the road of my (hidden) goal of reading at least one technical book a month. Learning Go, by Jon Bodner taught me the language. One thing I’ve learnt though, is that I almost nearly always need 2-3 authors / books before I understand whatever it is I need to learn. I’ve realised that I have been spoiled with authors in other domains when it comes to explaining things lucidly. (plus any topic in tech is vast and no single author can fill in all the gaps of my ignorance.) My solution to this is to be a syntopical reader and figure out whatever it is I need from multiple texts.\nI learnt well enough from Bodner, and Ricardo Gerardi’s Powerful Command-Line Applications in Go to go write a tool I sorely needed in Go lang. A small tool to generate RSS feeds for my audiobooks, I call Rederb. It’s still raw and unpolished, but it got my audiobook ducks in row, so I could listen to whatever struck my fancy on the recent break.\nI also discovered Grant Snider this month. While full of whimsy, they are also really thought provoking. I devoured The Art of Living, and The Shape of Ideas. Highly recommended! The one that started it all for me and was specifically written for me, was I Will Judge You by Your Bookshelf.\nHonourable mention to Anita Anand and William Dalrymple for doing the Three Kings (Empire Podcast, episodes 212-214), explaining the confluence of Byzantine and Persian cultures, myths and history.\nMarch # was spent mostly in the company of the aforementioned Anand \u0026amp; Dalrymple charting the rise and fall of the Mughal Empire (Empire Podcast, episodes 205-211, and 215-222). This engaging series filled in so many gaps in my head and what the landscape of our country was like. I need to now go see what my land was like, before the Mughals.\nMore history was in the offing with part two of The Rest is History’s continuing history of the French Revolution. I listened to Parts Two and Three this month. (Episodes 503-507 and 544-547). Part one was last year (Episodes 475-482).\nA really refreshing change of pace by Holland and Sandbrook, considering they have covered the Revolution once before in two twenty minute episodes! I love the slow, measured march this time. The more I listen, the more I wonder how much of history hinges on chance events! I also love their slightly irreverent and self deprecating tone. We’re still not done, and I look forward to revisiting France during the revolution, soon.\nHonourable mention to the Acquired Podcast’s coverage of Rolex. This was one of the few I really enjoyed, besides their story on Hermès. I think I just like old company stories. Hopefully someday we’ll get Nintendo and Yamaha.\nAnd that’s it for now. I hope you folks find something in here, that interests you too :)\nFeedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"21 mai 2025","externalUrl":null,"permalink":"/reading/books-i-read-in-the-first-quarter-of-2025/","section":"Reading","summary":"Lots and lots and lots of books","title":"Books I Read in the First Quarter of 2025","type":"reading"},{"content":" Goals # Big client meet Learn to cook meat 2025-05-08 10:00 # Meeting go time Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"8 mai 2025","externalUrl":null,"permalink":"/nm/2025-05-08/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-05-08 Notes","type":"nm"},{"content":" Goals # Get used to cooking Do some French Smol client meeting Write about the books I read last month 2025-05-06 09:00 # Dinner was good yesterday! 11:15, Did one portion of the letter. now to the other Did meeting 2025-05-06 19:15\nShutdown. Good day Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"6 mai 2025","externalUrl":null,"permalink":"/nm/2025-05-06/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-05-06 Notes","type":"nm"},{"content":" Goals # Begin cooking in the evenings for this month Give up some work to be able to do so Finish client meeting 2025-05-05 08:00 # Personal study is going to take a medium sized hit, now that I have taken on cooking at home. Let’s see how this shakes out Some kitchen prep right now Then a big meeting block at 10. 2025-05-05 20:00 # First day of cooking. Atleast I didn’t burn down the kitchen Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"5 mai 2025","externalUrl":null,"permalink":"/nm/2025-05-05/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-05-05 Notes","type":"nm"},{"content":" Goals # Giant client meeting block # Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"2 mai 2025","externalUrl":null,"permalink":"/nm/2025-05-02/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-05-02 Notes","type":"nm"},{"content":" Goals # Giant Client Meeting Block 2025-05-01 08:00 # Finished Darren Hayes’, Unlovable. Decent biography. Didn’t go too much into how the songs came about, which is what I wanted to know Learning some French as I wait for the clients to come online Meeting done 2025-05-01 13:00 # Time for lunch and a short siesta Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"1 mai 2025","externalUrl":null,"permalink":"/nm/2025-05-01/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-05-01 Notes","type":"nm"},{"content":" Goals # A client meeting some Terraform 2025-04-29 10:20 # Financial counselling for a friend. Money is always such a charged topic My Soundcore R50i earbuds died. Trying to organise a replacement now. Goland lost track of what font I’m using. Grrrr. Added multiple shortcuts to the same workspace action in Linux Mint so that I can cycle workspaces with either hand. Now Left-Ctrl + Left-Alt + 1 with my left hand or Win + Right-Ctrl + 6 with my right hand will switch to my Workspace No. 1.\nI use this heurisitic more and more in my life now. “You want this one or this one?” The new answer always is Yes! This Terraform book is so slooowwwww Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"29 avril 2025","externalUrl":null,"permalink":"/nm/2025-04-29/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-04-29 Notes","type":"nm"},{"content":" Goals # Client Meeting 2025-04-24 08:15 # Just got done updating all my machines Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"24 avril 2025","externalUrl":null,"permalink":"/nm/2025-04-24/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-04-24 Notes","type":"nm"},{"content":" Goals # Keeping at it, the new schedule. Doing less. But doing it consistently. Make some more progress with the Terraform book 2025-04-23 11:00 # Could not quite muster the same level of concentration. Eh. good days and bad days Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"23 avril 2025","externalUrl":null,"permalink":"/nm/2025-04-23/","section":"Notes \u0026 Miscellanea","summary":"Keep going!","title":"2025-04-23 Notes","type":"nm"},{"content":" Goals # Do yesterday. Again. 2025-04-22 08:00 # Terraform book reading in progress … 11:00, Done for today. Made Good progress. Still reading about the building blocks of Terraform. A couple more days before I can start getting my hands dirty I guess 2025-04-22 11:00 # Now to go try fixing my issues with Papermod and Hugo. The latest versions of Hugo have had massive changes to the templating system. And it no longer builds my website. Have spent the last hour and a half battling with Amazon customer support instead of doing work. Trying to get back on the horse now 13:00, Got it working! Running the latest Hugo on my desktop as well as the CI/CD pipeline now Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"22 avril 2025","externalUrl":null,"permalink":"/nm/2025-04-22/","section":"Notes \u0026 Miscellanea","summary":"Can I work good, two days in a row?","title":"2025-04-22 Notes","type":"nm"},{"content":"","date":"22 avril 2025","externalUrl":null,"permalink":"/tags/hugo-nm/","section":"Tags","summary":"","title":"Hugo-Nm","type":"tags"},{"content":" Goals # Get back into the swing of things after Kubecon and a short vacation Get some terraform experience under my belt. Begin by reading a book 2025-04-21 08:30 # Figured out a Terraform book to read. Now to read and adapt Think today will probably be just learning how to focus all over again 😂 I have just read the same paragraph three times 2025-04-21 10:10 # Shower thought: I keep reading these comparisons between imperative and declrative languages in terms of better/worse. They … aren’t? Just choose the right tool for job? Easy to write something declaratively, if I don’t have to bother about state? (At least that’s what I’ve seen in my extremely limited kubernetes/terraform experience?) Will probably be able to do a better syntopical comparison once I learn more. 11:00, stopping for today. 28 pages of ~500 done. Progress :) 2025-04-21 16:00 # Wrote a newsletter on the books I read the last three months 2025-04-21 19:30 # Managed to do quite a bit of French learning. off for the day now. Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"21 avril 2025","externalUrl":null,"permalink":"/nm/2025-04-21/","section":"Notes \u0026 Miscellanea","summary":"Dive in!","title":"2025-04-21 Notes","type":"nm"},{"content":" Goals # Work as much on Rederb as possible Collaborate with PS on presentation script 2025-03-18 08:45 # Let’s go. Late morning. Rushing around with stuff 2025-03-18 20:45 # Big day. Got a lot done PS \u0026amp; I got a rough draft of a script going I wrote a lot of Go. Looking back, I realise, the bulk of my time was spent learning the language. Once I got the hang of it like I said yesterday, everything else then can be searched for, looked for or intuited Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"18 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-18/","section":"Notes \u0026 Miscellanea","summary":"More Rederb","title":"2025-03-18 Notes","type":"nm"},{"content":"","date":"18 mars 2025","externalUrl":null,"permalink":"/tags/golang-nm/","section":"Tags","summary":"","title":"Golang-Nm","type":"tags"},{"content":"","date":"18 mars 2025","externalUrl":null,"permalink":"/tags/rederb-nm/","section":"Tags","summary":"","title":"Rederb-Nm","type":"tags"},{"content":" Goals # Continue with Rederb Big client meeting 2025-03-17 08:20 # Monday! Let’s get rolling … I tend to procrastinate and get distracted whenever I am faced with a hard task personally. Work with colleagues, no problem. Personal project? (walks away whistling …) 2025-03-17 11:00 # Gosh darn it! Once you get the hang of the language, everything just … cracks wide open I was needlessly struggling with structures and pointers when I didn’t know them. Now that I can use them, I realise, I didn’t need to! The more you know (… shakes head) 2025-03-17 13:45 # Client Meeting 2025-03-17 16:45 # Back to Rederb 17:15, Went looking for realease tools. Found Go releaser. Will play with it later 18:42, Read morning’s code and got confused. Immediately started commenting it and leaving breadcrumbs, so I’m not lost later 21:00, Schedule Shutdown, Complete Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"17 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-17/","section":"Notes \u0026 Miscellanea","summary":"Derb, Derb, ReDerb","title":"2025-03-17 Notes","type":"nm"},{"content":" Goals # Work on my presentation Some ReDerb in the cracks 2025-03-16 07:40 # Got some more books I now understand how people “hack” things up in a weekend. They already have deep mastery of a language and its idioms. So translating their thoughts into code then, is not such a “big” deal1 2025-03-16 17:30 # Lots and lots and lots of progress on the presentation Dare I say it, am getting (with the help of Goland) good enough to write my programs without the language getting in my way Schedule shutdown, complete. Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nobviously discounting the fact that they must have spent untold hours on mastering the craft 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-16/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-03-16 Notes","type":"nm"},{"content":" Goals # Nothing much. Read. Do Go if possible 2025-03-15 09:35 # Working on ReDerb. While the poke and search thing will do for this project, this shows me I need to write a fuck-ton of code, once I am done with my talk. I know what to do. Translating that into code is what I wrestle with. So, practice, practice, practice I seem to be keeping well to the read a tech book a month goal. I did two Go books last month, and a Go and a Java book, this month. Much better than agonising about them being too difficult to tackle and take the normal reading approach to them; don’t like it? dump it. read lots, read widely and read repeatedly and it sinks it over time I always thought, I’d be a polyglot with computer languages. Now I realise, that I like learning them deep, and life is short, so Python, Go, LISP and Rust, maybe all I ever learn. I think I can call myself pretty conversant with Python so far, and learning the ecosystem and its idioms, was a long undertaking. Looks like Go is going the same route. So best to be realistic :) Go in many ways, does things much more simply than I imagine it does 2025-03-15 17:50 # Made a lot of progress with ReDerb. Now hopefully I can do an hour or two of work daily next week onwards. Did my backups Did my weekly plan Did my backups Schedule, shutdown complete! Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"15 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-15/","section":"Notes \u0026 Miscellanea","summary":"Slow, slow, day","title":"2025-03-15 Notes","type":"nm"},{"content":" Goals # Try not to run around in circles. 2025-03-13 09:45 # Windows VM upgrades Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"13 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-13/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-03-13 Notes","type":"nm"},{"content":" Goals # Running around taking care of a family member 2025-03-12 11:30 # Working with my “remote” setup to write notes if something strikes my fancy Or some notes later in the day, if I get to sit at my desk Or just reorganise my books in my Calibre library Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"12 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-12/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-03-12 Notes","type":"nm"},{"content":" Goals # Trying to log from the road as I run around putting fires out. Just a test 2025-03-10 19:00 # Back home an hour ago. Priyanka’s right about this observation of me. I can’t seem to call the day done, without some yak shaving. So, I put Koreader on one of my Elipsas. Let’s see what it let’s me do over the standard Nickel reader Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"10 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-10/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-03-10 Notes","type":"nm"},{"content":" Goals # Get as much done with ReDerb as possible. (If not, then an hour a day going forward Tue-Fri) 2025-03-09 16:45 # got some thing going with ReDerb in the little gaps of time I had. Think I got my arms around this thing now, so I can work in smaller stretches too Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"9 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-09/","section":"Notes \u0026 Miscellanea","summary":"REDERBBBBBB!","title":"2025-03-09 Notes","type":"nm"},{"content":" Goals # Still with the home stuff 2025-03-08 08:15 # Trying out my NUC in earnest today. Transcoding a bunch of files (around a hundred) for the media server. Watching all 6 cores light up is fun. Hearing that tiny fan in the NUC scream its lungs out, is not. Bringing them all down to 720p. for i in *.mp4; do ffmpeg -nostdin -i \u0026quot;$i\u0026quot; -vf scale=\u0026quot;-1:720\u0026quot; -c:v libx264 -crf 23 -preset medium -c:a copy /output-folder/\u0026quot;$i\u0026quot;; done I need to write Go a lot more. It’s not as intuitive1 as Python was. Irritated and lost as I read and write code. Need to get over feeling like this and be more gentle and focussed. I hate it when I read something or try to understand something and it does not make me go Aha! Done for the day. work more with prompt tomorrow Read prompt docs. figure out how to display a list Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nto me\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"8 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-08/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-03-08 Notes","type":"nm"},{"content":" Goals # Same as yesterday, get lots of stuff out of the way, so I can get to focus on my upcoming presentation later this month 2025-03-07 10:20 # Busy day. Finished a ton of tasks Sitting down to some Go. (I still cannot read it without struggle) Got an idea for how I want my program to run after reading the Cobra documentation Now need to figure out configuration stuff refigured out config files with viper trying to figure out prompts use prompt-ui tomorrow to try an interactive create for feeds Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"7 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-07/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-03-07 Notes","type":"nm"},{"content":" Goals # Get through the day 😂 Make some progress on ReDerb 2025-03-06 09:00 # Too much life stuff happening. Trying to just cope and get through the day 09:20, I need to get comfortable with thinking hard when coding. The moment it gets uncomfortable, I want to immediately switch away to something I like, like reading or checking my feeds. It does not have to be for long stretches, but I need to get good at this. and be comfortable holding things in my head. or a picture of something. and get good at manipulating it in my mind. probably doodling the ideas on paper, will help me focus? i get distracted so easily! 10:00 Tea break 2025-03-06 10:15 # Tiny rant. I really need to get Rederb up and working. Nearly everything I want to listen and learn is now stuck, because I refuse to use Derb, so that I will push myself to finish rederb. I been doing the, oh i ought to learn this, oh i can listen to it in the mornings, drat i can’t dance, more and more frequently now Scribbled stuff so I don’t have to do the same thinking over and over. Funny case of domain blindness. I can do this in other spheres of life and consulting. It never occurs to me to do this for my personal projects. (when in fact it helped me immensely as I was learning Ansible) 10:30, called away 11:25, back to work. 2025-03-06 18:30 # Been at it on and off since afternoon. Getting tired Don’t quite know if I made any progress But I think I learned from my mistakes and rebooted the whole thing again Tomorrow, start with reading in arguments, reading in config and printing it all out, like work’s actually getting done. Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"6 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-06/","section":"Notes \u0026 Miscellanea","summary":"Keep trudging!","title":"2025-03-06 Notes","type":"nm"},{"content":" Goals # Lots of busy work today. Remember man, dust indeed you are and it is to dust, you shall return 2025-03-05 09:00 # I should write at least one stray thought a day, so that I don’t have to delete my notes files like I’ve been doing the last couple of weeks Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"5 mars 2025","externalUrl":null,"permalink":"/nm/2025-03-05/","section":"Notes \u0026 Miscellanea","summary":"Row, row, row your boat …","title":"2025-03-05 Notes","type":"nm"},{"content":"","date":"25 février 2025","externalUrl":null,"permalink":"/tags/ben-orlin/","section":"Tags","summary":"","title":"Ben Orlin","type":"tags"},{"content":"","date":"25 février 2025","externalUrl":null,"permalink":"/tags/book-notes/","section":"Tags","summary":"","title":"Book-Notes","type":"tags"},{"content":"","date":"25 février 2025","externalUrl":null,"permalink":"/tags/math-for-english-majors/","section":"Tags","summary":"","title":"Math for English Majors","type":"tags"},{"content":"\nBen Orlin, the modern Maths apologist, brings to us what I’d call his Magnum Opus, the modern Mathematician’s Lament.\nEverytime, I read an Orlin book, I always wish, I had teachers like him when I was young, so that I would not have had such crippling math-phobia for so much of my life.\nIt should actually be called, Maths for the Rest of Us.\nIt’s great! So great!\nMy highlights, from the book # A mathematician is hardly a reasonable person. More like a feral philosopher or a logician gone rogue.\nIt’s a bit peculiar to say that I add 4 and 3 to create 7; 4 and 3 simply are 7, irrespective of my efforts. When I multiply or divide or take a logarithm, the result equals whatever it equals, regardless of my labors. I do not, in a strict sense, change the numbers, but merely discover or reveal them. Operations act not upon the quantities themselves, but only upon our understandings of them.\nIn my childhood, back when money was made of metal and paper instead of software and lies, I learned that two quarters add up to 50 cents: 25 + 25 = 50. I loved knowing this\n… the beauty of mathematical language lies in its unreality. Math lets us escape this world of crumbs and mud for a realm of rigorous abstractions. The purer the logic—that is, the further from physical reality—the deeper the truth. “As far as laws of mathematics refer to reality, they are not certain,” said Einstein, “and as far as they are certain, they do not refer to reality.”\nI sometimes envision mathematics as a tower. It leads from the earthy crust of everyday experience (piles of cookies; buckets of water; half-dollar coins) up to the thin atmosphere of abstract concepts (Lie groups, whatever those are). There’s pleasure and power in climbing to the upper floors. But there’s an equal pleasure—and a different kind of power—in descending to the bottom. Down there, you can touch the foundations, poke at the joints where math attaches to the world, and fill your half-gallon bucket with a new kind of insight\nConsider 2 + 3. If + is a verb, then who is the subject carrying out the addition? Neither 2 nor 3 performs any action; those nouns just sit there being nouns. You’re the one who adds, but you’re not a part of mathematical speech\nSuch confusion is not limited to the youth. Adult textbook authors have been known to include gratuitous fighter jets and non sequitur cheetahs, as if the secret to math is picturing something, anything. But the hard part of math isn’t remembering what cats look like. It’s making sense of abstract ideas.\nThe challenge of algebra is to visualize the invisible\n“The point of doing algebra,” writes math teacher Paul Lockhart, “is… to move back and forth between several equivalent representations,depending on the situation at hand and depending on our taste. In this sense, all algebraic manipulation is psychological.”\nOld information, new formation\nI like this rule because it’s rarely even taught. Mathematicians apply it automatically, the way fluent English speakers always say “a big ugly bath toy” and not “a bath ugly big toy.” In fact, as Mark Forsyth points out in The Elements of Eloquence, English adjectives are typically placed in a certain order: opinion, size, age, shape, color, origin, material, purpose. Hence, “a lovely little old rectangular green French silver whittling knife.\nLikewise, in math, numbers are typically multiplied in a certain order: numeral, radical, constant, variable. Hence, we write 3πxy2z, and never (unless we’re trying to provoke someone) zy2πx3\nToward the end of a sixth-grade lesson, a chipper young fellow named Kieran raised his hand. “I don’t really understand anything you’re saying,” he informed me. “But I can still get the right answer.” He beamed a patient smile.\nI stifled a sigh. “Which part can I help you with?”\n“Oh, I don’t need help,” he said. “It’s just that you were talking about this extra stuff. Like, the ideas behind it. I don’t, you know, do that.”\nI blinked. He blinked. A great silence passed between us.\n“Is that okay?” he concluded. “I mean, as long as I can get the right answer?”\nThere it was, out in the open: the subtext of almost every lesson I had taught that year. Day after day, I tried to illuminate the logic behind the symbols. Day after day, my students politely ignored my prattle to focus on the symbols themselves. What made that afternoon stand out was that Kieran broke the fourth wall. He uttered the title of the film we were acting in.\nTo do math, must you think about the ideas, or can you just focus on the symbols?\nAs David Hilbert quipped, “Mathematics is a game played according to certain simple rules with meaningless marks on paper.” That’s symbol pushing in a nutshell. Language divorced from meaning\nBut a few weeks after Kieran’s query, I learned that not all mathematicians share my dim view of symbol pushing. I mentioned to my dad (a mathematician himself) that I had started writing an essay titled ”How to Avoid Thinking in Math Class.” Before I could say any more, he gave the project his stamp of approval. “Great,” he said. “I’ve always said that the point of math education is to help you not to think.”\nI was taken aback. No, I explained, the title was ironic. On the question of “Should we think?” I was firmly in favor.\n“Oh, yes, thinking is good,” he generously conceded. “But it’s too hard to do all the time.”\nHe (and, indeed, Kieran) had a point. For example, it is an algebraic truth that (x + 1)(x − 1) is the same as x2 − 1. This fact boils down to a repeated application of the distributive property; as such, you can explain it entirely in terms of pile rearrangement. But trying to do so is like ascending a sheer cliff face.\nQuite a climb! Invigorating as an occasional workout, but unthinkable as a morning commute. This was exactly my dad’s point: Thinking is good. But it’s too hard to do all the time.\n“Operations of thought,” wrote the mathematician Alfred North Whitehead, “are like cavalry charges in battle—they are strictly limited in number, they require fresh horses, and must only be made in decisive moments.”\nIn this case, there is no need to send in the cavalry. The symbol pusher, thinking only about letters and parentheses, reaches the same summit in a few effortless strides\nCan you imagine if English worked this way? An object’s name would indicate its physical size, so that a chihuahua (nine letters) would be three times the size of a cow (three letters). A food’s name would encode its recipe, so that a pizza would be a “DoughSauceCheeseBake.” Chemistry would be a tediously safe area of study, because we could run experiments simply by smushing together the names of various chemicals and seeing which ones spell “explosion.”\nSymbol pushing boils the laws of logic down to laws of grammar. The language becomes a scale model of reality. We can wrangle ideas simply by wrangling ink.\nSo who was right, me or Kieran? The answer, of course, is both. To speak mathematics is to slip back and forth between two worlds, to inhabit two distinct frames of mind: the hard joy of thinking and the mindless trance of symbol pushing. Without the ink, the ideas are befuddling; but without the ideas, the ink means nothing. Learn the logic, learn it well, and then turn off your brain and let the symbols on the page dance to the silent music of the mind.\n… notations often gain popularity precisely because they lend themselves to simple mechanical rules. You could say we choose the symbols for the express purpose of pushing them around. We can then generate right answers with no insight, no inspiration, no input other than elbow grease. Just turn the crank, and new knowledge pops out\nWhen someone is too focused on details, we say they’re missing the forest for the trees. Mathematicians, if anything, are guilty of the opposite: missing the trees for the forest. Their habit is to inspect not objects themselves, but the objects’ properties. (Not the trees, but the number of them.) Then, having distilled these properties, they look at the properties’ properties. (Not the number, but its evenness or oddness.) And so on: the properties of the properties of the properties of the things. “Matter does not engage their attention,” Henri Poincaré once said of mathematicians. “They are interested in form alone.”\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"25 février 2025","externalUrl":null,"permalink":"/reading/math-for-english-majors-ben-orlin/","section":"Reading","summary":"A mathematician is hardly a reasonable person. More like a feral philosopher or a logician gone rogue.","title":"Math for English Majors, Ben Orlin","type":"reading"},{"content":"","date":"25 février 2025","externalUrl":null,"permalink":"/tags/mathematics/","section":"Tags","summary":"","title":"Mathematics","type":"tags"},{"content":"","date":"25 février 2025","externalUrl":null,"permalink":"/tags/maths/","section":"Tags","summary":"","title":"Maths","type":"tags"},{"content":" Goals # Some go Book blog post Some client work Some presentation work 2025-02-25 08:10 # Off to get my coffee first! Shower thought, Now a days, if I get a song stuck in my head, I want to immediately go listen to it. And it just struck me, when I was young. I would just let it play. In my head. No need to rush off to scratch that itch. Better to just enjoy it (Like this lovely Lee Bo-ram love song) :) 2025-02-25 10:00 # Client Meeting 2025-02-25 11:00 # Meeting with Priyanka on the upcoming talk 2025-02-25 17:30 # Life got in the way. Just back home. Cleaned up a couple of blog posts. Published a new one. 2025-02-25 18:30 # Began reading a Terraform, since I cannot seem to focus Done planning the day 18:50. Giving up. Too exhausted. Schedule shutdown, complete Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"25 février 2025","externalUrl":null,"permalink":"/nm/2025-02-25/","section":"Notes \u0026 Miscellanea","summary":"Just keep swimmin’!","title":"2025-02-25 Notes","type":"nm"},{"content":"","date":"25 février 2025","externalUrl":null,"permalink":"/tags/shower-thoughts/","section":"Tags","summary":"","title":"Shower Thoughts","type":"tags"},{"content":" Goals # Plan week Begin slowly Emacs! # 08:55, Trying to download and compile emacs! 09:53, Switching to the normal text editor to continue this post, since my emacs is down 09:54, struggling with a webkit library error. Will solve later after my client meeting 13:15, Got emacs up and running! There seems to be a typo in the Makefile. or some malformed expression. I don’t know. I just deleted, what I thought was the offending line and then everything went through smoothly.\nAlso took the time to simplify my ./configure with options\nGNU Emacs 30.1.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0)\nI’m a happy camper :) 2025-02-24 10:00 # Client Meeting 2025-02-24 19:45 # Schedule, shutdown complete Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"24 février 2025","externalUrl":null,"permalink":"/nm/2025-02-24/","section":"Notes \u0026 Miscellanea","summary":"Compiling Emacs!","title":"2025-02-24 Notes","type":"nm"},{"content":" Goals # ReDerb. Start very slowly 2025-02-23 08:50 # Try and do stuff slowly. Still half asleep Shower thought. Here’s why it makes no sense for me (or anyone else) to compare myself to others success or measure myself by the progress they make / effort they are able to put in.\nIt all boils down to, They’re not me and I’m not them.\nTime, Effort, Intensity. My life, what i can do, how much energy I can put into doing it. These probably are in my control in the sense of how much I can give. But I need to realise that what I can give, varies. Other people can probably give more, because of two other factors. Luck and Privilege. And those are not in my control. So folks are not inherently better or superior than you or me.\nSo what I need to do, is give whatever I can, the mostest, while also being aware of all the other duties and responsibilities I have. And be aware that my life, my circumstances are different from others.\nThat gives me peace. More expounding on the previous thought, on the effects of what I can give or pay with No money, means giving time, which means stuff takes longer than other folks. to speed it up, I can be more intense, which means giving up other things (that may be as, or more important.) Intensity also takes a toll on the body. (slipped discs at three different portions along my spine, have proven that to me 😂) So Intensity has a cost. Which brings us back to money. That is the most fungible resource, which is ofcourse why the “rich” favour it. (and also why, when some “rich” new client demands something outrageous of me, I now tend to price them out of my life, by demanding they pay in the same currency as they demand of me. Time and intensity12) So spend money when you can. And when you don’t have it, consider if whatever big thing you are attempting, is worth the time and sacrifice you are about to make. If not, temper them. Bind them with limited time, or lower intensity. Realise that everything has a cost. The best things in life aren’t priceless. They are paid for with your time and attention. Spend them wisely. ReDerb # Referring back to books to learn more about packages and such Redid the rederb directory. Eli Benderski’s post on creating a Go project layout with modules is very instructional and beyond awesome 2025-02-23 21:15 # Reviewed the week and created a plan. Schedule, shutdown, complete Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nOne easy example, Urgent calls late at night, are met by me calling them early in the morning. Obviously something must have been that urgent, otherwise they wouldn’t have tried calling me at such an hour.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI also realise that this is my privilege. A hard earned one, after twenty years in the business, at that.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"23 février 2025","externalUrl":null,"permalink":"/nm/2025-02-23/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-02-23 Notes","type":"nm"},{"content":" Goals # Try working on Rederb 2025-02-22 09:30 # Now let’s try putting all that hard earned Go theory into practice 09:35, Ooh and before I begin, I’ve finally gotten the confidence to retire the Pi 1 90, which is now free to use as an experimental device :) The rest of the reorg has gone splendidly well. Everything working as I imagined it! Ok no Rederb. Trying to get a music playlist going 13:42, Done. Break 16:33, Backup systems. Schedule, shutdown, complete! Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"22 février 2025","externalUrl":null,"permalink":"/nm/2025-02-22/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-02-22 Notes","type":"nm"},{"content":" Goals # Spend the day reading Golang books 2025-02-21 08:30 # Learned about daisy chaining handlers in Ansible, because I wanted my machines to 1. reboot after they update themselvs and then 2. remove packages that were no longer needed. Beginning to lean more and more to control my machines with Ansible. Pretty terrified of fiddling with them directly now 😂 09:30, Meta skill being developed. Am getting good at reading code and programming books. My eyes would glaze over / skip over the code sections earlier, and I would then not understand a darned thing. 09:38, There is no single resource, that can help you learn a thing. Lay your hands on as many as you can, try lots of them, and learn from whatever grabs you. Make sure you give them adequate time though. They’ll build on each other in a virtuous cycle 15:00, the defer concept in golang (and in general methinks) finally clicked in my head 16:55, Just got done with one Go book. One more to go. Hmm, I think I should commit to reading one programming / devops book a month. Then I won’t feel so guilty 18:00, One more Go lang book done.1 Picking up a final one to skim 18:36, Finally configure janusworx.com to automatically renew certs, using lego after testing it on the home domain for a month or so. 18:37, Back to reading. All it takes is one line, expressed the way you’d understand, for stuff to unlock in your mind. You aren’t dumb. 20:04, Done with the final book as well. This was easy to skim through. Lots of hard bits, but none that I need yet. Also this one is structured as a reference. So will return to this quite often. 20:05, Think I’m ready to call it a night. Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\ndone reading. not done working through them. i’ve only done 50% of the work\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"21 février 2025","externalUrl":null,"permalink":"/nm/2025-02-21/","section":"Notes \u0026 Miscellanea","summary":"Just keep swimming!","title":"2025-02-21 Notes","type":"nm"},{"content":" Goals # Some Golang Client Meeting 2025-02-20 11:00 # Making some progress on Golang. Slow going the concept of a golang “package” finally clicked. As long as multiple files share the same package name, as far as the data and functions are concerned, it’s a single, abstracted whole! 2025-02-20 13:30 # Client Meeting 2025-02-20 16:30 # Some more Go Now I only struggle reading Go code. Instead of drowing and flailing about like I did earlier. Tiny steps Figured out what music I can use as the background, now that neither Classical or songs with English lyrics work. I’ve begun listening to K-drama soundtracks in the background. Keeps me focussed. It’s lovely and peppy and soothing and fun! Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"20 février 2025","externalUrl":null,"permalink":"/nm/2025-02-20/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-02-20 Notes","type":"nm"},{"content":" Goal # Learn some go. Work on my Kubecon presentation 2025-02-19 08:35 # Ok. plan … and me, got punched in the face already 😂 Will need to rejig a tiny bit more. Will have to talk to clients to do that. Note to self, some progress better than no progress. Stuff will smoothen out. Begun using workspaces. Four of them. One for work. One for music. One for writing. One for communications. Seems to be working well over the past week 09:45, Learnt quite a bit of Go, even I couldn’t dedicate the time I wanted. Slow and steady, works, J. Slow and steady, works. 2025-02-19 10:00 # Client Meeting 11:05, Done 2025-02-19 11:30 # Beginning work on my Kubecon presentation 11:46, Procrastinated. Rearranged my Toni Braxton playlist. Back to work 13:15, getting into the swing of things. Breaking for lunch 2025-02-19 14:30 # Backed up my joplin instance. While I started it on a lark, it’s turned out to be pretty handy 2025-02-19 16:30 # Began and stood up a basic presentation deck. Too little time, so reusing the old one. Some progress better than nothing. Will add more bones tomorrow. Made plans for tomorrow. Client seems to be even more pushed for time than I. So I’ll just need to wake up earlier a few days. Let’s see how it goes 18:50, Schedule, shutdown, complete Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"19 février 2025","externalUrl":null,"permalink":"/nm/2025-02-19/","section":"Notes \u0026 Miscellanea","summary":"Finding my rhythm","title":"2025-02-19 Notes","type":"nm"},{"content":" Goal # None. Just writing to get back into the swing of things 2025-02-18 18:30 # Got quite a bit done, on a day I couldn’t do much. Now that personal issues have gotten handle-able but still take a big chunk of the day, I got meself a different timetable Clearing my mind like this, and adapting my day to new life changes is always a relief. Changed my daily org file to reflect the new state of life Working backwards from the big stones, from what I want done + what I have to do, and then trying to fit what I can in. Soundtrack: Suddenly, Toni Braxton Schedule, shutdown complete. Now tomorrow? The best laid plans of mice and men … Let tomorrow take care of itself Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"18 février 2025","externalUrl":null,"permalink":"/nm/2025-02-18/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-02-18 Notes","type":"nm"},{"content":"","date":"18 février 2025","externalUrl":null,"permalink":"/tags/foss/","section":"Tags","summary":"","title":"FOSS","type":"tags"},{"content":"A couple of thoughts on Robin’s post.\nBecause I’ve spent a lifetime using both FOSS and proprietary software and more than two decades, advising and supporting people and businesses who do the same.\nTo paraphrase Robin’s own point. Most people don’t care.1 If it runs Minetest, then it’s fine.\naka “If it does the thing, I want it to do, without too much cognitive overhead, I’ll use it.”\nLearning the skill, so I can do this task, is definitely not what the world at large wants to do. Nor do I imagine, do most folk have the time and the bandwidth. iTunes (and Netflix) when they launched2, were the prime examples of this. Convenience and ease of use trumps Free. Also by that same token, VLC is probably one of the most installed and used video players in the world, not because they are FOSS, but because they make it easy to install and use.\nSome people feel strongly about having control over what they do, over their data. Those folks were those I found easiest to move to Free software, because it aligned with what they wanted.\nSupport costs are about the same.\nIf a small business chooses to use free software, the cost of supporting it, if stuff breaks, (specially if it’s business critical3) probably is about the same as paying for the proprietary version. The fact that paying and getting it fixed benefits the world at large is lost on most. Or maybe it’s something, we Free Software evangelists could learn to to better. Robin promises his team, first-level support, but what happens when he goes on to better opportunities and is no longer around?\nSo I agree with most of what Robin says, with just one caveat.\nPeople aren’t afraid of change. Atleast not the kind of change, Free Software poses.\nPeople just don’t have the time and the energy to deal with change, with everything else happening in their lives.\nFree software is just not as important to them, as it is to us. That is all.4\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nAnd I’d venture to say, that’s perfectly ok.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nbefore they went to pot\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nrpm updates, bork my expensive garment printing machine, anyone?\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nAnd once again, that’s perfectly ok too.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"18 février 2025","externalUrl":null,"permalink":"/work/heres-what-is-stopping-us-from-using-free-software/","section":"Work","summary":"What is this life if, full of care. We have no time to stand and stare.","title":"Here’s What is Stopping Us From Using Free Software","type":"work"},{"content":"","date":"18 février 2025","externalUrl":null,"permalink":"/tags/robin-schubert/","section":"Tags","summary":"","title":"Robin Schubert","type":"tags"},{"content":" Goal # Relax and recover 2025-02-06 9:30 # Shower thought. When I write, am I a pantser or an outliner?\nI’m a pantser, a discoverer, who rapidly outlines as soon as he sees the shape of something and then pantses on the outline 😂 10:07: Using git frequently enough, now to start using Magit methinks. Just done package-install magit. Will slowly ramp up as I write more. Aaaaaand I give up. No forgejo support. Also not as intuitive as I thought it’d. (That’s my problem though, not Magit’s) 11:30: Lazygit is it. Reminds me of Norton Commander. Pretty intuitive UI (down to the small p for pull and big P for Push. Reminds me of all the old DOS TUIs). 2025-02-06 12:30 # Client Meeting 2025-02-06 17:00 # Went to the doc. Now to rest a bit Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"6 février 2025","externalUrl":null,"permalink":"/nm/2025-02-06/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-02-06 Notes","type":"nm"},{"content":"","date":"6 février 2025","externalUrl":null,"permalink":"/tags/writing-nm/","section":"Tags","summary":"","title":"Writing-Nm","type":"tags"},{"content":" Goal # Sleep. Rest. Go if I am awake. Have a meeting later in the day. 2025-02-05 10:00 # Too shuffly. trying to read the Go CLI book Note to Self, regarding how to test and what to test * When you tested the todo tool in Testing the Initial CLI Implementation, on page 23, you wrote something similar to an integration test by compiling the tool and running it in the test cases. This was necessary as all the code was part of the main() function, which can’t be tested.\nFor this application, you’ll take a different approach; you’ll write individual unit tests for each function, and use an integration test to test the run() function. You can do this now because the run() function returns values that can be used in tests.\nThis means you’re intentionally not testing some of the code that’s still in the main() function, such as the block that parses the command-line flags. You don’t have to write tests for that code because you can assume it’s already been tested by the Go team. When using external libraries and packages, trust that they have been tested by the developers who provided them. If you don’t trust the developers, don’t use the library.\nThis also means you don’t need to write unit tests for the saveHTML() function since it’s essentially a wrapper around a function from Go’s standard library. Its behavior is assured in the integration test you’ll write.* 11:56: Note to Self, ok if everything does not match the book. You aren’t completely in control 2025-02-05 12:00 # Client meeting 2025-02-05 17:50 # I keep thinking, nothing is getting done, and then I have to remind myself I’m convalescing 😂 Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"5 février 2025","externalUrl":null,"permalink":"/nm/2025-02-05/","section":"Notes \u0026 Miscellanea","summary":"Sleepy Day","title":"2025-02-05 Notes","type":"nm"},{"content":"Ava started this, Kev modified this, and Saptak egged me on to write this. So here goes …\nWhat the home page looks like in 2025\n1. Why did you make the blog in the first place? # I write for me mostly. Because writing helps me think. My thoughts are too scattered otherwise. I can’t not write. I’ve always written. Privately, publicly, there’s always been some place where I’ve jotted things down.\n2. What platform are you using to manage your blog and why did you choose it? # I use Hugo to generate the site, which I host on my own Hetzner VM. I use it because I outgrew my previous tool, Nikola, which still holds a dear place in my heart. While Hugo is enormously complex, it is also deceptively simple enough to get started with. And it’s fast. That’s what I love about it. It lets me write. It does not get in my way. It lets me preview what I’m doing with its live server. And it’s unbelievably fast.\n3. Have you blogged on other platforms before? # I’ve been writing in some form or other since the late 90s. So … yea :)\nLivejournal, Blogger, self hosted Wordpress, wordpress.com, Posterous, Tumblr, self hosted Wordpress, self hosted Ghost, Nikola and now Hugo. It’s been quite a ride!\n4. How do you write your posts? # I write them in Emacs (in Markdown, using Markdown Mode) on my desktop, with Hugo Server running alongside giving me a preview of what things will look like. Once I commit it to my self hosted Forgejo instance, an action publishes the site automatically\n5. When do you feel most inspired to write? # I never do. I write because it helps me function. And yet, it always feels like a chore.\n6. Do you publish immediately after writing or do you let it simmer a bit as a draft? # I always publish it immediately. I almost never write something that is deeply thought out, that needs to stand the test of time. It’s the process, the writing, the putting words out of my mind, through my fingers down to paper, that leads to the result, the thought, the opinion, the aha, the insight. So I’m never quite done. Which means if I ever wait for finished, the post will never get published. The moment I publish something, is invariably the moment something needs changing. So I just go back and edit it. I never notify folks about updating things on the first day. If I ever edit something much later than a day or two, then I do.\n7. Your favorite post on your blog? # None. All. They’re my thoughts, so depending on my mood, they’re either worthless or priceless gems!\n8. Any future plans for your blog? Maybe a redesign, changing the tag system, etc.? # Not really. For all my wandering, I’ve only ever moved when my tools outgrew me1, or I outgrew my tools. For now, Hugo does all I ask of it, without getting in the way. The day that changes, will be the day I move.\nI’ll ask Priyanka, Sreeram, Sandeep, Pradhvan, Rahul, Bhavin, Elia, Mandar, Saptak, Farhaan, Robin and Kushal to share more, if they have the time, energy and the inclination.\nFolks, who’ve answered my call to arms! Go read their answers too!\nRobin Elia Feedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nWordpress.com too restrictive, Ghost stopped serving my specific needs etc.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"4 février 2025","externalUrl":null,"permalink":"/work/blog-questions-challenge-2025/","section":"Work","summary":"Now, this is one viral trend, I can get behind","title":"Blog Questions Challenge 2025","type":"work"},{"content":"","date":"4 février 2025","externalUrl":null,"permalink":"/tags/writing/","section":"Tags","summary":"","title":"Writing","type":"tags"},{"content":" Goal # Nothing much. Just try and keep doing the Go CLI book. Still under the weather. 2025-02-04 09:30 # Done planning the day 2025-02-04 10:00 # Client Meeting 2025-02-04 11:55 # Writing a random blog post 13:40: Lunch 14:00: Went back to wrting 15:45: Tea 2025-02-04 16:45 # 18:15: Nothing much else getting done. Just calling it a day Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"4 février 2025","externalUrl":null,"permalink":"/nm/2025-02-04/","section":"Notes \u0026 Miscellanea","summary":"Slow recovery day","title":"2025-02-04 Notes","type":"nm"},{"content":"","date":"3 février 2025","externalUrl":null,"permalink":"/tags/authors/","section":"Tags","summary":"","title":"Authors","type":"tags"},{"content":"Considering how much I’ve quoted Neil Gaiman (here, here, here, here, here and many other places on the blog) and how much his stories have influenced me, I feel a bit obligated to put this personal statement out.\nWhat he did was really, really wrong! Horrifyingly wrong!\nThe girls, the women, were wronged. Grossly so. Often violently so.\nNever meet your heroes and idols with feet of clay and all that.\nSo I’ve given away (or deleted) all my Gaiman books, save two. My collected editions of Sandman. And my signed copy of What you Need to Be Warm.\nWhile it is true that Gaiman shot to stardom with Sandman, that was not the reason I bought this collected edition. I bought it for the young boy, who would scramble the lanes of Matunga and Fort, looking for more erudite comics after reading Moore’s V for Vendetta and Watchmen. Sandman was something I discovered on my own and enjoyed so much.\nBesides it was never about the writing at that stage. It was the stories. From all over the world and across cultures. That he’d reimagine for Sandman. (Ramadan, A Midsummer Night’s Dream, Thermidor, The Dream Hunters … ) And even more importantly it was the pictures, the drawings, the gorgeous art. (Yoshitaka Amano, Dave McKean, Todd Klein, and all the others) So Sandman stays. And with What You Need to Be Warm, the money went to a smol shop and to a good cause both. So I don’t feel bad owning it.\n“Man’s not dead while his name is still spoken” — Terry Pratchett\nAnd so this is the last, I speak your name. You’re dead to me.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"3 février 2025","externalUrl":null,"permalink":"/reading/on-gaiman/","section":"Reading","summary":"You’re dead to me, Gaiman.","title":"On Neil Gaiman","type":"reading"},{"content":"A while back, I rejigged the sections on my site to better reflect how I think and write.\nWhich meant, all the urls, on all my posts changed, since they now used the new category as a slug, instead of ye old /blog.\nFor e.g. https://janusworx.com/blog/using-hugo-variables-to-help-with-mailto-links-in-hugo/ …\nwas now at, https://janusworx.com/work/using-hugo-variables-to-help-with-mailto-links-in-hugo/\nAfter searching a bit, I found that Hugo supported aliases. For me, it would redirect the original /blog path url to its new location\nAss I had to do, was add an aliases: [\u0026quot;/blog/old-post-slug\u0026quot;] line to each post’s metadata.1\nLine 4 in the snippet below shows, what I added to fix the post above.\n1 2 3 4 5 6 7 8 --- title: \u0026#34;Using Hugo Variables to Help With Mailto Links in Hugo\u0026#34; date: 2024-05-30T18:17:35+05:30 aliases: [\u0026#34;/blog/using-hugo-variables-to-help-with-mailto-links-in-hugo\u0026#34;] categories: [\u0026#34;work\u0026#34;] tags: [100WordHabit, Dgplug, Hugo] summary: Shortcodes! Hugo Variables in Shortcodes! --- I did not want to do this by hand for 800+ posts.\nOne stroke of luck for me, was that I let Hugo use its default behaviour of generating url slugs from the file names. So even if the category slugs had changed (from /blog to /work or from /blog to /personal), the url slugs would stay the same. Which meant, I could whip up a script to run through all my markdown posts and add the alias line.\nSo I did.\n1 2 3 4 5 6 7 8 9 10 11 12 from pathlib import Path INPUT_FOLDER = Path(\u0026#34;old-posts-folder\u0026#34;) OUTPUT_FOLDER = Path(\u0026#34;modified-posts-folder\u0026#34;) for each_file in INPUT_FOLDER.iterdir(): with open(each_file, \u0026#39;r\u0026#39;) as file_to_read: alias_derived_from_file = each_file.stem contents_as_list = file_to_read.readlines() contents_as_list.insert(3, f\u0026#34;aliases: [\\\u0026#34;/blog/{alias_derived_from_file}\\\u0026#34;]\\n\u0026#34;) with open(Path(OUTPUT_FOLDER, each_file.name), \u0026#39;w+\u0026#39;) as file_to_write: file_to_write.writelines(contents_as_list) It takes all the posts from my old folder, inserts the alias line and puts them into a new folder.2 In essence, take each file, figure out the url slug from the file name, read in the contents as a list, insert my alias at position 3 (fourth actually. zero based indexing) of the list (below the title and date) and then write it all out to a new file.\nI ran it, published the site and then went to check on the old urls with bated breath.\nHurrah, it all worked :)\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nit’s a list, so I can add more aliases if I want to\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nno sense in botching up my originals :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 février 2025","externalUrl":null,"permalink":"/work/hack-hugo-post-metadata-with-python/","section":"Work","summary":"Adding alias urls to my blog posts","title":"Hack Hugo Post Metadata With Python","type":"work"},{"content":"","date":"3 février 2025","externalUrl":null,"permalink":"/tags/python/","section":"Tags","summary":"","title":"Python","type":"tags"},{"content":" Goal # Very, very sick. Also Sunday.\nSo just a lazy day at home. 2025-02-02 08:45 # Backups in progress Getting today’s blog sessions up was a matter of seconds today, because of yesterday’s mongrel of a script. So happy! Trying to get my Hugo autoupgrades in place 09:25: Done. But the fact that I needed to keep fixing so many paths is a sure sign of foggy brain still 😂 Anyhoo, all’s well that works well! The forgejo runners now have Hugo v0.143.0 ready for use! And I am slowly getting the habit of making modifications to the Ansible yaml, rather than directly making changes on the machines. 09:42: Backups done! 10:28: Did some French lessons 2025-02-02 10:45 # might as well try and read some of that go cli book 15:59: done with one lesson. exceedingly slow going. just hope that the dam breaks and everything gets faster. otherwise, I think I’ll commit to it for as long as I’m sick and then lay it aside Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"2 février 2025","externalUrl":null,"permalink":"/nm/2025-02-02/","section":"Notes \u0026 Miscellanea","summary":"Sunday, lazy Sunday!","title":"2025-02-02 Notes","type":"nm"},{"content":" Goal # Nothing! Still recovering. Still feeling blergh. Yesterday was godaweful 2025-02-01 10:40 # Will try playing with Go to get rederb done Oh, but before that I ought to get a couple of tiny Ansible tasks done, so I can leave Ansible behind for now. got music working. now to get books working. done. 2025-02-01 12:45 # Now to why I started this darned Ansible exercise in the first place 😂 12:55: Lunch 13:20: Back 13:48: Done! That was quick! 14:13: Forgot my audiobooks nginx config! 14:24: And done. This really feels like a snowball rolling downhill now! This brings an end to my Ansible learning journey. I learnt lots. Ansible Lint was a really good fast feedback tool. I learnt a lot from fixing (or not) the errors it threw it me. I learnt to write idiomatic Ansible thanks to it. And now that I dunnit, I’ll come back when I can spare the time to add playbooks for the other two tiny machines. 2025-02-01 16:30 # 17:35, thank goodness to all the notes i left behind, I think I’ve come up to speed with where I left things with Rederb 18:36, Ok no. this is not working. will try reading some book, just as I did with ansible and then come back to this. if i can\u0026rsquo;t do it tomorrow, the project goes on the backburner 20:21: time to give up when you get an error saying ./todo.go:49:1: missing return and you go to line 49 and hit the enter key more tomorrow Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"1 février 2025","externalUrl":null,"permalink":"/nm/2025-02-01/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-02-01 Notes","type":"nm"},{"content":"","date":"1 février 2025","externalUrl":null,"permalink":"/tags/bash/","section":"Tags","summary":"","title":"Bash","type":"tags"},{"content":"","date":"1 février 2025","externalUrl":null,"permalink":"/tags/tmux/","section":"Tags","summary":"","title":"Tmux","type":"tags"},{"content":"So I got tired of starting up a dedicated tmux session to manage all the work related to my writing sessions. Over the past few months, I’ve boiled it down to three.\nAnd it still irks me that I have to …\nLaunch Terminal Launch Tmux Split it into three windows err … panes. Go to the top left pane and launch Hugo server Switch to the right pane and then launch Emacs with whatever new post I want to write today. So of course, a Rube Goldberg-esque, tiny bash-pipey monster took form. It now resides, chained to an alias, hssx1 in my .bash_aliases file\n1 2 3 alias hssx=\u0026#39;cd /path/to/my/hugo/folder \u0026amp;\u0026amp; \\ xdotool windowsize $(xdotool getactivewindow) 100% 100% \u0026amp;\u0026amp; \\ tmux new-session \\; split-window -h \\; select-pane -l \\; split-window -v \\; select-pane -U \\; send-keys \u0026#34;hugo serve\u0026#34; C-m \\; select-pane -R\u0026#39; The first line switches to my hugo folder The second calls xdotool and maximises the terminal window And the last line is a series of instructions to the tmux command. I’ve split it below for readability. tmux new-session \\; #Tmux start a new session split-window -h \\; # Split the window into two vertical panes select-pane -l \\; # Switch to the left pane split-window -v \\; # Split that into two horizontal panes select-pane -U \\; # Select the upper pane send-keys \u0026#34;hugo serve\u0026#34; C-m \\; # Type in `hugo serve` followed by Enter select-pane -R # Select the right pane And boom!\nClick pic for a larger version\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nhugo start session and x just because all my aliases have ended with x for years and years\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"1 février 2025","externalUrl":null,"permalink":"/work/tmux-start-session-maximized-with-three-panes/","section":"Work","summary":"New short ritual to get my writing sessions going","title":"Tmux Start Session Maximized With Three Panes","type":"work"},{"content":" Goal # Taking it easy today as well. Much better today. Hope to get to structured “real” work tomorrow 2025-01-29 09:30 # Will try to get my blog publishing automatically like it did before! Bonus points if any of them can be controlled via ansible 😂 09:56: Break. Powercut 10:56: Power’s back! 11:27: Learnt about the noop parameter in the meta module. Pretty handy for me to create comment placeholders until I figure out how to convert prose into poetry … err … ansible yaml 11:30: Powercut. 11:39: Back Publishing the site, needs hugo versions in place so syncthing needs to work (not immediately, grab now from whatever’s there.) a runner, needs to work. (hook up alpha for now) 11:50, done. ansible to make folder available to alarm, www-data, and git 11:59: Powercut! 12:03: Back Got proper (hopefully) permissions set 12:14: Break 12:20: Back 12:39: Got the static files section of the code forge up and running with the right permissions Figuring out how I did ssh secrets is now going to be hard. Should’ve written it down. Grr. ssh-keyscan! That was it! Now to go figure it out 13:05: Lunch 13:25: Back 13:41: A couple of hiccoughs, and I think I’ve gotten the workflow back up! Hurrah! 13:44: Break. 14:26: Back Experimenting with multiple runners on the same machine. 14:47: Got them to work! Installing a runner on the code server as well. Decided against doing this in Ansible. (This suggests that I can run this as an independant role later?) Done! I have three runners now! Woohoo! I really appreciate having a faster network now! While the Pis win on power and are good for something like my calibre library, when it comes time to something that requires frequent feedback, I really, really, really love the bits running faster on the wire :) 2025-01-29 14:47 # Trying to configure syncthing manually, and then getting stuff into ansible. 15:54: Done. Break. 16:10: Back Configured syncthing manually. I don’t see an easy way to backup/restore Syncthing easily via Ansible. So will move this to the back of my mind now. It does not bother me as much Enabled backup for the repos I’ll now create using Akash Rajpurohit’s wonderful git-sync tool Off to start mirroring the git repos I had earlier Ooh this is blazing fast! (clapping hands with glee …) 17:53: never thought I would run into Github rate limits when manually cloning repos 😂 18:15: Done. Calling it a day. Will stop with Ansible here, now that I have one machine working. And go read about terraform and kubernetes tomorrow, so I can stand up a Hetzner VM running K3S for myself Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"29 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-29/","section":"Notes \u0026 Miscellanea","summary":"Getting my personal code forge up","title":"2025-01-29 Notes","type":"nm"},{"content":"","date":"29 janvier 2025","externalUrl":null,"permalink":"/tags/forgejo-nm/","section":"Tags","summary":"","title":"Forgejo-Nm","type":"tags"},{"content":" Goal # Still nothing. Still sick 2025-01-28 10:35 # Will try and do things slowly. Get my forge back up Fixed Qbittorrent service Trying out ansible vault 12:46: Breaking for lunch. got vault installed. got lego installed and generating certs! Got lego to renew on a daily basis with a cron job 2025-01-28 16:44 # First optimisation done. Abstracted vars out into an vars file. 17:43: Making slow progress with forgejo. 17:43: The one realisation I have is that I have to get it right once. And then doing it over and over is no sweat 17:51: The net’s gone down! That seems to be my only point of failure now; my internet connection. This is something I’ll just have to live with. Ok, it came back up as I write this. Back in business! 21:07: Lots of work done. The basic machine seems to up. Will spend tomorrow setting up the blog to publish online automatically and then continue with ansible Note to Self, leaving breadcrumbs for what to do first thing tomorrow, is working splendidly so far. Schedule, shutdown, complete! Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"28 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-28/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-01-28 Notes","type":"nm"},{"content":" Goal. # Nothing. Sick. Blergh. 2025-01-27 16:30 # Writing this because I am tired of sleeping I learnt I can use the dateFormat function to get me the current date, the way I want it in my titles. So I modified my notes archetype to use a title like so … title: \u0026#34;{{ dateFormat \u0026#34;2006-01-02\u0026#34; .Date }} Notes\u0026#34; which gives me the title of my post today, above! trying to manually install forgejo and failing Giving up Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"27 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-27/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-01-27 Notes","type":"nm"},{"content":" Goal # Think about how Forgejo will be installed on the nuc 2025-01-26 18:55 # Doing a lot of file moving, since since the main desktop that I do all this on, is being backed up gave some thought on whether to whether I need the forgejo and its runners, in containers. The steps seem needless on the home network. I might consider them for the Hetzner thing where the other code server will live. Here I think I’ll just install forgejo and the runner natively on the same machine. Their idea probably was the runner might overwhelm the code server with its jobs, but this is only me and I know full well (famous last words) what I want to do, or the jobs I might spawn. Besides, this is a single user thing, so I doubt there’ll be issues. And if there are any, then I’ll cross that bridge when I come to it. My current hot potato is that I want a non headachy way of configuring the whole machine and Ansible is doing that for me. 20:53, files done. will continue tomorrow ","date":"26 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-26/","section":"Notes \u0026 Miscellanea","summary":"Thinking today, and lots of moving files","title":"2025-01-26 Notes","type":"nm"},{"content":" Goal # Continue learning Ansible. Now that docker is installed. figure out how to copy over, all the docker-compose files for each service I like and then have them start up with systemctl 2025-01-25 08:15 # Writing a note to self, the previous day, suggesting what to do or how to pick up the threads has worked today. Seems to me, I can’t even keep that straight in my head any more. Grr! Middle age! 08:48: Realised that since most of my compose files are kept on my external devices, I don’t need to do much? Just a matter of copying over a systemd service file, enable it and Bob’s my uncle? Is is that easy? Coffee break. Will come back and give this a spin … 09:19: Back. Getting used to using git in parallel with my file commits. Helps me keep track of my progress, just like these thoughts here 10:14: Well, whaddya know? Emby’s working! Hurrah! Now to replicate this for another teeny service (this time as a user level systemd service) Learnt how to switch users, in order to do this! 10:52: Yay! Working! Also my first set of changes, that did not cause ansible-lint to nag me 😂 11:11: And suddenly, this makes getting the code server up and running seem, pretty reasonable now. I can just get everything setup first and then put all that into ansible 2025-01-25 11:52 # Let’s see how to get forgejo up and running now. Will do it manually and get up a container based setup running. Cannot just migrate, since the old one was native and using a different domain 11:58: oh bikeshedding moment! i need certs for the new domain to be in place first. which means i need lego installed and configured first 12:23: restarted. had a break at 12 12:53: Lunch 13:27: Back 14:21: Making progress getting Nginx working. Site now runs over http 14:43: Got my personal domain api access all set up. got lego to manually generate certs. brain’s on fire. break time 14:56: back at it. reviewing old decisions on nginx. most sound sound. creating a new ssl_dhparams file 15:26: need to give some thought on how i run through the nginx tasks in ansible. copy all files first, and then install nginx, so that everything is available? no. some paths might be unavailable. easier to install, dump files, and then restart the service 16:12: Break 16:25: Got lego installed just the way I wanted it, got it talking to Porkbun and figured out the command to automatically renew my certs. Shutting shop for the day. Enormous progress today! But I need to remember that while the logjam might have broken today, it’s taken all these days of chipping away at it. Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"25 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-25/","section":"Notes \u0026 Miscellanea","summary":"Finally got the hang of Ansible","title":"2025-01-25 Notes","type":"nm"},{"content":" Goal # Get Ansible doing things on my intel NUC 2025-01-24 09:15 # 09:15: Starting up and getting into the swing of things is the hardest part of the day. I’m still at a loss as to, what breadcrumb do I leave myself the day before, so that this struggle with stasis gets easier. maybe just leave a clue to myself, of what I was thinking about doing/tackling next\n10:14: Got my ansible playbook validated with yamllint. Progress! And also the confidence that splitting my lines with the \u0026gt; does in fact keep it on a single line in practice\nNote to Self: Struggling to make progress? Lower the bar. Lower the standards of what progress looks like. Make it easy. But make sure you show up!\nNote to Self Deux: Learn about yaml block chompers: https://yaml-multiline.info/ \u0026amp; https://stackoverflow.com/questions/3790454/how-do-i-break-a-string-in-yaml-over-multiple-lines/21699210#21699210\nSyncthing Note (for the next machine): Figure out where syncthing stores its config folder and regularly back it up. It\u0026rsquo;ll help with Ansible restores. You just have to dump the config back after mounting all the paths just as they were before with the same owner (probably before we do the install syncthing play?). The config’s in ~/.config/syncthing currently, but new machines/new installs might have it in $XDG_STATE_HOME/syncthing\nSince my brain isn’t quite working, am making sure my playbook is validating with ansible-lint Love the tool. It’s instilling best practices into my muscle memory\nWoohoo! The playbook still executes 😂 On a more serious note, working to a predefined spec, makes life easy\nOk. it executed a little too well and I made a booboo. Now my NUC won’t boot. Be back whenever!\n2025-01-24 11:45 # Moving on the recovery stage. Downloading a debian iso :) writing image to a usb flash drive Done. Now to the hard part. Rummaging in my table and connecting displays and all that jazz 12:17: and we’re back up! wow! This was good, trial by mini-fire The whole playbook just paid for itself. I fixed my booboo, ran the playbook and the machine came right back to where I was! Hurrah for Ansible! This is amazing! If it wasn’t for the downloading the iso and burrowing under the table to fix a keyboard and monitor part, I’d be done in 5 minutes actually. Done for now. Be back later if I can. Or tomorrow. 2025-01-24 12:30 # Client Meeting 2025-01-24 15:50 # Back at work. nginx installed ok now to install the docker apt repo and install docker-engine 18:13: got it done! hurrah! pleased as punch :) 2025-01-24 20:14 # Done! Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"24 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-24/","section":"Notes \u0026 Miscellanea","summary":"Got Docker Installed via Ansible. Learnt how to translate most install instructions into Ansible statements","title":"2025-01-24 Notes","type":"nm"},{"content":"","date":"24 janvier 2025","externalUrl":null,"permalink":"/tags/syncthing-nm/","section":"Tags","summary":"","title":"Syncthing-Nm","type":"tags"},{"content":" Goal # Get the intel NUC running as a code server with Ansible 2025-01-23 10:11 # Updating the desktop VMs was due today. Took a long time. Need to take that into account the next time I start my day. 10:31: Checked a little bit of how to go about running nginx as a docker container. Decided this was overkill for the home network. Ansible managing it is good enough for me. 10:40: this is now a loop. need something done in ansible, try it. does not work. look up ansible docs to figure ansible stuff. cast about on the net to figure my own stuff. put it all together. groan when stuff does not work. change things. retry. change things. retry. this inner loop goes on, until stuff works the way i want it. then move one to the next thing i want done in ansible. ad nauseam 11:02: ok off to read Ansible up and running. rather skim it rapidly. i need the background, so as not to be surprised at every new ansible keyword / concept i come across 11:31: am very tempted to use the books advice and write stuff at a higher level of abstraction, but I know it won’t serve me well now as I learn. As soon as the pain of repetition / redoing stuff gets greater than actually doing it, I’ll begin to abstract things out 11:46: found ansible-lint. ran it against my in progress file. ooh! what a nag! pretty handy though. empties my mind of a lot of thought. 11:55: was irked enough by Ansible Lint’s nagging to fix the two shell outputs that always showed up as changed Checks the book suggests, before considering a playbook done. $ ansible-playbook --syntax-check webservers-tls.yml $ ansible-lint webservers-tls.yml $ yamllint webservers-tls.yml $ ansible-inventory --host testserver -i inventory/inventory.ini Note to self: Read Serge van Ginderachter’s posts on Ansible Inventory. One, two, and three. Also, his posts make me want to post my scribbles online as well! sometimes this feels like slow going, but better to get all this stuff under my belt now, rather than later 12:24: Done for now. 2025-01-23 12:30 # Client Meeting 2025-01-23 16:15 # Started up Ansible again. Figured my first idiomatic way to make shell commands idempotic. Earlier I was just checking if the output of the command was 0 and then skipping ahead. Now I just assert via a creates argument, that the file I want exists at the path I specify. For e.g. if /etc/apt/keyrings/syncthing-archive-keyring.gpg exists, the play won’t download the sig again. - name: Add Syncthing Signing Key ansible.builtin.shell: | curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg args: creates: /etc/apt/keyrings/syncthing-archive-keyring.gpg 2025-01-23 17:55 # Was on a customer call for the past 30m Back to reading the book The next chapter focuses on a realistic example of deploying an application.\nWoot! Rubs palms! Let’s goooo… The book’s taking the same approach as I’ve naively taken when doing mything. Good to know I’m on the right path. Approach: break the thing in to tasks and steps. and then iteratively get things done Reached Ch. 9 and they’ve now begun breaking big things down into smol things into folders and discrete components. Light bulb moment: I can split my main yaml into smoller things based on the functions i want installed. I can use ansible-galaxy to scaffold a whole set of folders I need. Priyanka had taught me this a long time ago. I forgot! $ ansible-galaxy role init --init-path playbooks/roles syncthing 20:43: if there’s anything faster than skimming, i’m doing that now. Just looking for things that i might use. the book is now delving into more and more complex topics and use cases Rapid reading now, does not seem to be a problem, because these advanced chapters are written like blog posts. One short post per topic 21:50: Ok done! Off to bed! Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"23 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-23/","section":"Notes \u0026 Miscellanea","summary":"Learing Ansible, Up And Running With Ansible","title":"2025-01-23 Notes","type":"nm"},{"content":" Goal # Get Intel Machine configured as much as possible with Ansible 2025-01-22 13:20 # Figure out how to mount my disks via ansible 15:44, Give up for today. 19:55, Started back up about 30mins ago. Figure it out! Got my disks automatically mounting. Got UFW and firewall rules working Got syncthing installed! ","date":"22 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-22/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-01-22 Notes","type":"nm"},{"content":" Goal # Client Meeting 2025-01-20 10:35 # Client Meeting 13:01, done 2025-01-20 13:20 # Book window shopping 2025-01-20 16:35 # Walk 2025-01-20 20:23 # NMC work; 20:46, done 2025-01-20 20:47 # Nothing to plan for tomorrow. Overhauling the way all the computers are strewn about the house. Will be back day after ","date":"20 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-20/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-01-20 Notes","type":"nm"},{"content":"","date":"20 janvier 2025","externalUrl":null,"permalink":"/tags/org-mode/","section":"Tags","summary":"","title":"Org-Mode","type":"tags"},{"content":"Org Mode, by default, shows me the whole week, when I pull up my agenda. That’s not how I work though. I normally look at the week on Monday mornings (or Sunday evenings) to plan out the week and then work everyday by just looking at what I ought to get done that particular day.\nLike Dale Carnegie says,\nShut off the past! Let the dead past bury its dead. Shut out the yesterdays which have lighted fools the way to dusty death.\nThe load of tomorrow, added to that of yesterday, carried today, makes the strongest falter. Shut off the future as tightly as the past.\nThe future is today. There is no tomorrow. The day of man\u0026rsquo;s salvation is now.\nWaste of energy, mental distress, nervous worries dog the steps of a man who is anxious about the future. Shut close, then the great fore and aft bulkheads, and prepare to cultivate the habit of life of day-tight compartments.\nSo I want then, my Org Mode to do show me, only the things, I have on my plate today.\nAnd Org is nothing if not adaptable. org-agenda-span is the variable that controls what the Agends shows me. According to the docs,\nThis variable can be set to any number of days you want to see by default in the agenda, or to a span name, such a day, week, month or year.\nSo that’s what I did. This little snippet went into my init file\n;; Set Agenda to show a day as the default timespan, instead of a week (setq org-agenda-span \u0026#39;day) Et voilà!\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"20 janvier 2025","externalUrl":null,"permalink":"/work/view-only-day-with-org-agenda/","section":"Work","summary":"Live in Day Tight Compartments; only worry about what’s happening today; that’s all you can control — Dale Carnegie","title":"View Only the Day, With Org Agenda","type":"work"},{"content":"C’est un post test.\nJ’ai ecrire plus en anglais.\nCliquez1 sur le bouton “en” en haut\ngrâce à Claude\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"19 janvier 2025","externalUrl":null,"permalink":"/fr/nm/2025-01-19/","section":"Notes et Miscellanées","summary":"","title":"2025-01-19 Notes","type":"nm"},{"content":"","date":"19 janvier 2025","externalUrl":null,"permalink":"/fr/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"19 janvier 2025","externalUrl":null,"permalink":"/fr/","section":"Janusworx","summary":"","title":"Janusworx","type":"page"},{"content":"J\u0026rsquo;ai besoin d\u0026rsquo;un endroit pour divaguer, et cette section du site est faite pour ça!\nPensées sous la douche, réflexions en cours, travaux en progression, œuvres inachev …\nLe contenu ici est susceptible d\u0026rsquo;être supprimé.\n","date":"19 janvier 2025","externalUrl":null,"permalink":"/fr/nm/","section":"Notes et Miscellanées","summary":"","title":"Notes et Miscellanées","type":"nm"},{"content":"","date":"19 janvier 2025","externalUrl":null,"permalink":"/fr/categories/notes-and-miscellanea/","section":"Categories","summary":"","title":"Notes-and-Miscellanea","type":"categories"},{"content":"","date":"19 janvier 2025","externalUrl":null,"permalink":"/tags/espanso/","section":"Tags","summary":"","title":"Espanso","type":"tags"},{"content":"\nNow that I use my local machine to draft all my posts, desktop Emacs makes everything easier … with one exception. It swallows up a lot of my Espanso expansions.\nMy current bugbear is that it will not render a = when expanding.\nI know this is entirely something that I brought on myself, and neither Emacs or Espanso in isolation will have issues.\nMy workaround after rummaging through Espanso’s documentation was to set the backend to use xdotool, in my config. (~/.config/espanso/config/default.yml)\nx11_use_xdotool_backend: true One downside now is that it no longer jumps back to a predefined location in the snippets where I’ve defined such a thing. No matter. I use them rarely and I’ll figure something out later. (Alongside why desktop emacs won’t render markdown expansions sometimes as well)\nFor now, most of my expansions work. Hurrah!\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"19 janvier 2025","externalUrl":null,"permalink":"/work/more-espanso-emacs-shenanigans/","section":"Work","summary":"Fixing my blog post, CTA snippet …","title":"More Espanso \u0026 Emacs Shenanigans","type":"work"},{"content":"","date":"19 janvier 2025","externalUrl":null,"permalink":"/tags/work/","section":"Tags","summary":"","title":"Work","type":"tags"},{"content":" Goal # Slow day. Just doing whatever I want 2025-01-18 10:20 # Done with French Done with processing Kubernetes Membership requests Note to self: take a break between tasks. Don’t try to move from one to another immediately 11:47, done restructuring the site. I basically moved the notes and miscellanea out to the main bar. I got tired of clicking through the more thing to get at it. ever since I’ve moved to git and then having a jerry rigged ci/cd workflow to publish, i must say, iterations are really, really fast. (both with my thoughts/writing and with the publishing posts part) 2025-01-18 11:50 # Elliott Yamin, Trainwreck Reading, reading … 2025-01-18 14:00 # Client call 14:35 done. 2025-01-18 14:44 # Upgrading Linux Mint Wilma to Linux Mint Xia. Be back in a bit. 15:48, all done! Calling it a day. Off to tea, and reading Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"18 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-18/","section":"Notes \u0026 Miscellanea","summary":"","title":"2025-01-18 Notes","type":"nm"},{"content":"This image has been floating around the web, once again, so I’ve snatched a copy to post here1 and keep reminding myself of what I want to do with the rest of my life.\nSusan Sontag’s annotations in her copy of Finnegans Wake. Click to slightly enlarge\nI am a reader.\nIn the Mortimer Adler sense of the word.\nThis is my dream :)\nTo be surrounded by books.\nAnd to be able to savour them, a line … a page at a time.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI found it this time, courtesy a Diane Duane Tumblr repost\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 janvier 2025","externalUrl":null,"permalink":"/reading/this-is-what-i-want-to-do-the-rest-of-my-life/","section":"Reading","summary":"Read, read, read, the rest of my life.","title":"This Is What I Want to Do the Rest of My Life","type":"reading"},{"content":"Been swamped throughout the week with other stuff.\nSo, not too much desk time.\nGoal # Taking it slow today and trying to get back into a work groove. Get Bertuccio to work with Linier’s feed. 2025-01-17 10:33 # Planned the day Doing my French lessons now, since I’ve had a really slow start to today; I even burnt the veggies, I was boiling for my soup Random thought, I should put quotes in my daily summaries I now call my Hugo / Forgejo, rube goldberg, ci/cd experiment a grand success! Hugo was downloaded, ready and waiting for me to use, thanks Huginn All I had to do, was change one variable1 and Forgejo actions, now uses the latest version of Hugo to build and run the blog Ok, now to really go learn some French Watching, Mastering French From A1 to B2 in 2025. Doing Anki deck for the day 11:19, starting Duolingo / 12:04, done! Coffee Break Wrote a blog post 2025-01-17 12:51 # Client Meeting In the meanwhile, revamped the name of all four Emby servers on the home network, so that I am no longer confused :) Updated Forgejo on the private code server to v10. 16:00, Client call done 2025-01-17 17:05 # Going to try getting the latest Liniers comic for myself as an RSS feed Was checking to see, if I could run a Python script inside my Huginn container. No dice. 20:06, Break for dinner. I know I’m running long, but have made loads of progress. Be back to finish this tonight itself 2025-01-17 20:42 # Back, let’s see if I can see this through Anita Baker’s crooning, Plenty of Room, in my ears 21:44, It’s finally done! 2025-01-17 21:44 # What I finally need to do I used Huginn’s xpath selectors in its Website agent to extract an image url as well as the canonical url for the post.\nThe image was part of a source set. I learnt that xpath has functions which I used to select the first image from the list. \u0026quot;substring-before(substring-after(., 'url='), '\u0026amp;')\u0026quot;\nThe post url, I just used xpath to search for the first canonical link and give it me. //link[@rel='canonical']/@href While I got my paws on both urls, the image url was escaped, \u0026quot;https%3A%2F%2F …\nI used Liquid’s url_decode function in the next step (in a event formatting agent) to decode the image url string into a proper url. The Post URL was ok, so I just passed it through as is My first thought was to pass the image as an enclosure element, but it didn’t quite do the trick for me. The image did not render directly in Reeder, while in Miniflux, it showed me an enclosure link, which then in turn showed me the image. No dice. My old method was as good then. I went and looked up the RSS feeds of a couple of other sites I had subscribed to and then I saw it! What they were doing was far simpler. They just put in the image link in the description of the feed in a figure element nested inside a div. So I tried apeing that approach and what do you know?! As soon as I opened the latest feed item in Reeder, the image loaded right up. This was an tiny thorn that was long overdue for plucking. This was fun, ranging over xpath, liquid templating and the rss spec, all to make an image show up in my RSS feed. 2025-01-17 22:07 # Planning tomorrow. Then off to bed. As usual, a couple of things are undone. Will schedule them over the coming days. Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nsomething, I’ve intentionally kept manual, so I can switch Hugo versions at will.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-17/","section":"Notes \u0026 Miscellanea","summary":"Slow and steady wins the race …","title":"2025-01-17 Notes (Getting in image to appear in my RSS feed)","type":"nm"},{"content":" Goal # Setup a Hetzner VM using Terraform\n2025-01-09 08:30-09:55 # Morning tasks all done! Ready to start the day! Only late by 30m today! Not bad! Reflection: The morning feels too rushed. Remember to plan for French in the eve tomorrow. Not the morn. learnt how to exclude directories when searching with ripgrep. rg \u0026quot;my-search-pattern -g \u0026quot;dir-to-exclude\u0026quot; or in case of multiple directories, rg \u0026quot;my-search-pattern\u0026quot; -g {dir1, dir2, dir3, ... etc.} rapid reading cloudinit docs doing the tutorial at https://cloudinit.readthedocs.io/en/latest/tutorial/qemu.html the more I read about cloud-init, the more it feels like pxe/tftp rendered for modern times and modern machines. current mental model: it’s basically my bridge between getting a machine from the cloud, then customising it to my needs and then using modules and/or my custom scripts to go back to the cloud to setup applications/services done reading the explanations on the cloud-init site. Know enough to now try stuff and be dangerous 😂 2025-01-09 10:10-11:30 # Client Meeting 2025-01-09 11:30 # Shutting down notes and the computer. Be back Monday probably. Something personal has come up Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"9 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-09/","section":"Notes \u0026 Miscellanea","summary":"Executing on a plan, day two. Let’s see how this shakes out (today was the day of cloud-init)","title":"2025-01-09 Notes","type":"nm"},{"content":" Goal # Setup a Hetzner VM using Terraform\n2025-01-08 09:20 # Morning’s gone haywire Realise that I need more time than I think I do for my morning routine. I should think about and see what I can shorten or drop from it. (Very difficult. Only thing I think I can do is to move my French to the evening. The rest is just the 3S’, physio, some meditation and pottering about the kitchen) Have an upcoming client meeting at 10. No way I can do any deep work between now and then. Will just go play catch up with my unheard episodes of the Cal Newport Podcast 2025-01-08 10:00—11:00 # Client meeting Note to self: The Power’s gone! you really need some code to the new VM you are trying to build. Writing these posts is impossible otherwise Meeting went really well 2025-01-08 11:25-12:50 # Beginning with the Terraform stuff now Learnt about the watch command. Prettier output than my raggedy old bash loop watch -n N /path/to/script where N is time in seconds Just realised that I couldn’t login the other day, because I was trying to login as myself. Duh! I should try logging in as root. Et voilà! I logged in! So now, how do I set up an instance, the way I like it? With a user and and root disabled? Figured out how to clean up my instance with just a terraform destroy Wowza! I’ll need to be careful around this command cloud-init is what I’m looking for, to customise startup stuff. Now to read up on some examples and figure out how to get my user in there. and probably docker and k3s as well? Note to self, put done times after every session you do Lunch break 2025-01-08 14:00-14:30 # Been asking for help and clarity from friends on IRC Researching Hetzner plans. Now that I realise that storage is external, maybe I can break my big server up into two pieces of machines + storage and still save money 🤞 2025-01-08 19:40 # Planned the next day. Day one went pretty well despite all the hiccoughs actually Schedule shutdown complete Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"8 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-08/","section":"Notes \u0026 Miscellanea","summary":"Dare I continue with Terraform?","title":"2025-01-08 Notes","type":"nm"},{"content":" Goal # Same as yesterday: Same as Hetzner VM up and running using Terraform\nFigure a plan for working over the next few months\nNote from a friend, when I shared what I want to do with him. # Sounds good, would cover things like persistent volumes, LoadBalancer service etc.\nWhen deploying these services. You can write the manifest YAMLs yourself and also check if those tools provide Helm charts for deployment on Kubernetes.\nSounds like a plan!\n2025-01-07 10:15 # Doing some thinking out loud right now about how to structure my days Have been running full tilt and everything last year and while it gave me big progress at what I wanted to do, everything else has suffered. I need to pickup housework again. I have my consulting to do, which lasts anything between two-four hours a day I want to do my french I want to contribute to the free and open source community in some way I want to be able to travel The most importhing thing is that I need some time to meditate, have some silence in my day And the most important thing is that I need time to focus on reducing my weight and getting fitter, get some exercise and a lot of walking in. And the most important thing1 is, I want to spend some time with family, talking to my wife and mom at home. Went to boil some water for coffee. Back. 2025-01-07 11:00 # Will continue thinking and not do any Terraform work today, because I need the muddled thoughts is my mind sorted An hour later. Still muddled. Just sat and talked to Mom. Drank soup. Helped out a bit. 2025-01-07 12:00 # Ok, let’s throw shit against the wall I doubt life allows me eight hours of work. So best is to commit to 6-7 hours of work. Saturday \u0026amp; Sunday are no longer work days. I want to be done by 3p. Bed by 8p. Up by 4a. (or 9p - 5a works just in case) I need to go drop the Better Half to work. That happens around 7a. Back by 8a So work 8a-3p? Sounds good. 2-3 hours to earn bread and butter, daily (consulting). That leaves me 4 hours to do devops pivot learning. Four hours to do Kubernetes / Terraform / Go / OSS? Realise that documenting and writing down progress also has to happen in these four hours Probably do them one after the other. (two at most. one for three days and one for two) 1. Do Fewer Things; 2. Work at a Natural Pace; 3. Obsess over Quality; 4. Know why (you’re doing them) Last thing just after work shutdown is to plan the next day This has given me loads of clarity. Now, let’s see how it goes. (Everyone has a plan until they get punched in the mouth) Note from the future (2025-01-08): Remember to pad your meeting times. By at least 15 minutes. You need to decompress / summarise what you just did / take time to cognitively shift. 2025-01-07 13:45 # Client Meeting 2025-01-07 15:00 # Tea time 2025-01-07 18:00 # Did my first long walk of the year Winding down the day now after making a plan for tomorrow 2025-01-07 18:35 # Spoke too soon.2 Client meeting. 2025-01-07 19:20 # Making a plan for tomorrow … Done! All open loops closed. I think :) “Schedule shutdown, complete” Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI picked this up from Howard Marks’, The Most Important Thing: “As I meet with clients and prospects, I repeatedly hear myself say, ‘The most important thing is X.’ And then ten minutes later it’s, ‘The most important thing is Y.’ And then Z, and so on.”\nAll told, the memo ended up discussing eighteen “most important things.”\n… but the fundamental notion is unchanged: they’re all important. Successful investing requires thoughtful attention to many separate aspects, all at the same time. Omit any one and the result is likely to be less than satisfactory.\nThat is why I have built this book around the idea of the most important things—each is a brick in what I hope will be a solid wall, and none is dispensable.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthe getting punched in the mouth part is real 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"7 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-07/","section":"Notes \u0026 Miscellanea","summary":"Trying to plan my days, continuing with Terraform basics","title":"2025-01-07 Notes","type":"nm"},{"content":" Goal # Get a Hetzner VM up and running using Terraform\n2025-01-06 10:33 # Is there a devops IDE? Can I use webstorm? Rapid reading/working through, Terraform Up and Running Also looking at Hetzner’s docs Shit! Forgot to look at my calendar! Need to go do tasks and roughly plan the day 2025-01-06 10:52 # Creating invoices for clients 2025-01-06 12:15 # Client Meeting 2025-01-06 15:15 # Meeting done. Tea time 2025-01-06 16:15 # Back to work Terraform Up and Running begins really, really well! installed hcloud on a lark. suspecting it might come in handy 2025-01-06 17:50 # Client Meeting 2025-01-06 18:05 # Back to Terraform 2025-01-06 18:27 # Installed Terraform. Used instructions on their site. Installed using their Ubuntu PPA Installed the Hetzner Cloud Terraform Provider made a detailed list of what i want my server to look like. whipped a .tf that’ll create a server on hetzner it worked! i couldn’t login, probably because I didn’t create a user. will try this tomorrow. it’s 8p. logging off. Feedback on this post?\nMail me at feedback at this domain. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"6 janvier 2025","externalUrl":null,"permalink":"/nm/2025-01-06/","section":"Notes \u0026 Miscellanea","summary":"Learning Terraform Basics","title":"2025-01-06 Notes","type":"nm"},{"content":"Finally figured out how to disable RSS feeds on a post by post basis.\nI needed to do this for my stream of consciousness / wip / progress notes in the Notes and Miscellanea section I did not want to disable the whole section, because some posts, I do want to leak out.\nWhat it boiled down to was getting the RSS template to ignore sites with some parameter set in the front matter. Most posts on the web do a rss_disabled: true or something to that effect.\nJoe Mooring over on the Hugo Discourse logically pointed out that I’d want such posts to be disabled in the sitemap as well, so I’d do well to just piggy back off of that.\nSo all I had to do was set the following in the my front matter\nsitemap: disable: true and then configure the embedded RSS template1 to just range through pages that didn’t have that parameter set, like so …\n{{- range where $pages \u0026#34;Sitemap.Disable\u0026#34; \u0026#34;ne\u0026#34; true }} The original line would’ve been something like\n{{- range $pages }} You’ll need to create a new feed file by copying the contents of the embedded template to a file called rss.xml in the layouts/_default/ directory\nOnce that’s done, all should be hunky dory.\nPosts with this frontmatter, will now no longer appear in RSS feeds or the sitemap.\nTo make things simpler, I edited this sections archetype, so that the next time I create a new Notes \u0026amp; Miscellenea post, all of this metadata is already set for me.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nIf you already have it defined in your theme, then override it.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"4 janvier 2025","externalUrl":null,"permalink":"/work/notes-now-has-no-rss-feed/","section":"Work","summary":"","title":"Notes Now Has No RSS Feed","type":"work"},{"content":"Moved this post to the work section, after bit of polishing.\n","date":"4 janvier 2025","externalUrl":null,"permalink":"/nm/notes-now-has-no-rss-feed/","section":"Notes \u0026 Miscellanea","summary":"","title":"Notes Now Has No RSS Feed","type":"nm"},{"content":" What do all the stars and daggers after the book titles mean?\nJanuary # The Boy, the Mole, the Fox and the Horse, Charlie Mackesy*¶ Number Go Up, Zeke Faux*† Dread Knight, Sarah Hawke* The Basic Laws of Human Stupidity, Carlo M. Cipolla† February # Romans in Space, Episode 412, The Rest is History, Tom Holland \u0026amp; Dominic Sandbrook*†# Just William, Richmal Crompton* Iron Widow, Xiran Jay Zhao* Empire Podcast, Series 5, Episodes 112–125, Empires of Iran, Part II*†# The Author Blog: Easy Blogging for Busy Authors, Anne R. Allen† Babel, R.F. Kuang* The Poppy War, R.F. Kuang* The Complete History \u0026amp; Strategy of Hermès, Season 14, Episode 2, Acquired Podcast*†# Nintendo’s Origins \u0026amp; Nintendo: The Console Wars, Season 14, Episodes 3 \u0026amp; 4, Acquired Podcast*†# March # The Poppy War, R.F. Kuang* The Dragon Republic, R.F. Kuang* The Burning God, R.F. Kuang* April # The Tainted Cup, Robert Jackson Bennett* Empire Podcast, Series 6, Episodes 128–132, Buddhism (The Indosphere Part I)*†# Foundryside, Robert Jackson Bennett* Shorefall, Robert Jackson Bennett* Locklands, Robert Jackson Bennett* Schaum’s Outline of French Grammar, Mary Coffman Crocker*‡ 5BX Plan, The Royal Canadian Air Force*‡ The Pixar Touch, David A. Price*† Empire Podcast, Series 7, Episodes 133–145, Queens and Empresses*†# The Romance of Lust: A Victorian Erotic Novel, Anonymous Sherlock \u0026amp; Co. Podcast, Episodes 1–15*# May # Sherlock \u0026amp; Co. Podcast, Episodes 16–35*# Empire Podcast, Episodes 148–155, America: The Empire of Liberty*†# The Dagger and the Coin - 01 - The Dragon’s Path, Daniel Abraham* The Well-Trained Mind: A Guide to Classical Education at Home, Susan Wise Bauer*† The Bed of Procrustes, Nicholas Nassim Taleb*¶† June # How Git Works, Julia Evans*‡ The Programmer’s Brain, Felienne Hermans*† The Dagger and the Coin - 02 - The King’s Blood, Daniel Abraham* The Dagger and the Coin - 03 - The Tyrant’s Law, Daniel Abraham* The Dagger and the Coin - 04 - The Widow’s House, Daniel Abraham* The Dagger and the Coin - 05 - The Spider’s War, Daniel Abraham* The Tiger, John Vaillant*† Troll Mountain, Matthew Reilly* The Phoenix Project, Gene Kim, Kevin Behr \u0026amp; George Spafford*† Sherlock \u0026amp; Co. Podcast, Episodes 36–41*# Empire Podcast, America’s Founding Fathers \u0026amp; the American Revolution, Episodes 146–159 *†# A Good Girl’s Guide to Murder, Holly Jackson 90 Common French Phrases Every French Learner Should Know, Frederic Bibard‡ How to Hide an Empire, Daniel Immerwahr*† How to Fail Miserably at Writing, Giselle Renard† The Colour of Magic, Terry Pratchett* Tarzan of the Apes, Edgar Rice Burroughs* The Return of Tarzan, Edgar Rice Burroughs* The Beasts of Tarzan, Edgar Rice Burroughs* The Girl Who Would Be Free, Ryan Holiday* The Rest is History, Titanic, Episodes 427–432*† Empire Podcast, American Imperialism, Episodes 160–169 *†# July # HIM, Geoff Ryman Mr. Einstein’s Secretary, Matthew Reilly The Peripheral, William Gibson The Rest is History, Fall of the American Indigenous Peoples, Episodes 446–456*†# August # Podman in Action, Daniel Walsh*‡ Painless Tmux, Nate Dickson*‡ Hardcore History, Mania for Subjugation, Episode 71*† The Rest is History, The Road to The Great War, Episodes 465–474*† The Steerswoman, Rosemary Kirstein* The Outskirter’s Secret, Rosemary Kirstein* The Lost Steersman, Rosemary Kirstein* The Language of Power, Rosemary Kirstein* Guns \u0026amp; Thighs, Ram Gopal Varma Business Maharajas, Gita Piramal*† Complete Digital Photography, Ben Long*‡ The Rest is History, The French Revolution (Part I), Episodes 475–482*† Milestones: The Story of Wordpress, The Wordpress Team† Aurelia, Minerva Spencer* Empire Podcast, The Bengal Famine of 1942, Episodes 170–171 *†# Three Million, The Bengal Famine of 1942, Episodes 0-7 *†# A Christmas Gone Perfectly Wrong, Cecilia Grant A Lady Awakened, Cecilia Grant A Gentleman Undone, Cecilia Grant A Woman Entangled, Cecilia Grant The Cabinet of Dr. Leng, Douglas Preston \u0026amp; Linconln Child Angel of Vengeance, Douglas Preston \u0026amp; Lincoln Child September # Empire Podcast, American Imperialism, Episodes 172–178*†# Empire Podcast, The Indosphere, Episodes 179–185*†# Powerful Command-Line Applications in Go, Ricardo Gerardi*‡ The Rest is History, The Hundred Years’ War Part I, Episodes 485–490*† Empire Podcast, Scotland \u0026amp; Empire, Episodes 186–189*†# October # Head First Go, Jay McGavren*‡ The Rest is History, The Roman Conquest of Britain, Episodes 499-502*† All Systems Red, Martha Wells* Artificial Condition, Martha Wells* Rogue Protocol, Martha Wells* Exit Strategy, Martha Wells* Network Effect, Martha Wells* Fugitive Telemetry, Martha Wells* System Collapse, Martha Wells* Grit, Angela Duckworth† The Art of Resilience, Ross Edgley*† When the World Screamed, Arthur Conan Doyle* The Disintegration Machine, Arthur Conan Doyle* The Lost World, Arthur Conan Doyle* The Captain of the Polestar, Arthur Conan Doyle* Playing With Fire, Arthur Conan Doyle* How It Happened, Arthur Conan Doyle* One Crowded Hour, Arthur Conan Doyle* The Fall of Lord Barrymore, Arthur Conan Doyle* Dreams With Sharp Teeth, Harlan Ellison \u0026amp; Erik Nelson*†# A Rare Benedictine, Ellis Peters* A Morbid Taste for Bones, Ellis Peters* Once Corpse Too Many, Ellis Peters* Monk’s Hood, Ellis Peters* Saint Peter’s Fair, Ellis Peters* The Leper of Saint Giles, Ellis Peters* The Sealed Room, Arthur Conan Doyle* The Lost Special, Arthur Conan Doyle* The Sanctuary Sparrow, Ellis Peters* Github Actions in Action, Michael Kaufmann, Rob Bos \u0026amp; Marcel de Vries‡ Strange Beasts, Susan J. Morris* Death on the Nile, Agatha Christie* Powerful Command-Line Applications in Go, Ricardo Gerardi*‡ Murder in Mesopotamia, Agatha Christie* The Devil’s Novice, Ellis Peters* Dead Man’s Ransom, Ellis Peters* The Pilgrim of Hate, Ellis Peters* November # Murder on the Orient Express, Agatha Christie* An Excellent Mystery, Ellis Peters* The Raven in the Foregate, Ellis Peters* The Rose Rent, Ellis Peters* The Hermit of Eyton Forest, Ellis Peters* The Confession of Brother Haluin, Ellis Peters* The Heretic’s Apprentice, Ellis Peters* The Potter’s Field, Ellis Peters* The Mystery of the Blue Train, Agatha Christie* Evil Under the Sun, Agatha Christie* Five Little Pigs, Agatha Christie* Hercule Poirot’s Christmas, Agatha Christie* The Murder of Roger Ackroyd, Agatha Christie* The Murder on the Links, Agatha Christie* Lord Edgeware Dies, Agatha Christie* Sad Cypress, Agatha Christie* After the Funeral, Agatha Christie* The A.B.C. Murders, Agatha Christie* December # Peril at End House, Agatha Christie* How to Sell a Book, David Kadavy*† Appointment with Death, Agatha Christie* Cards on the Table, Agatha Christie* Three Act Tragedy, Agatha Christie* Death in the Clouds, Agatha Christie* The Summer of the Danes, Ellis Peters* Sherlock \u0026amp; Co. Podcast, The Sign of Four (The Entirety of Season 22, on iTunes Podcasts)*# Taken at the Flood, Agatha Christie* One, Two, Buckle My Shoe, Agatha Christie* The Adventure of the Christmas Pudding, Agatha Christie* The Mysterious Affair at Styles, Agatha Christie* Elephants Can Remember, Agatha Christie* Mrs McGinty’s Dead, Agatha Christie* Dead Man’s Folly, Agatha Christie* The Blaft Anthology of Gujarati Pulp Fiction, Vishwambhari S. Parmar \u0026amp; Rakesh Khanna* Sherlock \u0026amp; Co. Podcast, The Three Gables (Season 23 on iTunes, Episodes 1-3)*# Morgan’s Run, Colleen McCullough* The Count of Monte Cristo, Alexandre Dumas* The Little Prince, Antoine de Saint-Exupéry* The Song of the Bird, Anthony de Mello* Brave Enough, Cheryl Strayed* ","date":"31 décembre 2024","externalUrl":null,"permalink":"/reading/2024/","section":"Reading","summary":"All the Titles from 2024","title":"2024","type":"reading"},{"content":"I have begun reading Bryant, Halloran \u0026amp; Tahiliani’s, Computer Systems, A Programmer’s Perspective.\nNotes and thoughts as i follow the book …\n2024-12-30 17:04 # Learnt about the origins of the word “context”. The original domain was the os (kernel) context-switching between tasks and saving the context it needed (register state, contents of memory) before it made the actual switch Boolean logic. Blech. I thought I was done with boolean stuff. I think I can handle most of the operators mentally. It’s just xor that always trips me up ","date":"30 décembre 2024","externalUrl":null,"permalink":"/nm/computer-architecture/","section":"Notes \u0026 Miscellanea","summary":"","title":"Computer Architecture","type":"nm"},{"content":"","date":"30 décembre 2024","externalUrl":null,"permalink":"/categories/notes-and-miscellasnnea/","section":"Categories","summary":"","title":"Notes-and-Miscellasnnea","type":"categories"},{"content":"Will this work in a pinch?\n","date":"29 décembre 2024","externalUrl":null,"permalink":"/nm/hugo-phone/","section":"Notes \u0026 Miscellanea","summary":"","title":"Hugo Post from a phone","type":"nm"},{"content":"Need to find a way to get Forgejo to build Hugo on my self hosted Forgejo instance and then deploy it with rsync to my remote vm\nI want to do live deploys from anywhere. so just adding an md to source control and it should automatically deploy.\nThat was thing one.\nThing two, is to avoid what I am currently doing.\nRunning hugo build and then rsyncing the output every 30s. I don’t want to stress my vm’s storage like that.\nBut I also want these stream of consciousness notes to get published as I keep typing them. (very micro pub like …)\nTemp list … # Got too impatient and need to start this asap. Everything else depends on it. So my dream of entirely provisioning the new NUC with ansible is on hold. I need that machine up and running right now. Get Hugo into version control Robots! Can I disable a section (this section) of the site from being crawled by robots? Figure out how to deploy an rsync thing first The fastest and fastest thing would have been to just do this script at home while live reloading, but then I cannot do the edit and publish from anywhere Speaking of anywhere, I’ll need to have an instance of forgejo running somewhere more stable. Homelab internet toppled and fell over, early this month and then again this Christmas. Cannot have that happening when I am out and about again. 2024-12-28 17:40, Get some simple action working in Forgejo # Trying to get the instructions from step 6 here into a workflow 2024-12-28 20:44 # Still struggling. Got distracted a bit as well Using Claude now, to help beat my gibberish into shape 2024-12-29 10:15 # New day, let’s continue tinkering 2024-12-29 13:56 # Got it working, I did! This is such a relief. This workflow (rather the lack of it) has been such a roadblock to everything I wanted to do. Because I need to be able to to this … this crazy write/think/write/think cycle and there was too much friction in the way. Here’s to so much more learning in the new year ","date":"28 décembre 2024","externalUrl":null,"permalink":"/nm/forgejo-experiments/","section":"Notes \u0026 Miscellanea","summary":"","title":"Hugo and Forgejo Experiments","type":"nm"},{"content":"Notice: If you’ve come here because of a web search, please don’t read further.\nThere’s nothing useful here. I need to find a way to get this section of the site unindexed by robots\n2024-11-22 08:00 # Wowza, I started right on time!\n2024-11-22 08:01 # Ok I did not want to sully that perfect heading. So all the crazy starts at some odd time. You know … like a minute later I’m supposed to be packing for vacation. Which basically means, begging the better half to do it. And reminding her of things we need. I am an absolutely terrible packer. And I have an absolutely loving family. I have never had to worry about how things go into the bag. I cannot work on the script. It demands a lot of focus and attention. So I’ll do something that I can somehow make tiny progress on, while multitasking Like trying to move my blog into my Forgejo instance. and then have it automatically publish my posts. Which basically means, I have to abandon my plans of automating all that stuff with Ansible. I’ll get to it. Just later and setup that Pi and have a runner on another machine (one of my other Pis? Or desktops?) And see what happens We’ll know one way or the other by the end of today Why? because I’m tired of typing these posts into a remote terminal daily. I want my Mint and I want my GUI Emacs. And I want something to then automatically do the rest of the grunt work. On y va! 2024-11-22 08:21 # /home/jess/blogs/jw in your ~/.tmux.conf to enable mouse support to click between panes and other mousy stuff. Just did this. I was driving me batty otherwise How do I watch a bash script? hmmpf. never mind. this is for later Grr. ok I should just look it up watch -n N ./path-to-your-script where N is time in seconds. Hopefully this quiets the monkey brain 2024-11-22 08:37 # What do i think i need to do? Get a Forgejo runner installed Put all my Hugo stuff in source control (the hard part) Figure out an action that autopublishes the blog on a push? Figure how to integrate all of the above, to my liking Success! 2024-11-22 08:41 # Ok need to go delete an Amazon free tier account I was using to learn devops 2024-11-22 09:01 # Well, that was surprisingly easy! Now to wait for any pending dues. There shouldn’t be any. (or much) 2024-11-22 09:07: Created a tiny snippet in Espanso for these dates and times 2024-11-22 09:09: Let’s see if it works Just realised the whole blogging workflow is now so hacky and organic that it’s going to be difficult to explain to anyhow how I write and publish 😂 2024-11-22 09:12: Coffee break 2024-11-22 09:54 # Back from coffee break Now trying to get a forgejo runner up trying to get used to the dull headache that I get with intermittent fasting at the same time Hurrah! Forgejo runner installed. Now to getting it configured and working with Forgejo. I’m cargo culting the instructions, on a newly installed debian pc, without reading the prerequisites that are probably given somewhere. I keep stumbling into stuff that is not installed as I go throgh the instructions. I needed curl, then jq and then gpg. Now I need docker. Grr. Off to do docker Alright. Docker’s installed and post-installation steps done! Got my tiny debian minipc registered as a runner. Note to self: the runner user needs to be part of the docker group as well getting my main desktop registered as runner as well, just in case I want to run some intensive job. (and for the added practice) done! 2024-11-22 10:55 # some kubernetes administrative work 2024-11-22 11:13: break 2024-11-22 11:53: off to do some bank stuff 2024-11-22 12:45: back. lunch. nap 2024-11-22 14:40 # Back for a teensy bit. Let’s see what I can get done Trying to get forgejo working with ssh. somehow i cannot git clone repos, down to my machine Figured it out. All because the router was not forwarding port 22 in to Forgejo Trying to add my blog to git now. piece by piece. learning to git submodule add … now that the themes are children of a git repo move over. everything seems to be working. tryin to poke at actions now got test actions working! woohoo! stage is set for me to do my actions now. but that will take time and thinking. something for another day. time to go. ","date":"22 novembre 2024","externalUrl":null,"permalink":"/nm/trying-to-get-hugo-deploy-automatically/","section":"Notes \u0026 Miscellanea","summary":"Work and progress on the day before the day, your vacation begins","title":"Trying to Get Hugo Deploy Automatically","type":"nm"},{"content":" 2024-11-20 10:23 # Getting to work Idea: I need to get my Hugo to Gitea to website chain up and running I’m tired of remote tmux panes to write these posts Ok, checked org agenda. seem to have done everything. let’s start with Derb to ReDerb once i have my tmux reference handy, tmux doesn’t seem so hard. 2024-11-20 10:41 # ok got lost in reddit now i will really work reading https://12factor.net/ now back to Goland 2024-11-20 11:53 # got distracted. just noting the time. caught myself viper returns things as type any. if i want a string, i should do viper.GetString instead of plain ole viper.Get 2024-11-20 16:26 # Back from lunch and a nap and tea. I should be more intentional about when i stop though. I was pencils down at 1p me thinks break. 2024-11-20 17:32 # made quite a bit of progress learned how to get a base folder leearned that slices are what lists are in python very slowly getting the hang of putting in types ","date":"20 novembre 2024","externalUrl":null,"permalink":"/nm/from-derb-to-rederb-2024-11-20/","section":"Notes \u0026 Miscellanea","summary":"","title":"From Derb to ReDerb, 2024-11-20","type":"nm"},{"content":"Moving my audiobook feed generation script from Derb to ReDerb\nJust journalling stuff along the way\n2024-11-19 15:51 # I’m learning Go ya’ll! Once I finish this tiny real world project of mine, will try doing some structured DIY things from a book Go the language I learned (in theory) seems to be very different from Go the code I see everywhere. Don’t know why. Python wasn’t like that. (until I came across typed Python that is). I mostly attribute all of this to my ignorance Did a huge copy pasta of code from various sources and a couple of llms over the past few days Obviously nothing is working. Trying a code paste here just for kicks print(\u0026#34;Hello World\u0026#34;) Now what? I get dstracted so often! This notes thing is an attempt to keep me focussed. Reminder: I need to figure out Ansible asap, so I can get the posts to code repo to automatically deploy to blog via rsync pipeline working So many things to learn! I’m going to go nuts for sure How do other people know what they want to do, and then focus on it? So many good tech books to read and learn! Python plugins libraries \u0026gt; Go plugins libraries Rather, I think, they’re much better documented. Or maybe Go stuff is not documented for people like me. How do I get to be like them? Folks who can read the stuff that’s written and just grok it? How do I get from here to there? It’s been this crazy fantasy of mine, that whenever I write somethingh it will be well documented. My own shabby scripts tell me, this is not the case. Future Jason is generally stressed and strapped for time. I should remember to make things easy for him I need to implement search on the blog. I’ve gotten tired of searching my own words with DuckDuckGo and Google Oh I need to get back to my script 2024-11-19 16:54 # All of Aditi “Dot” Saigal’s songs from the Archies Soundtrack on loop\nAsymmetrical, The Dear Diary Tracks (June, July, September and October.)\nAnd Plum Pudding, though she’s not on there (or is she? I don’t know)\nI love the entire soundtrack! Though I just focus when I loop Aditi’s songs Idea: I want to whip up some script to post these posts as an #mjbBabbles thing on my Mastdodon Feed Ok going back to work on the script 2024-11-19 17:06 # Ok brief note. Why am I rewriting in Go? Or learning Go? Distribution. Easier to deal with a single executable rather than environments and other dependencies.\nUpdate 2024-11-21: Apparently even Fabrice Bellard thinks similarly Ok, now back to work in earnest 2024-11-19 17:21 # 😭 2024-11-19 18:09 # I just spend the last however many minutes futzing around on the web. 2024-11-19 18:23 # Still distracted. Script related thought: I’m just going to duplicate what I did in Python in Go. However terribly. Idioms and Fluency are for future Jason to tackle. 2024-11-19 18:34 # figured out how to read in environment variables, all over again, because I forgot what I did yesterday and day before. Note: my script does not like file names with spaces I can wrap them in quotes and then it works it’s miscellanea and dependecies 2024-11-19 18:56 # Got Dale Carnegie’s, How to Stop Worrying and Start Living as my guinea pig audiobook Long time since I heard it anyway. Puddletagged everything correctly Note: Figure out where Go programs put their user supplied config and furthermore, how do they store their config\nHardcoding a location to put in my env files for now. Ok Claude tells me I need to use Viper so going back to read env files again. sigh Note: Read some Viper docs 2024-11-19 19:30 # Did a quick and dirty read of the Viper docs and some Claude llm jugglery to figure out why it didn’t pick up my conig path Got it working godotenv is now replaced by viper. the idea is to give the user (me) a couple of logical places for the config to exit Does it have to be an env file? Let me not overcomplicate this now Enough for today. More work tomorrow. For a solo autodidact like me, working mostly in isolation, llms are a boon. It’s like having a more experienced colleague tell you things. They could be wrong, but at least I have a general direction to point the boat in. I’ll try to be intentional about using it sparingly though.\nFinding actual people who are willing to help is hard, specially considering the fact that I hate imposing on people. I found the Gopher slack and the Go Discourse Forums and I’ll try using them too. I use the Hugo Discourse and it’s a treasure trove of knowledge. ","date":"19 novembre 2024","externalUrl":null,"permalink":"/nm/2024-11-19-go-rederb-thoughts/","section":"Notes \u0026 Miscellanea","summary":"Notes as I work on moving my audiobook feed creation script from Python to Go","title":"From Derb to ReDerb, 2024-11-19","type":"nm"},{"content":"","date":"29 septembre 2024","externalUrl":null,"permalink":"/tags/code/","section":"Tags","summary":"","title":"Code","type":"tags"},{"content":"\nI never had the time to deal with my Espanso1 hijinks until today.\nWhile it worked perfectly, when I installed it all those years ago, when I migrated over from the Mac, Espanso itself has changed and evolved over the years.\nIt took over my old configuration like a champ and mostly worked, with the exception of a few shortcuts; ones that I frequently used 😂\nEmacs was one application of mine that never quite worked right with Espanso.\nI’d frequently get timed out waiting for reply from selection owner whenever I tried expansions in there. Typing :joy to get 😂 would work in every other program, but no joy with Emacs, in additon to plenty of other expansions err … not expanding.\nAll my browser url expansions would not expand properly either, with mangled expansions most of the time.\nSo today I dove in to the docs, and realised two things.\n1. My emacs needed a longer time out\n2. Espanso now tries to identify the kind of text, and maybe those were causing my issues?\nEmacs # I realised I needed a longer clipboard threshold, only for Emacs.\nSo I created an App specific configuration, just for Emacs to use and gave it said option. Here’s what the contents of my espanso/config/emacs.yml look like\nfilter_class: \u0026#39;Emacs\u0026#39; clipboard_threshold: 10000 Rich Text Expansions # That helped with a lot of expansions in Emacs, but not with my joy expansion.\nAnd not with stuff that were links and oh … links! and html! and markdown! Could those be the culprits?2\nThe docs mention that Espanso now has rich text support\nWhat that means, is that the trigger nows supports two new keywords html and markdown in addition ye ole replace So I changed most of my affected shortcuts to either of those two keywords; markdown for most everything and html for linky stuff. Here’s what my beloved joy looks like now …\nmatches: - trigger: \u0026#34;:joy\u0026#34; markdown: 😂 And those two things did it! Every shortcut expands everwhere! What joy 😂\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nEspanso lets you assign short snippets of text to longer streams of text, that you’d frequently use. I use :adhx for example, and it expands out to type my whole address. Pretty handy!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\ndun! dun! dun! they were!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"29 septembre 2024","externalUrl":null,"permalink":"/work/fixing-espanso-expansions/","section":"Work","summary":"Text used to not g","title":"Fixing Espanso Expansions","type":"work"},{"content":"‘Romeo, Romeo! Wherefore art thou Romeo?’\n(Romeo and Juliet, Act 2, Scene 2)\n","date":"28 septembre 2024","externalUrl":null,"permalink":"/work/testing-opengraph-logo/","section":"Work","summary":"J, Where art thou?","title":"Testing Opengraph Logo","type":"work"},{"content":"Setup a new instance of Forgejo for myself today.\nThe first thing I felt, was … instant relief.\nI didn’t realise just how much cognitive discomfort I was feeling, because Github was the only place I had all my code. As well as mirrors/forks of all the stuff I loved.\nI’m going to slowly move over to my little Forgejo instance as I learn more.\nRight now I’ve set up pull mirrors for all the projects I love. Next step is to figure out how to automate my Hugo blog deployment and more importantly; having all my posts in source control.\nFeedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"28 septembre 2024","externalUrl":null,"permalink":"/work/forgejo/","section":"Work","summary":"Light up the forge!","title":"Forgejo","type":"work"},{"content":"","date":"28 septembre 2024","externalUrl":null,"permalink":"/tags/git/","section":"Tags","summary":"","title":"Git","type":"tags"},{"content":"","date":"28 septembre 2024","externalUrl":null,"permalink":"/tags/heuristics/","section":"Tags","summary":"","title":"Heuristics","type":"tags"},{"content":" Anything I want folks to see and/or interact with, goes on the public VM Anything I want to host for myself, goes on the Pi. Feedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"28 septembre 2024","externalUrl":null,"permalink":"/work/smol-note-to-self-on-deploying-stuff/","section":"Work","summary":"This goes here, that goes there","title":"Smol Note to Self, on Deploying Stuff","type":"work"},{"content":"J\u0026rsquo;ai créé une petite extension Anki pour m\u0026rsquo;envoyer des notifications Pushover pour les cartes qui sont à réviser.\nTrouvez l\u0026rsquo;extension et les instructions sur Github\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"21 janvier 2024","externalUrl":null,"permalink":"/fr/work/creating-a-tiny-pushover-addon-for-anki/","section":"Le Travail","summary":"Notifications! Notifications! Notifications! Notifications!","title":"anki-push-u, Créer une extension Pushover pour Anki","type":"work"},{"content":"","date":"21 janvier 2024","externalUrl":null,"permalink":"/fr/work/","section":"Le Travail","summary":"","title":"Le Travail","type":"work"},{"content":"","date":"21 janvier 2024","externalUrl":null,"permalink":"/fr/categories/le-travail/","section":"Categories","summary":"","title":"Le-Travail","type":"categories"},{"content":"","date":"21 septembre 2024","externalUrl":null,"permalink":"/tags/anki/","section":"Tags","summary":"","title":"Anki","type":"tags"},{"content":"","date":"21 septembre 2024","externalUrl":null,"permalink":"/tags/pushover/","section":"Tags","summary":"","title":"Pushover","type":"tags"},{"content":"\nHard at work, on the site\nClick the image, to embiggen\nIf you look at the site today, you’ll see that ye olde blog section has disappeared.\nI’ve replaced it with three sections, Work, Personal and Reading.\nI’ve done this primarily for me.\nWhile I want all my writing in one place, I want them organised in piles that correspond with the three major modes of my brain.\nWork to hold everything I consider work.\nReading for the bookworm in me.\nAnd finally personal for everything else.\nThe problem (my problem, in my mind) with the old blog was too much mental whiplash when I read the blog. I would go from poetry to docker to antifragility to photos with every turn of the page.\nI didn’t like it.\nErgo, the reorganisation.\nEvery one in their own pretty place now.\nClick the image, to embiggen\nSo now, whenever I am browsing my posts in the work section, I see only tech, and computers and docker and programming and all that good stuff.\nSame with the personal stuff and the reading.\nHow does this affect you, my kind and gentle reader? # If you are a subscriber to the email list, nothing changes. I know I’ve been lax with updates, but hopefully this reorg should break up the log jam and help me write more. If you just come here to the site, once in a while to read through, hopefully, you’ll find it easy just like me, to read posts without too much cognitive whipsawing. And finally, if you subscribe via RSS, you my friend are probably affected.\nThe main feed, with all articles, still remains the same, so if you drink from the firehose, nothing changes.\nIf you’re subscribed to a tag specific feed, like Emacs or DGPLUG, nothing changes.\nThe only change is that the blog feed has disappeared. In its place are three spanking new feeds, representing my new sections. The Work Feed The Personal Feed The Reading Feed And that about does it. Happy Reading! Feedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"14 septembre 2024","externalUrl":null,"permalink":"/work/some-site-housekeeping-new-sections-and-rss-feeds/","section":"Work","summary":"The blog is dead! Love live the new sections!","title":"Some Site Housekeeping (New Sections and RSS Feeds)","type":"work"},{"content":"\nAbby and me, sittin in a tree, c-l-o-w-nin-g!\nPicture credit, Priyanka Saggu\nClick the pic, to make big!\nGrow old with me, the best is yet to be … Feedback on this post?\nMail me at feedback at this domain or [continue the discourse here][3]. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"10 septembre 2024","externalUrl":null,"permalink":"/personal/13-grow-old-with-me/","section":"Personal","summary":"Grow old with me, the best is yet to be …","title":"13 (Grow Old With Me)","type":"personal"},{"content":"","date":"19 août 2024","externalUrl":null,"permalink":"/tags/100wordhabit/","section":"Tags","summary":"","title":"100WordHabit","type":"tags"},{"content":" Update, 2024-08-20:\nAdded a missing step, to install the qBittorrent files to their relevant places\nAlso, it had to happen. No releases for close to three months and then just as I learn to compile, a new version has to release the very next day 😂\nIt gave me a chance to test my notes. It hardly took me a few minutes to get the new release in place. So all is good!\nA compilation of letters, courtesy Cosmos\nI wanted to always have the lastest stable version of qBittorent on my Pi.\nSo today, I sat down and followed the project’s excellent instructions and got it running.\nI did however stray off the beaten path a teensy bit1.\nI didn’t want a gui and I wanted to be able to control it with systemd.\nSo here’s my checklist for next release. I’m currently running Bookworm on my Pi 5\nIn case you run into problems, compile instructions are here: https://github.com/qbittorrent/qBittorrent/wiki/Compilation-Debian,-Ubuntu,-and-derivatives\nDo all off this after switching to root. (or sudo)\nInstall build tools\nsudo apt install build-essential cmake git ninja-build pkg-config libboost-dev libssl-dev zlib1g-dev libgl1-mesa-dev\nInstall Qt dependencies (qtbase5-private-dev is not part of the instructions, but compile will fail if you don\u0026rsquo;t include it)2\nsudo apt install --no-install-recommends qtbase5-dev qtbase5-private-dev qttools5-dev libqt5svg5-dev\nQt requires Python at runtime, so: sudo apt install python3\nInstall the libtorrent library. I compiled from source. Check page for fresh instructions, if stuff here doesn’t work\ngit clone --recurse-submodules https://github.com/arvidn/libtorrent.git cd libtorrent git checkout RC_2_0 # or a 2.0.x tag cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local cmake --build build -j4 # the -j4 is to do on four cores at once. my addition. sudo cmake --install build If you ever want to uninstall libtorrent, then don’t delete this main folder. The build process would have created a install_manifest.txt in the build folder. So you can then uninstall with: sudo xargs rm \u0026lt; install_manifest.txt\nGet qb source: https://www.qbittorrent.org/download.\nUnzip: tar xzvf qbittorrent-4.6.5.tar.gz and then cd qbittorrent-4.6.5/\nCreate Build configuration (disabled GUI and enabled systemd. Those aren’t part of the defaults)\ncmake -G \u0026quot;Ninja\u0026quot; -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local -DGUI=OFF -DSYSTEMD=ON\nBuild cmake --build build\nInstall all the files to their relevant locations cmake --install build\nInstall service to run for a specific user.\nsystemctl daemon-reload systemctl enable qbittorrent-nox@\u0026lt;some-user\u0026gt;.service systemctl start qbittorrent-nox@\u0026lt;some-user\u0026gt;.service We’re done.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nwhich the project does make provisions for.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nTarget \u0026quot;qbt_base\u0026quot; links to: Qt::CorePrivate but the target was not found. or words to that effect\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"19 août 2024","externalUrl":null,"permalink":"/work/notes-to-self-on-compiling-qbittorrent-on-a-raspberry-pi-5/","section":"Work","summary":"Testing … Mr. Watson, come here, I want you. It works!","title":"Notes to Self, Compiling Qbittorrent on a Raspberry Pi 5","type":"work"},{"content":"","date":"19 août 2024","externalUrl":null,"permalink":"/tags/raspberry-pi/","section":"Tags","summary":"","title":"Raspberry Pi","type":"tags"},{"content":"\nYou haven’t changed a bit in all the ways that matter!\nAnd so …\nHaply I think on thee, and then my state,\n(Like to the lark at break of day arising\nFrom sullen earth) sings hymns at heaven’s gate;\nFor thy sweet love remembered such wealth brings\nThat then I scorn to change my state with kings.\n— The Bard (as rendered by the Dench)\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"6 juillet 2024","externalUrl":null,"permalink":"/personal/happy-birthday-abbygail-3/","section":"Personal","summary":"Happy Birthday, Abbygail!","title":"Happy Birthday Abbygail","type":"personal"},{"content":"\nClick the image to see the much larger, original\nIf thou hast two loaves of bread, sell one and buy flowers,\nfor bread is food for the body,\nbut flowers are food for the mind.\n— Galen of Pergamon\nHearts starve as well as bodies: Give us Bread, but give us Roses.\n— James Oppenheim\nReading this beautiful conversation on Tumblr, led to this lovely page on Wikipedia.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"22 juin 2024","externalUrl":null,"permalink":"/personal/bread-and-roses/","section":"Personal","summary":"Bread and Roses","title":"Bread and Roses","type":"personal"},{"content":"","date":"22 juin 2024","externalUrl":null,"permalink":"/tags/quotes/","section":"Tags","summary":"","title":"Quotes","type":"tags"},{"content":"","date":"20 juin 2024","externalUrl":null,"permalink":"/tags/discipline/","section":"Tags","summary":"","title":"Discipline","type":"tags"},{"content":"","date":"20 juin 2024","externalUrl":null,"permalink":"/tags/pacing/","section":"Tags","summary":"","title":"Pacing","type":"tags"},{"content":"","date":"20 juin 2024","externalUrl":null,"permalink":"/tags/perseverance/","section":"Tags","summary":"","title":"Perseverance","type":"tags"},{"content":"That is what I should have called, yesterday’s post.\nPace yourself!\nBe disciplined.\nShow up.\nDo the work.\nAnd know when to quit.\nAnd in more serendipitious bathing and reading hijinks I came across several folks who resonated with that thought. Slowly pacing yourself and doing the work, leads to big things.\nHere’s Ryan Holiday, in 37 (Or So) Lessons From A 37 Year Old.\nI struggle with calibrating how to have high standards without hanging oneself on them. Of course, deciding willy-nilly what time you start each day is a recipe for slowly, steadily drifting towards starting later and later. On the other hand, sweating five minutes here or there—especially when what you’re rushing through is school dropoff or traffic that’s outside your control—is a recipe for misery and missing the point. A book, for instance, is a project that takes months and years. Pace yourself accordingly.\nAnd Cory Doctorow in his very, popular Memex Method\nThese repeated acts of public description adds each idea to a supersaturated, subconscious solution of fragmentary elements that have the potential to become something bigger. Every now and again, a few of these fragments will stick to each other and nucleate, crystallizing a substantial, synthetic analysis out of all of those bits and pieces I’ve salted into that solution of potential sources of inspiration.\nThat’s how blogging is complimentary to other forms of more serious work: when you’ve done enough of it, you can get entire essays, speeches, stories, novels, spontaneously appearing in a state of near-completeness, ready to be written.\nAnd then there’s Cal Newport with his Slow Productivity.\nI don’t even need his words to describe what he does. I have followed him and his output long enough to know his modus operandi.\nThe only thing I don’t know is how he latches on to some topic.\nBut once that happens, he starts blogging about it. (and now talking about it on the pocdast).\nHis very popular Deep Work was published around 2016. A cursory search for the word “deep” in his blog archive will show you what I’m talking about. You can see him writing, thinking, refining and coming to the core of what he wants to convey.\nFurther refinement happens over on his New Yorker column.\nAnd then finally, after all that slow, steady drumbeat of work comes the book.\nSmall wonder, they then turn out to be evergreen titles.\nSo there! Like Cal espouses,\n1. Do fewer things.\n2. Work at a natural pace.\n3. Obsess over quality\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"20 juin 2024","externalUrl":null,"permalink":"/personal/several-corroborative-thoughts-on-pacing-yourself/","section":"Personal","summary":"Just Keep Swimming","title":"Several Corroborative Thoughts on Pacing Yourself","type":"personal"},{"content":"\nRain lilies, from Abby’s tiny window garden.\nThey bloom only around this time of the year, on the onset of the monsoon.\nClick the pic, for a bigger image\nI love to write.\nCorrection, I need to write.\nWriting helps me think, to be deliberate about things, to slow down.\nAt the same time, writing is also a slow, plodding process for me. Every post seems to take forever. So many years of doing it and it does not get any easier.\nI agonise over what I want to say, the picture or quotes I want to include, the overall arc of my thoughts, the structure, everything has to be just so.1\nI’ve lowered the bar, to build consistency, with my #100WordHabit and now I have a new problem. First, I could not get started, and now I cannot stop once I get started.\nI just have to finish my thoughts, my post, and that sometimes takes hours.\nWhich brings me back to me not wanting to start, for the fear that nothing else (that are in fact, more important) will get done.\nThis in turn, brings me to the brainwave I had a couple of days ago, in the bath.2\nThe pressure comes from wanting to publish what I write, the day I write.\nWhat if, I didn’t?\nNothing has to change. With the exception of a hard stop.\nOne hour.\nOne hour to write and publish.\nOr one hour to write and then put my pencil down.\nAnd then I can come back to it the next day.\nYesterday’s post was the result of this approach.\nI wrote it over two days, in two one hour sessions.\nVery like Abby’s rain lillies up up above. They are prepping through the year, to bloom at this time, every time. Just because I cannot see it, does not mean nothing’s happening\nOne downside, that I potentially see, is that I will use this as an excuse to slack.\nI hope I don’t.\nBut then on the other hand, without a pressure control valve like this, I can very easily see myself burning out again.\nSo let’s see how this goes.\nI’m betting on me being a rain lily.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nThe end result might not be any good, but my mind needs to be satisfied, that all is to its liking and that I did the best I could\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nDon’t we all?\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"19 juin 2024","externalUrl":null,"permalink":"/personal/note-to-self-my-new-heuristic-for-blogging/","section":"Personal","summary":"Write slower","title":"Note to Self, My New Heuristic for Blogging","type":"personal"},{"content":"\nThis is how I imagine diary float entries in Emacs.\nPhoto courtesy, noah eleazar on Unsplash\nI finally went ahead and read about what Emacs Diary S-expressions were.\nGoing back, a bit.\nI make heavy use of Org Mode’s deadline and scheduling features.\nI put schedules and deadlines in lots of tasks across my ten or so org files, so that I can look at them every week, to decide what I’ll be doing this week as well as to review at the beginning of every month.\nTo wit, there are plenty of tasks that repeat on a weekly and monthly cadence, and Org’s repeaters.\nBut1, there’s one kind of event I have, that Org doesn’t support quite well.\nIf I want something on, let’s say the second Friday of every month, there’s no easy way to describe / do that with Org.\nOrg defers to Emacs’ native Diary Mode to do something like this.. Ok, not defers, but it supports Diary expression entries with a few caveats.\nNow those were scary when I first saw them, which is why I kicked the can down the road, and decided to just live with manually making entries for the second Friday of every month.\nA year of doing this, and I’ve finally had enough. So I finally went ahead and read about what Emacs Diary S-expressions were.\nClick the pic to see a larger version of the chicken scratch\nOnly to realise, that they were not as scary as I feared, after close to a year of messing around with my Emacs config files. They look2 just like Emacs functions with arguments.\nI scribbled one out the way, Org needs them written, by referring to the Emacs help.\n\u0026lt;%%(diary-float t 5 2)\u0026gt; I marked the sections out in the scrawly figure above.\ndiary-float seems to be the function that does all the magic and then I have three arguments The first one, refers to the month by number. 8 will mean August. t will make things repeat every month. The second argument is day of week. 0 being Sunday, and 6, Saturday. The third one refers to which week of the month. 2 in my case, means the second week of the month. So …\n* My super important task DEADLINE: \u0026lt;%%(diary-float t 3 2)\u0026gt; shows up in my agenda as a task for the second Wednesday of every month!\nThere are a couple of caveats to this approach.\nThis is not as task, even though I write it as one. It behaves more like a calendar entry. It more or less, just shows up in the agenda and I have to look at it. I can’t mark it as done and expect it to repeat, like a normal Org repeater. If I do that, the task is, uh done and then that’s that. Neither of these things bother me, because of the idiosyncratic way I drive my day.\nI normally review my daily agenda, and create a day plan for myself.\nWhich means that I copy the repeater task into my daily agenda as a single task and mark the repeater as done. So with the weird way I work, writing it out as a diary sexp, actually saves me a step ❤️\nAnd my cranky brain can now heave a sigh of relief.3\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nold folks know by now, there’s always a “but” or “however” coming\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nand probably are\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nuntil next time\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 juin 2024","externalUrl":null,"permalink":"/personal/org-mode-emacs-diary-sexps/","section":"Personal","summary":"It’s a floating celestial, no a diary float!","title":"Need Day of Month Reminders in Org Mode? Emacs Sexp Diary Entries to the Rescue","type":"personal"},{"content":"\nPhoto courtesy, Abbygail Braganza, at the Seawoods Flamingo Point, part of the Navi Mumbai Mudflat Wetlands\nClick the pic to see a larger one\nLike a bird on a wire …\nLike a fish on a hook …\nI have tried in my way to be free\n— Aaron Neville, singing Leon Cohen’s, Bird On A Wire\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"15 juin 2024","externalUrl":null,"permalink":"/personal/bird-on-a-wire/","section":"Personal","summary":"I have saved all my ribbons for thee …","title":"Bird on a Wire","type":"personal"},{"content":"","date":"15 juin 2024","externalUrl":null,"permalink":"/tags/flamingoes/","section":"Tags","summary":"","title":"Flamingoes","type":"tags"},{"content":"","date":"15 juin 2024","externalUrl":null,"permalink":"/tags/flamingos/","section":"Tags","summary":"","title":"Flamingos","type":"tags"},{"content":"","date":"15 juin 2024","externalUrl":null,"permalink":"/tags/nature/","section":"Tags","summary":"","title":"Nature","type":"tags"},{"content":"","date":"14 juin 2024","externalUrl":null,"permalink":"/tags/ps/","section":"Tags","summary":"","title":"Ps","type":"tags"},{"content":"\nPriyanka, hoping Hedwig will carry her to Hogwarts.\nClick the pic for a bigger image\nWe look at the world once, in childhood.\nThe rest is memory.\n— Louise Glück, Nostos. (via @ashstfu on Tumblr)\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"14 juin 2024","externalUrl":null,"permalink":"/personal/the-rest-is-memory/","section":"Personal","summary":"The Rest is Memory","title":"The Rest Is Memory","type":"personal"},{"content":"\nClick the pic to see a larger version\nHow to stop time: kiss.\nHow to travel in time: read.\nHow to escape time: music.\nHow to feel time: write.\nHow to release time: breathe.\n— Matt Haig, Reasons to Stay Alive (via, @melodybookshaven on tumblr)\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"13 juin 2024","externalUrl":null,"permalink":"/personal/how-to-stop-time/","section":"Personal","summary":"","title":"How to Stop Time","type":"personal"},{"content":"\nA poet is somebody who feels, and who expresses his feelings through words.\nThis may sound easy. It isn’t.\nA lot of people think or believe or know they feel — but that’s thinking or believing or knowing; not feeling. And poetry is feeling — not knowing or believing or thinking.\nAlmost anybody can learn to think or believe or know, but not a single human being can be taught to feel. Why? Because whenever you think or you believe or you know, you’re a lot of other people: but the moment you feel, you’re nobody-but-yourself.\nTo be nobody-but-yourself — in a world which is doing its best, night and day, to make you everybody else — means to fight the hardest battle which any human being can fight; and never stop fighting.\n— E.E. Cummings, via The Marginalian\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"12 juin 2024","externalUrl":null,"permalink":"/personal/be-nobody-but-yourself/","section":"Personal","summary":"","title":"Be Nobody but Yourself","type":"personal"},{"content":"\n1943!\nFolks who been reading the blog, for a while know about the reading lists.\nI began writing down what I read, just to keep track, ever since I started this incarnation of the blog.\nAnd then just a few days ago, serendipity led me to that pic above, on Twitter.\nUser, Ben Myers’ grandmother has been doing exactly what I have been doing, for the past eight decades! (rather, I have been doing what she has 😂)\nThis makes me so giddily happy!\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"9 juin 2024","externalUrl":null,"permalink":"/personal/i-read-like-grandma-does/","section":"Personal","summary":"Reading list from 1943!","title":"I Read Like Grandma Does","type":"personal"},{"content":"","date":"8 juin 2024","externalUrl":null,"permalink":"/tags/cursive/","section":"Tags","summary":"","title":"Cursive","type":"tags"},{"content":"\nI love it, meaning, I love writing cursive, not someone’s suffering\nSome poor soul on Tumblr, seems to’ve been traumatised by cursive as a kid.\nWhile my chicken scrawl is legible only to me mostly, I love the doing of it. The actual writing. (I do write legibly if someone else has to read it, mostly Abby, Mom or Priyanka1)\nPeter Morwood, in his beautiful post, makes a lovely point as well …\nAlso, learning to write cursive meant learning to read cursive (it would have been hard to separate one from the other!) which is a useful skill when looking at historical stuff, and which might prove a problem for future Professional Historians who weren’t taught cursive, so will have to learn it from scratch.\nThe thought that I’ve stumbled into some niche skill by attrition and accident, makes me smile :)\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nThree presentations together and I still insist on mostly outlining on paper and she’s stuck trying to decipher it 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"8 juin 2024","externalUrl":null,"permalink":"/personal/cursive-is-fun/","section":"Personal","summary":"","title":"Cursive Is Fun","type":"personal"},{"content":"","date":"8 juin 2024","externalUrl":null,"permalink":"/tags/handwriting/","section":"Tags","summary":"","title":"Handwriting","type":"tags"},{"content":"Been struggling to do it all over the past few months.\nBut no! Life says no :)\nSo I’m building some margin into my life.\nAnd the only thing I can talk about work wise, is the familiarity I am trying to gain as part of the career pivot.\nThe Devops Stuff.\nThe only thing that is career adjacent to all the stuff I did as a sysadmin and then consultant. So hopefully lots of boring stuff about exciting tech as I try to build new mental models, to fit over old ones.\nProblem though, is what do I write?\nI don’t have a good spin on most computer devops stuff. I don’t know what to say.\nSo for now, they probably will be, just like I point above, boring progress logs.\nMostly consistent, to give me accountability.\nAnd hopefully, I’ll find a voice.\nOn the personal front, books, reading, art, language, poetry, photography and other posts will continue. Those are what make my soul sing :)\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"7 juin 2024","externalUrl":null,"permalink":"/work/doing-devops-dropping-rust/","section":"Work","summary":"too many things, too little life","title":"Doing Devops, Dropping Rust","type":"work"},{"content":"I did one of those periodic, empty your mind sessions today.\nEverything is now in a brain dump org file.\nAnd now, like a every good productivity system preaches, I want to review the dump periodically.\nThere is a task for my miscellenea for e.g. Could I convert it to a link and have it open the file at that precise location?\nTurns out Org Mode links let me do just that.\nAll I need to do, is first “store a link” in Org parlance. I do that by going to my target file that has the dump (the bottom file in the screenshot), go to the section that I need linking to (in my case, Misc Brain Dump), and hit C-c l\nAfter which I go to the file which needs to contain my link, and select my text that I’ll want converted into a link (“inserting a link” in org speak. In my case, the top file in the screenshot below).\nI select the Misc Brain Dump part of the “Look at the Misc Brain Dump” task and hit\nC-c C-l\nIt then switches me to a buffer that shows the links that Org currently has stored, with the minibuffer prompting me to choose one\nI use the arrow keys to choose the one I want, hit return and it creates the link for me.\nHere, I’ve switched away from my brain dump. (I’ve closed the file in fact)\nI click the link in my tasks file and …\nIt opens right up, at the exact location I want. Woohoo!\nAnd just like everything else with Org, it’s plain, simple, elegant, text functionality.\nI examined the link and it was a borg standard Org link, with the link having the header tacked on the end, like so …\nfile:brain-dump.org::*Misc Brain Dump1\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nwhich should have been evident when I chose the link to insert, but I only saw it and went Aha! much later 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"6 juin 2024","externalUrl":null,"permalink":"/work/note-to-self-linking-to-a-headline-in-an-org-file/","section":"Work","summary":"It ain’t that hard.","title":"Note to Self, Linking to a Headline in an Org File","type":"work"},{"content":"","date":"5 juin 2024","externalUrl":null,"permalink":"/tags/fujixs20/","section":"Tags","summary":"","title":"FujiXS20","type":"tags"},{"content":"","date":"5 juin 2024","externalUrl":null,"permalink":"/tags/poetry/","section":"Tags","summary":"","title":"Poetry","type":"tags"},{"content":"\nClick for a larger pic\nthis morning\ni told the flowers\nwhat i’d do for you\nand they blossomed\n— Rupi Kaur, The Sun and Her Flowers\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"5 juin 2024","externalUrl":null,"permalink":"/personal/what-id-do-for-you/","section":"Personal","summary":"secrets …","title":"What I’d Do for You","type":"personal"},{"content":"","date":"4 juin 2024","externalUrl":null,"permalink":"/tags/containers/","section":"Tags","summary":"","title":"Containers","type":"tags"},{"content":"","date":"4 juin 2024","externalUrl":null,"permalink":"/tags/emby/","section":"Tags","summary":"","title":"Emby","type":"tags"},{"content":"","date":"4 juin 2024","externalUrl":null,"permalink":"/tags/jellyfin/","section":"Tags","summary":"","title":"Jellyfin","type":"tags"},{"content":"I had moved off Plex, close to two years ago, because … reasons.\nUnable to decide between Emby and Jellyfin and having just learned containers at the time, I deployed both on my Pi.\nEmby handled video duties while Jellyfin did music.\nAnd now after close to two years, I’m moving off Jellyfin to Emby.\nThe only reason being its iOS client.\nIt still has a lot of growing up to do, and I’ve reached the end of my tether trying to adjust to its foibles.\nI cannot turn the phone off, else the music goes off.\nI cannot switch away from the Jellyfin app, else the music goes off.\nIf I get a call, then the app sorta-kinda loses its mind and I have to kill it and relaunch it.\nAll I want from my music player is to be a good audio citizen on iOS. Connect to the server, read my songs, play my music. And do it in the background.\nWhile I am sympathetic to the priorities of the open source Jellyfin team, I am not getting any younger and my hour long walks are the only time I get to enjoy my music.\nSo … I moved.\nSetting the stage # There had to be two instances of Emby running. I don’t want my video online and so I don’t want it exposed Video is secondary anyway. So that had to be the second container. The main one is Music. Music needs to be accessible from anywhere on the web. Doing it # I already had docker running and installed, along with Nginx Jellyfin has better documentation. So I used their guide to reverse proxy Nginx to the Emby service that would come up. All I had to do, was put in my SSL cert paths correctly and change the variable jellyfin to embymusicserver (along with the rest of the require settings.) I created a folder to hold Emby’s docker compose file. I modified the container name to embymusicserver and gave the path to mount for its config and another one that pointed to my music folder. Pretty straightforward. (I had already changed the ports earlier on the video emby instance to 8097 \u0026amp; 8921 to avoid conflicts with Jellyfin, so I did not have to touch that.) Assigned ownership recursively to the user that would run the container. Did a docker compose up to see if everything came up ok. And then tore it down And finally, once again, adapted my old Jellyfin systemd script to ensure I could have it start and stop with the system In hindsight, there was no way to pull all of this off in an hour, if it wasn’t for Docker and Emby’s image. Now I realise why containers are taking over the world.\nAnd thank you for all you do, Jellyfin. I shall return as soon as the app gets more useful.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"4 juin 2024","externalUrl":null,"permalink":"/work/moved-my-music-library-from-jellyfin-to-emby-today/","section":"Work","summary":"It went swimmingly well","title":"Moved My Music Library From Jellyfin to Emby Today","type":"work"},{"content":"Everytime I download a Humble Bundle, I’m left with a ton of books, in various formats on my desktop.\nI normally like all the formats for a single title to be in a single folder, so that Calibre can then treat them as a single book1, when adding them.\nI’ve been using Pedro Santana’s, nifty little Nemo action to help me do just this.\nOnce installed, all I need to do is select my files, right click on them and then create a new folder, like so … The one remaining wrinkle, being that when you’re completely keyboard driven, you still need to come down a couple of steps with the arrow keys or switch to the mouse.\nWhen doing this with close to 250+ files, this quickly gets tedious.\nStack Overflow to the rescue.\nTurns out that all I needed to do was add an _ in front of the letter, I wanted to use to activate my little action from the context menu.\nMy original action went …\n[Nemo Action] Active=true Name=Create new folder with selection ... I decided to use the n in selection. N for new folder. Easy to remember! So with this tiny change …\nName=Create new folder with selectio_n I get to do this!\nI can select, get the context menu, hit n, type in the folder name and done!\nIt’s still a lot of work when there’s lots of files, but there’s a seamless flow to the entire process.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\npoint two, in this section of the documentation\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 juin 2024","externalUrl":null,"permalink":"/work/assigning-keyboard-shortcuts-to-nemo-actions/","section":"Work","summary":"Shortcuts! Shortcuts, everywhere!","title":"Assigning Keyboard Shortcuts to Nemo Actions","type":"work"},{"content":"","date":"3 juin 2024","externalUrl":null,"permalink":"/tags/cinnamon/","section":"Tags","summary":"","title":"Cinnamon","type":"tags"},{"content":"","date":"3 juin 2024","externalUrl":null,"permalink":"/tags/mint/","section":"Tags","summary":"","title":"Mint","type":"tags"},{"content":"","date":"3 juin 2024","externalUrl":null,"permalink":"/tags/nemo/","section":"Tags","summary":"","title":"Nemo","type":"tags"},{"content":"","date":"31 mai 2024","externalUrl":null,"permalink":"/tags/certbot/","section":"Tags","summary":"","title":"Certbot","type":"tags"},{"content":"","date":"31 mai 2024","externalUrl":null,"permalink":"/tags/lego/","section":"Tags","summary":"","title":"Lego","type":"tags"},{"content":"","date":"31 mai 2024","externalUrl":null,"permalink":"/tags/letsencrypt/","section":"Tags","summary":"","title":"Letsencrypt","type":"tags"},{"content":"\nimage courtesy, the Lego Github page\nI want to someday, automate all my domain certificate renewals.\nNamecheap doesn’t support it, ergo my move to Porkbun.\nAnd certbot doesn’t support Porkbun, so I’ve moved to Lego.\nI still need to someday figure out how to do this automatically, but for now, since all is in place, this is the new manual process.\nYou’ll need to generate a Porkbun API key along with its associated secret, and store it somewhere safe and secure. (This is a one time thing, the Generating API keys section here describes how) Another one time step is to get Lego installed and have it generate your certs, and then have your applications, point to where they are. Command to renew: PORKBUN_SECRET_API_KEY=\u0026quot;your-api-*secret*\u0026quot; PORKBUN_API_KEY=\u0026quot;your-porkbun-api-key\u0026quot; ./lego --domains your-domain.tld --domains *.domain.tld --email your-email@domain --dns porkbun renew And the renewal’s done! Restart yer engines … err your applications1 et voilà! If you have multiple machines, figure out a way to securely transfer the certs there too. Feedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nin my case Nginx\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 mai 2024","externalUrl":null,"permalink":"/work/notes-to-self-on-renewing-wildcard-letsencrypt-certs-manually-with-lego/","section":"Work","summary":"Let’s go!","title":"Notes to Self on Renewing Wildcard Letsencrypt Certs Manually With Lego","type":"work"},{"content":"The feedback email address seems to be getting traction and I’m getting more mail every week.\nI wanted to make it easier on myself and for the kind folks who write in, by including the title of the post in the subject of the email.\nRight now, every one tells me what post they are talking about, which as I said in exceedingly kind of the folks who write in. My posts seem to be reaching really considerate people :)\nSo a teensy bit of head-scratching later, I remembered I use shortcodes to inject custom HTML into my pages. I remembered Hugo has variables I could access. And I remembered mailto links let me add a subject parameter to the link.\nSo, 1+2+3=Sucess! (Or so I hoped)\nThe How # I looked up the variable, I needed to get at the post’s title. It’s called .Page.Title I created a hpt.html in my Hugo’s layouts/shortcodes directory to hold the little snippet that’d get typed in the email’s subject field. This is all it contains:\nFeedback on post: {{ .Page.Title }}\nHugo will grab this snippet whenever it runs and put in the post’s title in place of the placeholder. And then I can use that in a mailto link like so, [feedback at this domain](dummyemail@dummydomain.local?subject=\u0026quot;{{\u0026lt; hpt \u0026gt;}}\u0026quot;)1 And tada! 1+2+3 does indeed equal success! You can see in action, by clicking on the link below to send me feedback 🙂\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nThis is a markdown formatted link. You can ofcourse use HTML\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"30 mai 2024","externalUrl":null,"permalink":"/work/using-hugo-variables-to-help-with-mailto-links-in-hugo/","section":"Work","summary":"Shortcodes! Hugo Variables in Shortcodes!","title":"Using Hugo Variables to Help With Mailto Links in Hugo","type":"work"},{"content":"","date":"29 mai 2024","externalUrl":null,"permalink":"/tags/hardware/","section":"Tags","summary":"","title":"Hardware","type":"tags"},{"content":"","date":"29 mai 2024","externalUrl":null,"permalink":"/tags/keyboard/","section":"Tags","summary":"","title":"Keyboard","type":"tags"},{"content":"","date":"29 mai 2024","externalUrl":null,"permalink":"/tags/kinesis/","section":"Tags","summary":"","title":"Kinesis","type":"tags"},{"content":"Updates : I’ll update this post periodically as I get more familiar with the keyboard\nI find the curvy, ungainly shape really beautiful. Click to enlarge\nIf you follow me on the fediverse, you’ve already read most of this.\nLong story short, my wrists (and now, my elbows and arms) are killing me.\nSo, I saved up and got me a new, split, ergonomic keyboard: The Kinesis Advantage 360\nIt’s available in the US at around 500USD. I paid close to twice that to import it home, to India (via a seller on the Amazon India site)\nLots of bullet points after a day of use.\nAll of its ergonomic and software power is QWERTY first and Windows/Mac first. A Dvorak, Linux user like me, will need to adjust quite a bit1 Everything’s slowed to a crawl as I get used to the new key placements. The Dvorak layout seems to work better on this than on my old keyboard The key layout and spacing is throwing everything off Realised some of my keyboard shortcuts were that way, because of the old keyboard layout. They are terrible on the new keyboard. Need to find new shortcuts for ulauncher, minimising windows, and the gpaste clipboard manager My caps lock is the compose key and i need to see if the new position will help or hinder me totally gotten used to the new space, return and backspace keys totally not used to the placement of esc. will try a week to see if i can get used to it. new ways of chording keys in emacs. seem to be easier on the wrists. (because of the new place for the ctrl and alt keys) my wrists feel much better. no idea how much of this is placebo. will know for sure only after a while bottom row keys are tough right now got used to the compose key the question mark and slash has moved below and to the right (dvorak), so will need to see if i adjust i miss my numpad so much! learned how to mount the onboard flash storage and eject it properly updated firmware to the latest version. also note to self, switch to querty before you do this. status reports are typed out wonky other wise I have brown switches The one thing I confidently say, even after a single day of use, is that this is a lovely keyboard.\nI will get used to all its quirks, because the scalloped, split design suits me really well.\nMost of it, is just changing muscle memory, not learning new painful maneuvers.\nAnd the design also ensures, every single key is in reach of my fingers. This is the magical part for me.\nIf it lasts me five years, I’ll consider it money well spent.\nUpdates # 2024-07-02 # Gotten used to the layout for the most part. The arrow keys are still very troublesome and trip me up all the time. Realise how deep muscle memory actually is.\nThe only reason I don’t want to change them, is that they (the new keys) are easy on my fingers and when I’m intentional about them, are easy to use.\nThe Compose key and the : keys will still take a while getting used to.\nHave gotten the hang of /, ?, = and + though.\nHave gotten back to my old speed. My error rate is still really high. Most of my friends have now gotten used to my typos 😂\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nfor e.g., the [ key finds itself at the top right, while the ] key finds itself top left 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"29 mai 2024","externalUrl":null,"permalink":"/work/kinesis-advantage-360/","section":"Work","summary":"I bought an expensive ergonomic keyboard.","title":"My Experience With the Kinesis Advantage 360 After a Day of Use","type":"work"},{"content":"Now that I have the power of large language models, in the palm of my hand …\nYou just had to be there, to really appreciate this 😂\nImage, courtesy user straiven on makeagif\nI decided to see, if it could help me solve one of my real pain points with Org Mode.\nI had asked for help over on the fediverse, after months of trial and error, on just how to fix this.\nThe issue being, I needed a way to tell my Org Agenda, to ignore files with a certain pattern.\nI have a folder (called syncbox) full of files, that Org Mode looks at to generate the agenda for me.\nNow these files are also synced via Syncthing over to my phone, where another program called Beorg looks at them too and shows them as entries in my calendar, so that I don’t miss the really important things I need to do.\nFunctionally, all is well with this setup, except for one teensy thing.\nEvery once in a while, when certain files are in use on both, my desktop and my phone, Syncthing will create conflicting copies of said files in use.\nThis happens most often, with my tasks.org file.\nOnce it conflicts, my syncbox gets full with files like,\ntasks.sync-conflict-20240408-041556-2TQWENY.org and\ntasks.sync-conflict-20240516-101335-2TQWENY.org and\ntasks.sync-conflict-20240520-053451-2TQWENY.org\nWhat happens then, is that Org Agenda happily reads those files too, and I end up with lots of duplicated tasks.1\nAs usual, tackling it by writing lisp, was an idea fraught with terror for me. I tried quite a bit and failed.\nMy next plan of attack was that Org Agenda had a regex2, that it would process. My regex is better than my lisp, but even that was to no avail.\nEmacs regex does not support lookaheads / lookbehinds and I did not want to have some complicated pattern, that even I would not recognise, a few months down the line.\nIn the meanwhile, Ihor told me to stop faffing about and just write a function3\nSo I asked Claude to go do the work for me and I ended up with …\n(defun mjb/set-org-agenda-files-from-syncbox-directory () \u0026#34;Set `org-agenda-files\u0026#39; to all Org files in the \u0026#39;syncbox\u0026#39; directory, excluding files with \u0026#39;.sync-conflict\u0026#39; in the name.\u0026#34; (let ((syncbox-dir (expand-file-name \u0026#34;syncbox\u0026#34; my-org-directory))) (when (file-directory-p syncbox-dir) (setq org-agenda-files (mapcar (lambda (file) (expand-file-name file syncbox-dir)) (seq-filter (lambda (file) (not (string-match-p \u0026#34;\\\\.sync-conflict\u0026#34; file))) (directory-files syncbox-dir t \u0026#34;\\.org$\u0026#34;))))))) (mjb/set-org-agenda-files-from-syncbox-directory) which I dutifully dumped into my init file.\nAnd that did the trick!\nWhat did strike me, is that now that I am using this approach, my chicken and egg struggle is finally at an end. I don’t have to struggle to learn lisp to hack emacs which needs me to learn lisp.\nI realise it takes only a short time of dedicated effort. But right now, it is time I don’t have, and don’t know when I’ll get.\nSo the new fangled LLM AIs can help me sort my Emacs pain points and I can learn Lisp at leisure.\nAnd I’ll use, friend on the fediverse, Vincent Dardel’s excellent course to do just that.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nIt drove me nuts in the beginning, when I did not know what was happening. I was like, I /just/ finished this task. And it’s popping up again?! Is my computer haunted?\u0026#160;\u0026#x21a9;\u0026#xfe0e;\ndefined in org-agenda-file-regexp with a default value of \u0026quot;\\\\`[^.].*\\\\.org\\\\'\u0026quot;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nHe did not quite put it that way. He was much kinder, obviously :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"26 mai 2024","externalUrl":null,"permalink":"/work/ignoring-syncthing-conflict-files-in-org-agenda-folder/","section":"Work","summary":"TLDR; I “wrote” a function to loop over a list, find certain files, then negate them.","title":"Ignoring Syncthing Conflict Files in the Org Agenda Folder","type":"work"},{"content":"","date":"26 mai 2024","externalUrl":null,"permalink":"/tags/llm/","section":"Tags","summary":"","title":"Llm","type":"tags"},{"content":"","date":"26 mai 2024","externalUrl":null,"permalink":"/tags/syncthing/","section":"Tags","summary":"","title":"Syncthing","type":"tags"},{"content":"So I bought myself comics. And I was naively trying to count how many I got.\nAnd I went aha! I’ll paste the lines into Emacs and the lines numbers will tell me :) So I just selected stuff off the web and put it in and …\nSheena: Queen of the Jungle, Vol. 2 Dynamite Entertainment CBZ 185.4 MB EPUB 105.4 MB PDF 439.9 MB Queen Sonja - Issue. #2 Dynamite Entertainment CBZ 17.7 MB EPUB 16.6 MB PDF 137.2 MB Vampirella: Throne of Skulls Vol 03 Dynamite Entertainment CBZ 229.3 MB EPUB 135.9 MB PDF 438.6 MB Red Sonja and the Ballad of the Red Goddess Dynamite Entertainment CBZ 132.9 MB EPUB 50.2 MB PDF 376.8 MB Vampirella Strikes Vol 01 Dynamite Entertainment CBZ 106.4 MB EPUB 118.7 MB PDF 351.7 MB … really long list elided And I go, Ugh! It’s Saturday! I’m too lazy to go selecting and deleting that cruft between my titles. Isn’t there something in Emacs that can help?\nSpoiler Alert: Of course there is! Meet flush-lines\nM-x flush-lines asks me for a regex pattern.\nI gave it \\ MB1 et voilà! Every line that had a space followed by MB disappeared!\nSheena: Queen of the Jungle, Vol. 2 Dynamite Entertainment CBZ EPUB PDF Queen Sonja - Issue. #2 Dynamite Entertainment CBZ EPUB PDF Vampirella: Throne of Skulls Vol 03 Dynamite Entertainment CBZ EPUB PDF Red Sonja and the Ballad of the Red Goddess Dynamite Entertainment CBZ EPUB PDF Vampirella Strikes Vol 01 Dynamite Entertainment CBZ EPUB PDF … long list elided And so a few, rapid commands to excise lines with Dynamite Entertainment, CBZ, EPUB and PDF later …\nSheena: Queen of the Jungle, Vol. 2 Queen Sonja - Issue. #2 Vampirella: Throne of Skulls Vol 03 Red Sonja and the Ballad of the Red Goddess Vampirella Strikes Vol 01 … still a long list, but exactly what I wanted :) I love you, Emacs!\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nthe \\ followed by a space is just to demonstrate here that I put in a space. I just naively typed a space followed by MB, actually\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"25 mai 2024","externalUrl":null,"permalink":"/personal/search-for-something-kill-the-line-in-emacs/","section":"Personal","summary":"Faster, Pussycat! Kill! Kill!","title":"Search for Something! Kill the Line! In Emacs","type":"personal"},{"content":" Click to see a larger version, just as illegible\nAs I struggle to write, sometimes I wonder why I even do it.\nAnd when I don’t, I then get this strange uncontrollable urge to write something, anything.\nDamned if you do, damned if you don’t.\nAnd now in addition to that crazy struggle, I’ve caught myself getting upset of late. All because nobody “shares” the posts I put out.\nAnd I worry if anyone even reads my stuff?\nAnd do they like it?\nAnd if they do, why would they not share it?\nNot good enough?\nShould I be doing more?\nWrite better?\nAll of which came to a head today.\nAnd after a bit of laughing at my silliness, I decided to write down what I tell myself every year.\nBecause I do write.\nWhether anyone reads it. Or not.\nWhich is why I wonder why I get trapped in this weird neurotic spider web every year.\nI’m done comparing, in the words of Lamott, my insides to their outsides.\nSo a few thoughts to myself on why I do it. A non exhaustive list …\nI love to read. I love to write. I write primarily for myself. First and foremost. I write because I cannot help it. I write because I cannot not write. I write to document things and thingamajigs and doodads and small things and big things. Because I forget. And writing helps me remember. And then it helps other people learn. And then they teach me new things. And I learn more. And I write more. And the whole virtuous cycle repeats. I write because everything in me, has got to come out on the page, so that there is space within me, to then function. I write because then everything slows down to the pace of my fingers rather than the crazy light speed dizziness within my brain. I write because I can then think. I write because it sharpens my focus. I write because it makes it easy to forget. I write because I read what I write. Even if no one else does. Even if no one else wants to. Even if no one else can. And I love my past selves, who’ve scribbled their thoughts and feelings to protect me, shield me, guide me and give me comfort, solace and love. I write because then, my heart then aches a little bit less. I write because it’s brought me back from the edge of the void. Twice. I write because it helps me be resilient. Persistent. To quote Taleb, Antifragile. And to quote Angelou, “You may trod me in the very dirt / But still, like dust, I rise.” I write because I have scars. And writing lessens the hurt. To quote Bareilles, it helps me hold on, till there’s something else to hold on to. I write because … I write because today I realise, that’s who I am.\nI am a writer, because that’s what I do. I write. Feedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"24 mai 2024","externalUrl":null,"permalink":"/personal/why-i-write/","section":"Personal","summary":"Why do I indeed?","title":"Why I Write","type":"personal"},{"content":" Logo courtesy, the Org Mode Website\nLisp is on the list of things to learn someday.1\nAnd in the meanwhile, I need to be able to hack Emacs to do the stuff I want.\nBut also, there are a ton of other things, that are currently much, much higher on my list of priorities.2\nAnd while the community is extremely kind and generous, the expectation is that you need to put in the time and the work.\nWhich I currently don’t have and can’t do.\nAnd so, it finally happened.\nI signed up for a Claude account and told it to write me some lisp.\nI am heavily Org Mode task driven, these days and I have a manual workflow that I need a teensy bit of help with.\nI start work on a task I mark it as WORKING (and clock in manually) I want to switch to another task I mark my original task as WAITING (and clock out manually) I then mark my new task as WORKING (and clock in manually) After a while I switch to the original task, and clock in manually (after marking the current task as WAITING and clocking out there manually) What bugs me, is the clocking in and out, because …\nI tend to forget it, messing up all my clock times and … because it is now becoming painful on my middle aged fingers3, So, like I said, I prompted Claude to give me code that would clock me in automatically, whenever I changed state to WORKING and clock me out when I switched to WAITING4\nIt spat out some code.\nI tried to reasonably guess and verify what it did.\nIt looked ok.\nI tried it.\nIt worked!\nAnd that’s that.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 (defun mjb/org-clock-in-when-task-state-changes-to-working () \u0026#34;Clock in an Org mode task when the status is changed to \u0026#39;WORKING\u0026#39;.\u0026#34; (when (and (eq major-mode \u0026#39;org-mode) (member (downcase (or (org-get-todo-state) \u0026#34;\u0026#34;)) \u0026#39;(\u0026#34;working\u0026#34;))) (org-clock-in))) (defun mjb/org-clock-out-when-task-state-changes-to-waiting () \u0026#34;Clock out an Org mode task when the status is changed to \u0026#39;WAITING\u0026#39;.\u0026#34; (when (and (eq major-mode \u0026#39;org-mode) (member (downcase (or (org-get-todo-state) \u0026#34;\u0026#34;)) \u0026#39;(\u0026#34;waiting\u0026#34;))) (org-clock-out))) ;; These lines make the functions above, hook to Org’s state change mechanism. ;; So that everytime a task’s state changes, these functions are called (add-hook \u0026#39;org-after-todo-state-change-hook #\u0026#39;mjb/org-clock-in-when-task-state-changes-to-working) (add-hook \u0026#39;org-after-todo-state-change-hook #\u0026#39;mjb/org-clock-out-when-task-state-changes-to-waiting) Reminds me of the old adages about humans and bicycles being the fastest and humans and chess programs5, being the best players.6\nAll of it is good, if it aids me, and hopefully does not get in my way.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nsoon\u0026#160;\u0026#x21a9;\u0026#xfe0e;\ngetting up to speed with the current devops/cloud landscape, for instance\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYes, I could reassign them to easier keys, but just having it done automatically is better\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthe task state switches are second nature and don’t bother me much\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nCentaurs, I think, the combination is called\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nand of course, the pilots and giant mechas in Pacific Rim\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"23 mai 2024","externalUrl":null,"permalink":"/work/org-mode-clocking-in-and-out-of-tasks-on-task-state-changes/","section":"Work","summary":"I finally turned to the dark side and used Claude to help me do my work","title":"Org Mode Clocking in and Out of Tasks on Task State Changes","type":"work"},{"content":"Alright!\nTrying to get back to writing. (attempt no. 87,245)\nAnd trying to learn Rust and document the journey at the same time.\nWhy? # I want to learn a language that can give me free standing executables to distribute.1 I want a fast language. (rather a language that generates fast programs.) The little that I’ve learnt of C (which fascinates me), has convinced me that I am one of those folks, who will definitely shoot myself in the foot with it. And most stuff is manual. I’m willing to do the work, but not all the work. Lazy and all that :) That boils it down to C++ \u0026amp; Rust. To my mind, it’s an easier path from Python to Rust. The shapes of things are similar. Like Fred Ross would put it, it’s not an ur-language for me.2 And at this point, it was just looking at a Rust error message that did it for me. Short. Sane. Sensible.3 The Plan # There’s no grand plan here, unlike Python where I just had to know everything Just do a tiny bit daily and write about it. That’s it. Feedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nIt’s hard with Python.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLisp is! :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI hope the documentation is as good. I haven’t read much. The little that I have befuddled me. But that is just because of the new, new thing.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"22 mai 2024","externalUrl":null,"permalink":"/work/rust/","section":"Work","summary":"Beginning to learn Rust","title":"Rust","type":"work"},{"content":"","date":"22 mai 2024","externalUrl":null,"permalink":"/tags/rustlang/","section":"Tags","summary":"","title":"RustLang","type":"tags"},{"content":"\nMoss Roses, in my window.\nClick to enlarge\nPetals unfurl\nfrom a delicate flower,\ncloser to picked\nwith each\npassing hour,\nlosing the I\nand gaining\nan our.\n— Michael Faudet, First Love, Dirty Pretty Things\n","date":"15 mai 2024","externalUrl":null,"permalink":"/personal/first-love/","section":"Personal","summary":"","title":"First Love","type":"personal"},{"content":"","date":"15 janvier 2024","externalUrl":null,"permalink":"/fr/categories/fran%C3%A7ais/","section":"Categories","summary":"","title":"Français","type":"categories"},{"content":"","date":"15 janvier 2024","externalUrl":null,"permalink":"/fr/categories/personal/","section":"Categories","summary":"","title":"Personal","type":"categories"},{"content":"","date":"15 janvier 2024","externalUrl":null,"permalink":"/fr/personal/","section":"Personnalité","summary":"","title":"Personnalité","type":"personal"},{"content":"Premier français post.\nDesole pour mon francais mediocre.\nJ’aprende à écrire.\n","date":"15 janvier 2024","externalUrl":null,"permalink":"/fr/personal/premier-post/","section":"Personnalité","summary":"","title":"Premier Post à la Française","type":"personal"},{"content":"","date":"15 avril 2024","externalUrl":null,"permalink":"/tags/art/","section":"Tags","summary":"","title":"Art","type":"tags"},{"content":"","date":"15 avril 2024","externalUrl":null,"permalink":"/tags/life/","section":"Tags","summary":"","title":"Life","type":"tags"},{"content":"\nArt by Amanda Domagala, on Tumblr\nAmanda says,\n“Make bad things, instead of making nothing”\nSomething similar that’s been drummed into my head innumerable times over the years, by many mentors:\n“If you cannot do it well, do it badly.” :)\nIf you love doing something, if you want to do something … do it.\nDoes not matter how poorly or badly its done.\nYou’re going to love it nonetheless.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"15 avril 2024","externalUrl":null,"permalink":"/personal/make-bad-things/","section":"Personal","summary":"","title":"Make Bad Things","type":"personal"},{"content":"","date":"13 avril 2024","externalUrl":null,"permalink":"/tags/love/","section":"Tags","summary":"","title":"Love","type":"tags"},{"content":"\nvia Diane Duane\nI’m almost 50, and here is the best thing I have learned so far:\nevery strange thing you’ve ever been into,\nevery failed hobby or forgotten instrument,\neverything you have ever learned will come back to you,\nwill serve you when you need it.\nNo love, however brief, is wasted.\n(I’d add every act of kindness,random or otherwise, to that list.)\n","date":"13 avril 2024","externalUrl":null,"permalink":"/personal/no-love-is-wasted/","section":"Personal","summary":"","title":"No Love Is Wasted","type":"personal"},{"content":"\nfrom somewhere on Tumblr. I lost the source. Apologies, original poster!\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"7 avril 2024","externalUrl":null,"permalink":"/personal/my-reading-life/","section":"Personal","summary":"My Reading Life","title":"My Reading Life","type":"personal"},{"content":"\nA path, somewhere in the palace gardens at Versailles.\nClick to enlarge\nLose something every day. Accept the fluster\nof lost door keys, the hour badly spent.\nThe art of losing isn’t hard to master.\nI lost two cities, lovely ones. And, vaster,\nsome realms I owned, two rivers, a continent.\nI miss them, but it wasn’t a disaster.\n— Elizabeth Bishop, One Art\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"6 avril 2024","externalUrl":null,"permalink":"/personal/the-art-of-losing/","section":"Personal","summary":"Lose something every day.","title":"The Art of Losing","type":"personal"},{"content":"","date":"6 avril 2024","externalUrl":null,"permalink":"/tags/versailles/","section":"Tags","summary":"","title":"Versailles","type":"tags"},{"content":"","date":"5 avril 2024","externalUrl":null,"permalink":"/tags/languages/","section":"Tags","summary":"","title":"Languages","type":"tags"},{"content":"\n“Liberty \u0026amp; equality forever, or Death!”\nWritten on the Luxor Obelisk at the Place de la Concorde in Paris, France\n(Click for a larger image)\nI recently read Scott H. Young’s article on How to Learn Vocabulary in Another Language and realised it would be a handy guide for me, as I go about increasing my French \u0026amp; Urdu vocabulary.\nThis is what I took away:\nThe first 2000 words will cover 80-90% of a language’s vocabulary. 3000 will cover 95%. That should be your goal. Use a frequency dictionary, then according to frequency do 1000/2000/3000 words 10000 will lead to almost being fluent. Hard to do that quickly with French, sitting in India. But, aspirational goals :) Do: Flash cards, knowing that this will not teach you the nuance and flavour and texture of French Graded reading, Like the article states To successfully guess the meaning of a new word from its context, we need to understand between 95% and 98% of the surrounding words. This is difficult to achieve with native-level materials. Graded readers, which deliberately limit vocabulary, can be beneficial here.\nIf you’re doing the slow and steady way, because you lack the time, then growth will be slow. Assume 400 new word families a year Use the four pillars of learning. Paraphrasing \u0026amp; Quoting the article: Meaning-focused input.\nInput provides the raw data for learning new words and enriches the contextual associations of words studied deliberately elsewhere. This includes conversations, books, films, television and other media that you attend to primarily for their meaning. Meaning-focused output. (Note: I am focussed on reading and writing)\nSpeaking and writing are more difficult than simply understanding particular words from input, as using words correctly requires a more precise knowledge of each word and its meaning. Language-focused learning.\nThis is the deliberate act of memorizing words, studying flashcards, or receiving explanations about word meanings. Webb and Nation argue that this should account for ~25% of the time spent learning a language. Fluency development. (I don’t know how I’ll do this. Re read stuff? Watch TV again.)\nFinally, attention should be paid to activities that speed up the understanding and production of words already known. Familiar materials that enable quick reading or conversations on familiar topics may not be needed to build new vocabulary, but they reinforce what was learned previously. Feedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"5 avril 2024","externalUrl":null,"permalink":"/personal/notes-to-self-how-to-learn-vocabulary-in-another-language/","section":"Personal","summary":"What I took away from Scott H Young’s article","title":"Notes to Self, How to Learn Vocabulary in Another Language","type":"personal"},{"content":"","date":"5 avril 2024","externalUrl":null,"permalink":"/tags/urdu/","section":"Tags","summary":"","title":"Urdu","type":"tags"},{"content":"","date":"5 mars 2024","externalUrl":null,"permalink":"/tags/ursula-vernon/","section":"Tags","summary":"","title":"Ursula Vernon","type":"tags"},{"content":"\nIf you’re ever feeling guilty about not cooking a fresh home-cooked meal, a reminder that people in cities historically either had cooks or ate at food stalls, going back to Ancient Greece. Ancient Egypt, too, although since everybody ate bread, beer, and onions, less of a thing.\nIt’s a weird quirk of our obsession with nuclear families that everybody is expected to have time, skill, and equipment to cook daily and that if you’re a woman, particularly, you are a lesser person if you aren’t casually able to cook every day with random fresh ingredients.\nDon’t buy into that. People since forever have hired cooks, gone to inns, lived in extended families where it wasn’t always your turn to cook, or ate such simplified diets that it was less of an issue.\nYou haven’t failed at a normal human task,\nyou have been sold an unrealistic expectation and told it was a normal human task.\nGo get takeout.\nOr beer, bread, and onions.\nEat cheese and some dates.\nRelax.\n— Ursula Vernon via, Diane Duane I stumbled across Ursula from her art.\nArt courtesy, Ursula Vernon\nAnd then I realised she is an accomplished children’s author\nAnd she does not stop there, she writes Hugo award winning books for adults across genres; horror, fantasy and romance.1\nAnd talk about making art from pain, she fucked cancer right in the eye!\nRead all about her long journey here!\nAnd if it does not inspire you, and make you shed a tear, I’ll eat my hat.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI’d say she’s a female Neil Gaiman. But let’s face it. She’s far more talented and kicks ass. Gaiman is the male T Kingfisher!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"5 mars 2024","externalUrl":null,"permalink":"/personal/ursula-vernon-on-unrealistic-expectations/","section":"Personal","summary":"","title":"Ursula Vernon on Unrealistic Expectations and Eating Bread","type":"personal"},{"content":"","date":"4 mars 2024","externalUrl":null,"permalink":"/tags/arunachal-pradesh/","section":"Tags","summary":"","title":"Arunachal Pradesh","type":"tags"},{"content":"\nMemories of a trip, from a few years ago.\nThis was the second best vacation1 I’ve had!\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nWhen you finally see the Aurora Borealis thiry four years, after you first learned about them, nothing else will ever come close :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"4 mars 2024","externalUrl":null,"permalink":"/personal/beautiful-arunachal/","section":"Personal","summary":"Land of the Dawn Lit Mountains","title":"Beautiful Arunachal!","type":"personal"},{"content":"\nMy bookshelf. Click for a larger pic.\nYou are allowed # nay, encouraged to …\nbuy books you’ll never read abandon books halfway through read your favorites over and over again read ‘easy’ books read books you don’t totally understand just look at the pictures start in the middle take notes break spines read the book after you saw the movie skip the boring parts keep books out of sentiment bring a book everywhere read comics return books to the library unread The point, my dear reader, is joy.\n— stolen verbatim from Lady Grey’s Library on Tumblr\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"3 mars 2024","externalUrl":null,"permalink":"/reading/books-do-what-you-will/","section":"Reading","summary":"The title says it all.","title":"Books! Do What You Will, With Them","type":"reading"},{"content":"","date":"2 mars 2024","externalUrl":null,"permalink":"/tags/cal-newport/","section":"Tags","summary":"","title":"Cal Newport","type":"tags"},{"content":"\nMy old-style slow notetaking process.\nReplaced now with Elipsa Annotations, which then move along with my thoughts into Org Roam Notes.\nClick to see bigger\nCal Newport recently did a deep dive on his podcast, on a minimalist note taking system for various areas of your life.\nVideo’s on Youtube, if you want to watch. It’s called A Productivity System To Remember Everything You Learn.\nIt matches, what I’ve organically been doing all these years.\nAnd I was really happy to see it structured and rendered so well.\nSo I wrote and paraphrased and jotted it all down below.\nNote: These are my mangling of Cal’s words, not what he actually said. The audio/video above should give you exact specifics.\nWhy? # Minimal Friction # too much friction with other systems friction in work that matters is ok, is good, is perfect. McPhee \u0026amp; Caro! But for most other things, not needed. Cal goes on to verbally list what McPhee does, but my notes are better. In a nutshell, friction slows him (McPhee) down in a way that’s beneficial, that lets him do his best work Notetaking does not need such friction. When information is coming at you, your time to act + energy to think are limited Friction stops you from taking action. That information could then be lost For e.g. a complicated note taking process when reading a book, might stop you from getting into the book or ever keep you from reading the book altogether. Your system should therefore reduce friction, so that you can capture as much information as possible quickly, efficiently, painlessly Outsource your brain? No! # When it comes to things that matter, stuff should live in your brain. So that stuff percolates into your value systems and mental models and you evolve! Your brain needs to be part of this curation process. Your brain needs to build hooks. To remember the big things. For accuracy and precision, details can always be looked up. The System # For Books (the Corner Marking Method) # If there’s somethng interesting on the page, mark the corner fo the page (dog ear with pen) and then … Mark up the thing that interest you! Simple marks in the margins. Put a box around text. Checkmarks next to a line. Curly braces next to a paragraph to remember Occasionally write a short note, to help you remember the context, or to tell yourself what it reminds you of, or is there any other place where you’d find this useful? Barely slows you down. Does not get in your way. Does not prevent you from reading Then when you go back to your book, and look at your dog marks and then look at stuff you marked on those pages? You will in a few minutes, reconstitute all the ideas from that book. Bonus: One “shortcoming”? You need to remember! Oh that book? That was the one that had the interesting ideas about such and such That is not a problem. This is the one bit of friction that is useful. It allows you to use the gist of what you learned from the book in the schemas of knowledge that I am constructing and modifying and growing in my head. So that’s not really a bug, rather a feature. In English? It helps me build better Mental Models! You become a better reader Projects (Professional and Personal) # Where do notes relevant to a project go? Store notes relevant to a project in the location where you will one day work the project. I do this on a personal level too. Everything is where my mind says, I ought to look for them, not where they “ought to be.” Which is why my keys are next to my Minnie mouse plushie and my flash drives live in an old, soup bowl. So when it comes time to do the work, everything that you’ve gather is all there for you to use. Duplication is ok. (If there’s too much duplication, which happens rarely, I organically figure something out) Bonus: Whenever you add something new to the pile, you always encounter your old stuff and it keeps refreshing a mental picture of the project in your mind and helps create new mental grooves Ideas about Life? Your values, your inspiration, you want to do something with and in your life # Keep a fancy, awesome, cool, aspirational notebook! A fancy pen you like Basically whatever you used when you started your journey? You wrote notes, you made headlines, you had marginalia in your pages, you did everything by hand. Just use the classiest things you like and can afford, to give it heft and meaning. Your life has few ideas, important as they are. Easy to keep track of them in a notebook You want the form to matter. Digital notebooks? They’re cool too, if you like them. All you need is semi regular review and process A good lazy way to do it is when the notebook fills up Review and copy over the summaries of everything good and lasting and important See what sticks Feedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"2 mars 2024","externalUrl":null,"permalink":"/personal/note-to-self-cal-newports-minimal-notes-system/","section":"Personal","summary":"","title":"Note to Self, Cal Newport’s Minimal Notes System","type":"personal"},{"content":"","date":"2 mars 2024","externalUrl":null,"permalink":"/tags/note-taking/","section":"Tags","summary":"","title":"Note-Taking","type":"tags"},{"content":"","date":"2 mars 2024","externalUrl":null,"permalink":"/tags/notes/","section":"Tags","summary":"","title":"Notes","type":"tags"},{"content":"","date":"2 mars 2024","externalUrl":null,"permalink":"/tags/productivity/","section":"Tags","summary":"","title":"Productivity","type":"tags"},{"content":"","date":"2 mars 2024","externalUrl":null,"permalink":"/tags/zettelkasten/","section":"Tags","summary":"","title":"Zettelkasten","type":"tags"},{"content":"\ncourtesy, Xiran Jay Zhao\nWhat happens when you take all the pulpy goodness from Indian soaps and K-dramas, mash it up with Pacific Rim and Robotech, infuse it with a lot of authentic Chinese history, and aim it at teens (err, young adults)?\nYou get Iron Widow by Xiran Jay Zhao, that’s what!\nI wish someone takes Indian history and creates such awesome fictional worlds from them.\nThis was such a crazy, rollicking ride! I cannot wait for their next.\nMy highlights, from the book # In hindsight, I was such a fool to have assumed Qieluo would stand by me just because she’s also female.\nIt was my grandmother who crushed my feet in half.\nIt was my mother who encouraged me and Big Sister to offer ourselves up as concubines so our brother could afford a future bride.\nIt was always the village aunties who’d sit around gossiping about which girl hadn’t been married off yet, despite complaining nonstop about their own husbands. And then they’d congratulate new mothers for being “blessed” to have a boy, despite being female themselves.\nHow do you take the fight out of half the population and render them willing slaves? You tell them they’re meant to do nothing but serve from the minute they’re born. You tell them they’re weak. You tell them they’re prey.\nYou tell them over and over, until it’s the only truth they’re capable of living.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"1 mars 2024","externalUrl":null,"permalink":"/reading/iron-widow/","section":"Reading","summary":"Iron Widow, Highlights","title":"Iron Widow","type":"reading"},{"content":"","date":"1 mars 2024","externalUrl":null,"permalink":"/tags/iron-widow/","section":"Tags","summary":"","title":"Iron Widow","type":"tags"},{"content":"\nimage courtesy, Harper Collins India\nReading Babel, constantly gave me strong déjà vu as I leafed through its pages.1\nUntil I realised what I was experiencing was an author enjoying their words, their lines, their exquisite craft. Where words themselves crawl into your mind, and say yes, we are. We will tell you this story. You need not make any effort here.\nRichard Powers’, The Overstory was that way. So was Arundhati Roy’s, The God of Small Things. And Tamysyn Muir, with her Locked Tomb books.\nThis is alternate history Empire. The British still rule the world, but here they do so, on the strength of magic, silver-work and words and language.\nKuang then uses all that heft to bash our brains in.2\nThere’s Robin and Ramy and Victoire and Letty and it’s them against the world3\nThis was one of those rare books4 where I wanted very little to do with the story and just wanted to lose myself in the world. I wanted to study languages the way they did, and do magic the way they did. The way some of them come to choose violence reminded me of Bhagat and Azad.\nThe history’s wonderful.\nThe way she uses language and words, even more so!\nMy highlights, from the book # Inside, the heady wood-dust smell of freshly printed books was overwhelming. If tobacco smelled like this, Robin thought, he’d huff it every day. He stepped towards the closest shelf, hand lifted tentatively towards the books on display, too afraid to touch them – they seemed so new and crisp; their spines were uncracked, their pages smooth and bright. Robin was used to well-worn, waterlogged tomes; even his Classics grammars were decades old. These shiny, freshly bound things seemed like a different class of object, things to be admired from a distance rather than handled and read.\n‘If you can see?’ The woman raised her voice and overenunciated her every syllable, as if Robin had difficulty hearing. (This had happened often to Robin on the Countess of Harcourt; he could never understand why people treated those who couldn’t understand English as if they were deaf.)\n‘But that’s impossible for me,’ said Ramy. ‘I have to play a part. Back in Calcutta, we all tell the story of Sake Dean Mahomed, the first Muslim from Bengal to become a rich man in England. He has a white Irish wife. He owns property in London. And you know how he did it? He opened a restaurant, which failed; and then he tried to be hired as a butler or valet, which also failed. And then he had the brilliant idea of opening a shampoo house in Brighton.’ Ramy chuckled. ‘Come and get your healing vapours! Be massaged with Indian oils! It cures asthma and rheumatism; it heals paralysis. Of course, we don’t believe that at home. But all Dean Mahomed had to do was give himself some medical credentials, convince the world of this magical Oriental cure, and then he had them eating out of the palm of his hand. So what does that tell you, Birdie? If they’re going to tell stories about you, use it to your advantage. The English are never going to think I’m posh, but if I fit into their fantasy, then they’ll at least think I’m royalty.’\n‘Does Mirza really mean “prince”?’ Robin asked, after he’d overheard Ramy declare this to a shopkeeper for the third time.\n‘Sure. Well, really, it’s a title – it’s derived from the Persian Amīrzādeh, but “prince” comes close enough.’\n‘Then are you—?’\n‘No.’ Ramy snorted. ‘Well. Perhaps once. That’s the family story, anyhow; my father says we were aristocrats in the Mughal court, or something like that. But not anymore.’\n‘What happened?’\nRamy gave him a long look. ‘The British, Birdie. Keep up.’\nAfter all, we’re here to make the unknown known, to make the other familiar. We’re here to make magic with words.’\n‘Which seems right to you? Do we try our hardest, as translators, to render ourselves invisible? Or do we remind our reader that what they are reading was not written in their native language?’\n‘That’s an impossible question,’ said Victoire. ‘Either you situate the text in its time and place, or you bring it to where you are, here and now. You’re always giving something up.’\n‘Is faithful translation impossible, then?’ Professor Playfair challenged. ‘Can we never communicate with integrity across time, across space?’\n‘I suppose not,’ Victoire said reluctantly.\n‘But what is the opposite of fidelity?’ asked Professor Playfair. He was approaching the end of this dialectic; now he needed only to draw it to a close with a punch. ‘Betrayal. Translation means doing violence upon the original, means warping and distorting it for foreign, unintended eyes. So then where does that leave us? How can we conclude, except by acknowledging that an act of translation is then necessarily always an act of betrayal?’\nwe can think of etymology as an exercise in tracing how far a word has strayed from its roots. For they travel marvellous distances, both literally and metaphorically.’ He looked suddenly at Robin. ‘What’s the word for a great storm in Mandarin?’\nRobin gave a start. ‘Ah – fēngbào?’\n‘No, give me something bigger.’\n‘Táifēng?’\n‘Good.’ Professor Lovell pointed to Victoire. ‘And what weather patterns are always drifting across the Caribbean?’\n‘Typhoons,’ she said, then blinked. ‘Taifeng? Typhoon? How—’\n‘We start with Greco-Latin,’ said Professor Lovell. ‘Typhon was a monster, one of the sons of Gaia and Tartarus, a devastating creature with a hundred serpentine heads. At some point he became associated with violent winds, because later the Arabs started using tūfān to describe violent, windy storms. From Arabic it hopped over to Portuguese, which was brought to China on explorers’ ships.’\n‘But táifēng isn’t just a loanword,’ said Robin. ‘It means something in Chinese – tái is great, and fēng is wind–’\n‘And you don’t think the Chinese could have come up with a transliteration that had its own meaning?’ asked Professor Lovell. ‘This happens all the time. Phonological calques are often semantic calques as well. Words spread. And you can trace contact points of human history from words that have uncannily similar pronunciations. Languages are only shifting sets of symbols – stable enough to make mutual discourse possible, but fluid enough to reflect changing social dynamics.\nAnd the influences on English were so much deeper and more diverse than they thought. Chit came from the Marathi chitti, meaning ‘letter’ or ‘note’. Coffee had made its way into English by way of Dutch (koffie), Turkish (kahveh), and originally Arabic (qahwah). Tabby cats were named after a striped silk that was in turn named for its place of origin: a quarter of Baghdad named al-‘Attābiyya. Even basic words for clothes all came from somewhere. Damask came from cloth made in Damascus; gingham came from the Malay word genggang, meaning ‘striped’; calico referred to Calicut in Kerala, and taffeta, Ramy told them, had its roots in the Persian word tafte, meaning ‘a shiny cloth’.\nEnglish did not just borrow words from other languages; it was stuffed to the brim with foreign influences, a Frankenstein vernacular. And Robin found it incredible, how this country, whose citizens prided themselves so much on being better than the rest of the world, could not make it through an afternoon tea without borrowed goods.\n‘The Germans have this lovely word, Sitzfleisch,’ Professor Playfair said pleasantly when Ramy protested that they had over forty hours of reading a week. ‘Translated literally, it means “sitting meat”. Which all goes to say, sometimes you need simply to sit on your bottom and get things done.\nHe waved a hand, gesturing at an invisible map. ‘It’s junctures like that where we have control. If we push in the right spots – if we create losses where the Empire can’t stand to suffer them – then we’ve moved things to the breaking point. Then the future becomes fluid, and change is possible. History isn’t a premade tapestry that we’ve got to suffer, a closed world with no exit. We can form it. Make it. We just have to choose to make it.’5\nOxford, and Babel by extension, were, at their roots, ancient religious institutions, and for all their contemporary sophistication, the rituals that comprised university life were still based in medieval mysticism. Oxford was Anglicanism was Christianity, which meant blood, flesh, and dirt.*\n‘The British aren’t going to invade with English troops. They’re going to invade with troops from Bengal and Bombay. They’re going to have sepoys fight the Afghans, just like they had sepoys fight and die for them at Irrawaddy, because those Indian troops have the same logic you do, which is that it’s better to be a servant of the Empire, brutal coercion and all, than to resist. Because it’s safe. Because it’s stable, because it lets them survive. And that’s how they win, brother. They pit us against each other. They tear us apart.’\n‘I don’t think I’ll ever forget what I saw.’ He rested his elbows against the bridge and sighed. ‘Rows and rows of flowers. A whole ocean of them. They’re such bright scarlet that the fields look wrong, like the land itself is bleeding. It’s all grown in the countryside. Then it gets packed and transported to Calcutta, where it’s handed off to private merchants who bring it straight here. The two most popular opium brands here are called Patna and Malwa. Both regions in India. From my home straight to yours, Birdie. Isn’t that funny?’ Ramy glanced sideways at him. ‘The British are turning my homeland into a narco-military state to pump drugs into yours. That’s how this empire connects us.’\nFree trade. This was always the British line of argument – free trade, free competition, an equal playing field for all. Only it never ended up that way, did it? What ‘free trade’ really meant was British imperial dominance, for what was free about a trade that relied on a massive build-up of naval power to secure maritime access? When mere trading companies could wage war, assess taxes, and administer civil and criminal justice?\nRobin saw a great spider’s web in his mind then. Cotton from India to Britain, opium from India to China, silver becoming tea and porcelain in China, and everything flowing back to Britain. It sounded so abstract – just categories of use, exchange, and value – until it wasn’t; until you realized the web you lived in and the exploitations your lifestyle demanded, until you saw looming above it all the spectre of colonial labour and colonial pain.\nMy point being, abolition happened because white people found reasons to care – whether those be economic or religious. You just have to make them think they came up with the idea themselves. You can’t appeal to their inner goodness. I have never met an Englishman I trusted to do the right thing out of sympathy.’\n‘Eventually.’\nAnthony laughed gently. ‘Do you think abolition was a matter of ethics? No, abolition gained popularity because the British, after losing America, decided that India was going to be their new golden goose. But cotton, indigo, and sugar from India weren’t going to dominate the market unless France could be edged out, and France would not be edged out, you see, as long as the British slave trade was making the West Indies so very profitable for them.’\nColonialism is not a machine capable of thinking, a body endowed with reason. It is naked violence and only gives in when confronted with greater violence.\n— FRANTZ FANON, The Wretched of the Earth, trans. Richard Philcox\n‘It’s so odd,’ Robin said. Back then they’d already passed the point of honesty; they spoke to one another unfiltered, unafraid of the consequences. ‘It’s like I’ve known you forever.’ ‘Me too,’ Ramy said. ‘And that makes no sense,’ said Robin, drunk already, though there was no alcohol in the cordial. ‘Because I’ve known you for less than a day, and yet . . .’ ‘I think,’ said Ramy, ‘it’s because when I speak, you listen.’ ‘Because you’re fascinating.’ ‘Because you’re a good translator.’ Ramy leaned back on his elbows. ‘That’s just what translation is, I think. That’s all speaking is. Listening to the other and trying to see past your own biases to glimpse what they’re trying to say. Showing yourself to the world, and hoping someone else understands.’\nhow could there ever be an Adamic language? The thought now made him laugh. There was no innate, perfectly comprehensible language; there was no candidate, not English, not French, that could bully and absorb enough to become one. Language was just difference. A thousand different ways of seeing, of moving through the world. No; a thousand worlds within one. And translation – a necessary endeavour, however futile, to move between them.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nok, I swiped on my Elipsa. But you get the idea!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nin a good way\u0026#160;\u0026#x21a9;\u0026#xfe0e;\na lot like Bardugo’s, Six of Crows\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthe only other one for me, was The Lord of the Rings. I suspect Kuang, just like Tolkien, had the words and the language and the world ready. And then she just when and wrote a book to show some of it.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nreminds me of Steve Jobs, and his dent in the universe.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"29 février 2024","externalUrl":null,"permalink":"/reading/babel/","section":"Reading","summary":"All my highlights and thoughts from Babel","title":"Babel","type":"reading"},{"content":"","date":"29 février 2024","externalUrl":null,"permalink":"/tags/babel/","section":"Tags","summary":"","title":"Babel","type":"tags"},{"content":"","date":"28 février 2024","externalUrl":null,"permalink":"/tags/footnotes/","section":"Tags","summary":"","title":"Footnotes","type":"tags"},{"content":"","date":"28 février 2024","externalUrl":null,"permalink":"/tags/littlefoot.js/","section":"Tags","summary":"","title":"Littlefoot.js","type":"tags"},{"content":"\nCourtesy dothegreenthing, CC BY-NC 2.0, on Flickr\nI have this amazing urge never to leave well enough alone.1\nThe blog uses an amazing theme, called PaperMod.\nAnd ofcourse, like I said, because I can’t leave well enough alone, I’ve customised it heavily.2\nThe fonts are different, there are various kinds of slight colour changes, I bullied Aditya into showing me how to build a Menu, there are lots of custom Hugo shortcodes and there were footnotes powered by a nifty little Javascript library called littlefoot.js.\nNow everything was fine and dandy.\nThere are folks who do leave well enough alone. Their blogs stay up and running for years on end, held together with nothing more than spit and baling wire.\nThose folks aren’t me, sadly. Aditya keeps improving the theme and I really wanted the new shiny. So I went and got it.\nAnd everything broke!\nI got weird artifacts. RSS broke. Fonts broke. Footnotes broke.3\nI’ve managed to put everything back together, over the past week, and I just got footnotes working again yesterday.\nSo a few notes to myself, on what to do, when I break it again.4\nFootnotes today, and the rest later …\nSo here goes,\nThe litlefoot.js repo has excellent documentation. That’s where you pulled everything from (for when you wonder, just how you figured all the CSS out) You download a static copy with a npm install --save littlefoot and then stick it into Hugo’s static folder Copy the extend_head.html from the theme’s layout/partials into your own. You should already have an extend_footer.html since you put in PaperMod’s hamburger stuff in there. Adapt the Usage from a CDN step to directly access it from /littlefoot/dist/… instead of UNPKG. Put the CSS link into your extend_head.html and the JS into extend_footer.html We want the footnotes to be numbers, rather than floating ellipses. So modify the default (blank) script call in extend_footer.html, to the stuff below. This is verbatim from the docs. \u0026lt;script type=\u0026#34;application/javascript\u0026#34;\u0026gt; littlefoot.littlefoot( { buttonTemplate: ` \u0026lt;button aria-label=\u0026#34;Footnote \u0026lt;% number %\u0026gt;\u0026#34; class=\u0026#34;littlefoot__button\u0026#34; id=\u0026#34;\u0026lt;% reference %\u0026gt;\u0026#34; title=\u0026#34;See Footnote \u0026lt;% number %\u0026gt;\u0026#34; /\u0026gt; \u0026lt;% number %\u0026gt; \u0026lt;/button\u0026gt; ` } ) \u0026lt;/script\u0026gt; We want to style it a teensy bit, so those styles go into extend_head.html. For some reason, it does not pick the footnote styling correctly when you put stuff into your normal assets/css/extended/ folder. \u0026lt;!--Custom littlefoot styles--\u0026gt; \u0026lt;style\u0026gt; .littlefoot { /*the --attributes come from the littlefoot.js docs*/ /*Change button background to something that works in both modes*/ --button-background-color: #666; /*Change padding to make the button rounder*/ --button-padding: 0 0.35rem; /*The footnote ought to be italicised*/ --popover-font-style: italic; /*Make the popover work with my theme’s colour scheme*/ --popover-background-color: var(--theme); --popover-text-color: var(--primary); /*the oldstyle numerals used everywhere else, don’t look good here Neither do they align properly in the box. So switch them to normal*/ font-variant-numeric: normal; /*Italic numerals for the footnotes*/ font-style: italic; } .littlefoot__button { /*very subjective. try to get the numerals centred as much as I can.*/ line-height: 1; vertical-align: middle!important; } \u0026lt;/style\u0026gt; Et voilà! Footnotes galore!\nIt looks a little weird, a little like a billie goat walked across my post, pooping pellets across the page.5\nBut it is my kind of weird now.\nAnd I love it :)\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nwhat we in the Mumbaiyya vulgar, would call, “Gaand mein keeda”.\nPlease for the love of God, don’t look that up. Very not safe.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nHeavily, as in heavily for a guy who doesn’t quite know what he’s doing.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nAll my fault obviously, with all the custom stuff. Nothing to do with the theme proper.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nin the far, far, far, future; future Jason! Not any time soon, you hear!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n“Pooping pellets on the posted page”, Now there’s a tongue twister 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"28 février 2024","externalUrl":null,"permalink":"/work/note-to-self-footnotes-using-littlefoot.js/","section":"Work","summary":"","title":"Note to Self Footnotes Using Littlefoot.js","type":"work"},{"content":"","date":"27 février 2024","externalUrl":null,"permalink":"/tags/audio/","section":"Tags","summary":"","title":"Audio","type":"tags"},{"content":"","date":"27 février 2024","externalUrl":null,"permalink":"/tags/ffmpeg/","section":"Tags","summary":"","title":"Ffmpeg","type":"tags"},{"content":"\nA piece of metal being converted into something useful.\nImage courtesy, Jonny Gios, Unsplash License, on Unsplash\nI thought I was set with my audio jukebox when I finally finished collecting and digitising all my tapes, records1 and cds and then tagging, sorting and organising my files in or around the late noughties.\nWhen I began doing all that in the mid noughties, I was comfortably ensconced in the Apple/iTunes ecosystem, so all my files were in various MPEG-4 formats.2\nAnd the one big thing I missed, was letting a track have multiples genres or multiple artists. I wanted to be able to search for a song in each artist’s name i.e. the song ought to be listed as an entry under each singer’s name (Shibani Dandekar and Zoya Akhtar and Ankur Tewari and SEL) in the jukebox and also have it listed / searchable under multiple genres (remove Bollywood, but be able to add IndiPop and Oldies). I always thought that wasn’t possible. A decade passed since. I’ve moved homes to Mint and the .deb ecosystem in the meanwhile. And it still never occured to me to re-evaluate my choice of audio formats, despite this being a constant thorn in my side. I still thought it wasn’t possible. Look at what happens when I try to add a genre to a song in Quod Libet …\nClick to enlarge\nUntil, when I read that message more closely, recently. It wasn’t telling me that it wasn’t possible, just that I was a dummkopf3 with my choice of audio formats all those years ago. These files did not support multiple values for genre, but was it possible that other formats did? Spoiler, of course, they did!\nA quick search revealed both mp3 as well as flac supported this.\nI decided to try this with one of my recent songs.\nI use ffmpeg to convert Plum Pudding.\nffmpeg -i \u0026quot;05 Plum Pudding.m4a\u0026quot; -c:a flac \u0026quot;05 Plum Pudding.flac\u0026quot;\nAnd tada! A quick metadata edit in Quod Libet and I had multiple artist and genre entries! 🎉🎉🎉\nClick to enlarge\nSigh! I’m both happy and a bit chagrined.\nI can haz music the way I want it organised and tagged, but I’m looking at weeks/months of work now 😂\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nThank you daddy\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nlossless and lossy m4a files.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\na dummkopf with the benefit of hindsight that is\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"27 février 2024","externalUrl":null,"permalink":"/personal/moving-audio-library-to-flac-mp3/","section":"Personal","summary":"Converting the library to flacs/mp3s because they let me add multiple duplicate tags","title":"Moving Audio Library to Flac \u0026 MP3 Formats","type":"personal"},{"content":"","date":"27 février 2024","externalUrl":null,"permalink":"/tags/quodlibet/","section":"Tags","summary":"","title":"Quodlibet","type":"tags"},{"content":"tldr: C-x n s to narrow, C-x n w to widen\nNow that life’s getting busier and busier, with lots more things on my plate, ye olde system of writing the day’s tasks down on paper does not work any more. Specially since, I’ve begun logging clock times1. Writing them down by hand is a giant pain.\nThis is what the plan’s begun to look like.\nAn unwieldy plan.\nClick this image or any below, for larger versions\nI wanted to see, if Org would let me replicate what I did my hand, natively.\nWhich in a nutshell was to look at the day sheet (on paper) for the nitty gritty and my organiser (currently my tasks.org file) for the big picture view.\nI bounce between the two often. And discrete focus is something I wanted to keep.\nThe focus from wide … to narrow. And back … A bit of searching and this is the result! Woohoo!\nLike I mentioned above, I hit C-x n s next to my day’s headline to narrow the scope to just today. And a C-x n w gets me back to the thirty thousand foot view.\nI think of them as, s for slim and w for wide, to keep them straight in my head.\nI’m intuiting this is Org’s Sparse Tree Magic at play here. But learning that wizardry is a thing for another day.\nThe important bit for me, is that I can focus when I working, without getting distracted.\nAnd then when I need to, zoom out to review what progress looks like and make changes, if I need to.\nI feel a bit sad though. I’ve given up book notes on paper. I’m giving up planning my day on paper. It feels like I’m losing something tangible. I miss paper.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI hope to use these, to objectively measure where my time is really going\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"26 février 2024","externalUrl":null,"permalink":"/work/org-mode-narrowing-and-widening-buffers/","section":"Work","summary":"Narrow to focus, widen to review and plan. tldr: “C-x n s” to narrow and “C-x n w” to widen","title":"Org Mode Narrowing and Widening Buffers","type":"work"},{"content":"","date":"25 février 2024","externalUrl":null,"permalink":"/tags/mjbbabbles/","section":"Tags","summary":"","title":"MjbBabbles","type":"tags"},{"content":"\ncourtesy Liniers, Comics Kingdom\nclick to enlarge\nWith all the hullabaloo yesterday, on how you’d go about organising your day, and things to let go of, and marking your place, I forgot the overarching Note To Self.\nPlease remember. Never lose sight of what’s important.\nNever forget why you’re doing all of this.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"25 février 2024","externalUrl":null,"permalink":"/work/bookmark-your-work-coda/","section":"Work","summary":"Never lose sight of why you’re doing all of this.","title":"Note to Self, Bookmark Your Work, Coda","type":"work"},{"content":" This started with a note to self on leaving breadcrumbs, and ended with a stream of consciousness journey on how I reached this conclusion. So what I’m trying to say, in a slightly rambling manner, is that this is a slightly incoherent, rambling post.\nCourtesy, Delgrosso, CC BY-NC-ND 2.0, on Flickr\nI’m running my days now to slow, daily, consistent tiny amounts of progress.\nAnd I am seeing results. When there are so many demands on my time, prioritising them and then doing them slowly yet consistently is yielding fruit.\nWhile I certainly enjoy the deep dive, full of focus, lost in work sessions a lot more, I have too much life happening to allocate that kind of time and attention to everything.\nThe first thing I did, when I kinda-sorta revamped the way I went about my days1, was to drop as many hot potatoes as I could, and then d-d-d-ed all the small yet important things in my life.\nAnd then came to the sobering realisation that the rest of life just had to be done and dealt with. Even things I don’t like.\nA couple of pieces then had to fall into place, before I gained some semblance of sanity and progress.\nI can’t do it all. Some things, important things even, will fall through the cracks. Somethings that I really want to do, will get pushed to someday/maybe and some will just never get done. I have to make my peace with it. Knowing what I am giving up, the things that I am doing? They better be worth it. Making the time to think this through, and having mental muscle to do the thinking2 helped. Everything does not have to be good and perfect. Good enough, is good enough. Yes, stuff is hard and unpleasant, but then you have a blessed life. There are so many people with hard lives. Suck it up. And go do something about it. Deal with it. Leaving stuff unattended in the recesses of your mind, is a sure way to rust and ruin.3. At the same time, while you are hard and focussed on the work, be kind to yourself. Find that balance. Alright, mentally set. Now how do I go about the doing? By doing as much or as little as you can, depending on how you prioritise it. By doing it consistently. Set a schedule. Hit it. If you think you don’t want to do it, do 10m regardless.4 And then move on.5 If interrupted, deal with the interruption. Come back. And continue. Dealing with interruptions does not mean giving in to it. It means figuring out just what it is, and figuring out what to do about it. Most stuff can be jotted down and scheduled for later. Make sure the significant folk in your life know what you are up to, so that they know when they can expect you to be present and when you are off doing your own thing.6 Doing stuff this way is slow. And that’s ok. If your life permitted focussed deep work, you’d be doing it. But that’s not how it is. So find islands of focus. And do the best you can. Do the best you can, does not mean going all out. Slow, sure, steady. That is your drumbeat. Slow, sure, steady. Unflustered. Calm. Measured. So what happens once you do this? And what hiccoughs did you run into? And what do you do about it?\nStuff gets done! It doesn’t look like this ought to work, but it does. Leaving stuff undone, putting things down for the day, causes lots of mental turmoil. Also whenever you go back to stuff, there’s a lot of going back before your minds grasps where it was at, and only then does it go forth. And that brings me to the crux of why I began writing this dastardly note in the first place. Log. Summarise. Review!\n1. Log how long you take for your tasks. Don’t judge yourself. Just dispassionately do it.\n2. Every time you think you’re done with something for the time being and are putting it down? Spend the time to write down what you did and what future you needs to be doing. Create bookmarks. Give directions. Do this no matter how tired you are. No matter how shitty the note.\n3. Review. This is the most important bit. Review at regular intervals and at various depths.7 And only then make your plans accordingly. Daily time logging \u0026amp; summarising leads to daily review leads to a better sense of what is done, how far you’ve come, what to change, where to swerve, what to do next, and where to go. Review, gosh darn it. Review! It’s been working well the past three months. It’s reduced a lot of friction, and quite a bit of time. It makes it easy to get into the swing of things.\nI’ll come back in six months and write about how it went.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nit was a slow, gradual process.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThank you, meditation practice!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\noft used phrase in the Cosmere\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nbe as foul minded and potty mouthed and grumpy as you want. But do it.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nunless you get into the groove.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nif you are busy doing work all day, then that’s a sign. You need to get your life back into some semblance of balance. It’s ok doing this shit for a measure of time. This cannot be your whole life\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI’m good at the nitty gritty and the big picture (daily / quarterly reviews). I struggle with the medium term (weekly)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"24 février 2024","externalUrl":null,"permalink":"/work/bookmark-your-work/","section":"Work","summary":"Mark your place. Log. Summarise. Review.","title":"Note to Self, Bookmark Your Work","type":"work"},{"content":"","date":"23 février 2024","externalUrl":null,"permalink":"/tags/carlton-gibson/","section":"Tags","summary":"","title":"Carlton Gibson","type":"tags"},{"content":" courtesy, R.F. Kuang \u0026amp; Carlton Gibson\nI was reading R.F. Kuang’s Babel and watching Carlton Gibson’s talk on surviving open source1 a few days ago.\nThey both touch upon ingrained privilege in their book/talk.\nThe popular proverb urges us to engage with the world as it is, not as we would have it be.2\nBut sometimes, we are so caught up that we need other, wiser eyes to see. That’s what Rebecca \u0026amp; Carlton have done for me :)\nHere’s Carlton. I paraphrased the relevant bits from his talk. It begins at around the 10m, 10s mark. (all emphases mine.)\nWe’re not getting paid. But we don’t always act like we know that.\nWe give far more than is reasonable given the fact that it’s a volunteer thing that we are doing\nIt has a consequence.\nOpen Source skews overwhelmingly white, male and English speaking.\nThe bottom line is that contributing to open source is a privilege that only a few can afford.\nWe like to think it’s meritocracy. Well, you do the time, you do the hard yards, you work on your project, you get the rewards, but well Sorry! Meritocracy, my arse!\nWhat’s really going on is that pre-existing economic relations are being reinforced by contributors leveraging the inequality of opportunity that those economic relations provide.\nSorry!\nIn English.\nIf you let it, Open Source extracts such a cost; physical, financial, and emotional, that the only folks who can do it are the global rich and of those, only the ones that are either directly supported by, or can make their way around the patriarchy. English speaking, white, men.\nAnd these series of quotes from Babel.\n‘If you can see?’ The woman raised her voice and overenunciated her every syllable, as if Robin had difficulty hearing. (This had happened often to Robin on the Countess of Harcourt; he could never understand why people treated those who couldn’t understand English as if they were deaf.)\nFree trade. This was always the British line of argument – free trade, free competition, an equal playing field for all. Only it never ended up that way, did it? What ‘free trade’ really meant was British imperial dominance, for what was free about a trade that relied on a massive build-up of naval power to secure maritime access? When mere trading companies could wage war, assess taxes, and administer civil and criminal justice?\nMy point being, abolition happened because white people found reasons to care – whether those be economic or religious. You just have to make them think they came up with the idea themselves. You can’t appeal to their inner goodness. I have never met an Englishman I trusted to do the right thing out of sympathy.\nAnthony laughed gently. ‘Do you think abolition was a matter of ethics? No, abolition gained popularity because the British, after losing America, decided that India was going to be their new golden goose. But cotton, indigo, and sugar from India weren’t going to dominate the market unless France could be edged out, and France would not be edged out, you see, as long as the British slave trade was making the West Indies so very profitable for them.’\nWatch the talk.\nRead Babel.\nYou’ll be better off, having done both.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nnot at the same time. I know I’m cuckoo, just not that cuckoo.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI love this one from Saul Alinsky’s, Rules for Radicals:\n“I start from where the world is, as it as, not as I would like it to be. That we accept the world as it is does not in any sense weaken our desire to change it into what we believe it should be–it is necessary to begin where the world is if we are going to change it to what we think it should be. That means working in the system.”\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"23 février 2024","externalUrl":null,"permalink":"/personal/on-invisible-inequity-and-entrenched-privilege/","section":"Personal","summary":"Quotes from Kuang and Gibson about inequity and privilege","title":"On Invisible Inequity and Entrenched Privilege (In Open Source and the World)","type":"personal"},{"content":"","date":"23 février 2024","externalUrl":null,"permalink":"/tags/r-f-kuang/","section":"Tags","summary":"","title":"R F Kuang","type":"tags"},{"content":"","date":"22 février 2024","externalUrl":null,"permalink":"/tags/do-the-work/","section":"Tags","summary":"","title":"Do the Work","type":"tags"},{"content":"","date":"22 février 2024","externalUrl":null,"permalink":"/tags/procrastination/","section":"Tags","summary":"","title":"Procrastination","type":"tags"},{"content":"\nimage courtesy, Harper Collins India\nHere I was, trying to laze away my day by getting lost in a book, when the book kicks my behind and tells me to go work 😂\n‘The Germans have this lovely word, Sitzfleisch,’ Professor Playfair said pleasantly when Ramy protested that they had over forty hours of reading a week.\n‘Translated literally, it means “sitting meat”.\nWhich all goes to say, sometimes you need simply to sit on your bottom and get things done.\n— R.F. Kuang, Babel\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"22 février 2024","externalUrl":null,"permalink":"/personal/when-a-book-kicks-you-up-your-backside/","section":"Personal","summary":"Go, work!","title":"When a Book Kicks You Up Your Backside","type":"personal"},{"content":" Leonardo da Vinci, Public domain, via Wikimedia Commons\nThe only reason we know that both, an emperor as well as a slave, both practiced the same philosophy that inspires people even now in this day and age, is because the former’s personal notes and the latter’s words compiled by a student, have come down to us through the ages.\nThe only reason that Leonardo Da Vinci has such a legacy, is that the few pieces of his work that were created and displayed, have somehow, miraculously lasted the ravages of the past half century. But so much of his work was unpublished, stowed away in private journals, never to be seen for centuries. How much more would we have known, or learnt if only? If only.\nDecades of stunning art, never released. No one knew the genius of Vivian Maier, when she was alive.\nFrom John Maloof’s, Vivian Maier, Maloof Collection\nLike David Kadavy writes,1\nFinishing what you start is overrated.\n[…]\nContrast this with many other things Leonardo never finished. The observations that lie hidden in his notes would have advanced humanity by centuries in the fields of medicine, flight, geology, and more. These sketches and notes weren’t finished – but, most tragically, they weren’t published.\nYou don’t have to finish to have an impact. You do have to publish.\nHonoré De Balzac had it right,\n“For artists, the great problem to solve is how to get oneself noticed”\nOn which Austin Kleon expounds2\nIf you just focus on getting really good, Martin says, people will come to you. I happen to agree: You don’t really find an audience for your work; they find you. But it’s not enough to be good. In order to be found, you have to be findable. I think there’s an easy way of putting your work out there and making it discoverable while you’re focused on getting really good at what you do.\nImagine if your next boss didn’t have to read your résumé because he already reads your blog. Imagine being a student and getting your first gig based on a school project you posted online. Imagine losing your job but having a social network of people familiar with your work and ready to help you find a new one. Imagine turning a side project or a hobby into your profession because you had a following that could support you.\nOr imagine something simpler and just as satisfying: spending the majority of your time, energy, and attention practicing a craft, learning a trade, or running a business, while also allowing for the possibility that your work might attract a group of people who share your interests.\nAll you have to do is, Show Your Work.\nFrom Austin Kleon’s book, Show Your Work\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nall emphases mine\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nin his book Show Your Work\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"21 février 2024","externalUrl":null,"permalink":"/personal/publish-you-dont-have-leonardos-genius-or-luck/","section":"Personal","summary":"Publish your work! Show up and show your work, as consistently as you can!","title":"Publish! Show Your Work! You Don’t Have Leonardo’s Genius or Luck","type":"personal"},{"content":"","date":"21 février 2024","externalUrl":null,"permalink":"/tags/show-up-do-the-work/","section":"Tags","summary":"","title":"Show-Up-Do-the-Work","type":"tags"},{"content":"I wrote about creating with your experience, your scars, the other day.\nAnd the best way to do that is to develop your calluses, your own scars in the first place.\nHerbert Lui writes …\nOn either fence of, “Write what you know,” I tend to lean towards writing about what I don’t know; “Write What Obsesses You,” as Meg Wolitzer describes it.\n[…] Some people say in order to write a book, you need to live it. While I lived aspects of Creative Doing, the more accurate way to say it would be, the writing process changed me, and that I live the book now. I wrote the book I needed to read, not just in the past, but also in the future.\nIndeed, you become what you write about, (or what you do)!\nThis is what I’m trying to do with this slow writing thing.\nWhich also drives home, what Kushal is still nagging me about and what I am still procrastinating at. That I do the same with my work. With the stuff that I want to learn.\nThis is my stake in the ground, Kushal. I’ll do this.\nI don’t know how good I’ll get. But I will begin the practice.\nThe best role model, I have, for a craftsman.\nHe spent a life at his art and had the calluses and the scars to show for it.\nI know this, because I felt them everytime he caressed my cheek as child.\nDaddy was the best, there ever was.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"19 février 2024","externalUrl":null,"permalink":"/personal/create-new-scars-or-calluses/","section":"Personal","summary":"To create anything, you need to have a well to draw from!","title":"Create New Scars (or Calluses)","type":"personal"},{"content":"","date":"19 février 2024","externalUrl":null,"permalink":"/tags/skin-in-the-game/","section":"Tags","summary":"","title":"Skin in the Game","type":"tags"},{"content":"\nOnly a short note today.\nI dreaded starting up this challenge, because I thought I’d run out of things to say.\nWhat would I write about? Will I dread coming up with topics?\nTurns out I needn’t have worried.\nWriting seems to be like a muscle to be worked on and flexed.\nThe more I do it, the more I want to do it.\nIt is making me more observant.\nEverything seems like cannon fodder for the page now 😂\nThis makes me very happy!\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"18 février 2024","externalUrl":null,"permalink":"/personal/theres-no-dearth-of-things-to-write-about/","section":"Personal","summary":"I thought I’d get blocked, if I try to write everyday. I don’t","title":"There’s No Dearth of Things to Write About","type":"personal"},{"content":"","date":"17 février 2024","externalUrl":null,"permalink":"/tags/focus/","section":"Tags","summary":"","title":"Focus","type":"tags"},{"content":"\nAlice’s Rabbit Hole, Sandra Strait / CC BY-NC-ND 2.0\nClick on the image for the larger original.\nBig realisation, I am procrastinating on my other, bigger priorities, with the 100WordHabit project.\nBigger realisation, if not this, I’d find something else.\nBiggest revelation, even if life sucks donkey balls, I need to focus, be disciplined and do what needs doing.\nSo here’s a few stream-of-consciousness observations \u0026amp; suggestions, to future Jason, when doing the project.\nThe writing almost never takes you that long. You write at a fairly decent clip. What does take you a lot of time, is that while you do know what to say, you take an inordinately long time, trying to figure out just the right way to say it, to present it. It’s the rabbit holes that you get into.\na. You take too long researching, finding just the right image and the right words.\nb. You just spent half an hour trying to figure out the right way, to attribute an image.\nc. You spent another trying to find out how to jump to a specific column in Emacs (M-g followed by tab followed by the column number and return)\nd. You started curating and tagging some mp3s that have being lying around for years now.\ne. then you went and forked the music jukebox library you used on Github You hate doing the hard stuff.\na. It makes you really uncomfortable\nb. It makes you want to take breaks\nc. You keep switching to obssessively checking all your feeds.1\nd. You then find something that you just have to learn more about and that leads you into another rabbit hole.\ne. Besides you’re a completionist. All those tabs and notes to self, just have to be read and squirreled away All of this is taking time away from stuff you really have to do considering your age.\na. You hardly get time to exercise. Yes life is busy, but you don’t have to make it worse.\nb. The career pivot is going slower due to this.\nc. You don’t have time to execute your diet. Here’s a few things you could do …\nRemember, this is only during your deep work hours. We need to make the most of them. Go nuts when you aren’t working.2 Figure out what your process is. I realise you’re a pantser, but a little bit of outlining will do you no harm. You already have a running list of topics to prevent writer’s block and time waste. You’ve already lowered the bar, to become more consistent. So see what else, you do in your writing process that takes the longest. In fact, what do you do? Will recording yourself help? (Added, 2024-02-18,) Don’t check your feeds in the mornings. This one’s a huge timesink. You find issues that interest you. Then you go to find someone who speaks with a nuanced voice. Nuanced voices are rare. They’re hard to find! And if you decide to listen to Munger, and go do the work to have an opinion, by trying to find an opposing nuanced voice? That’ll take you even longer. Just STOP! Now is not the time to get better informed. Do it later. Start clocking times with Org. You want to get a better idea of where the time goes.\nDon’t spend too long reading the manual. Just figure out how to clock in, clock out, get a summary Set a time block? Posts just have to be published once you hit a hundred words or a hour, whichever is longer? If you still want to continue, do it the next day. The posts could be part one / two / three / blah? IT DOES NOT HAVE TO BE PERFECT! Be ok with “mediocre”, unstructured posts. This phase will not last long. Don’t let this take over your life. You already have one vice. The most important thing though? Kudos to you!\nThe meditation practice is really paying off in spades. You notice things. And you try and do something about it. You don’t let it bother your present. Most importantly, you don’t let it devolve into self loathing. You’re a lot less stressed, a lot more peaceful and a lot more resilient than you used to be.\ncourtesy Liniers / Comics Kingdom\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nThere’s nothing new there, since the last time you checked, you twit!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThe point is also to make the time\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 février 2024","externalUrl":null,"permalink":"/work/note-to-self-less-research-less-rabbit-holes/","section":"Work","summary":"I should focus more, and not get in to rabbit holes","title":"Note to Self: Less Research, Less Rabbit Holes","type":"work"},{"content":"","date":"16 février 2024","externalUrl":null,"permalink":"/tags/calibre/","section":"Tags","summary":"","title":"Calibre","type":"tags"},{"content":"","date":"16 février 2024","externalUrl":null,"permalink":"/tags/elipsa/","section":"Tags","summary":"","title":"Elipsa","type":"tags"},{"content":"","date":"16 février 2024","externalUrl":null,"permalink":"/tags/kobo/","section":"Tags","summary":"","title":"Kobo","type":"tags"},{"content":"\nMy beloved, battered, Elipsa 2e. Click the image for a larger image.\nIt’s been close to six seven months, since I moved over from the Oasis to the Elipsa.\nHere’s my list of things / experiences with the Elipsa 2e, positive and negative, in no order whatsever. Also this is not representative of a typical ebook reader1. I, umm … have a lot of books, and the Elipsa carries most of them. So every action that it does, it does with that number of books (either physically or with its database) …\nI love it! It’s very light for its size. I don’t feel the weight of this 10″ device as much as I felt the old 7″ Oasis. It’s very fast. I use it just like a book. It lends itself to such use as well. Part of it is the weight, part of it, is its responsiveness. This is also how I broke it. I threw it on the bed and then it slipped right over the edge, and cracked the screen 😂 You can see the big chonky part that is permanantly dead, as well as the thin, dead, vertical and horizontal lines. Since I read with fat margins, the chonky part does not get in my way2 and the lines are mostly invisible. I cannot enlarge images in a book. I tap, I double tap, I pinch to zoom … nothing. This is the one thing I miss from the Oasis. A few hours later: Of course, now it works! 😂 Double tapping an image, opens up the image where I can zoom and pan around! My fault for not noticing this earlier. I love it! It hangs loading complicated books or large pdfs, but it recovers quickly. This does not happen that often. It randomly hangs and/or crashes. This happens quite often. But I’ve learnt to reboot it with the power button, and it comes right back up, quickly. It reminds me of the Am386 machines, I’d assemble for use as Netware thin clients in my youth. They would run hot and crash ofen, but we didn’t mind, because they rebooted right back so darned fast 😂 Not that the Elipsa runs hot. It just runs fast and crashes. And then comes back on and carries on as if nothing ever happened. Did I tell you, I love it? On paper, the screen specs look inferior to the Oasis. In practice, it made no difference to these old eyes. The user experience is not as good is it could be, but it’s miles better than anything else I’ve used. I figured out most of it intuitively. I love just running my finger along the left edge to adjust the brightness. Helps a lot when I’m reading in bed, so that the better half does not get disturbed (or grumble at me much.) Books on the Kobo store are a bit more expensive than the Amazon store. (New releases tend to cost the same.) The database that it uses, gets corrupted quite often, which then leads to it no longer being able to talk to my PC or not showing the books in the device3. I doubt, I’d love the Elipsa as much as I do, if the Calibre ecosystem didn’t support it so well.4 I can backup and restore the database at will, thanks to the awesome Kobo Utilities plugin. I’m getting old and impatient and want to read a lot more. So I’ve given up on taking notes by hand and moved over to highlighting and making notes in the Elipsa. I wouldn’t do this if not for the lovely Annotations plugin, which lets me get all my notes and highlights out of the Elipsa and into Calibre. (pic below, click to embiggen) The jury’s still out on this one. I love it so much, that when I heard a friend was going to the USA, I bullied them into buying me another one to replace this one when it dies. To conclude, the Elipsa 2e is wonderful.\nIt has flaws that I can live with.\nIt serves me well.\nI love it!\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nthe person, not the device\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nmuch\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThis point I think, is more a me problem, than a device problem\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nNote to the Kobo folk, please care about your device software a smidgen. Please! At least at as much, if not more than these lovely open source folk do!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 février 2024","externalUrl":null,"permalink":"/work/the-kobo-elipsa-2e-six-months-later/","section":"Work","summary":"An update on the Elipsa 2e, six months later and how it has influenced my reading.","title":"The Kobo Elipsa 2e, Six Months Later","type":"work"},{"content":" Collection of various little things I find handy when I am lost in Emacs\nTruly lost and need help about help itself? C-h C-h or C-h ? C-h m should bring up a list of all the shortcuts available to that mode. Want to find out what the docs mean when they refer to something? C-h o and then type in that name.\nFor e.g. when the Org Mode docs refer to org-hide-leading-stars, a C-h o =\u0026gt; Return =\u0026gt; org-hide-leading-stars will give me details about what it is. (According to the docs: org-hide-leading-stars is a variable defined in ‘org.el’. Its value is nil.) Alternatively if you know the type of object, you’re looking at, C-h f will give you help on a function and C-h v will do the same with a variable. If you want to know what function is behind this crazy shortcut you’re typing, a C-h k followed by giving it the shortcut your typing will lead you to the culprit command that powers it.\nFor e.g. I blanked out on how to toggle multiple checkboxes in Org Mode today and I was hitting C-c C-x b to on avail. Running C-h k told me that it was bound to org-tree-to-indirect-buffer. So I was madly mashing the wrong keys. A little digging (with C-h m) revealed that what I needed was C-c C-x C-b which ran org-toggle-checkbox which indeed did what I wanted! :) Feedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"15 février 2024","externalUrl":null,"permalink":"/work/note-to-self-emacs-help-stuff/","section":"Work","summary":"Various things, when rooting around for help in Emacs","title":"Note to Self, Emacs Help Stuff","type":"work"},{"content":"\nI was catching up with my Cal Newport episodes this morning, when I heard this little clip above, at around the 44m mark It reminded me that the things in life, that you can talk most easily about (with authority), are the things that you have the most experience with; the things that you carry the scars of.\nLike Mandy Brown or Taleb do.\nLike Cheryl Strayed does.\nLike Roosevelt’s, Man in the Area.\nLike Rachel.\nThe best things happen the easiest, when you use your scars.\nWrite that fucking book, indeed.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"14 février 2024","externalUrl":null,"permalink":"/personal/use-your-scars/","section":"Personal","summary":"Your life, your experience, your scars make you who you are!","title":"Use Your Scars","type":"personal"},{"content":"I got my greedy paws on a Raspberry Pi 5 last month.\nProbably the Pi after this, will be the one at which I will say these are good enough and stop my “get ’em as soon as they are available” manic buying spree over the past few years.\nI use it as a music jukebox (with Jellyfin), as a place to host my audiobooks/files, as well as a syncthing node. Occasionally I will download and transcode videos I find interesting, with yt-dlp.\nThe Pi is blazingly fast at these tasks. Stuff gets done in a third to half the time, they would take on the old Pi.\nIt also gets blazingly hot apparently.\nWhich reminds me of my time assembling 486 desktops in the late 90s. The DX2s needed only heatsinks (like the Pi 4) whilst the DX4 needed fans as well (like the Pi 5)\nLike they say, everything old is new again.\nIt also reminds me of the time the fans would just up and die, after which the machine would then heat up and just go off.\nThe exact same thing is happening with my Pi 5. The fan in the official case is close to useless. It started whining loudly after only a week of use. But even when it did come on, the Pi would heat up and die.\nI thought this was because of the power adapter I was using. Official chargers are not available here in India, for love or money. Which is why I was using the highest rated mobile charger I could lay my hands on. To eliminate this as a cause, I switched to a 65W Anker adapter. No dice.\nI installed the sensors package, to get an idea of what was happening. The cores were spiking to 80°C plus. No wonder!\nWent looking for heatsinks or fans that could assuage this issue and found an all metal Verilux Aluminium Alloy Case. Though calling it a case would be a slight misnomer. What it is, is sheets of aluminium, separated by spacers, topped with a fan.\nIt seemed overkill, but at the time, I had no other option available.\nI got it, screwed everthing in, praying all the time, that I wouldn’t lose a spacer or screw. (They give one extra screw, nut and spacer)\nThat did the trick. Temperatures are in the high 40s to low 50s. And everything is zipping along and hunky dory again.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"13 février 2024","externalUrl":null,"permalink":"/work/my-raspberry-pi-5-ran-hot/","section":"Work","summary":"","title":"My Raspberry Pi 5 Ran Hot","type":"work"},{"content":"","date":"12 février 2024","externalUrl":null,"permalink":"/tags/entertainment/","section":"Tags","summary":"","title":"Entertainment","type":"tags"},{"content":"","date":"12 février 2024","externalUrl":null,"permalink":"/tags/fanfiction/","section":"Tags","summary":"","title":"Fanfiction","type":"tags"},{"content":"\nCourtesy, NASA/JPL-Caltech/UCLA/MPS/DLR/IDA, Public Domain, via Wikipedia\nI just finished Tamsyn Muir’s Nona, last month.\nAnd of course, I’m now stuck along with the rest of the world waiting for Alecto to come along.1 In the meanwhile I’m having fun with the rest of the world, dissecting the old books to pieces with various pieces of headcanon and wild theories, one of the popular ones being trying to find analogies between the houses of the books and our solar system\nAnd then I ran into this little head exploder2 …\nWhich made me remember this, on the Expanse3 …\nAnd all I could then think of, was Aww, poor Ceres!\nNo matter what universe, dimension or time period, it’s always oppressed and languishing.\nHere’s to me finding some piece of fiction, someday, where Ceres is all powerful!\nTamsyn, please give us the book now! I kid, I kid! If I can patiently wait for the old man across decades as he weaves his saga, I can just as patiently wait for you\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nvia sentientcitizen on Tumblr\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthe best scifi I’ve read\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"12 février 2024","externalUrl":null,"permalink":"/personal/poor-ceres-always-gets-the-short-end-of-the-stick/","section":"Personal","summary":"","title":"Poor Ceres Always Gets the Short End of the Stick","type":"personal"},{"content":"Whenever I post a link to one of my posts on the fediverse or share it with my friends on Signal, I just get a plain vanilla link box I wanted those rich embeds, other folk seemed to have, on the same mediums, that I would share my links on.\nLooking around for how to go about doing this, led me to ogp.me, which taught me the whys and wherefores.\nLooking around, a bit more for how to do this with Hugo, led me to this thread, which had this helpful comment by Kaushal Modi, which made be search the Hugo documentation which finally led me here.\nI figured all I needed to do then was just to link to the image1 I wanted in the metadata section of my post, like I did for this one.2\ntitle: \u0026#34;Get Hugo to Show Images in Links When Shared on Social Networks\u0026#34; date: 2024-02-11T19:45:52+05:30 categories: [\u0026#34;work\u0026#34;] tags: [\u0026#34;hugo\u0026#34;] images: - \u0026#34;/images/2024/op-image-on-link-2.png\u0026#34; Et voilà! Rich image previews on links!\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nor a list of images, if you so choose\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI use yaml. The docs have examples for toml and json formats as well\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"11 février 2024","externalUrl":null,"permalink":"/work/hugo-show-images-in-links-when-shared-on-social-networks/","section":"Work","summary":"","title":"Get Hugo to Show Images in Links When Shared on Social Networks","type":"work"},{"content":"I want to write better.\nAnd the best way to do that, is to write more.\nThinking about which, immediately kills the urge to write, because I take really long to write anything.\nAnd the actual writing, is very arduous to me.\nSo what to do?\nI guess I need to just lower the bar.\nDo less.\nMore consistently.\nAnd then serendipitiously, as they say, when the student is ready, the master appears.\nDavid Kadavy’s conducting a 100 Word Writing Habit Online Course, this month.\nHe seemed to be in the same rut as I am now.\nI’m not a born writer. I hated writing as a kid.\nBut …\nI’ve written three best-selling books, and I write an email newsletter every Monday, a 2,000-word article every other week, and a 5,000-word income report every month.\nWell, that sort of consistency is exactly what I need.\nDavid taught me how to setup and use a Zettelkasten. His short book, is the best resource I found on the topic.\nAnd that is something I have been consistently building for a year and a half now.\nHere’s hoping he inspires me to become a better writer too!\nA few notes from his first lesson, that I am putting down here for me to remember; to not overthink stuff, to … just write!\nIt doesn’t matter what you write about. Just write 100 words. It doesn’t matter if they’re any good. Just write 100 words. It doesn’t matter if you repeat yourself in your writing. Just write 100 words. If you miss a day, do it the next day. If you miss that day, do it the day after that. You don’t have to publish the writing. (Feel free to share on Twitter, Instagram, or other social on the hashtag #100wordhabit, so your classmates can see.) What’s more important is you just write 100 words. Feedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"11 février 2024","externalUrl":null,"permalink":"/personal/100-word-writing-habit/","section":"Personal","summary":"","title":"100 Word Writing Habit","type":"personal"},{"content":"","date":"11 février 2024","externalUrl":null,"permalink":"/tags/consistency/","section":"Tags","summary":"","title":"Consistency","type":"tags"},{"content":"I’ve been living a little dangerously when posting stuff on the blog.\nWhile it’s true that I compose my posts locally on my desktop, with a locally installed Hugo, I always catch a ton of things that I miss, after I publish a post. Nearly every single time.\nSo the process then becomes …\nOpen the post on the server in Emacs (after logging in, via ssh) Make an edit. Build and publish. Reload the page and re-read the post. Find a typo. Fix it. Repeat steps 3 \u0026amp; 4. Keep the Emacs pane to keep editing and open another terminal pane, just to build and deploy. Twenty three edits later … Be ok with what I have. (with a build and deploy, and reload and reread every couple of edits) Do a final build and deploy Having done this, for God knows how long now, I’m used to this workflow and decided to just lean into it.\nBut while I loved my edit, build, deploy, reload, reread, workflow, I felt like I was tempting the fates, everytime I did it. Besides I did not like messing with the live website like that.\nSo I wondered, if the way I did it locally, could be kinda sorta done remotely.\nWhen I write posts locally, all I need to do is run hugo server in a terminal and it spins up a local server, with the all the posts, built and rendered in memory for speedy access.\nCould I have that? But remote? Could I run hugo server on my server and view the results in my browser from anywhere?\nAbout an hour of exploration later, I did have it up and running!\nHere’s what I did, after delving into Hugo’s server command options\nCreated a subdomain (drpr.janusworx.com) and pointed it to my server. (this is where I’ll see my temporary, work-in-progress, results whenever I run hugo server on my server) Used Nginx as a proxy to point to it. (Also serves as my SSL termination point, freeing Hugo from the burdens of HTTPS/SSL drama) Spun up Hugo with hugo serve -D -b https://drpr.janusworx.com --appendPort=false --liveReloadPort=443 where …\na. -D builds posts marked with drafts\nb. -b tells Hugo the hostname and path to the root of the blog (in my case, https://drpr.janusworx.com)\nc. --appendPort is set to false, which stops appending the port number to the url (happens by default, http://localhost:1313)\nd. --liveReloadPort is set to my SSL/TLS port, so that I can watch changes live with every edit. And everything worked!\nExcept for the live reloading. That bit just refused to work. I could make changes and then go manually reload the web page and it would update. Grr! So near, yet so far!\nSome more exploration led to Pothi Kalimuthu’s extremely helpful comment on Github …\nWhere I realised that Hugo’s LiveReload script (that reflects changes) needs a location in my Nginx config.\nSo a bit of copying and pasting and adapting and tada! 🎉\nThis blog post was written entirely on the server, with me watching the changes live as they happened …\nAnd once this was done, I could just do a single, final, build and deploy to publish.\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"11 février 2024","externalUrl":null,"permalink":"/personal/viewing-hugo-server-remotely/","section":"Personal","summary":"","title":"Viewing Hugo Server Output Remotely","type":"personal"},{"content":"","date":"6 février 2024","externalUrl":null,"permalink":"/tags/manjaro/","section":"Tags","summary":"","title":"Manjaro","type":"tags"},{"content":"I kept wondering why Syncthing releases on one of my Pis would lag behind my other one.1 The big difference between the two is that one runs Raspbian and the other, Manjaro23. This wouldn’t happen earlier when they ran Arch and Manjaro.\nAnd today, I head-slappingly remembered, that it did lag and I had to do stuff to get at the latest software stuff.\nWhat I had to do, was to switch Manjaro’s software branch to unstable (as opposed to the default stable. Read more here.)\nThe only reason I use Manjaro, instead of Arch4, is that the Arch kernel does not boot on this Pi and I want the latest Arch stuff, which is what the unstable Manjaro software branch offers.\nSo a …\nsudo pacman-mirrors --api --set-branch unstable switches me to the unstable branch and …\nsudo pacman-mirrors --fasttrack 5 \u0026amp;\u0026amp; sudo pacman -Syu will resync all the software with what’s available on that branch.\nTada, I have syncthing v1.27.2 \u0026quot;Gold Grasshopper\u0026quot; on all my machines :)\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nas well as other software in general\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nbecause, reasons. and a long chain of upgrade and experimentation and moves from Pis 3 to 4 to 5\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nIt’s the Manjaro Pi that lags. And yes, I know you can already guess why\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nwith apologies to Manjaro\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"6 février 2024","externalUrl":null,"permalink":"/work/note-to-self-switch-to-manjaro-unstable/","section":"Work","summary":"","title":"Note to Self, Switch to Manjaro “Unstable”","type":"work"},{"content":"Short Booklet.\nVery Taleb–esque writing. Very entertaining.\nTells us there are lots of stupid people, with a really precise definition of stupid; those folks that would cut their nose to spite their face, or like the book would say, stupid folks are they who would cause losses to other folks, even when they stand to gain nothing or possibly, ever incur losses!\nIt reads like an erudite rant. But unlike Taleb, ends with no advice or suggestion.\nLet me offer one then, in the form of one of those old folksy grandma quotes,\n“What’s the sense of wrestling with a pig?\nYou both get all over muddy … and the pig likes it.”\nFeedback on this post? Mail me at feedback at this domain P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"22 janvier 2024","externalUrl":null,"permalink":"/reading/carlos-basic-laws-of-human-stupidity/","section":"Reading","summary":"","title":"The Basic Laws of Human Stupidity, Carlo Cipolla","type":"reading"},{"content":"I must admit to stealing … quite a lot … from a bot at that!\nZoetrope’s, “random color contrasts” gets colours from Adam Morse and John Otander’s Randoma11ly and posts them a few times a day.\nI’ve been writing down the ones I love and find interesting, in an Org note, in the hopes I’ll use them someday.\n(I know I’m just hoarding colours 😂. But hey, I used one1 out of the thirty-odd colours, I’ve jotted down so far)\nThe bot page has a nice preview of what the colours look like (like this), while my little note just had bland hex RGB values.\nSo I was wondering if I could somehow see what they looked like. Preview the values themselves in the colours they represent.\nI didn’t have to dig too deep. Ofcourse Emacs does this. With Rainbow Mode.\nAll I had to do was install it. Activate it in the buffer. And tada! Look! How Pretty!\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nbackground and foreground for one of my Org Mode workflow states 😛\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"20 janvier 2024","externalUrl":null,"permalink":"/work/i-found-rainbows-in-emacs/","section":"Work","summary":"","title":"I Found Rainbows in Emacs!","type":"work"},{"content":"Updated to Emacs 29.2, just now.\nTook me and my four core workhorse about fifteen minutes tops, from start to finish.\nEmacs 29.0 was the first version I compiled from source, because I wanted the latest release as soon as it was out and I no longer had the patience for the kindly distribution folk (or third party packagers) to give me a binary.\nThe first time was a nightmare.\nI didn’t have various bits and bobs that were needed. Stuff that the guides say should work a certain way wouldn’t.\nBut it did happen eventually and I learnt a lot along the way about what I wanted compiled in, in my Emacs.\nI also appreciated just how much easier it is now to compile stuff and recover from errors. I tried this last in the late 90s1 and it scared me off.\nBut like I was saying … now that I have it all set up, 29.1 and 29.2 have been a breeze.\nI’d never have guessed, updating software, by compiling from source, would be so painless.2\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI compiled the linux kernel. Bold first step. I know 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI know, there will be hiccoughs. But even so, this is so much better than what I imagined in my head.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"19 janvier 2024","externalUrl":null,"permalink":"/work/updated-to-emacs-29.2/","section":"Work","summary":"","title":"Updated to Emacs 29.2","type":"work"},{"content":"I went and fulfilled an old dream of mine.\nA signed copy of Neil Gaiman’s, What You Need to Be Warm. A New Year’s Gift! From me, to me 😂\nI got mine from The Golden Notebook, an indie bookshop in Woodstock New York, who are kind and prompt and ship world wide.1\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI got to know of them from Neil’s tumblr. Methinks, this is his local bookstore. And he signs books there often(ish)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"14 janvier 2024","externalUrl":null,"permalink":"/personal/signed-copy-what-you-need-to-be-warm/","section":"Personal","summary":"","title":"A Signed Copy of Neil Gaiman’s, “What You Need to Be Warm”","type":"personal"},{"content":"With eternal gratitude to Bruinhilda the Librarian, for writing this.\nAnd with lots of apologies for stealing it wholesale and making it my new reading manifesto :)\nAs a library worker, there’s something I want to say to you.\nYou do not have to apologize for the books you choose to read.\nAt all. To anyone. You owe nobody any explanations; you need no excuse or “good reason” to be reading the book.\nYou do not have to be ashamed for wanting to read “bad” books. You wanna read Twilight? We got Twilight. Need a banal, cookie-cutter-plot mystery or thriller? Those are always fun. Our regulars check them out by the towering stack. Ask Betty for recommendations; she’s read them all. 50 Shades of Oh Fucking No? We’ve got it, we even got it in large print. Have fun. Check out the rest of our porn too. Oh, and the sex manuals are a MUST if you want to “experiment” yourself. Don’t be afraid to ask; they’re here for a reason.\nWant to read a book written by a huge asshole everyone hates and agree was a monster? Yeah, we have those. No, we don’t think you’re an asshole for wanting to know what was actually written in there, or judging things for yourself.\nYou are not too old for Diary of a Wimpy Kid, The Babysitter’s Club, or Captain Underpants. You are not too young for Sherlock Holmes. There’s nothing wrong with a boy reading The Princess Academy or Sweet Valley High. There’s nothing wrong with a girl being into The Hardy Boys or Artemis Fowl instead.\nYou do not have to pull the shame face and offer me an excuse when you check out your books. I don’t care if I got so angry at that book I threw it against a wall when I read it: you have the right to read it, and enjoy it if it’s enjoyable for you. THAT’S WHY THE LIBRARY HAS IT IN THE FIRST PLACE. If we only stocked pure, unproblematic literature everyone approved of, by authors of unquestionable virtue, we wouldn’t have any books at all. Or music. Or movies. It would be utterly fucking boring. And it certainly wouldn’t be a library.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"10 janvier 2024","externalUrl":null,"permalink":"/personal/read-read-read-everything/","section":"Personal","summary":"","title":"Read, Read, Read, Everything","type":"personal"},{"content":"","date":"31 décembre 2023","externalUrl":null,"permalink":"/tags/happy-new-year/","section":"Tags","summary":"","title":"Happy New Year","type":"tags"},{"content":"I normally hide Easter eggs or just random comments into my footnotes. And so normally it does not matter if you folk read it or not. But this post was really off the cuff and there are some details that have snuck into the footnotes. So, please do give ’em a peek\ncourtesy, Tom Gauld\nReading is my one thing.\nThe thing that most people I know, can say without reservation, that I do.\nThere’s only been a brief period of time when I did not read12\nNevermind that. It’s all water under the bridge now.\nRiffing off Tom’s toon # The Unread Book Pile: I should keep track of just how much my unread book pile increases or decreases every year. Who am I kidding? This is never going to happen 😂 But just for kicks, my current unread pile is around four and a half thousand books. Most of these have been lying around in one form or another since the late 90s when I discovered Palm ebooks and the Gutenberg project. I have to get around to converting most of them some day. Which leads me to … Most Considered Authors: The reason I downloaded all of them. Someday, young Jason said, I will read all the classics. Joyce and Proust and Tolstoy and Dickens and JKJ and Keats and Yeats and Donne and Dickinson and Wordsworth and all the Brontës and Newton in Latin and Montaigne along with du Châtelet in French and Epictetus and all the folks who I admired. So I got them all! They were free! And then instead of reading those, I got sucked into sci-fi and fantasy with PKD and Asimov and Moore and Gaiman and GRRM and Peter Watts and Le Guin and Duane and Jemisin. Whither the classics? I’ve barely scratched the surface. Someday! Someday soon! I live in deluded hope :) Non-Fiction: I learnt to skim modern non fiction quite rapidly. If something appeals to me, I make notes, so that my distracted magpie brain remembers. And if something doesn’t, then non fiction is the one genre where I’ve no qualms about dropping the book like a hot potato. The old stuff, is where it’s at. Despite being a product of their times, Andy Grove and Maya Angelou and Anne Lamott still whoop anything modern. Audiobooks: This was the year I finally found my groove, with audiobooks. They helped me in the past when I was so busy, I barely had time to read. But then I would miss my notes. So I couldn’t quite do it with most fiction or non-fiction that I liked and wanted to pay close attention to. Listening and taking notes was joyless. But ever since I switched to History as an audiobook niche, I’ve fallen in love again. While I do listen to history books, most of my history listening this year has been long series on various history podcasts. Anand and Dalrymple’s Empire is outstanding. They began with the Raj and then covered other empires. I loved Persia (which I think still isn’t over) and the Ottomans too. Holland and Sandbrook’s, The Rest is History is pretty neat too. Dan Carlin is the one who blazed this path with Hardcore History. I have no words to describe what he does. Suffice to say, that everytime an episode drops3, the whole internet4 rejoices. The amount of research and work that goes into these is astounding.5 The two series I really enjoyed6 and learnt from were Supernova in the East (Japan in WWII) and my favourite series of them all, Wrath of the Khans (six long episodes on the Mongol Empire). And finally I really wanted to know why English is the way it is. John McWhorter’s, Our Magnificient Bastard Tongue taught me a lot, but Kevin Stroud’s, The History of English is something else. A leisurely walk from antiquity to today7 Loans: I never loan a book. I either give them away and buy myself new copies if I miss them; or I never give them away, in the first place. I’ve haven’t lost many books, but the few I have I miss dearly. I miss my first edition of Anthony DeMello’s, The Song of the Bird to this day. It was Daddy’s copy. I was very sentimentally attached to that dead tree. Riffing Some More # I reread quite a bit this year. I’ve begun hankering for some feeling I would get when reading certain books, and so now I keep going back to them. The Little Prince and The Count of Monte Cristo. I went and got a lot of old Hardy Boys and Nancy Drews too8 and have been making my way through them slowly. I have close to a baker’s dozen of friends, I call Book Santas. And thanks to one of them who shares my love of comics9 and so I am now the proud owner of the entire Goscinny/Uderzo Asterix run, as well as the gorgous three volume Sandman omnibus. Reading them was so much fun! I reread all the books of A Song of Ice and Fire, because believe it or not, I haven’t watched the TV series. I have been patiently waiting for that grumpy old fart10, to finish the series and so I read the books again to remind myself of where I was in that world. I gave talks after quite a bit, so I went back to Nancy Duarte’s Slide:ology and Resonate as well as Scott Schwertly’s Deck ’Em. I reread American Gods, this time as a graphic novel. I surprisingly did not read any Poirot this year, but that probably because I watched the Suchet series and the Branagh movies this year and so that cup was full. I did however read all of Holmes, twice! And what else? Oh yes, I read How to Pronounce Knife and The Overstory. Both of them are so evocative, so raw, so real, so … it feels less like reading and more like experiencing them. Three lines from the Overstory, always haunt me. They keep popping up at random times.\n“I ask you. Has there ever been such a little nation of two?”\n“places remember what people forget.”\n“It seems most of nature isn’t red in tooth and claw, after all. For one, those species at the base of the living pyramid have neither teeth nor talons. But if trees share their storehouses, then every drop of red must float on a sea of green.”\n“How do I recognize this already? Why does this all feel so much like remembering?”\nOk, that’s four. But it is that kind of book. The kind that grabs you and never lets go.\nI discovered Erotic-Sci-Fi-Opera, courtesy Sarah Hawke and historical couple everything courtesy Minerva Spencer. They were really good. They were really hot. ’Nuff said. Being an enthusiastic Sherlockian, I’m always on the lookout for folk who put their own stamps on Holmes and Watson. Kareem Abdul-Jabbar11 writes Mycroft, but they didn’t appeal to me. The TV series led me to the Enola Holmes books, but I haven’t read those yet. Bonnie MacBird is wonderful at it though! I really loved Art in the Blood This was my year of Sanderson. He reminds me a lot of GRRM. Rough, workman like prose, but lovely worlds and lovely people! Tress of the Emerald Sea and Yumi and the Nightmare Painter were my favourites. I’m only through one third of his books. I still have more to enjoy! And finally, I had my mind bent12, by the Locked Tomb. Most folks are really polarised by the books. I’m one who won’t accept a single bad thing about them. They’re really good! I’m really blessed to be living in the age of Muir and Bardugo and Jemisin! Finally, finally, yes, I did read Taleb In Parting … # I realise that I’m doing a lot of this, because of my battle with the black dog and books help me cope. The sheer quantity will definitely drop off once I get back on the horse, but the reading will continue.\nAnd oh, before I forget, Charlie Munger died this year. And I learnt so much from him. What could a old white billionaire teach a poor, brown kid in his early twenties? Plenty it turned out, over the years.13 While I reread a couple of his biographies and listened to a live podcast this year, I did not read his own Poor Charlie’s Almanack this year. So now you know what I’m going to begin next year with :)\nBut why just me? You can too. Stripe Press has turned the book into a gorgeous website for everyone to enjoy.\nI leave you with this wonderful Gaiman wish for the New Year I hope you will have a wonderful year,\nthat you’ll dream dangerously and outrageously,\nthat you\u0026rsquo;ll make something that didn\u0026rsquo;t exist before you made it,\nthat you will be loved and that you will be liked,\nand that you will have people to love and to like in return.\nAnd, most importantly\n(because I think there should be more kindness and more wisdom in the world right now),\nthat you will,\nwhen you need to be,\nbe wise,\nand that you will always be kind.\n— Neil Gaiman, courtesy The Toymaker’s Journal\nP.S. I’ve only written about, what still resonates at the end of the year.\nTo see the complete list, go here. Feedback on this post? Mail me at feedback@janusworx.com P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\nin my twenties when I took someone’s well meant, but ignorant advice and stopped.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthree years! Oh, the books I could have read 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nMethinks, this year there were just the two Viking episodes\u0026#160;\u0026#x21a9;\u0026#xfe0e;\natleast, my corner of it\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nComplement, Empire’s Persian History run, with Carlin’s King of Kings\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nyou cannot really “enjoy” them. They are full of all sorts of situations. Lots of them, not good.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nwhich I don’t know if he has reached or not. I am still at episode 100, while the podcast is at 178.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nonce again, products of their time. Treat them as such\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nGraphic Novel say you? Po-tay-toe, Po-tah-toe say I\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI jest. GRRM is kind and gracious. As a young boy, new to the internet and at a time when authors did reply to their email, it was he, who turned me on to quite a number of other authors. Maurice Druon and Daniel Abraham, to name a couple. Was it him? Or a minion writing on his behalf? It was the 90s and I was 17. I choose to believe it was him :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYes, that one\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nin a really good way\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThe two best things I learnt? 1. Be a Stoic 2. I can only have an opinion if I can state the opposing arguments better than the people who support it do and 3. Always be learning, so that someday you gain wisdom\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 décembre 2023","externalUrl":null,"permalink":"/personal/my-year-in-reading-2023-edition/","section":"Personal","summary":"","title":"My Year in Reading, 2023 Edition","type":"personal"},{"content":"If someone had told me three and a half years ago, that I would:\nUse Emacs as my primary editor nearly everywhere. Not just as an editor. In fact, I would stop thinking of it as an editor and come to see it for what it really is. A whole computer with an editor bolted on. Use Emacs not just for writing, but also have it serve as the cornerstone for two other extremely important activities in my life, organising my life (with Org Mode) and tending to my commonplace book (with Org Roam) Come so far as to scrape a web page, set it up as a connected node in my Zettelkasten, strip close to fifty superfluous lines, edit the rest to my liking, change the title to title case, and then file it way within minutes, and learn do all this by osmosis and research over the years, just by using it daily and being curious1 Have a kind community support all my crazy attempts to bend Emacs to my will I would have told you, you were off your rocker.\nBut I do, do these things (which, I’m ridiculously pleased with) and have this wonderful community (which, I am earnestly grateful for).\nHere’s to three and a half decades!\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nand being a bit stubborn and refusing to accept the status quo\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"30 décembre 2023","externalUrl":null,"permalink":"/work/emacs-three-and-a-half-years-on/","section":"Work","summary":"","title":"Emacs, Three and a Half Years On","type":"work"},{"content":"","date":"15 décembre 2023","externalUrl":null,"permalink":"/tags/design/","section":"Tags","summary":"","title":"Design","type":"tags"},{"content":"","date":"15 décembre 2023","externalUrl":null,"permalink":"/tags/logo/","section":"Tags","summary":"","title":"Logo","type":"tags"},{"content":"Kubernetes v1.29 was released a couple of days ago.\nAnd just like every other release before it, it has a distinct name and theme (Mandala) as well as its own unique logo. In whose creation, I’m proud to say, I had a part to play!\nThe logo! Look, how pretty!\nIt all began when I helped the v1.29 Release Lead, mentee and trouble-maker in general, Priyanka Saggu set up her blog in 2018. I taught her all about CRAP1 and I think all those crappy lessons lingered and made an impression.\nSo when it came time to design the release’s logo, she asked me if I could pitch in and help, because she was running short on time. It sounded like fun, so I said, Hell Yeah!\nPartners in Crime aka Spitballing aka Brainstorming # Priyanka was very clear headed on her brief for what the logo was to be about.\nUniversal: We need to celebrate the fact that this project has folks all over the world, working on it. Singularly Recognisable: It had to be recognised as the 1.29 logo at a glance at various scales Everything else was up for grabs.\nThoughts meandered from parodying popular memes, like we do in our talks …\nto cheeky play, with popular media like the old folks did, to seeking inspiration from music lyrics and nature patterns.\nPriyanka then hit upon something else she wished to incorporate in the design. Could it have Indian elements? That led us down more fun alleys in the beautiful maze that is Indian Art. Across the length and breadth of our multicultural nation; we checked out everything …\nfrom Warli art, courtesy, Wikipedia\nto Kalamkari courtesy, Wikipedia\nthrough Madhubani courtesy, Wikipedia\nbefore we settled on Mandala\ncourtesy, Sambeet D, Pixabay\nWhy Mandala? # Because it satisfied both the conditions of the brief, beautifully and succinctly.\nNearly every culture, from Hinduism to Buddhism to Mayan to Christianity, has some spin on the patterns and the symbols that make up the Mandala. It represents the cosmos and is used across the world. To our minds, nothing could be more universal than this art form And because it is singularly recognisable. Here it is in a slack chat, as an emoji2\nIt’s pretty distinctive! And as you look at it, at ever increasing sizes, more details emerge.\nThe midsized image I posted above is pretty detailed, but you can go watch it in all its uncompressed glory here3\nPutting It All Together # The rest was then, figuring out the details.\nSince one of us has quite limited design skills, that were rusty to boot4 and the other one had no time5, we decided to go look for a liberally licensed Mandala image, that we’d use as a base. We went through quite a few images, before we stumbled across Fibrel Ojalá’s beautiful creations.\nAnd once that was done, it was just a matter of structuring it, the way we wanted it to look. We used Annapurna SIL6 for the text and Inkscape to put it all together.\nThe whole process took us a week, from start to finish.\nIt was both, a joy and a privilege to contribute to this release.\nP.S. The Easter Egg # I thought it’d take a little longer than it did, but you folks are more eagle eyed than I thought possible!\nYes, that’s my little homage to Devanagari, the script lots of Indian langugages use for their writing. If you read the symbols in the diamonds clockwise, beginning at nine o’clock, they’re Devangari numerals that read 1.29 🙂\nFeedback on this post? Mail me at feedback@janusworx.com P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\nI know very little design, but what little I do know is burned into my psyche because of Robin Williams and her CRAPpy principles, I learnt in the late 90s\u0026#160;\u0026#x21a9;\u0026#xfe0e;\napologies for the potato quality of the screenshot\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYou’ll need Annapurna SIL for the text to render right\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nMe\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nPriyanka. She really can draw, though. I mean, have you seen her sketches?\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI saw it used in a hymnbook, a decade ago and loved it at first sight\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"15 décembre 2023","externalUrl":null,"permalink":"/work/on-how-the-kubernetes-v129-logo-came-about/","section":"Work","summary":"","title":"On How the Kubernetes v1.29 Logo Came About","type":"work"},{"content":" Click to enlarge\nTo be a Flower, is profound\nResponsibility —\n— Emily Dickinson, Bloom\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"29 novembre 2023","externalUrl":null,"permalink":"/personal/bloom/","section":"Personal","summary":"","title":"Bloom","type":"personal"},{"content":"Every evening, after my shutdown ritual, I move my current day’s branch to the bottom of my Org Mode file, so I begin the next day at the same fixed place, at line 36.1\nThe day is done; moving it to the bottom of the pile\nEvery time I move though, it goes there and sits, right next to the last branch, instead of under it. So I would grumble a bit, and then go hit the return key as required, to get it all right and proper. And I’m tired, so at least one time out of three, I mess the older day too, and then I grumble even more and fix that too.\nWhere it sits awkwardly\nUntil today morning, when I realised I had not done my fix the day dance, yesterday…\nAnd the day was correctly positioned at the bottom!\nSo, was this was just a purely cosmetic issue?!\nI tried it with a couple of test days.\nI saved, closed, and opened up my file. Fixed!\nThen I tried some more tests days and I expanded all my tasks Shift-Tab and and closed them. Fixed! 🙂\nYay! The Org Mode elves fixed it!\nI guess, I have to go find something else to be grumpy about now 😂\nUpdate: 2023-11-27 # A friend on the fediverse, encouraged me to try filing a bug report with the Org folk.\nTo which I retort, this is more a PEBKAC problem, than an Org Mode problem.\nMost likely I am doing something dumb or I have something misconfigured, or some of my Org helper packages (Org-contrib, Org-ql, Org-Web-Tools, Org Superstar) are trampling over one another.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nAs I grow older, habits, routines and static places are growing ever more important, so I can function well.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"27 novembre 2023","externalUrl":null,"permalink":"/work/weirdly-placed-emacs-org-branches-are-only-cosmetic/","section":"Work","summary":"","title":"Weirdly Placed Emacs Org Branches Are Only Cosmetic","type":"work"},{"content":"Figuring out my webapps problem yesterday made me ask myself if I could somehow repurpose that little xdotool script to solve another niche itch that I had.\nSpoiler alert: It did.\nI run Emacs as a daemon, and use EmacsClient to connect to the Emacs process.\nMakes it really ease to launch, work on, sling around and close lots of Emacs windows.1\nWhich brings me to the hiccough. I launch EmacsClient and a window (frame) does indeed launch, but it just … stays there in the background.\nRepeated attempts to launch EmacsClient are to no avail.\nThe pesky little windows just pile up in their corner.\nErgo, this little bit of Bash/xdotool shenanigans …\n#!/usr/bin/env bash export EMACSWINID=$(xdotool search \u0026#34;\\*scratch\\*\u0026#34; | tail -n1) if [ $EMACSWINID ]; then xdotool windowactivate $EMACSWINID else sh -c \u0026#39;emacsclient --create-frame --no-wait --alternate-editor=\u0026#34;\u0026#34; \u0026amp;\u0026amp; export EMACSWINID=$(xdotool search \u0026#34;\\*scratch\\*\u0026#34; | tail -n1) \u0026amp;\u0026amp; xdotool windowactivate $EMACSWINID\u0026#39; fi Check to see if an Emacs scratch buffer is open. If it is, switch to it. Otherwise, just launch EmacsClient, get the id of the scratch buffer window (frame) and raise it, so that I can work on it. In peace. Cue: sounds of relief, in the background\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nFrames, in Emacs parlance\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"18 novembre 2023","externalUrl":null,"permalink":"/work/getting-emacs-windows-to-not-be-shy/","section":"Work","summary":"","title":"Getting Emacs Windows to Not Be Shy","type":"work"},{"content":"","date":"18 novembre 2023","externalUrl":null,"permalink":"/tags/reference/","section":"Tags","summary":"","title":"Reference","type":"tags"},{"content":"","date":"18 novembre 2023","externalUrl":null,"permalink":"/tags/scripting/","section":"Tags","summary":"","title":"Scripting","type":"tags"},{"content":"I love it whenever the Roger Ebert of the Emacs world aka Jon Snader aka irreal, gets his hands on one of my posts and uses it for his insightful annotations.\nHis conclusion is something I totally relate to, because that is exactly what has kept me using Emacs ever since I began using it. It bends to my will. Or as Jon puts it …\nIt’s yet another way that Emacs adapts itself to its users rather than insisting those users adapt themselves to Emacs.\nRead irreal’s entire post here.\nP.S. I also managed to power my workflow with elisp, like Jon’s first impulse told him to. And that was because of Emacs’ second (or rather biggest) strength.\nThe kindness and warmth of the Emacs community at large.\n@laotang from the fediverse, reached out and gave me the gift of an elisp function, that did what I needed :)\nFeedback on this post? Mail me at feedback@janusworx.com P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\n","date":"18 novembre 2023","externalUrl":null,"permalink":"/work/on-how-emacs-adapts/","section":"Work","summary":"","title":"On How Emacs Adapts","type":"work"},{"content":"","date":"17 novembre 2023","externalUrl":null,"permalink":"/tags/firefox/","section":"Tags","summary":"","title":"Firefox","type":"tags"},{"content":"One of best parts of using Linux Mint is its Web Apps Manager.\nI can use most of my websites as dedicated applications now.\nCase in point, I use a dedicated web app to run Elk, the web client for Mastodon.\nSocial stuff like this, or banking stuff or my webmail for that matter, stays away from the rest of my browsing and lets me keep these activities cognitively separate.\nSo far, so good.\nThe issue arises, when I try to launch one of these dedicated apps and it is already running.\nDue to the way these little web containers are created, it cannot run another instance and I run into this error.\n“Firefox is already running, but is not responding. To use Firefox, you must first close the existing Firefox process, restart your device, or use a different profile.”1\nAnd I’m like, I know this you git! I am running a different profile. Can’t you just switch to it? Apparently it cannot. So I’d have to go looking for my app and then Alt-Tab through dozens of windows or look in my dock2 and then get it back.\nThe problem wasn’t the error per se, the problem was the slightly longish delay between me calling the app and the error popping up. And also all that crazy hunting and pecking to find the right window, once I see the error. It gets maddening when I need to do this dance and all I want to do is get to my email window to go look for something important.\nSo I began casting around for a way to somehow switch to the actually running window. Was it possible?\nThat’s when I found xdotool\nIt lets you do all sorts of crazy things with windows and keyboard and mouse input, but most importantly for me, it let me search for my running app window and it let me raise and bring it back up. Awesome!\nSo instead of telling Ulauncher to directly launch the app, I told it to run this script instead.\n1 2 3 4 5 6 7 8 9 #!/usr/bin/env bash export ELKWINID=$(xdotool search WebApp-ElkforToots1234 | tail -n1) if [ $ELKWINID ]; then xdotool windowactivate $ELKWINID else sh -c \u0026#39; firefox --class WebApp-ElkforToots1234 --profile /home/user/.local/share/ice/firefox/ElkforToots1234 --no-remote \u0026#34;https://elk.zone/\u0026#34;\u0026#39; fi In a nutshell, I’m looking to see if Elk is already running (using the xdotool search option in line 3).\nIf it is, I tell xdotool to get that window to the forefront of the display; and if it isn’t, then to just go ahead and launch the app anew.\nWhat a load off my mind, this one was!\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI don’t know if this would happen if I use Chrome as the browser engine. I don’t even use it as a browser, much. And for things like these, I wouldn’t touch it with a ten foot pole.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nand still some how miss it\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 novembre 2023","externalUrl":null,"permalink":"/work/getting-around-linux-mint-web-app-manager-window-errors/","section":"Work","summary":"","title":"Getting Around Linux Mint Web App Manager Window Errors","type":"work"},{"content":"","date":"17 novembre 2023","externalUrl":null,"permalink":"/tags/linux-mint/","section":"Tags","summary":"","title":"Linux-Mint","type":"tags"},{"content":"","date":"17 novembre 2023","externalUrl":null,"permalink":"/tags/webapps/","section":"Tags","summary":"","title":"Webapps","type":"tags"},{"content":"Updated: 2023-11-17. Read more below\nNearly everything I write is in Emacs.1\nIt’s been slightly more than two years, since I made the move to using it as my everyday text editor.\nI have a spartan Emacs config, with only a few customisations, that I found by watching David Wilson aka System Crafters’ Emacs From Scratch #1 video and the rest by searching on the web and asking around on the fediverse.\nI’ve touched my config only about three times; basically every time I’ve found a new use for emacs.\nWhen I started editing text When I start using it as my Organiser (Org Mode) and When I began using it as my Zettelkasten (Org Roam) Which is to say, I know only the bare bones of how Emacs configuration and Elisp work.\nAnd yet … and yet …\nI have this itch that rankles.\nYou see, every morning I sit at the computer with my cup of coffee, and pull up my tasks and notes and the agenda for the day.\nNow I don’t use the agenda much, but the tasks and notes are a must.\nSo I open the tasks file and maximize my window and then I split my frame and I open the notes file, and then I go back to my tasks and I have it all ready just the way I like it.\nThing is, I’m grumpy in the morning and doing all that grates on me.\nThere’s gotta be a better way!\nSo I tried looking around, and came to the conclusion that creating a function, that did all this for me, would be the best thing.\nBut I know no Elisp.\nAnd right now, I have no time to put into learning it. I did spend close to a day looking at what I could whip up, to no avail.2\nSo the next best idea I came up with, was recording my actions, doing the file opening, window arranging dance, as a macro and then assigning a keyboard shortcut to it.\nThat turned out to be iffy.\nIt’d work fine when I created it, but when I restarted my Emacs daemon (or my system) and then call it again, Emacs would freeze.\nMy intuition told me that it could be the fact, that a recorded macro3 could not handle opening files and switching buffers.4\nThen I realised that I could outsource that part to the command line or my application launcher5 and leave the rest of it to the macro.\nSo I did just that. I created a Ulauncher shortcut.\nIt binds the keyword etn to the command:\nemacsclient -c --no-wait ~/path/to/tasks.org ~/path/to/my/notes.org\nso that Emacs opens both my tasks and notes files as it fires up.\nA Ulauncher window, with name, keyword and the actual command to launch emacs\nAnd in Emacs I bound a keyboard macro, to the rest of the recorded macro code that would\nMaximise the frame Split the frame into two windows, with my tasks on top and the notes in the bottom Have the cursor be ready at the place I needed it to be. (defalias \u0026#39;mjbtn (kmacro \u0026#34;M-x t o g g l e - f r a m e - m a x i m i z e d \u0026lt;return\u0026gt; C-x 2 C-x o C-x b n o t e s . o r g \u0026lt;return\u0026gt; C-x o M-g g 3 6 \u0026lt;return\u0026gt;\u0026#34;)) ;; Assign a keyboard shortcut to the macro above: C-c z (global-set-key (kbd \u0026#34;C-c z\u0026#34;) \u0026#39;mjbtn) Et voilà! I have everything, just the way I want it.\nAnd while it might not be fancy, it works without a fuss!\nUpdate: 2023-11-17 # One advantage of writing about what you do and putting it out there, is that really kind souls come along and teach you new things!\nOne of them is @laotang, over on the Fediverse.\nRemember when I said, the best solution would be to write an Emacs function that would do what I wanted?\nWell, laotang loved my tinkering and then went on to give me just that!\nI raise my cup of coffee to you, Sir! You made my day! Thank you, so much!\nHere’s the code he suggested.Worked like a charm!\n(defun getting-ready () \u0026#34;Getting ready for work.\u0026#34; (interactive) (toggle-frame-maximized) (split-window-below) (find-file \u0026#34;~/path/to/notes/notes.org\u0026#34;) (find-file-other-window \u0026#34;~/path/to/tasks/tasks.org\u0026#34;)) (global-set-key (kbd \u0026#34;C-c r\u0026#34;) \u0026#39;getting-ready) Oh, and if you liked how Org-Roam worked in the past? When it was all just text files?\nWell, if you want something like that, check out laotang’s feature-complete6 replica, ORGRR Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nwith the exception of code.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nNot much. there are lots of primitives and I cannot separate the language from Emacs specific stuff yet\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nrather, my recorded macro\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nDon’t know if this is true or not. This is just me scratching my head. I’m assuming a function that can call buffers and handle switching between them is the ticket.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nUlauncher\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nalmost\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 novembre 2023","externalUrl":null,"permalink":"/work/having-my-emacs-tasks-and-notes-ready/","section":"Work","summary":"","title":"Having My Emacs Tasks and Notes Ready","type":"work"},{"content":"","date":"15 novembre 2023","externalUrl":null,"permalink":"/tags/miniflux/","section":"Tags","summary":"","title":"Miniflux","type":"tags"},{"content":"Various bits and bobs, I gradually accumulated over the past couple of years, to make my self hosted Miniflux look just the way I want it.\nWidth and Size # Changed the width to 850 pixels wide, because even on my vertical monitor, there was quite a bit of wasted horizontal space. Changed the body to use a slightly smaller size.\nbody { max-width: 850px; !important; font-size: 90%; } Italic Blockquotes # Changed blockquotes to be italic, so that they’re better set off against normal body text.\nAlso made them a wee bit tinier than the body.\narticle \u0026gt; blockquote { font-size: 87.5%; font-style: italic } Smaller title size # If you follow Tumblr blogs as I do1, you know they have Tumblr Asks.\nThe asks themselves become the title of an RSS entry, when the author responds to one.\nAnd long asks lead to long titles.\nSo here’s a bit of CSS to make the font smaller than the default H1 size.\n.entry-header\u0026gt;h1 { font-size: 1em !important; } Even at this size, the titles get a bit unwieldy at times (below), but this much I can live with.\nDisable Tag Visibility # Miniflux displays tags, if it detects them on certain posts.\nI don’t read them. I don’t need them. It breaks my next-next-clicky-next chain of continuity by pushing the next post link below, making me move my mouse2. So I killed them!\n.entry-tags { display: none; } In Summary # So, all the flotsam and jetsam above, go into a box that says “Custom CSS” at the very bottom of the Settings page. Putting it all together we have …\nbody { /*set width*/ max-width: 850px; !important; font-size: 90%; } article \u0026gt; blockquote { font-size: 87.5%; font-style: italic } .entry-header\u0026gt;h1 { font-size: 1em !important; } .entry-tags { display: none; } Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nHello, Ursula Vernon, Diane Duane, Peter Morwood \u0026amp; Neil Gaiman!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nOh, the troubles I face, I tell you!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"15 novembre 2023","externalUrl":null,"permalink":"/work/my-custom-css-for-miniflux/","section":"Work","summary":"","title":"My Custom CSS for Miniflux","type":"work"},{"content":"I’ve had a rash of folk1, unsubscribing from the newsletter after last few I’ve sent.\nI guess a few of you signed on, for techy posts and because of life, most of my recent newsletters have mostly been photography, or writing or other stuff.2\nSo, I went ahead, reworked the subscribe page on the blog and segmented the rest of you folk. Hopefully, you see only the emails you are interested in.\nI’ve sent out emails to each list, asking if they’re interested in the other (or all) list, so if you’d like alternatives, mail me and tell me so :) For new folk, the page now asks for the kind of emails, you would like to receive and automatically puts you in said bucket.\nYes, there’s a bit more friction, but I cannot help it.\nBetter to err on the side of safety.\nAnd to the rest of you who remain, dear readers, thank you for your accepting this gift of mine so graciously and giving it your most precious resource in return.\nYour time and attention.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nfive out of a hundred and twentyish good readers\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nSome of you also kindly suggested, that I focus, but that is not what this blog is about. This is the place for me to write what I want to write :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"21 septembre 2023","externalUrl":null,"permalink":"/work/reworking-blog-newsletter-subscription-options/","section":"Work","summary":"","title":"Reworking Blog/Newsletter Subscription Options","type":"work"},{"content":"","date":"21 septembre 2023","externalUrl":null,"permalink":"/tags/subscribe/","section":"Tags","summary":"","title":"Subscribe","type":"tags"},{"content":"I wrote a tiny script that creates an RSS feed for all the audio files it finds in a folder.\nI call it derb.\nMy mother gets devotional songs and sermons on cds, which I rip to MP3 files and then dump on her phone for her.1\nShe listens to them all the time, and now three of her friends want to do the same too.\nI thought of just sticking them in my self hosted Jellyfin instance,2 but then I realised, all of them have erratic, slow internet. So the idea of self hosting a podcast feed really appealed to me.\nSo I quickly used Feedgenerator in conjunction with Tinytag, to whip up a script that’d help me do just that. The code’s up on Github, if you want to go install and play with it yourselves.\nHere’s a quick walk through derb.py.3\nSetting up house # We set up a place to accept a path containing the files. The feed will ultimately be placed as a feed.xml in the same folder as well We then walk through the folder (after a really basic sanity check) and gather all the files into a list.\nThe base_url is where the feeds (along with the audio) will be served from.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 base_url = \u0026#34;https://ab.janusworx.com\u0026#34; book_folder = input(\u0026#34;Paste path to audiobook folder here: \u0026#34;) book_out_path = base_url + (book_folder.split(\u0026#34;/\u0026#34;)[-1]) file_list = os.walk(book_folder) # Do a basic check on the validity of the path we get, # before we build the audio file list. try: all_files = (list(file_list)[0][2]) except IndexError as e: print(f\u0026#34;\\n\\n\u0026#34; f\u0026#34;---\\n\u0026#34; f\u0026#34;ERROR!: {e}\\n\u0026#34; f\u0026#34;Have you typed in the right path?\\n\u0026#34; f\u0026#34;---\\n\u0026#34;) sys.exit(\u0026#34;Quitting script!\u0026#34;) audio_files = [] for each_file in all_files: each_file = Path(each_file) if each_file.suffix in [\u0026#39;.mp3\u0026#39;, \u0026#39;.m4a\u0026#39;, \u0026#39;.m4b\u0026#39;]: audio_files.append(str(each_file)) audio_files = sorted(audio_files) Creating a feed # We now go about the business of setting up the feed proper.\nTo begin with, we grab the first file we can get our grubby paws on, and create a TinyTag object that’ll give us a lot of metadata. (If there isn’t any, we quit.)\nOh, and by the way, how do I know what data I’d need to create a feed? I just cribbed everything from the Feedgenerator’s excellent documentation. I also looked at the widely linked to, RSS reference page for clarification if I got confused.\nWe then, instantiate create a feedgenerator object along with the podcast extension.\nFollowing which, we supply the feed a title, an id4, feed author details, a language, podcast category and description.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # Setup a feed ## Grab feed metadata from the first audio file feed_metadata_file = TinyTag.get(Path(book_folder, audio_files[0])) ## Grab title from metadata file. ## At the same time, break out if there isn’t any. if not feed_metadata_file.album: sys.exit(\u0026#34;\\n---\\nStopping feed creation.\\n Setup audio file metadata with a tag editor\u0026#34;) feed_title = feed_metadata_file.album ## Creating feed instance audio_book_feed = FeedGenerator() audio_book_feed.load_extension(\u0026#34;podcast\u0026#34;) ## Setting up more stuff on the feed proper audio_book_feed.id(base_url) audio_book_feed.title(feed_title) audio_book_feed.author({\u0026#34;name\u0026#34;: \u0026#34;Jason Braganza\u0026#34;, \u0026#34;email\u0026#34;: \u0026#34;feedback@janusworx.com\u0026#34;}) audio_book_feed.link(href=f\u0026#39;{book_out_path}\u0026#39;, rel=\u0026#39;self\u0026#39;) audio_book_feed.language(\u0026#39;en\u0026#39;) audio_book_feed.podcast.itunes_category(\u0026#39;Private\u0026#39;) audio_book_feed.description(feed_title) Adding episodes and writing out the file # After which it’s then a matter of looping through that audio file list we created and adding them as entries to the feed object we created.\nOnce again we grab the metadata from each file, using Tinytag, and then set each feed entry’s details (title, id and enclosure).\nI’ve hardcoded the mime types, since I know I only have two basic type of audio files. If you don’t know what kind of audio, you might be serving, the mimetypes-magic package should help.\nFinally we write it all out to a file.\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # Loop the file list and create entries in the feed for each_file in audio_files: each_file_metadata = TinyTag.get(Path(book_folder, each_file)) episode_file_path = Path(each_file) episode_suffix = episode_file_path.suffix episode_mime_type = \u0026#39;audio/mpeg\u0026#39; if episode_suffix == \u0026#39;.mp3\u0026#39; else \u0026#39;audio/x-m4a\u0026#39; episode_title = each_file_metadata.title episode_size = str(each_file_metadata.filesize) episode_link = f\u0026#34;{book_out_path}/{each_file}\u0026#34; audio_episode = audio_book_feed.add_entry() audio_episode.title(episode_title) audio_episode.id(episode_link) audio_episode.enclosure(episode_link, episode_size, episode_mime_type) # Write the rss feed to the same folder as the source audio files audio_book_feed.rss_file(f\u0026#34;{book_folder}/feed.xml\u0026#34;) Serving # Once done, I moved it all to my trusty Pi, which runs barebones Nginx with a single bare page, protected by basic auth.\nI decided not to publish the feeds publicly.\nRather I’m going to just set it up in their podcast players, when I meet them, or pass it over to their kids over Signal.5\nIt’s already worked with three of them, so everyone’s happy and here’s me hoping, fingers crossed, it’ll be easy to support in the long run.\nUpdate (2023-09-15): Guess I’m using it for myself too, now 😂\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nYes, while it’s slowly moving to Youtube, that world still mostly depends on CDs and USB sticks.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthe audio files, not my mother’s friends.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLarge parts are elided. Please look at Github for the actual file.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nnormally, the site it’ll be served from\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nWhy should I be the only one doing family tech support?\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"14 septembre 2023","externalUrl":null,"permalink":"/work/derb/","section":"Work","summary":"","title":"derb; Script to Create podcast RSS feeds","type":"work"},{"content":"","date":"14 septembre 2023","externalUrl":null,"permalink":"/tags/planetpython/","section":"Tags","summary":"","title":"Planetpython","type":"tags"},{"content":"Twelve years have passed in a blink of an eye.\nIt still feels like only yesterday!\nHere’s to so many more, together!\nPhoto courtesy, Priyanka Saggu\nTo quote Sara Bareilles’, Orpheus …\nDon’t stop trying to find me here amidst the chaos\nThough I know it’s blinding, there’s a way out\nSay out loud\nWe will not give up on love now,\nNo fear, don’t you turn like Orpheus, just stay here\nHold me in the dark, and when the day appears\nWe’ll say\nWe did not give up on love today\nYou will always be the better half, of the two of us 🙂\n","date":"10 septembre 2023","externalUrl":null,"permalink":"/personal/12/","section":"Personal","summary":"","title":"12","type":"personal"},{"content":"","date":"1 septembre 2023","externalUrl":null,"permalink":"/tags/india/","section":"Tags","summary":"","title":"India","type":"tags"},{"content":"","date":"1 septembre 2023","externalUrl":null,"permalink":"/tags/ladakh/","section":"Tags","summary":"","title":"Ladakh","type":"tags"},{"content":"\nMountains in Ladakh. Click to embiggen\nAnd when adulthood fails you,\nyou can still summon the memory of the black swan on the pond\nof your childhood, the rye bread with peanut butter and bananas\nyour grandmother gave you while the rest of the family slept.\nThere is the voice you can still summon at will, like your mother\u0026rsquo;s,\nit will always whisper, you can\u0026rsquo;t have it all,\nbut there is this.\n— Barbara Ras, via Maria Popova\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"1 septembre 2023","externalUrl":null,"permalink":"/personal/you-cant-have-it-all/","section":"Personal","summary":"","title":"You Can’t Have It All","type":"personal"},{"content":"","date":"29 août 2023","externalUrl":null,"permalink":"/tags/netherlands/","section":"Tags","summary":"","title":"Netherlands","type":"tags"},{"content":" on a canal outside Keukenhof. click to embiggen\nIf you get there before I do\nWade in the Water\nTell all of my friends I\u0026rsquo;m coming too\nGod\u0026rsquo;s gonna trouble the water\nWade in the water\nWade in the water, children … 🎵\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"29 août 2023","externalUrl":null,"permalink":"/personal/wade-in-the-/","section":"Personal","summary":"","title":"Wade in the …","type":"personal"},{"content":"\ngoofing off near a canal, somewhere outside Keukenhof, in the Netherlands\nThe last five years have been, to put it mildly, a bit trying.\nI lost my father, my brother, my clients1, and quite a bit of my sanity.\nI lost a lot of weight and then gained it all again.\nThe career pivot is going slower than expected.\nI feel pettily jealous of the bright young minds I mentor, when they go on to accomplish great new things, while I am here, clawing the mud.\nThere are days, I don’t want to get out of bed at all.\nAnd then I have to remind myself, that all of this could change in an instant.\nThere was no way I could be sure when I slept yesterday, that I would see the dawn today.\nWhile I crib and cry boohoo at my life, there are folks who struggle physically, mentally, and spiritually a lot more than I do.\nEven when I thought my world was falling apart, there were so many things that held my body, mind and soul together.\nI stood on a mountain, to touch the clouds.\nI’ve walked in mossy green forests.\nI stood with my beloved under the stars, as it rained light upon us.\nI have my health.\nI have my friends, young and old, new and old.\nI have my mother and the rest of my family.\nI have my long suffering, better half. The one who makes life worth living. My rock. My anchor. The one who makes me whole.\nI’m surrounded by warmth and love.\nI remain blessed.\nAnd so, I remain doggedly, carpe diem-ly, persistent.\nI remain grateful.\nI will do my best to, as May Swenson2 puts it,\nEnter each day\nas upon a stage\nlighted and waiting\nfor your step\nCrave upward as flame\nhave keenness in the nostril\nGive your eyes\nto agony or rapture\nand to …\nTake earth for your own large room\nand the floor of the earth\ncarpeted with sunlight\nand hung round with silver wind\nfor your dancing place\nthe Pandemic\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nin Earth, Your Dancing Place\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"26 août 2023","externalUrl":null,"permalink":"/personal/45/","section":"Personal","summary":"","title":"45","type":"personal"},{"content":"\nDad\n“He’s dead?” said Princess.\n[…] “Who told you that?” said Grandad.\n“We keep that name moving in the Overhead,” he said, and it seemed to Princess that the wind in the shutter arrays above her blew more forlornly […]\nHis name is in the code, in the wind, in the rigging, and the shutters.\nHaven’t you ever heard the saying,\n‘Man’s not dead while his name is still spoken’?”\nExcerpted from Terry Pratchett’s, Going Postal\n","date":"25 août 2023","externalUrl":null,"permalink":"/personal/81/","section":"Personal","summary":"","title":"81","type":"personal"},{"content":"","date":"25 août 2023","externalUrl":null,"permalink":"/tags/memoriam/","section":"Tags","summary":"","title":"Memoriam","type":"tags"},{"content":"Update, 2024-02-16: Six months later …\nA couple of years ago, around this time, I upgraded to the best reading experience I could afford at the time. I got me a Kindle Oasis.\nI called it my Hole Hawg. And boy, has it served me like one.\nAnd while it has done, everything it promised it would do, I found myself outgrowing it and needing something more powerful.\nWhat I need # A device that could handle nearly every format that I could throw at it. Something that was not beholden to the Bezos beast.1 While I love the Oasis’ speed, I want something faster. Something that would let me read PDF files, without making want to scratch my eyeballs out. A large screen, because PDFs and because I am getting old and blind as a bat. While also doing everything else that the Oasis did with the same aplomb Bonus: Being able to read comics. A little bit of research led me to the Kobo Elipsa 2e.\nIt isn’t sold here in India, so a kind cousin got it for me. It has a pen and it marks up books and all that jazz, but I don’t know how much I will use that feature. What I need is what I wrote above and the Elipsa does it all. Very, very, well.\nThe big screen is gorgeous\nThe screen is a lower ppi than the Oasis (227 vs 300), but the screen is large and I hold it farther away from my face, to notice any difference. I can also turn off that crazy Kindle full justification, to have my beloved ragged right. It’s extremely responsive, flipping orientation without that heartbeat of a pause, I would have with the Oasis.\nThe Elipsa 2e vs the Oasis in size.\nDid I mention the screen was bigger? Much bigger?\nAnd that it was gorgeous?!\nMy only regret? I miss my page turn buttons.\nBut that is a small price to pay for the myriad formats that I can now read on the Elipsa.\nComics, Technical Books, old scanned PDfs, all my fiction, everything!\nI love it!\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nHat tip to MWL, for that lovely term\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"10 juillet 2023","externalUrl":null,"permalink":"/work/a-new-hole-hawg-the-kobo-elipsa-2e/","section":"Work","summary":"","title":"A New Hole Hawg, the Kobo Elipsa 2e","type":"work"},{"content":"","date":"10 juillet 2023","externalUrl":null,"permalink":"/tags/kindle/","section":"Tags","summary":"","title":"Kindle","type":"tags"},{"content":"","date":"24 juin 2023","externalUrl":null,"permalink":"/tags/htpasswd/","section":"Tags","summary":"","title":"Htpasswd","type":"tags"},{"content":"To create the htpasswd file along with its first user, I just:\nhtpasswd -c /path/to/htpasswdfile/htpasswd some-user\nIt’ll ask you for the password for that user, encrypt it and store it in that location.\nAdd these lines to get Nginx to use the file for basic auth:\nauth_basic\t\u0026#34;Login to Proceed: \u0026#34;; #(or whatever message you want) auth_basic_user_file /path/to/htpasswdfile/htpasswd; To append another user to the htpasswd file do:\nhtpasswd /path/to/htpasswd/htpasswd second-user\nThat ought to do it.\nP.S. Install apache-utils on Debian or use Paru/Yay to install nginx_passwd on Arch.\nFeedback on this post? Mail me at feedback@janusworx.com P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\n","date":"24 juin 2023","externalUrl":null,"permalink":"/work/htpasswd-notes-to-self/","section":"Work","summary":"","title":"htpasswd Notes to Self","type":"work"},{"content":"This was a thread on my fediverse account, that grew too long.\nPosting it here, all together, the way my thoughts spilled out.\nAll I knew about Mandy Brown when I began following her a year ago is\nshe has a doggie called Furiosa she thinks about books the way I do she reads books and then writes about reading them, the way I always dreamed I could she’s a prominent member of my circle of the Eminent Dead Today, as she celebrates the quinceanera of her blog, I realised that she also:\nis an awesome people herder is one of the forces behind A Book Apart is one of the leading lights of web design world has put in time as a suit (CEO) Which leads me to understand how she writes so resonantly.\nIt’s not just her beautiful mind, but also that she writes with her scars.\nFrom her celebratory post,\nAnd this is a home, in more ways than one. There are books here that have taken up residence in my mind. Or perhaps more accurately, I have lived long residencies within them, have curled up under their eaves and stretched out on the porch, have explored the basements and attics and crawl spaces. I read on paper still, so the evidence of time spent is visible in dog-eared corners and coffee stains, in curling covers and the occasional broken spine. I’m hardest on the books I love the most, so that more than one of them is neighbored by a newer edition: not replaced (because I would never forsake my margin notes) but accompanied by a copy that will decay in its own way, soon enough.\nAnd maybe that’s a good way to think about blogging, too. The new stuff sits next to the old but doesn’t supplant it, doesn’t shove it out of the way. Each new post lays atop the next like sediment, and all the old layers remain exposed for you to meander through, with their mediocre sentences and lapsed claims, all the sloppy thinking ever on display. It’s a great exercise in humility, keeping a blog for this many years. But in exchange for the keen awareness of how far I still have to go as a writer, I have the space to keep going. I have the home to keep coming back to. And I will. I will return, again and again\nThank you, Mandy!\nFor all you do, for all you’ve taught me, for the worlds you’ve led me to, and the all the dreams you’ve shown me.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. I now have to go catch up with thirteen to fourteen years worth of writing. There goes June!\nP.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\n","date":"15 juin 2023","externalUrl":null,"permalink":"/personal/mandy-brown-celebrates-fifteen-years-of-her-blog/","section":"Personal","summary":"","title":"Mandy Brown Celebrates Fifteen Years of Her Blog","type":"personal"},{"content":"","date":"31 mars 2023","externalUrl":null,"permalink":"/tags/friendship/","section":"Tags","summary":"","title":"Friendship","type":"tags"},{"content":" Just something that kept coming to mind today.\nI met an old friend the other day. We’d fallen out of touch and gone our separate ways.\nWe were both gifted watches by another friend of ours at the time.\nAnd they pointed out to me, I was still wearing the same watch.\nI gently pointed out to them, that this watch was a different one, something the better half gifted me just after we got married. This is a white dial, see. The old one was blue. And then we moved on to other things.\nWhat I didn’t tell them, was that I still have the old one.\nIt’s battered.\nIt’s scratched.\nIt works.\nIt keeps perfect time.\nIt’s beautiful.1\nI didn’t tell them, because I imagine, they probably wanted me to remember the times we were together, fondly. Because I imagine, they think I’d get all dewey eyed over friendships long lost.\nAnd that’s not why I have it around at all.\nIt was my companion through the worst years of my life.\nWhen I was lost, at sea and barely keeping my head above water.\nWhen I was nursing my brutally broken heart, which then got broken again. And again.\nWhen I had no money, and no friends.\nWhen I was thinking of the futility of going through one more day.\nThat’s when I’d strap it on. And go live one more day.\nI have it, because it reminds me of my resilience.\nI have it, because it reminds, I decided to live.\nStrange that a thing has lasted longer than my friendships.\nNot so strange, when I realise that it’s no longer a gift.\nIt’s imbued with the echoes and memories of decades of my life. Those that I chose to live.\nIt’s not just mine. It’s me.\nP.S. If the blue is for resilience, the white is for joy.\nFeedback on this post? Mail me at feedback@janusworx.com P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\nin a very wabi-sabi-esque way\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 mars 2023","externalUrl":null,"permalink":"/personal/on-things-that-last/","section":"Personal","summary":"","title":"On Things That Last","type":"personal"},{"content":"","date":"31 mars 2023","externalUrl":null,"permalink":"/tags/relationships/","section":"Tags","summary":"","title":"Relationships","type":"tags"},{"content":"As I have begun learning Go (or golang as I needed to use for searching on the web), I’ve been running into some sort of chasm that the Go language seems to have crossed1 that my old textbook obviously could not have foreseen when it was published.2\nThe book asks me to do a go run . to get my file to compile and run.\nGo seems to having none of it.\ngo: go.mod file not found in current directory or any parent directory; see \u0026#39;go help modules\u0026#39; Some searching on the web, and I found setting the GO111MODULE environment variable to auto or off will do the trick. So …\nexport GO111MODULE=\u0026#39;auto\u0026#39; did indeed do the trick.\nI’m not putting this in my .bashrc to make it persistent though. The Go folks must have had some reason to make this change, which I’m (currently) not aware of. Was it architectural? Security related? That is a web search for another day.\nRight now the code compiles and I must be off to my next exercise.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI’m using v1.20.1\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI’m learning from Packt’s, The Go Workshop (Delio D’Anna et al), 2019\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"15 mars 2023","externalUrl":null,"permalink":"/work/quick-fix-go-mod-file-not-found-in-current-directory/","section":"Work","summary":"","title":"Quick Fix: Go Mod File Not Found in Current Directory","type":"work"},{"content":"","date":"15 mars 2023","externalUrl":null,"permalink":"/tags/huginn/","section":"Tags","summary":"","title":"Huginn","type":"tags"},{"content":"I’ve been learning French, on my own at a snail’s pace over the past year or so.\nAll because I want to read Émilie du Châtelet, Dumas, Verne, and Montaigne in their native tongue.\nSince I cannot do immersion nor give regular practice the time it wants, it’s … slow going But I do, do it. Regularly and deliberately. I’ve built up a vocabulary of about 500-700 words by now and I know if I keep this up, I’ll be able to do read well in time.\nOne way I practice is to take something in French and read it slowly, looking up words and phrases and slowly building up the missing pieces.\nAnd to do that, I need something in French. I stumbled across the France Pittoresque site and fell in love with it. French and History! Just my kind of site.\nBeing the lazy bum, that I am, I went looking for an RSS feed, so that I could read their daily article in Reeder.\nAnd hit my first stumbling block.\nThe good folk at France Pittoresque, don’t provide a feed. Or if they do, I couldn’t find it. Even after looking and looking. And then looking some more.1\nYou know where I’m going with this. This is a job for Huginn!\nThis is how the site looks today\nclick to embiggen.\nAnd this little item is what I want to get, on a daily basis.\nclick to embiggen. Actually click any of them to embiggen!\nSo I whipped up this scenario.\nIt scrapes that little section I mentioned above and gets me the title, the url and the description of the article And generates an RSS feed that I can then use in my feed reader!\nThe feed is normally at:\nhttp://your-huginn-instance/users/[your-user-id-int]/web_requests/[agent-id-int]/some-'secret'-string.xml\nIt looks more complicated than it is. It’ll get generated the moment you create your agent. One advantage of using a vm is that my feed is accessible from any device. You can find the scenario code here, if you want to play with it.\nHuginn has proven invaluable when it comes to doing all the little things, that I’d rather not do :)\nMerci beaucoup, Huginn!\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nYou’re talking to a lazy bum here. So quite possible I overlooked something.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"15 mars 2023","externalUrl":null,"permalink":"/work/huginn-vive-la-pratique-d%C3%A9lib%C3%A9r%C3%A9e-avec-les-flux-rss/","section":"Work","summary":"","title":"Huginn: Vive La Pratique Délibérée Avec Les Flux RSS","type":"work"},{"content":"First things first, you should be listening to Cal Newport and reading his books too!\nHis recent episode on books and reading was lovely!1\nIf I remember right, he started doing the podcast, a couple of months after the pandemic broke out and the world shut down. And it felt very much at the time, like one of those friendly voices across the waves in some post apocalyptic movie.\nIt felt warm, personal and gave me something to do in those dark days.\nErgo, I have a strong connection to it and I began saving every episode, at around episode 10 or so.\nOh, and speaking of slow productivity, it’s amazing to see what Cal has fashioned the podcast into. A slow steady drumbeat of episodic growth has led to what he call the Cal Newport Empire, with media galore.\nSo, like I was saying, I’ve been downloading them ever since the beginning, because I’ve some sort of unnatural attachment to them. They’re the thing I want to listen to if I’m marooned on a desert island.2\nAnd now that I have Huginn, the computer downloads it for me, in the folder I want, with the naming convention, I want.\nHere’s the scenario that does it.\nIt scrapes the website, once every twelve hours to check for a new episode, and grabs the url and title.\nIt uses the url to download the episode to a folder.\nAnd at the same time, sends me a notification. The title tells me what’s new :) I probably could use Huginn to rename and copy the file to where I want, but it runs from a Docker container and does not have access to the parent filesystem.\nSo this little Python script3 does it for me.\nfrom pathlib import Path import shutil downloads_folder = Path(\u0026#39;/path/to/downloaded/episode/directory/\u0026#39;) destination_folder = Path(\u0026#39;/path/to/destination/directory/\u0026#39;) for audio_file in downloads_folder.iterdir(): if audio_file.suffix == \u0026#39;.mp3\u0026#39;: original_name = audio_file.stem original_name = original_name.split(\u0026#39;-\u0026#39;)[2:] episode_number, raw_file_name = f\u0026#39;CNPE{original_name[0]}\u0026#39;, (\u0026#39; \u0026#39;.join(original_name[1:])).title() new_file_name = episode_number+ \u0026#39; - \u0026#39; +raw_file_name +audio_file.suffix shutil.move(downloads_folder/audio_file, destination_folder/new_file_name) It looks for any mp3 files in the specified folder, renames them the way I want them named and then moves them to my packrat archive. Et voilà!\nThe scenario and scripts are here, if you want them.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nWhat else, do you expect a bookworm to tell ya? 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nwith a stock of mp3 players and rechargable batteries\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nscheduled via crontab\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"14 mars 2023","externalUrl":null,"permalink":"/work/huginn-on-becoming-a-cal-newport-podcast-packrat/","section":"Work","summary":"","title":"Huginn: On Becoming a Cal Newport Podcast Packrat","type":"work"},{"content":"\nClick the pic to embiggen.\nRube Goldberg illustration via James Vaughan\nEnded up too sick to even tinker, since I last wrote.\nWell enough now, to scratch out some prose to get my brains in gear.\nLet’s start with Huginn adventure #1.\nBuckle up!\nBackground # I found Huginn, and am using it as my man friday.1\nThe “Problem” # I run Hugo on two three machines.\nI’m tired of updating to the latest release manually.\nThe computer can do it for me!\nWhy this way? Why? Why?! # It’s fun! Yes, there are other (most likely simpler) ways to do it, but Huginn is my new shiny hammer … and well you know! Did I tell you it’s fun? :) How now brown cow? # Some more background:\nI could just apt install, but I’m too posh for that 😂 I want the latest version of Hugo. And the extended version at that. I depend on two more helpers.\na. Syncthing syncs the folder that the Hugo deb package downloads to, across all my machines\nb. Pushover sends me push notifications. Huginn integrates with it. Having said that, here’s a pic of my four step scenario, followed by the output of each step.\nScrape the Hugo github releases page to get the title.2 Get the latest release title3 and fashion a url out of it. Download Hugo to a folder.\nSend myself a push notification.4\nAnd tada! So we done? No, you silly goose!\nWe’re done downloading the installer. Said installer now needs installing.\nSo my very imaginatively titled install-hugo.sh script5, which runs once a day via a crontab entry …\ntakes the file, checks to see if it’s downloaded in the last day and if so, installs it. Mind you, it needs root privileges. And then it also …\n4. deletes any stray debs more than a few days old.6\n#! /usr/bin/env bash cd /path/to/hugo/deb/file # Install deb from the last 24 hours find *.deb -maxdepth 1 -mmin -1440 | xargs -d \u0026#39;\\n\u0026#39; dpkg -i # Remove debs more than 2 days old find *.deb -maxdepth 1 -mtime +2 | xargs -d \u0026#39;\\n\u0026#39; rm -rf And now we’re done :)\nHoly shiny hammer, Batgirl! It worked!\nThe scenario, should you install Huginn and want to import and play with, as well as the shell script are here, on Github.\nNote: I had originally used the RSS agent in step one, instead of the Website agent I use now, and that was much easier. But it would detect the new feed entry and then just sit there hatching eggs, not doing anything. I wish I had a snapshot (of the missed events, not hatched eggs) but I digress. The website agent, for all its hacky xpath quackery works.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nit could have been girl friday too, but I call mine Bertuccio, after Edmond Dantes’ man friday\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI cannot believe, I go scrape a website and learn all that xpath voodoo, just to get a measly text string.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nAnd here’s where Huginn helps. It remembers the last title. And only proceeds if something has changed.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthe push notification is just like that. something whimsical for me. It’s independent of the download. I should probably have called it Step 3a. or 2b. Never mind now.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nwhich is also synced and available across all three machines\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI let them be for a couple of days, in case a machine is not online that day.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 mars 2023","externalUrl":null,"permalink":"/work/huginn-the-rube-goldbergness-of-updating-hugo/","section":"Work","summary":"","title":"Huginn: the Rube Goldbergness of Updating Hugo","type":"work"},{"content":"\nLet’s get the, “What the heck is Huginn?” out of the way.\nIf you’ve heard of Zapier or IFTTT, that’s what this is. Only better. You host it. You control it. You program it. And everything’s in your control.\nIf you’ve used Yahoo Pipes, then I tip my hat to you my dear friend and tell the rest of you folk, that I believe all of these new fangled pieces of zaps and agents are the spiritual successor to that pioneering web app. IBM has a similar open source alternative, with all the new fangled hotness called Node-RED\nJust like piping and transforming text with Unix utilities locally, Huginn lets us do that with web data. RSS feeds, webhooks, JSON data and the like. Take ’em, ingest ’em, chew on ’em, transform ’em and do what the heck you want with ’em!\nWhy Huginn? # So why did I settle on Huginn? And what do I use it for?\nWell, I liked the name. And I wanted something Yahoo-pipesque for myself :)\nI used it originally on my desktop, to push my blog posts to twitter and my mastodon account. And then I lost it in a system crash1 and I didn’t get to putting it up again.\nUntil a recent bout of sickness, and the urge to tinker led me to put it up on my vm.\nI realised that I don’t want to use my programming hammer to tackle every computing hammer that I face. There’s too much to learn and too little life.\nSo if Huginn lets me do interesting things with json and liquid and duct tape, why ever not?\nI still have to do the autopost to my social accounts2, but I’ve already set it up to scratch several itches I had.\nIt scrapes a couple of art websites, that don’t have feeds and then creates RSS feeds so that I can read them peacefully in my RSS Reeder. I check my Calibre release feed, update my local install of Calibre to the latest hotness, and then get notified via a push notification, using a Rube Goldberg pastiche of Bash, cURL and Pushover. I love archiving episodes of my favourite podcast (the Cal Newport podcast3), so Huginn and Python and Syncthing and cron all pull together to get it in the right place, with the naming convention I want.4 I hope to write a bit more about each of these in the coming days, but needless to say, I’m having more fun playing with Huginn, than I imagined I ever would!\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nit did work like the little engine that could, without a hitch until then\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI’ve forgotten how I did it!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI think it’s called Deep Questions, but to me it’ll always be the Cal Newport Podcast\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nIf you lose all your audio files in a fire Cal, you know who to call!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"2 mars 2023","externalUrl":null,"permalink":"/work/huginn/","section":"Work","summary":"","title":"Huginn","type":"work"},{"content":"","date":"1 mars 2023","externalUrl":null,"permalink":"/tags/mjb-what-i-learned/","section":"Tags","summary":"","title":"Mjb-What-I-Learned","type":"tags"},{"content":"I keep writing these tiny utilities for myself in Python and while I love writing in Python, I definitely don’t enjoy the little war dance I have to do everytime I want to run it on a new machine. Keeping track of virtual environments, and then installing packages in them, quickly gets tiresome. I want to just run the program once I’m done with it. Like a C program. Or Rust. Or Go.\nI could go learn one of those languages. Sure. That’s an option.\nAnd I see no problem doing it for other needs (like if I’m working with a group that uses said language) or for my career’s sake or just for being a polyglot.\nBut when I write for myself, I’d rather stick to Python.\nIts mental model fits my brain. I find writing Python joyful.\nSo what’s a boy to do?\nSince I was writing CLI applications, I went and looked for how to write Python CLIs and I found argparse and Typer and Click and I was confused. They didn’t seem to give me my executable. They had all sorts of other powerful features, but the one I wanted.\nAnd I went looking some more. And the penny dropped.\nWhat I wanted, wasn’t a way to build a CLI, (although that is what I was writing).\nWhat I wanted, was a way to bundle my environment into an executable.\nWhat I wanted, I learned, was a way to freeze my code.\nMore searching led to Nuitka, PyOxidizer, PyInstaller and their ilk.\nI went with Nuitka, because that is what I found first and what I found was dead simple\npython -m nuitka --static-libpython=no mastodon-to-moi.py and boom!\nI got myself an executable mastodon-to-moi.bin!\nAnd then I got greedy and did a mastodon-to-moi.bin --help and figured, that’s where the cli/tui frameworks like Typer and Textualize, come in handy. To scaffold and help these interfaces.\nBut when I ran it on my laptop, which has nothing other than system Python, it hiccoughed. I tried Pyinstaller next, and that too, did not do the trick. It choked on a loop, that worked when I ran it as with Python normally. PyOxidizer scared me off.\nThis needs looking further looking into, but atleast I know what I need to do now\nAfterthought: The one con I do see, is losing platform independence. My binaries will be Linux on Intel only.1 I could just take my Python source anywhere, set up my environment and go. Well, I still have that option if I need it and in the meanwhile, having binaries affords me a lot of convenience.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nuntil I learn to cross compile that is.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"1 mars 2023","externalUrl":null,"permalink":"/work/til-the-difference-between-a-cli-tool-and-a-freeze-tool/","section":"Work","summary":"","title":"TIL: The Difference Between a CLI Tool and a Freeze Tool","type":"work"},{"content":"","date":"1 mars 2023","externalUrl":null,"permalink":"/tags/vm/","section":"Tags","summary":"","title":"Vm","type":"tags"},{"content":"I am fortunate enough, to run most of my life between my local computer and another VM in a cloud. In this day and age of cloud native and serverless, why would anyone choose to run their life off a virtual server aka VM?\nThis post is me, thinking this through. I’ll return to this every now and then, and see if things have changed enough out there, for me to evaluate and make a change.\nFor now, I am happy using my dinky little box in the cloud.\nReasons I use a VM. # Because I cannot have a cloud connected desktop.\nIf I could I would. But commercial forces, at least in India don’t bode well for an always on, always connected desktop. The VM is a good compromise Because I can. Being an old sysadmin lets me do this. But don’t let that scare you off. If you can afford one, I’d venture to say you should. If you put in the time to learn Linux fundamentals, most hosting providers now have excellent guides that will let you have a box that is pretty secure. The amount of control it affords me. Most cloud services will handicap you, some way or the other. When you’re using a VM on the other hand, you have the power of the whole machine1 in the palm of your hand. You can do what you want with it. Install programming languages to your hearts content, access all the storage that you have, run containers if you wish. Your VM is your oyster :) I can host what I want to. Without paying per service. Or without letting outsiders slurp my data and attention to serve me ads. Right now I host — (goes and looks) — This website ZNC, an IRC bouncer, so I can stay connected always to my favourite IRC channels along with The Lounge, so I can then access IRC from anywhere an instance of Miniflux, to read my RSS feeds, to keep my self update with all my interests Sendy, to send emails to my mailing list. Baikal, for my contacts and calendars and finally… Huginn, to let me do all sorts of wizardry with stuff on the net. Think of it as a self hosted Zapier / IFTTT My data is not held hostage! Reasons I wouldn’t use a VM # If I am sharing something with the world at large.\nSomething that might have the potential of being abused, even if I made or shared out of the goodness of my heart. No concrete example of this, comes to mind right now. Serving or hosting something that my VM cannot handle. I wouldn’t serve video from my little box, for e.g. Storing data. As in long lived collections. I doubt I’d store, my audio or photo library on here. Too large. It’d probably run too expensive and too risky. Tradeoff between control and life. I outsource email and my fediverse, because for me, maintaining them, was too much of a time suck. (No matter how much I loved doing it) Conclusion: Control # The more I think about it, the more I think it’s about control more than cost.\nI want as much of my data and digital life, out of the control of the software giants and/or other third parties to extent, I can control.\nAs much as possible, I want to express myself without constraint. Most SAAS options in this day and age, don’t come close to the power and options that old desktop software gave us.\nHaving a VM lets me be creative, expressive and grab some semblance of control back for myself.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nwell, as much as you’re paying for 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"1 mars 2023","externalUrl":null,"permalink":"/work/why-i-use-an-online-vm/","section":"Work","summary":"","title":"Why I Use an Online VM","type":"work"},{"content":"I’ve been struggling to get org-caldav working on the desktop.\nNothing to do with the program itself. It’s excellent, fairly intuitive and really well documented. There just seems to be some gremlin in the works, that does not let the darned calendar see my org files.1 Will keep at it.\nWhat this note is for however, was the pleasant realisation that Emacs can transparently work with gpg encrypted files.2\nI wanted to keep my calendar user/password credentials in a file, because the to and fro between my Baikal caldav server was generating too many requests for my password.\nThe org-caldav README suggested that I save it all in an .authinfo file, like so.\nmachine www.google.com:443 port https login username password secret which for me translated as\nmachine my-caldav-server:443 port https login \u0026lt;my-username\u0026gt; password \u0026lt;my-password\u0026gt; And the connection worked! Without me putting my password in every two seconds.\nI was still a bit leery about putting my password into a plaintext file, so I looked it up and it told me to specifically use an authinfo.gpg not the plaintext version. The magic still didn’t strike me, until I tried to save the file. Emacs called up my gpg agent, which popped up a box asking me to unlock my key, and then Emacs went ahead and encrypted my file. Just like that! I tried opening it and the same thing happened in reverse. No mussing around with the command line.\nIf I save a file with a .gpg extension, Emacs will automatically encrypt it!\nIf you want to learn more, the great Mickey Petersen knows all!3\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nProbably because I’m running Baikal\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nvia the EasyPG package\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nAnd ofcourse, I had to find this lovely article, after all my stumbling about!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"28 février 2023","externalUrl":null,"permalink":"/work/emacs-can-transparently-encrypt-and-decrypt-file-with-gpg/","section":"Work","summary":"","title":"Emacs Can Transparently Encrypt and Decrypt File With Gpg","type":"work"},{"content":"","date":"28 février 2023","externalUrl":null,"permalink":"/tags/planetemacs/","section":"Tags","summary":"","title":"Planetemacs","type":"tags"},{"content":" Finally done with learning the Urdu alphabet.\nInordinately proud of myself :)\nNow to go begin, reading slowly and building up my vocabulary.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"22 février 2023","externalUrl":null,"permalink":"/personal/learnt-the-urdu-alphabet/","section":"Personal","summary":"","title":"Learnt the Urdu Alphabet","type":"personal"},{"content":"When I wrote about, ticking off checkboxes in Org Mode, I’d linked to line 101 of org-mouse.el. While I’d read the main summary, I somehow missed line 30 …\n;; * subtree expansion/collapse (org-cycle) with the left mouse button Which I accidentally triggered today …\nAfter an (accidental) click opens up to … Org Mode continues to delight! Hurrah!\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"22 février 2023","externalUrl":null,"permalink":"/work/org-mode-subtree-expansion-with-the-mouse/","section":"Work","summary":"","title":"Org Mode Subtree Expansion With the Mouse","type":"work"},{"content":"","date":"14 février 2023","externalUrl":null,"permalink":"/tags/fedora/","section":"Tags","summary":"","title":"Fedora","type":"tags"},{"content":"Happy Valentine’s all you lovely people! :)\nHugo # Upgraded to the latest Papermod theme on the website Devops # Installed Fedora in a VM on my machine in order to do Devopsy work Python # Learnt about the object() function. If I want an native something to use later, I can always cast to an basic object (x = object()) and use it. Best to use it, when using None would cause ambiguities. Read more here Urdu # Did the “fe” group today. Physical Fitness # Had a good workout. Worked my core. Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"14 février 2023","externalUrl":null,"permalink":"/work/what-i-learned-today-2023-02-14/","section":"Work","summary":"","title":"What I Learned Today (14th of February, 2023)","type":"work"},{"content":"Nothing. Nothing. Absolutely nothing!\nI didn’t feel well today. So I went to bed.\nDid log my usual weekly, books and fitness entries though.1\nUrdu # Did the “ain” / “gain” group.\nHad fun, trying to pronounce the fricative gh (/ɣ/) sound. Emacs # Just a little note of gratitude to the community over at Emacslife Me, thinking out aloud in the last part of this section, led to several folks emailing me with kind and encouraging words.\nJon Snader mentioning yours truly on Irreal\nIt gives me a slight thrill everytime, he boosts one of my posts (as I’m sure all the others do too!) M— generously shared a link to the Bernt Hansen’s awesome Orgmode post as well as reassuring me, they did the same thing as I :) D— had this to say, Lean in on it and be comfortable “borrowing code”. Many of us do it. As long as you understand it, it should be fine. […] The gains obtained from not having to cold-start from zero are worth considering. Thank you all very much. Makes me happy when I realise, I’m not shouting into the void and that I’m a part of a warm, welcoming group of kinfolk.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nWhat? You don’t follow me on the fediverse? You totally should!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 février 2023","externalUrl":null,"permalink":"/work/what-i-learned-today-2023-02-13/","section":"Work","summary":"","title":"What I Learned Today (13th of February, 2023)","type":"work"},{"content":"","date":"11 février 2023","externalUrl":null,"permalink":"/tags/reflection/","section":"Tags","summary":"","title":"Reflection","type":"tags"},{"content":"Rest day! Not doing much! Emacs # It works! Yesterday’s little hack, to clock in and out when I change state works well! It doesn’t seem to have broken anything.\nAlso I added a WORKING state, and tagged my function to that. The clock in and out happen when I switch in an out of the WORKING state. Because I want my parent task to show IN_PROGRESS and the current subtask to be what I am working on. Like so …\n** IN_PROGRESS Emacs *** WORKING Learn about Org *** TODO Write about what you learnt Here’s an image of an actual task … Except for one more thing.1\nWhen I switch another task to WORKING, it does clock me out of the old task, but it leaves the TODO state at WORKING. I want the old task to switch to WAITING. I’ll look at doing this as soon as I get some breathing time. Devops # Spoke to a friend about some how and what and why for close to an hour\nHelped me clear my mind lots! Urdu # Did “toey” and “zoey”\nDid I mention three letters for the same S sound yesterday?\nHa! Z has four! Zaal, Ze, Zuaad \u0026amp; Zoey\nAlso tutor’s note:\nthe word “zan” (ज़न) when written with ‘zoey’ means “presumption” whereas, the same word, when written with a ‘ze’ instead, means “woman”.\nWhich means? Lots of practice and reading ahead :)\nAlso coming from the madness that is English, I keep telling myself, this is not so bad 😂\nLike Lizzo doing crack. Physical Fitness # Rest day!\nThoughts # The meta need / theme of learning and working, as I am doing now, is that I need to work to a time budget Here’s the problem, try and solve it in an hour (or whatever time I budget) I need to have no shame if I cannot get it done I need to ask for help / look up solutions faster I also need to budget the time to understand the solutions. If I cannot fix it one day and the solution is taking time to “get”, be ok with spending time the next day It’s just me. There is no one else. There is no need to pressure myself more than necessary. Work to the spec. Generalising (at least for now) is taboo. Now, I understand what my friends tell me about me perfectionism. I keep spending way too long about what if this? and what if that? I need to get something working first. Refine / expand / refactor it later Get better at logging times Get better at taking breaks between tasks Writing these logs has helped gain insight and understanding. I need to keep at it. It’ll help with the “what now? what next?” questions Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nGetting greedy, aren’t I? :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"11 février 2023","externalUrl":null,"permalink":"/work/what-i-learned-today-2023-02-11/","section":"Work","summary":"","title":"What I Learned Today (11th of February, 2023)","type":"work"},{"content":"Decided to play hooky today, because I got up reallly late and then I got stuff at home to do.\nEmacs # Since I was playing hooky with my time and attention anyway, I decided to see, if I could tackle this little thing, I wanted to happen with my Org Mode. Everytime I move my TODO status for a task to IN_PROGRESS, I want Org to automatically clock in for me. And everytime I move out of the IN_PROGRESS state, I wanted it to clock out. This is because I want a one step process. I don’t want to change state and then clock in too. And I want it this way, because changing states and telling my program, that I’m going to work on this, here, task now is more natural to me, than clocking in and out. A whole day of reading and searching later, I stumbled across this gem on the Emacs StackExchange site which did exactly what I was looking to do. I stole it, twiddled a bit with the variable and function names and added it to the file that handles my Org config. This is it, in its entirety (add-hook \u0026#39;org-after-todo-state-change-hook \u0026#39;mjb/org-clock-todo-change) (defun mjb/org-clock-todo-change () (if (string= org-state \u0026#34;IN_PROGRESS\u0026#34;) (org-clock-in) (org-clock-out-if-current))) And this works! For now. If something comes up, I’ll figure it out. Which brings me to the figuring out part. Doing this today has left me conflicted. In the old life, this is exactly how I’d do it. But ever since I’ve been learning to write code, I feel like this is something I should be able to do. But there’s only so much life and so much I want. I want the results today, and learning and writing Lisp is not going to happen in a jiffy. Right now my priorities are Devops related tasks. So I’ve just taken the pragmatic way out for now, and used code I found. Urdu # Learnt about the “suaad” group.\nAnd also learnt that Urdu is just as crazy as English.\nThere are three, count ’em, three ways of making the S sound and no particular rhyme or reason to them, save history :)\n“Proficiency in using the correct letter in a word can only come with practice”, according to the site 😂\nIt’s still much better than English, I think :)\nPhysical Fitness # Had a sit down with my trainer and explained what I wanted. He got it. I also understood his approach and we worked out a happy medium\nToday’s session was much better. I can now say, after these days, that I’ve gotten over those early gym aches.\nIt still hurts, but I no longer drag my feet, and crawl home like a zombie. Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"10 février 2023","externalUrl":null,"permalink":"/work/what-i-learned-today-2023-02-10/","section":"Work","summary":"","title":"What I Learned Today (10th of February, 2023)","type":"work"},{"content":"This post was first sent to my newsletter on January 27, 2023.\nYou really ought to subscribe :)\nFrom A Velocity of Being. Art by Yara Kono\nAn extract from the page I read today from A Velocity of Being.\nDani Shapiro writes …\nMy Dear Future Friend,\nI will probably never know you. We may not ever walk this earth at the same moment. But listen carefully.\nBooks saved my life.\nIn the stillness of reading. the silence save for the sandpapery sound of my fingers turning the page, I was born. In the quiet of a summer afternoon spent in a hammock, of a winter night spent sneaking under the covers with a flashlight, dawned the awareness, slow but unmistakable, that I was not alone. That I was not insane. That my heart was not so very different from everyone else’s.\nBooks made me feel less ashamed. Less weird. Less different.\nThey connected me deeply to my own humanity.\nFeedback on this post? Mail me at feedback@janusworx.com P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\n","date":"10 février 2023","externalUrl":null,"permalink":"/reading/books-saved-my-life/","section":"Reading","summary":"","title":"Books Saved My Life","type":"reading"},{"content":"","date":"9 février 2023","externalUrl":null,"permalink":"/tags/regex/","section":"Tags","summary":"","title":"Regex","type":"tags"},{"content":" Regex # Started doing regex exercises, so i don’t get bored doing only python. will alternate them for now Using Practice Makes Regexp. I have only the book though. It’s now expanded to include video solutions too. Highly recommend any of Reuven’s courses Set up environment and did one exercise which was to look up the user’s input in a dictionary (a word dictionary. not a programming dictionary) Linux Mint # Yesterday’s work was for naught Devops # Kubernetes, began doing some exercises Set up the environment today Spoke with a friend about practicing Ansible / Devops stuff Learnt about putting in environment variables into a docker compose file and then using them in a Django container Hugo # Diddled with the code element font size on the blog, to make it look a little larger Urdu # Learnt about the “tashdiid” symbol that helps add emphasis to a consonant Physical Fitness # Nearing the end of my month long journey. Have gotten over the pain hump, but the personal trainer isn’t quite sympatico with my needs. He’s a good egg, but we seem to be talking past each other. Wonder what to do when my time is up mid week next. Did legs today. Went well. Jogged 10m after. Walked 30m after that. Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"9 février 2023","externalUrl":null,"permalink":"/personal/what-i-learned-today-2023-02-09/","section":"Personal","summary":"","title":"What I Learned Today (9th of February, 2023)","type":"personal"},{"content":"Don’t know if it’s the gym or the regular work beat, but I seem to be waking up later and later everyday. I don’t know what to do about this. I feel a little anxious about not having enough hours in the day.\nPython # Why use comprehensions? Because it reads better.\nLike I advice the young ones in DPGLUG on writing.\nWrite short, choppy sentences.\nThey read better. With my problem sets … I should stop trying to generalise in advance and solve the specific problem first. Read stuff carefully. Don’t do more than is necessary Solutions take time to understand too. Budget the time Linux Mint # Nemo, the file browser in Linux Mint always opens the home directory, when I click on it and there’s no apparent way to change it to a preferred directory. I want it to always open Downloads A little bit of web spelunking led to an acceptable work-around. Right click the main menu button Click Menu =\u0026gt; Open the menu editor =\u0026gt; Accessories Then click Files in the items from the right and click Properties further right Change the command form nemo %U to nemo Downloads\nAnd that does it! Update # 2023-02-09: Does not work. Will look for some other approach. Right now, with the workaround it opens a Downloads window alongside any other folder I click on 😂 Hugo # Added a plain, hamburger menu to this blog, using Aditya’s helpful instructions over on the PaperMod Discord. With all the extra nav items, I’ve added to the header the menu would overflow on my iPhone (and probably on other folks’ phones too). So if this page scooches narrow enough, it will change the links on top to a plain menu. Huginn / RSS # I often have sites that have no RSS feeds, but they’re still interesting enough to me that I want to keep tabs on them for anything new. While I wrote a tiny program to scrape and generate a custom RSS feed to get my Poetry fix, I needed something more robust, if I wanted to do this with lots of sites. I realised that my Huggin instance could do that for me. Huginn is documented pretty well, that even a slowpoke like me, could figure out a fix for himself, inside an hour I also learnt something fun. How do I choose a specific, nested, div on the page when all of them are similarly named? By using the power of XPath! I found it to be a more robust way of picking something from a web page, compared to its alternatives. It’s also pretty easy to at least get a basic XPath selection. Just inspect your element in your browser’s web inspector and a right/context click should normally give you the option to copy a link as an XPath. Getting to an href link in the div I wanted, led to something like /html/body/div[1]/div[1]/div/div/div/main/div/div[1]/div/header/h2/a/@href and BAM! I got the link! This solves a really big problem for me. So once again, I’m pretty chuffed today as well :) Urdu # Got done with the “siin” group of letters today. It is getting more and more confusing to read, but I’m sure I’ll slowly get over it with practice. Physical Fitness # More Cardio today I’ve gotten comfortable doing an hour of active cardio at around 160, without worrying that my heart would burst. Now to focus on doing the same hour at a slower heart rate, over time. The pain’s almost gone. Let’s see what the coming days hold. Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"8 février 2023","externalUrl":null,"permalink":"/personal/what-i-learned-today-2023-02-08/","section":"Personal","summary":"","title":"What I Learned Today (8th of February, 2023)","type":"personal"},{"content":"Yesterday, took a lot out of me.\nTook it easy today.\nPython # Got today’s assignment done well in time; and then went out looking for better ways to write it over again.\nWriting code is getting exciting now. Just like how I learnt to write in my teens.\nWrite. And then go figure out, how I’d do it better.\nBusywork # Spent a coupla hours doing some busywork for A Thing; that if it pans out will be a good thing for me.\nUrdu # Did “chhoTii ye”, “ba.Dii ye” and “chhoTii he”.\nAamozish says, I’m done with the alphabet.1\nPretty chuffed with myself :)\nPhysical Fitness # Did an hour of cardio today.\nMy body seems to have gotten over the hump of all that pain.\nHoping I’m not speaking too soon, though.\nIf this keeps up, getting weight training to be a habit will get easier.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nwith the exception of a few, infrequently used sounds\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"7 février 2023","externalUrl":null,"permalink":"/personal/what-i-learned-today-2023-02-07/","section":"Personal","summary":"","title":"What I Learned Today (7th of February, 2023)","type":"personal"},{"content":"Everything went to hell in a handbasket today.\nTime was short.\nI got up late.\nI forgot, I had physio.\nSo most things got slightly abbreviated or dropped.\nPython # Did not complete my assignment.\nFlunked it again.\nBut on the plus side, those 45 minutes were some of the hardest thinking and iterating, I have done in weeks. So there’s that.\nAnd on the plusser1 side, I am proud of having stopped and then looked for help.\nThat was my biggest learning for the day.\nHugo # I need to write about what I actually did in another post.\nBut I created a custom Table of Contents for my Reading page, by hacking my theme’s template and layout. It was fun.\nLong story short, the theme has the ability to create a table of contents by reading all the headers elements in the page. I restricted it to just the H1 and H2 elements.2 Urdu # Did the “vaao” group of letters today Physical Fitness # Did gym and basic physio for my back.\nWiped out! Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nYes, that is the technical term for even more\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nIt would have gotten too unwieldy otherwise\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"6 février 2023","externalUrl":null,"permalink":"/work/what-i-learned-today-2023-02-06/","section":"Work","summary":"","title":"What I Learned Today (6th of February, 2023)","type":"work"},{"content":"A week in! Woohoo!\nPython # Exercised with dictionaries today. Today was the first time, I could not solve my assignment, no matter what I tried. Lessons learnt: Stick to a schedule and do hard stops, since Python is only a small part of what I want to learn Learn to quit sooner. I’m like a dog with a bone, when it comes to problems. This approach may have helped me in the past, but it hinders me a lot, when writing code. Urdu # Did the ‘re’ group of letters Exercised with the ‘re’ and ‘daal’ groups I’m learning the alphabet, using the wonderful Aamozish website, in case you folks have been confused about what I was doing with the language. Webdev # Watched Webhooks for Beginners\nSooner or later, I want to customise my dinky little Huginn instance to do a lot more.\nThis’ll come in handy then. Physical Fitness # Today was the first day, gym felt a wee bit normal.\nHope this positive phase continues … Thoughts # I seem to have got into a good work rhythm. Next step seems to prioritise my work and do more of what is needed, to get me a devops job. Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"4 février 2023","externalUrl":null,"permalink":"/personal/what-i-learned-today-2023-02-04/","section":"Personal","summary":"","title":"What I Learned Today (4th of February, 2023)","type":"personal"},{"content":"Slightly distracted day, today compared to the rest of the week before.\nWell, c’est la vie. Python # Read about functions, key functions, and asterisks Practiced list comprehensions and dictionary lookups Learnt and practised some, about decimals and rounding up Devops # Devops-ish? Upgraded the BIOS of my desktop to the current the latest available version. I was on v1.5, when I had last done it in July ’21. Now I am on v1.9 from November last year. Fixes plenty of vulnerabilities.\nWhile I got to know of it last eve, I did not upgrade then, because I wanted my mind fresh and attentive while I did this. I have bricked enough PCs and handhelds in my misspent youth and I cannot risk killing my daily driver to tiredness.\nWhat do they call it now? UEFI firmware?1 Urdu # Learnt the ‘daal’ group of letters Today was also the first day, I realised reading right to left is becoming intuitive.\nI read “Daataa”2 in Urdu and went to check if I was correct by trying to read the English, and was wondering why they nonsensically called it “aataad”, until my brain switched back to Latin and reading left to right 😂 Physical Activity # I hope gym gets easier, because I am getting crankier about the pain by the day. The better half says I sustained much more pain with physio and bore it longer and more stoically when I broke my back in 2017. Well, that was my body doing it to me and I had no control over it. Right now, I am doing this to myself, ergo the crankiness. I know this is good for me in the long run. Does not stop me from hating the process and its repercussions right now. I’m getting old and grumpy. Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nDell seems to be old fashioned like me. They still call it the BIOS.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nGod\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 février 2023","externalUrl":null,"permalink":"/work/what-i-learned-today-2023-02-03/","section":"Work","summary":"","title":"What I Learned Today (3rd of February, 2023)","type":"work"},{"content":"Long day today1. I thought I got nothing much done, until I wrote this post.\nSo, more incentive to keep writing these.\nPython # Learning about how to make keyword arguments stick. And how to think about structuring programs Devops # Deep dive into how to add prow job listings to the dashboard and viceversa; how to go about looking for the job from the dashboard Urdu / French # Lots of practice with vowels and the ‘jiim’ group of letters. Since I know Hindi, Urdu progress is much, much, much faster than French. I think that is because, I am forcing my English grammar / vocabulary on another Romance language that has Germanic influences. This is leading to a lot of cognitive dissonance and slow progress.\nMuch of my Urdu vocabulary comes from Hindi, which I learnt as a kid, and I definitely did not go looking for the “right” way to speak it. Better to just do French similarly as well. While I cannot do immersion, I can do what I want to do with French. Begin reading what I want to. Whether I understand it or not. I realise this will take me a lot longer than Urdu or Hindi, but that’s ok. Émilie du Châtelet, Montaigne and Dumas are not going anywhere, and neither am I :) My frame of learning now, after doing these two languages, as well as the rest of the stuff I am doing, is to just begin doing2. And figure out / learn the rules, the grammar, the conventions as you go. Physical Activity # They call it chest and arm day. I presume, the exercises are meant to strengthen them. Right now, it’s just a stiff, painful mess. I cannot wait for this phase to be over. Books / Reading # Finished reading, The Boy, the Mole, the Fox and the Horse by Charlie Mackesy. It’s a hauntingly, beautiful book. A spiritual successor to the Little Prince and a Lindy book for sure. Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI hate the gym\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nPriyanka, Pradhvan, Rahul and Kushal be like, We told you so!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"2 février 2023","externalUrl":null,"permalink":"/personal/what-i-learned-today-2023-02-02/","section":"Personal","summary":"","title":"What I Learned Today (2nd of February, 2023)","type":"personal"},{"content":"This post was first sent to my newsletter on January 19, 2023.\nYou really ought to subscribe :)\nArt by Ricardo Siri\nSome books are toolkits you take up to fix things, from the most practical to the most mysterious, from your house to your heart, or to make things, from cakes to ships.\nSome books are wings.\nSome are horses that run away with you.\nSome are parties to which you are invited full of friends who are there even when you have no friends.\nIn some books you meet one remarkable person; in others a whole group or even a culture.\nSome books are medicine, bitter but clarifying.\nSome books are puzzles, mazes, tangles, jungles.\nSome long books are journeys, and at the end you are not the same person you were at the beginning.\nSome are handheld lights you can shine on almost anything.\n…\nI piled the books around me for protection and withdrew inside their battlements, building a tower in which I escaped my unhappy circumstances.\nThere I lived for many years, in love with books, taking refuge in books, learning from books a strange data-rich out-of-date version of what it means to be human.\n— Rebecca Solnit\nfrom Maria Popova’s, A Velocity of Being\nRead the whole letter, along with Maria’s1 annotations.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nbrilliant, as usual\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"2 février 2023","externalUrl":null,"permalink":"/personal/some-books/","section":"Personal","summary":"","title":"Some Books","type":"personal"},{"content":"Did a full day.\nBut is this sustainable?\nI’ll know in a week or so.\nPython # Finally figured out what def __init__ (self): does in an class, in a way that makes sense to my mind.\nIf I create an class and I want it (i.e. the objects created with it) to take in arguments, then I need to define an __init__ method to set it all up.\nFor e.g. if the class definition is just class chantSomeName(): where do I reconcile the fact that I need to pass in a name that needs chanting? In its __init__ method class chantSomeName(): def __init__(self, name): self.name = name Python does a lot for me. My first approach going into any problem should henceforth be, Does Python already do this for me already, natively? I should think of Python less, as a forge where I make my own tools (which it undoubtedly is) and more as a librarian, where I can just ask it for something and it will return it to me. The more I study it, the more I realise just how much it keeps track of and how much it tries to make life easy for me Devops # Learnt a bit about how Prow jobs work English # Learnt a new (old) word viscid Vis\u0026quot;cid (?), a. [L. viscidus, fr. viscum the mistletoe, birdlime made from the berries of the mistletoe; akin to Gr. ?: cf. F. viscide.] Sticking or adhering, and having a ropy or glutinous consistency; viscous; glutinous; sticky; tenacious; clammy; as, turpentine, tar, gums, etc., are more or less viscid.\nUrdu # Working my way through the alphabet. Did the jeem group of letters today Physical Activity # An hours worth of cardio. I am really gritting my teeth and hoping all of this pain, pays off. Django # Learnt how to docker-ise my tiny Django app, that I’m writing, so I can have a contact form on the website. Feedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"1 février 2023","externalUrl":null,"permalink":"/work/what-i-learned-today-2023-02-01/","section":"Work","summary":"","title":"What I Learned Today (1st of February, 2023)","type":"work"},{"content":"Been knocked down a little too much over the past few months.\nThis is me, getting up from my knees.\nDoing some things daily to learn.\nTo give myself grace\nTo be kind to my self.\nPython Morsels # Getting back into the swing of writing code.\nToday was basically just looking at a blank screen and wondering why nothing would come out.\nUrdu # Started with module one of Rekhta’s wonderful Aamozish.\nI hope to have read at least one Urdu book by the end of the year.\nPhysical Activity # Went to the gym. Worked with a kindly trainer, who understands my pain and then keeps telling me about all the good things “one”1 needs to do. I have no legs.2\nI hope I get used to this soon.\nDevops # Worked with a colleague. Trying to create a presentation.\nFrench # This is something I barely spend 5 minutes on.\nBut I do it daily.\nThe only reason I mention it here, because today is Day 100 of showing up.\nFeedback on this post? Mail me at feedback@janusworx.com P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nThere is no “one”. It’s all specific to me 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI do in fact, have legs. It’s just that the gym session killed me. Well, I am in fact alive. I am just prone to hyperbole.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 janvier 2023","externalUrl":null,"permalink":"/blog/what-i-learned-today-2023-01-31/","section":"Personal","summary":"","title":"What I Learned Today (31st of January, 2023)","type":"personal"},{"content":"","date":"27 janvier 2023","externalUrl":null,"permalink":"/tags/css/","section":"Tags","summary":"","title":"Css","type":"tags"},{"content":"I use Miniflux as my feed reader, and I love it to bits.\nIt does what I need, it does it fast and it stays out of the way.\nWell, almost.\nI have a couple of those—whatchacalit—firehose feeds.\nAnd I keep skimming through them by clicking next, next, next on each page.\nLike so,\nExcept for when there is no next under my pointer.\nIt’d happen quite frequently and I’d have to keep moving my mouse to find the link. The whole thing was driving me batty!1\nAnd then it hit me. Sometimes the headlines would be too long and stretch across two lines, causing rest of the page to shift down to accomodate them.\nWhat if I could reduce the size of the title headlines? That’d help keep it to one line and give me my next button consistently in place.\nI didn’t want to go wrangle with custom stylesheets.2 I grumbled a bit about Miniflux not letting me do this, before I thought, I ought to go give the settings a look see. I found a Google Reader API in one of the recent releases.3 Maybe it’d let me do something with CSS too.\nAnd lo and behold!\nMiniflux does in fact have support for custom CSS. It has in fact, had it since 2020!4\nA tiny bit of twiddling to make my headlines smaller.\n.entry-header\u0026gt;h1 { font-size: 1.2em !important; } I put this in the Custom CSS box in the main Settings section.\nAnd the next link stays put under my mouse pointer, letting me rapidly skim my feeds :)\nFeedback on this post? Mail me at feedback@janusworx.com P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\nYes, I can (and do) use the keyboard shortcuts. But my RSI ridden wrists need constant entertainment and movement. So I switch it up frequently.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI did try. And failed miserably.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nHelped Reeder, my iOS feed reader talk much better to Miniflux\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI’ve been a blind bat, as usual\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"27 janvier 2023","externalUrl":null,"permalink":"/work/miniflux-now-supports-custom-css/","section":"Work","summary":"","title":"Miniflux Now Supports Custom CSS?","type":"work"},{"content":"I deleted my twitter account, since most folk I follow, are now on the fediverse.\nI’ll come back if ownership changes and it begins to thrive again.1\nI am @jason@toots.dgplug.org. Come say hi!\nFeedback on this post? Mail me at feedback@janusworx.com P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\nI think, it will die and turn into a shell of itself ala Myspace, Friendster etm.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"27 janvier 2023","externalUrl":null,"permalink":"/personal/deleted-twitter/","section":"Personal","summary":"","title":"Deleted Twitter","type":"personal"},{"content":"","date":"27 janvier 2023","externalUrl":null,"permalink":"/tags/twitter/","section":"Tags","summary":"","title":"Twitter","type":"tags"},{"content":"I did a lot of research the other day about what I’d need to build a contact form for my website.\nI bookmarked lots of pages.\nAnd today, I come and look at this mountain of videos and sites and pages and woneder what exactly it is, that I am supposed to tackle.\nNothing makes sense.\nI know I ruled out Sendy as an option. Or did I?\nDo I need Javascript? How much? Can I get snippets to copy paste? Do I need to go learn Javascript?\nWhat is spam protection? Do I need spam protection? How do I do it?\nI’ll have to go look at it all again now.1\nNote To Self:\nAs you wind down your day, summarize what it is that you were working on in the eve.. (in however shitty a manner. does not matter.) Which also means, you need to keep some time in hand to do that. Or stop working a bit earlier As you being your day, look over your calendar first2, agenda next3, and as you begin each task review your summary from wheneve you worked on it last4. I do this when I work all the time for clients.\nWonder why I never do it for my learning.\nTime to treat myself as my most important client, and not assume that I will remember the important bits.\nTime to make it easy for myself to pick up the threads again.\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nOr god forbid, research it all over again.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nWhich I normally do\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nWhich I also normally do\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nWhich I never do\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"23 janvier 2023","externalUrl":null,"permalink":"/personal/i-should-write-down-and-summarize-what-i-did/","section":"Personal","summary":"","title":"I Should Write Down and Summarize What I Did","type":"personal"},{"content":"","date":"23 janvier 2023","externalUrl":null,"permalink":"/tags/learning/","section":"Tags","summary":"","title":"Learning","type":"tags"},{"content":"","date":"23 janvier 2023","externalUrl":null,"permalink":"/tags/programming/","section":"Tags","summary":"","title":"Programming","type":"tags"},{"content":"Warning: Slightly ranty post, with no aim in mind, other than putting thoughts to paper, and to excise some demons from my mind.\nSeveral interviews and several rejections later, the one thing I’ve learnt, is that I’d be a good hire, if only I had a little experience. And also that ageism is a thing.\nWhile there’s nothing I can do about the age bit, I can do something about the experience.\nIt took me a while to figure out what I want, in the first place.\nI did have a job last year, doing web development with Python, and I did it for six months before I realised it wasn’t for me.\nA little bit of soul searching, led me to DevOps as my next option.\nI want to herd machines. I already did that with hardware. Now I want to do it with software.1\nI have all this muscle memory. All I need is that wee bit o’ learning. Surely an employer would see what I’ve done and won’t begrudge me the space to learn?\nTurns out the wee bit is what every one wants to see.\nSo … chicken and egg?\nThe only way out, I see for myself to do that, to learn something that’ll get me hired, is to go build something in the open.\nWhich brings me to my blog.\nI cannot learn, if I cannot write what I learn.\nAnd for some reason, I always have had this mental stumbling block when it came to skills, programming related.\nI always wanted to have something finished and polished; something that I had enough mastery or muscle memory in, that I could write about.\nThat does not seem to be happening any time soon, from the looks of it.\nErgo, the blog’s getting real chatty and verbose.\nI have restructured my layout a bit, so that interested folk can go look (or subscribe) at the projects and longform section, to read if my efforts have yielded fruit.\nOr subscribe to a tag specific feed, if that catches your fancy.\nThat should free my mind up to do what I want,\nand blarf as much as I want to,\nabout what I learn and what I want to say or vent or just gossip about,\nas I go about chopping wood and carrying water.\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Something struck a chord with you? Send mail to “feedback at this domain”\nP.P.P.S. Feed my insatiable reading habit.\nWhat Cal Newport calls the Adjacent Possible in his insightful book on careers, “So Good They Can’t Ignore You.”\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"20 janvier 2023","externalUrl":null,"permalink":"/personal/this-blog-is-about-to-get-real-chatty/","section":"Personal","summary":"","title":"This Blog Is About to Get Real Chatty","type":"personal"},{"content":"","date":"17 janvier 2023","externalUrl":null,"permalink":"/tags/maria-popova/","section":"Tags","summary":"","title":"Maria-Popova","type":"tags"},{"content":"This post was first sent to my newsletter on January 10th, 2023.\nYou really ought to subscribe :)\nI took close to a year to finish two of the books from last years reading list.\nThat’s because I was reading them, in tiny bits, in small chunks, a day at a time\nI was already reading a poem a day and then some time early last year I serendiptioustly ran into this Ryan Holiday post, which spoke to the virtues and pleasures of page-a-day books and daily wisdom.1\nSo, along with my daily poem, I read a Robert Greene reader called The Daily Laws as well as the Ryan Holiday–Stephen Hanselman collection of Stoic meditations in The Daily Stoic.\nI absolutely love it.\nIt gives me varied nuggets of wisdom, from various perspectives.\nIt let’s me start the day on a tranquil, aware, intentional note.\nAnd it calms the unfounded nagging fear, I always have in the back of my head; that I’m not reading enough.\nSo what’s a boy to do when he stumbles across something good?\nWell … do lots more of it!\nI looked around for some more books that I’d like to read this way.2\nAnd decided to read several Anthony De Mello books that I read growing up.\nLooking in the bookshelf yielded One Minute Wisdom and The Prayer of the Frog (Vols. I \u0026amp; II) as well as the book that made me fall in love with him, The Song of the Bird.\nThere’s lots of overlap and repetition in the fables and teaching across the books. That’s just a bonus to my mind.\nAnd finally I decided to read Maria Popova’s, A Velocity of Being.\nI have two of her books. The other one is called Figuring.\nI resisted, so strongly resisted, reading either of them, because I’m in love with her beautiful prose and her sense of syntopia and her unique lens on the world.\nI was always waiting to be marooned on an island, with only her books for company, because I wanted to savour them slowly.\nThe last couple of months though, in some sense, I have been lost at sea. So I gave in and read A Velocity of Being.\nIt’s a series of letters from people, young and old, big and small, across varied paths of life, all united in one common purpose. To tell young readers, why they think reading is important and the various ways reading changed their life.\nIt’s a letter a page3, each letter accompanied by an extravagant, lush, often sensuous piece of art.\nI leave you with the letter I read today.\nLaura Brown–Lavoie, rejoices in the way she gets lost in a book.\nHappy Reading!\nLioness Illustration, by Ping Zhu\nSometimes when I\u0026rsquo;m reading a good book and I\u0026rsquo;m under a blanket and no one\u0026rsquo;s trying to talk to me, I forget that I\u0026rsquo;m reading. The tall grass of the story grows up around me, and I\u0026rsquo;m just another silent creature whose heart beats in that world.\nIf I sit still and keep reading that way, sometimes a sentence stalks by as lovely as a lioness. Blood around its mouth; that fresh, that killer. I read it once, and I know I have to read it again, not look away, watch closely how it moves.\nAnd then I start to notice my eye muscles moving my eyeballs back and forth again, and see the black of the letters on the gray of the page, and I\u0026rsquo;m just plain reading under a blanket. It\u0026rsquo;s still fun.\nBut the reason I read is for the lionesses. For the sentences that pull me in with all their teeth.\nLove, Laura\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI was also raised to read the Bible daily, which, while I no longer do, the habit still echoes in my bones\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThe rest of the books on the Ryan post, did not appeal to me\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nwhich lends itself to a page-a-day :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 janvier 2023","externalUrl":null,"permalink":"/personal/reading-page-a-day-books/","section":"Personal","summary":"","title":"Reading Page a Day Books","type":"personal"},{"content":"This post was first sent to my newsletter on December 11th, 2022.\nYou really ought to subscribe :)\nHello, hello, it me! :)\nWith all that is going on in my life, I don’t have the will or wherewithal to compile the annual reading list this year.\nSo I’ll keep sending you folks, the lists that I come across and find compelling enough to share.\nI’ve always ended my annual books-to-read list with the Marginalian.\n(the erstwhile Brain Pickings aka Maria Popova)\nAnd I always say, Maria saved my life.\nFor nearly a decade, during times of deep dark despair, it was her posts that kept me going.\nI’ve always wished that I could weave word tapestries like she does.\n(Or be as succinct and pithy as Mandy Brown. Someday I will be.)\nWithout further ado, here’s Maria’s list.\nFrom art to philosophy to whimsy, there’s something for everyone.\nThe one I look forward to reading the most is Haleh Liza Gafori’s rendition of Rumi.\nI hope you find something in there too!\nHappy Reading :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"11 janvier 2023","externalUrl":null,"permalink":"/personal/maria-popovas-favourite-books-of-2022/","section":"Personal","summary":"","title":"Maria Popova’s Favourite Books of 2022","type":"personal"},{"content":"Ok, here’s to learning Kubernetes in earnest, to get that career pivot going.\nNotes as I learn, over the coming days.\nThis one, is a lot of random thoughts on bringing up a cluster.\nIt is both harder than you think, and easier than you think I did this, because I wanted to run my own cluster, just like the big boys do.1 It’s much easier to run alternatives like kind, if that suits your needs better. Notes to future Jason:\nI made a gigantic Ubuntu KVM vm, for my playground Then four small vms in that big one Because of life, I goofed up and used Ubuntu LTS on the big vm and a non-LTS version on the small ones. Next time just use the same os everywhere. If learning is your aim, make sure the vms use a beefy, full fat os install. The skinny ones might be helpful online when actually building stuff, but when it comes to learning, you’ll be installing a lot of things manually.2 To that end, make sure the virtual machines have lots of disk space available. I had to learn how to resize qcow files, because I nearly ran out of space. The control-plane node will need two cpus. the others can get by with one. Same with ram. Helps if the control-plane node has 4gb. The documentation is the best resource. It is comprehensive but not well structured. No hand holding here. I used containerd and runc rather than Docker, manually installing them using the documentation links3 Pair with a how to install guide, off the web. Kubernetes releases come fast and furious. Make sure you aren’t following something woefully out of date. Once again, the documentation is the go to. Make sure you read them for notes and pitfalls. My cluster keeled and fell over after my first reboot, because I did not configure the cgroups driver right, to work with systemd It takes time. It’s ok. It’s supposed to take that long. If your system is old and creaky like mine, don’t bring up all the vms at once. That’s another surefire way of making sure the cluster goes splat. Bring up the control node, wait a while4, wait some more just to make sure, and then slowly bring up the worker nodes one by one. Then keep the darned thing on all day. If stuff works, and you like me, need to get on with life because you are doing all this in the middle of a house move, make sure to take lots of vm snapshots. What else? Hmm … oh yea! Stop stressing. You got this. Show up. It’ll come to you. Like Scott says, You got to do the real thing, if you want to learn well.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI had to manually install apt-utils, whiptail, ping, devel tools and Dog knows, what else\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI honestly don’t why I did this. No objective reason. Just that the recent Docker emails give me the creeps. Reminds me of the old Microsoft emails. So, Via Negativa!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nWaiting time? Enough to brew me a coffee. Measure yours.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 novembre 2022","externalUrl":null,"permalink":"/work/learning-kubernetes-setup-notes/","section":"Work","summary":"","title":"Learning Kubernetes, Setup Notes","type":"work"},{"content":"I wanted to start learning Kubernetes.\nSo I thought I’d spin up a Ubuntu VM to use as my sacrificial guinea pig.\nWhile the normal NAT mode works well enough for most of my networking needs, I wanted the Ubuntu VM to show up and work as a machine on my host’s network.1\nI have two network cards on my desktop and wanted to allocate one of them to this VM.\nI wanted a passthrough, where the guest OS would see the NIC and then have exclusive access to it.\nWhen I tried doing that, KVM complained that it could not do this with PCI devices.\nHmm, that had me stumped a bit.\nAnd then I learnt about attaching my VM’s NIC directly to a physical interface.\nWhat I needed to do was use Macvtap as my network source in the VM’s settings.\nIt then prompted me for my NIC’s device name, which I gave it, courtesy a little spelunking through ifconfig’s output.\nAnd then once I began my Ubuntu VM install, it detected my NIC and then let me assign an ip that I use on my local network.\nFor all intents and purposes the VM now appears as just another machine on my network ala my Pis.\nTo my mind, that’d be one less layer of networking I’d need to deal with.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"18 octobre 2022","externalUrl":null,"permalink":"/work/make-kvm-use-nic-in-bridge-mode/","section":"Work","summary":"","title":"Make KVM Use a NIC in Bridge Mode","type":"work"},{"content":"Every now and then, I spin up a fresh vm.\nAnd being a creature of habit, I use the same username on my play / experimental vms as my normal login.\nSo everytime I try to login to such a vm or pi, I get a Too many authentication failures error.\nSo to just get in and start working, I need to tell ssh to ignore my keys and try using passwords as the authentication mechanism.\nLike so\nssh -o PreferredAuthentications=password -o PubkeyAuthentication=no jason@ip-address-on-my-network And then I can login and begin the process of locking everything down.\n","date":"18 octobre 2022","externalUrl":null,"permalink":"/work/make-ssh-ignore-key/","section":"Work","summary":"","title":"Make SSH Ignore Key, When Logging On to a Fresh Box","type":"work"},{"content":"","date":"18 octobre 2022","externalUrl":null,"permalink":"/tags/ssh/","section":"Tags","summary":"","title":"Ssh","type":"tags"},{"content":"","date":"9 octobre 2022","externalUrl":null,"permalink":"/tags/fonts/","section":"Tags","summary":"","title":"Fonts","type":"tags"},{"content":"Writing this down, so that I will not struggle the next time1, I have to do this.\nI use Valkyrie for everything on the blog in various weights, except for code and preformatted stuff, which uses Source Code Pro Medium. Both are WOFF2 fonts. Anything in Hugo’s assets/css/extended folder will be picked up by Hugo and bundled into a single CSS file. The fonts are in subdirectories in the static/fonts/font-name folder. Anything in the static folder shows up at the root of the site. ~/mjb/blog/static/images/test.jpg will become /images/test.jpg I’ve created an embed-font-name.css file in the css folder above, with embed instructions generously provided by Matthew Butterick in his font documentation for Valkyrie. I adapted the same for Source Code Pro as well. Here’s a sample of my embed-source-code-pro.css 1 2 3 4 5 6 7 8 @font-face { font-family: \u0026#39;Source Code Pro Medium\u0026#39;; font-style: normal; font-weight: medium; font-stretch: normal; font-display: auto; src: url(\u0026#39;/fonts/source-code-pro/SourceCodePro-Medium.woff2\u0026#39;) format(\u0026#39;woff2\u0026#39;); } Finally, I created a zz-include-css.css file, which I use to overide the default CSS, so I can use my custom fonts. Since it starts with a zz it comes after the files above, that start with embed, in the final munged and minified CSS file.\nThese are my instructions to have most text rendered with Valkyrie and code as Source Code Pro Medium2 1 2 3 4 5 6 7 8 9 10 #top { font-family: valkyrie; font-variant: oldstyle-nums; } .post-content pre, code { font-family: \u0026#39;Source Code Pro Medium\u0026#39;; font-style: medium; font-weight: 500; } Look! So pretty :) hopefully, never!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI figured out what to target by inspecting the final web page in Firefox\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"9 octobre 2022","externalUrl":null,"permalink":"/work/notes-to-self-on-self-hosting-fonts/","section":"Work","summary":"","title":"Notes to Self, on Self Hosting Fonts on My Hugo Blog","type":"work"},{"content":"While I mostly use the keyboard when doing everything Org related, there are a few times in the day, when I cannot. These are mostly mornings and evenings when I bustle about home, doing this thing and that. Things that are part of my routine. Things that are checkboxes in my routine.org file.\nIt helps me get through the day without thinking of whether, I gave the better half her meds or whether I remembered to call my mum or if I drank enough water by the end of the day or whether my stretches for the day are done or if the plan for the next day is made.\nLittle things. Everyday things. Important things.\nAnd at those times, the keyboard gets in the way.\nI don’t want to arrow to get to some task and C-c C-c to tick it off.\nBesides my hands are nearly always messy with something or the other and I don’t want to get gunk into my keyboard.1\nEasier to just mosey the cursor to said task and click to done!\nBut click to done, would not done! What?! Org Mode would not let me click to complete my checkboxes?\nSo, off to the documentation I went and did a search for mouse, and stumbled across this line.\nPiotr Zielinski wrote org-mouse.el, proposed agenda blocks and contributed various ideas and code snippets.\nWell, Piotr understands my pain!\nSome more spelunking led me to org-mouse.el, which seems to be really well documented. Its commentary begins with …\n;; Org-mouse provides mouse support for org-mode. ;; ;; http://orgmode.org ;; ;; Org-mouse implements the following features: ;; * following links with the left mouse button (in Emacs 22) ;; * subtree expansion/collapse (org-cycle) with the left mouse button ;; * several context menus on the right mouse button: ;; + general text ;; + headlines ;; + timestamps ;; + priorities ;; + links ;; + tags ;; * promoting/demoting/moving subtrees with mouse-3 ;; + if the drag starts and ends in the same line then promote/demote ;; + otherwise move the subtree Line 101, was what put a smile on my face though.\n;; Version 0.17 ;; + toggle checkboxes with a single click All it took, to get it working was to put (require 'org-mouse) into my init.el et voilà. I can clicky-clicky-to-done to my heart’s content.\nwell, more gunk than is necessary.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"7 octobre 2022","externalUrl":null,"permalink":"/personal/ticking-off-checkboxes-with-the-mouse-in-org-mode/","section":"Personal","summary":"","title":"Ticking Off Checkboxes With the Mouse in Org Mode","type":"personal"},{"content":"","date":"6 octobre 2022","externalUrl":null,"permalink":"/tags/dictionary/","section":"Tags","summary":"","title":"Dictionary","type":"tags"},{"content":"I wrote the other day, about switching to Noah Webster’s dictionary everywhere, I possibly could. Now I did that after reading this lovely James Somers post. And that post seems to be resounding through the web, with folks integrating it into their workflows in different ways.\nSo I was really happy when I read Jon Snader’s post telling me I could have my beloved Webster’s dictionary in Emacs! This sounded too good to be true! I didn’t believe it!\nBecause why would I believe some old, wise wizard who’s only been writing about Emacs on a near daily basis for close to fourteen years?!\nI had to try this out myself! So I whip out ye, old, trusty scratch buffer, type crap into it and select it.1\nAnd then I fire up M-x dictionary-search, like Snader tells me to This is the moment of poop … err truth! I hit return and … How now brown cow?! It actually works! the most beautiful dictionary in the world and my mind wants to look up crap. Of course.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"6 octobre 2022","externalUrl":null,"permalink":"/personal/noahs-in-emacs/","section":"Personal","summary":"","title":"Noah’s in Emacs!","type":"personal"},{"content":"","date":"5 octobre 2022","externalUrl":null,"permalink":"/tags/eulogy/","section":"Tags","summary":"","title":"Eulogy","type":"tags"},{"content":"\nFor the past twenty years, you’ve been the bane of my existence.\nI slept with the phone by the bedside, never knowing when Mummy would call, and\tone of us would have to come find you, and dig you out of the newest hole you dug for yourself. And none of those years have been harder, than the one where we were estranged for the past year. Two decades of picking up after you had taken their toll.\nI told you repeatedly over the years, that while all was always forgiven, it was hard for me to forget. Especially since I lived amidst the wreckage of your actions.\nIn fits of frustration, I would wail to Abby or Mummy, “Why doesn’t this boy understand?”\nUntil you decided to move on.\nYou were always my boy.\nI taught you to walk.\nI made you laugh.\nI taught you cricket. I outgrew it, but it was a lifelong passion with you.\nWith the exception of your weakness, you were the best of us.\nYou outsang us in choir, even as a three year old.\nYou probably were the only person who I’d say was more generous than Daddy was. (to the extent of people taking advantage of your gullibility so many times.)\nYou had the most joie-de-vivre. You made us laugh.\nYou were sensitive and kind. Nobody who met you, would come away unhappy or sad.\nAnd for all your foibles, I believe that you loved Mummy and Daddy the most. I might be responsible, Derrick might be caring, but you had the biggest heart.\nYou gave me your love for animals.\nYou saved Puppy, by making sure she lived as a puppy.\nYou jumped into that large stinking drain and pulled her out later, when she got stuck. Foxy, Puppy, Little Puppy, Two Socks, Pink Nose or Popsicle would not be here, if it wasn’t for you.\nI might have been the straitlaced one, and you and Derrick have a bond, that is actually brotherly, but both of you had no problems defending an older brother who took life too seriously.\nYou believed in me blindly. You believed I could be wrong a hundred ways to Sunday, but I would never wrong you intentionally.\nSo I choose to remember everything that was good about you.\nDerrick told me, your last words to him were, “Good, you came.”\nI want to imagine you only held on, until you felt like you were back home.\nAnd now that you’re with Daddy, I hope to see you one day, and I hope you tell me, “Good, you came” too.\nYou will always be my boy.\nI love you.\n","date":"5 octobre 2022","externalUrl":null,"permalink":"/personal/savio-38-years-in-memoriam/","section":"Personal","summary":"","title":"Savio, 38 Years, In Memoriam","type":"personal"},{"content":"","date":"28 septembre 2022","externalUrl":null,"permalink":"/tags/automation/","section":"Tags","summary":"","title":"Automation","type":"tags"},{"content":"This post was originaly published on 2022-09-27.\nUpdated 2022-09-28, to include the improved script.\nIt’s been a year, since I figured out the hack that finally let me use my Compose key in Emacs.1\nWithout it, I am unable to type any kind of quotation marks or umlauts in emacs.\nA year in, and I’m tired of restarting the service everytime the machine comes on.\nThe computer can do that for me.\nSo I whipped up this tiny bash script\n1 2 3 4 5 6 #!/usr/bin/env bash if [[ $(( $(pidof -s emacs) )) -le 10000 ]]; then systemctl --user restart emacs; else :; fi It just arbitrarily checks for the Emacs service’s PID and then if it’s lesser than or equal to 10000, it goes ahead and restarts the service.\nThis is just some superstitious thing I did, because when I was troubleshooting all those months ago, I assumed that if Emacs started at an ID in the low thousands, it must not have been loading something and restarting it to get a higher process ID meant what ever it needed must have loaded.\nI learnt a couple of things doing it this way too.\nThe output of a bash command is a string. I use $(( some_numerical_string )) to convert said string into an integer : means pass in bash-speak What I ought to do is to check for the existence of a PID and if there is one, to then go ahead and restart emacs. I’ll do that some other time. Because right now, I put this script into my system startup and it just works.\nUpdate 2022-09-28 # I obviously am incapable, of leaving well enough alone.\nAs I was in the bath this morning, it struck me that I was restarting the service using systemctl restart …\nSo I could just check for the exit status of a systemctl status command, and then depending on what I got, do something. If it was running, I could just restart it.\nI checked on the command line and sure enough, if a service is running, the exit status is 0 and if it isn’t, the status is 3 .2\nSo … then I monkeyed with the script to this\n1 2 3 4 5 6 7 #!/usr/bin/env bash if systemctl --user status emacs \u0026gt; /dev/null; then systemctl --user restart emacs; else :; fi; If the emacs service is running, restart it, else do nothing.\nThis ought to quiet the monkey brain for a while.\nI hope 🙂\nall i have to do is restart my Emacs service as soon as the system boots up\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI don’t know if it is always 3. It could probably vary. But it suffices in my case that it isn’t 0.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"28 septembre 2022","externalUrl":null,"permalink":"/work/restart-emacs-on-system-startup/","section":"Work","summary":"","title":"Restart Emacs on System Startup","type":"work"},{"content":"As is our wont, we spent the day gallivanting in a jungle and having an accident.\nAnd then crying for a while and then laughing about what a story it would be for the rest of our lives.\nMuch like our marriage.\nWe make the best stories, don’t we?\nAnd I am who I am, because of you.\nEleven years, and it still feels like only yesterday. 1\nI love you.\nLike the old hymn goes …\nYou alone are my strength, my shield … to you alone may my spirit yield\nYou alone are my hearts desire … 🎵\nWe still compare our wedding pics with other folks, unilaterally declaring ours the much better set.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"27 septembre 2022","externalUrl":null,"permalink":"/personal/11/","section":"Personal","summary":"","title":"11","type":"personal"},{"content":"I remember, when I first learned it, the Org Manual mentioning I could have code, quotes, poetry and sundry self structured blocks of text, where the text in that block would flow like I wanted it to. I could have indentation or line breaks as I pleased.\nAnd then I promptly forgot about it.\nThe only thing I did remember were code blocks.\nAnd that I needed to do a #+begin_src and then a #+end_src and put my code in the middle. And all this while, I would keep typing it in, by hand.\nUntil I tired of keeping on doing that shit, because there are more and more notes that are now going into my zettelkasten and decided well, the computer can do that for me.\nSo, I went back to the Org Mode documentation and discovered Structure Templates.\nAnd now, I am at peace!\nTurns out, all I needed was (org-insert-structure-template) aka C-c C-,\nHere’s some code I’ve selected in a document\nNow I hit C-c C-,, which brings up a whole host of options, with a prompt!\nDo I want this block of text to be a quote? Or some verse?\nWell, this is just boring code, so I choose source with the s key\nAnd tada! The block is surrounded by the begin and end tags, and is now a source block! I could add the programming language after #+begin_src to get highlighting as well, but that’s a story for another day.\nI’m practicing this, so that I get C-c C-, into my muscle memory, because be it verse, quote, code, example or exports, I know I will be making heavy use of Structure Templates.\n","date":"27 septembre 2022","externalUrl":null,"permalink":"/work/blocks-in-org-mode/","section":"Work","summary":"","title":"Blocks in Org Mode","type":"work"},{"content":"","date":"25 septembre 2022","externalUrl":null,"permalink":"/tags/documentation/","section":"Tags","summary":"","title":"Documentation","type":"tags"},{"content":"Been meaning to write up a short note to some of my writing to point folks to.\nSo here goes. This serves as a mélange of the things I write and interest me.\nI’ve coauthored a book on linux, Linux for You and Me Related HN discussion My blog at Janusworx Learning about Cross Site Request Forgery (CSRF) Protection in Django Models in Django (and heuristics for creating optimal models) Python Advanced Objects Iterators and Generators in Python Python Comprehensions Miniflux Fails to Start at Boot I have written long form articles, to serve as teaching material for Linux Users’ Group of Durgapur Blogging IRC on the Web ","date":"25 septembre 2022","externalUrl":null,"permalink":"/personal/links-to-writing-of-interest/","section":"Personal","summary":"","title":"Links to Writing of Interest","type":"personal"},{"content":"I’ve been sticking to plain old rsync -az to sling files around using Rsync.\nUntil I ran into a hiccough today, where I filled up my teensy remote storage on the Pi, because a couple of subdirectories that were part of the run, were hundreds of megabytes large.1\nSo I did the usual, did hunt around the web thing, and learnt about --exclude\nSo now the new Rsync command is …\nrsync -az src dest --exclude={'excluded_dir_1','excluded_dir_2'}\nAnd my poor Pi no longer has disk full nightmares.\nI’d expected the normal run to be a few hundred kilobytes in size.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"18 septembre 2022","externalUrl":null,"permalink":"/work/exclude-files-and-folders-from-an-rsync-copy/","section":"Work","summary":"","title":"Exclude Files and Folders From an Rsync Copy","type":"work"},{"content":"","date":"18 septembre 2022","externalUrl":null,"permalink":"/tags/rsync/","section":"Tags","summary":"","title":"Rsync","type":"tags"},{"content":"I want my code blocks on the blog to sometimes have line numbers.\nLooking at the Hugo docs here and here led me to the linenos argument.\nWhile we’d start our code blocks like (```python)1, all I need more is to add the line number argument like so.\nVanilla code block …\nprint(f\u0026#34;\u0026#34;\u0026#34; “It’s silly to try to escape other people’s faults. They are inescapable. Just try to escape your own.” — Marcus Aurelius \u0026#34;\u0026#34;\u0026#34;) print(f\u0026#34;\u0026#34;\u0026#34; “Just that you do the right thing. The rest doesn’t matter.” – Marcus Aurelius \u0026#34;\u0026#34;\u0026#34;) Now, using the linenos option, I can be all fancy to show …\n1 2 3 4 5 6 7 8 9 10 11 print(f\u0026#34;\u0026#34;\u0026#34; “It’s silly to try to escape other people’s faults. They are inescapable. Just try to escape your own.” — Marcus Aurelius \u0026#34;\u0026#34;\u0026#34;) print(f\u0026#34;\u0026#34;\u0026#34; “Just that you do the right thing. The rest doesn’t matter.” – Marcus Aurelius \u0026#34;\u0026#34;\u0026#34;) All I did was, start my code block with a ( ```python {linenos=true} )2\nHurrah!\ndon’t type the round brackets, they’re just there, so I can see/show what I am doing.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nonce again, ignore the round brackets\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 septembre 2022","externalUrl":null,"permalink":"/work/line-numbers-in-hugo-codeblocks/","section":"Work","summary":"","title":"Line Numbers in Hugo Codeblocks","type":"work"},{"content":"This James Somers post, made me realise why my dictionary word lookups were so much less engaging than when I was a kid.\nFrom the post …\n[…] go look up “flash” in Webster’s (the edition I’m using is the 1913). The first thing you’ll notice is that the example sentences don’t sound like they came out of a DMV training manual (“the lights started flashing”) — they come from Milton and Shakespeare and Tennyson (“A thought flashed through me, which I clothed in act”)\nAnd immediately, I realised that is what I was missing.\nBecause even as a kid, we couldn’t quite afford dictionaries, so I used my father’s old and tattered hand me down copy of the Oxford English Dictionary, which expressed meanings in the same thoughtful, expressive, authoritative manner (even if it wasn’t quite as beautiful as Noah Webster’s)\nThe language was old and graceful.\nYou could somehow sense the work and thought that went into it.\nAnd that is what I want. That is what gives me joy as I learn.\nAnd boy, did Noah Webster put in the work!\nIn 1807, he started writing a dictionary, which he called, boldly, An American Dictionary of the English Language. He wanted it to be comprehensive, authoritative. Think of that: a man sits down, aiming to capture his language whole. Webster’s dictionary took him 26 years to finish. It ended up having 70,000 words. He wrote it all himself, including the etymologies, which required that he learn 28 languages, including Old English, Gothic, German, Greek, Latin, Italian, Spanish, Dutch, Welsh, Russian, Aramaic, Persian, Arabic, and Sanskrit. He was plagued by debt to fund the project; he had to mortgage his home.\nIn his own lifetime the dictionary sold poorly and got little recognition.\nA labour of love, this truly was!\nI’ve immediately switched my kindle as well my desktop to this beatiful compendium of words.\nThe post has links to get the dictionary into your Mac, iOS/Android device, and the Kindle\nThe stardict file in the S3 link also works with Goldendict on my Linux Mint desktop, solving one of my last quibbles about moving from OS X to Linux.\nI finally have a systemwide dictionary.1\nYou can also use it online, here.\nI’ll end with this quote.\nAnd, toward the bottom of the entry, as McPhee promised, is a usage note, explaining the fine differences in meaning between words in the penumbra of “flash”:\n… Flashing differs from exploding or disploding in not being accompanied with a loud report. To glisten, or glister, is to shine with a soft and fitful luster, as eyes suffused with tears, or flowers wet with dew.\nDid you see that last clause? “To shine with a soft and fitful luster, as eyes suffused with tears, or flowers wet with dew.” I’m not sure why you won’t find writing like that in dictionaries these days, but you won’t. Here is the modern equivalent of that sentence in the latest edition of the Merriam-Webster: “glisten applies to the soft sparkle from a wet or oily surface .”\nWho decided that the American public couldn’t handle “a soft and fitful luster”? I can’t help but think something has been lost. “A soft sparkle from a wet or oily surface” doesn’t just sound worse, it actually describes the phenomenon with less precision. In particular it misses the shimmeriness, the micro movement and action, “the fitful luster,” of, for example, an eye full of tears — which is by the way far more intense and interesting an image than “a wet sidewalk.”\nIt’s as if someone decided that dictionaries these days had to sound like they were written by a Xerox machine, not a person, certainly not a person with a poet’s ear, a man capable of high and mighty English, who set out to write the secular American equivalent of the King James Bible and pulled it off.\nvia Goldendict’s scan popup function\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 septembre 2022","externalUrl":null,"permalink":"/personal/thank-god-for-noah/","section":"Personal","summary":"","title":"Thank God for Noah","type":"personal"},{"content":"I often fat fingered the file name / buffer name / Org Roam link name when launching something new.\nAnd then when I am busy and knee deep in work, I glance up to see the error glaring at me.\nI figured out, looked up how to fix it\nHit C-x d to flip into a dired buffer Find my filename in the list. (C-s can help search and narrow stuff) Then C-x C-q to go into Wdired mode Change the file name to whatever I want it to C-c C-c to be done with it. Et voilà!\n(If you are editing an Org Roam node, M-x org-roam-db-sync to keep everything shipshape)1\nUpdate, 2022-09-17: Antón responded to my post on Linkedin to suggest that step 3 could also be done alternatively by just hitting R at the filename, which would let me rename the file (using dired-do-rename)\nI know, I know, the db eventually catches up. But if you’ve been reading me long enough, you know I’m enough of a control freak to be doing this 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 septembre 2022","externalUrl":null,"permalink":"/work/rename-a-file-as-you-work-on-it-in-emacs/","section":"Work","summary":"","title":"Rename a File as You Work on It in Emacs","type":"work"},{"content":"","date":"14 septembre 2022","externalUrl":null,"permalink":"/tags/drafts/","section":"Tags","summary":"","title":"Drafts","type":"tags"},{"content":"When I finally figured out how to get line breaks working on my microblog, I ran into another sort of hiccough, when I tried doing that from my phone.\nI use the Drafts app on my phone and tablet to slice and dice all manner of text and to send it to various locations as I please.\nOne of those is a workflow, that lets me shoot text to a folder on my server which is then published (via a script) on the microblog.\nAnd everytime I typed my {{\u0026lt; hbr \u0026gt;}} Hugo shortcode to let me have a line break in that post1, it would just publish gibberish2 instead of giving me said break.\nA bit of twiddling and experimenting led me to the solution.\nIf I escaped the leading { character with a \\, so that I typed \\{{\u0026lt; hbr \u0026gt;}}, it then worked just fine!\nP.P.P.S. I need to escape my Hugo shortcodes with /* */ if I want to display them in my posts. Like so, {{/* some-shortcode */}}\nwhen it gets published on the blog, that is.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nrather, ascii representations of said characters, but gibberish is the correct technical term\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"14 septembre 2022","externalUrl":null,"permalink":"/work/drafts-app-needs-escaping-if-i-am-to-use-hugo-shortcodes/","section":"Work","summary":"","title":"Drafts App Needs Escaping if I Am to Use Hugo Shortcodes","type":"work"},{"content":"","date":"14 septembre 2022","externalUrl":null,"permalink":"/tags/ios/","section":"Tags","summary":"","title":"Ios","type":"tags"},{"content":"I use a (not quite) hidden blog to collect all sorts of bits and bobs and to (selectively and automatically) publish them to my fediverse or twitter accounts.\nThe one thing that constantly bugged me, was that it would not accept line breaks to differentiate between paragraphs.\nLike this post, here.\nI don’t know if it’s my theme or a Hugo thing.\nAnd try as I might, I couldn’t quite figure it out.\nSince I don’t quite have the time to dig into the code, I just decided to add a couple of \u0026lt;br\u0026gt; tags. And that did the trick! 1\nAnd now it all looks as it should!\nI rolled it into a shortcode, which has a \u0026lt;br\u0026gt; followed by a couple of spaces, but that is absolutely not necessary\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 août 2022","externalUrl":null,"permalink":"/work/line-breaks-on-my-microblog/","section":"Work","summary":"","title":"Line Breaks on My Microblog","type":"work"},{"content":"More diving into Org Mode and Emacs.\nI have a stuff-to-do.org file, that serves as an inbox for most long term tasks that I want to tackle. Stuff that needs doing, books that I want to buy, books that I want to read, courses that I want to learn, movies or tv shows that I want to watch, stuff on the web that I want to catchup on, etc. etc. etc.\nAnd all this while, I have been moving tasks into my daily-tasks.org as and when I tackle them. This meant I needed to open both files, and then cut said task out of one and paste it into the other. And as usual, I am now doing this often enough, that it’s become bothersome. Because there are a couple more files as well, that serve as inboxes.\nAnd the same question arises, as usual. Can Emacs help with this?\nThe answer as it almost always is, is a big, resounding, Yes!\nI know it had to do something with what Org calls a refile, since I keep using C-c C-w to move items between different headings in my daily tasks file.\nSo after a bit of reading the manual, reading blog posts, spelunking through the emacs stackexchange, stalking the Org Mode reddit and an hour of head scratching, I roughed up something that does what I want :)\nIn a nutshell, what I am doing is what Org calls, a Refile and Copy. The manual page let me know that I could do this across files too. This was exactly what I wanted. It also told me that I needed to configure org-refile-targets variable to tell Org a list of locations, that it would then let me refile my tasks to.\nHaving split my emacs init.el file into a set of logical files, I opened up the file that held my org settings (very imaginatively called emacs-org-mode-settings.el) and then thought a bit about what files I would want Org to pop up when I wanted to file tasks to.\nWould just my daily tasks file do? What if I wanted to file something out of my daily tasks file? Or what if I wanted crisscross transfers between all my task inboxes and daily task file?\nI then realised that I was already telling Org Agenda to scan my tasks folder (which holds all my productivity system files) for tasks and dates and schedules and deadlines. I decided to use the same set of files as my targets for refiling. And this turned out to be easier to do than expected. I just had to tell Org to use org-agenda-files as the value for org-refile-targets\nIt looks a little bit like this.\n1 2 3 (setq org-refile-targets \u0026#39;((nil :maxlevel . 1) (org-agenda-files :maxlevel . 1))) I’m telling org-refile-targets on line 1, to look for targets in two locations.\nLine 3, is what we were talking about above. Org will look to the same location that org-agenda-files points to, for its refile targets.\nLine 2, is where I tell Org to include my current file, the one I am working on, as a target. It helps me move stuff in my daily tasks file from one day to another.\nThe maxlevel bit is to tell Org the level of headlines to show as targets. Org has headlines and sub-headlines and sub-sub-headlines.1 I just need the first level, which is why it’s set to 1.\nIt seemed to work, until I ran into a small stumbling block. Org would not let me refile my task at level 0, i.e. the root of the file as a level 1 headline. It could only nest under an existing headline. So, line 4 below, fixes that for me.\n1 2 3 4 (setq org-refile-targets \u0026#39;((nil :maxlevel . 1) (org-agenda-files :maxlevel . 1))) (setq org-refile-use-outline-path \u0026#39;file) And tada! It works! You can see it in action below.\nClick any of the images below to view them, larger.\nThe waiting task on the right (writing this post), needs to come in to my daily tasks file on the left So I hit C-c C-w and Org Mode helpfully pops up what target it thinks I want to move my task to.2\nI can hit the tab key to get a list of other files and targets.\nOnce I do that, the task hops over to the right place!\nIt’s an outliner after all :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThe daily tasks file, under today’s date\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"23 août 2022","externalUrl":null,"permalink":"/work/moving-tasks-between-org-files-in-emacs/","section":"Work","summary":"","title":"Moving Tasks Between Org Files in Emacs","type":"work"},{"content":"(Update, 2024-03-15: I now use lego. will update this post later.)\nAfter struggling to renew my certs for the third time in a row, hopefully these pointers should keep me on track for the next time.\nNamecheap does not yet support automatic wildcard renewal for the Letsencrypt/Certbot combo. Check next year. Have your Namecheap control panel open and ready. Switch to root or run the command below with sudo Command to renew: certbot certonly --manual --manual-public-ip-logging-ok --preferred-challenges dns-01 -d *.domain.com -d domain.com certbot will then, print a couple of lines that you need to add as a TXT record in the Namecheap DNS control panel. When you do that, make sure you set the TTL of the record, to a minute, so that you can redo stuff quicker, if you mess up. certbot might ask you to do multiple records. Read the instructions carefully. When you check to see if the TXT record is set, search for the whole domain name. For e.g. _acme-challenge.domain.blah instead of just domain.blah If you’ve done all of the above, hopefully things should go smoothly and the certificate should renew. Restart Nginx and you’re done. If you have multiple machines, figure out a way to securely transfer the certs there too. ","date":"20 août 2022","externalUrl":null,"permalink":"/work/notes-to-self-on-renewing-wildcard-certbot-certs/","section":"Work","summary":"","title":"Notes to Self on Renewing Wildcard Certbot Certs","type":"work"},{"content":"I started with a very simple init.el when I started using Emacs.\nRather than learning it in a structured manner, I just decided to jump in at whatever end of the pool and figure it out as I go.\nI may not know Emacs, but I do know what I want out of a general purpose text editor.\nAnd bending Emacs to do my will, to do what I want it to do or behave in the manner I want it to behave. And Emacs to my eternal gratitude, is flexible to do all I want, thanks to the last forty six years worth of hard work and ideas of people from all over.\nWant your screen to be a certain width, because you miss CGA screens? Emacs can do that.\nWant your font to be monospaced, because it helps you write? Emacs can do that.\nWant to tweak the space between your lines, because your font looks better that way? Emacs can do that.\nWant to save your place in the file, so you can come back to where you were? Emacs can do that.\nThemes? Want your editor to look a certain way? Emacs can do that.\nLove Markdown? Emacs does that.\nThat’s just the core editor and that’s just me setting up my writing environment.\nThat’s just me scratching the surface.\nI haven’t scratched the universe that is setting it up as an IDE, or using it as a Git frontend, or to read mail, or be an IRC client or play games or the million other things it can do.\nAs, for me, I have slowly branched out my use of Emacs too.\nIn addition to its use as a daily general purpose text editor, I use Emacs in three specific domains.\nAs an editor for all my blog posts, and prose writing. I use Markdown Mode to accomplish this. As a second brain. To write down notes and references and ideas and to link them all together. A syntopical sort of linking. A Zettelkasten, in fact. Org Roam is the tool I am using to build this edifice. And as a tool to manage my productivity, my day and my sanity using the awesome Org Mode.1 Which brings me to my current conundrum.\nAll those tweaks I mentioned above?\nThey are all in a file called the init.el, which Emacs reads everytime it starts up.\nAnd given my propensity to be a control freak, while at the same time verbosely documenting every change I make, my file had already grown to 300 lines and counting.\nGoing back to read stuff and change existing things meant scrolling up and down or searching across 300 odd lines.\nAnd I quickly tired of that.\nWhich is when I learnt Emacs let me organise my init files too!\nBetween learning to load lisp files and how to organize my init files, I quickly divided my main file into a total of four files.\nThe base init.el file, containing things I thought were absolutely needed2 A miscellaneous file, that would hold everything else Emacs.3 A file to hold my Org Roam Zettelkasten settings. A file to hold my Org Mode settings. And then, within my base file, I called the other three, like so … 4\n(load \u0026#34;~/.config/emacs/emacs-misc-settings.el\u0026#34;) (load \u0026#34;~/.config/emacs/emacs-org-mode-settings.el\u0026#34;) (load \u0026#34;~/.config/emacs/emacs-org-roam-settings.el\u0026#34;) And that gave me space to breathe :)\nEverything is now properly organised.\nI can just go look in the appropriate file (or add one) for the appropriate setting.\nAnd life is peachy again.\nOf course, once again, I am barely scratching the surface, compared to other folks’ vastly elaborate setups.\nBut this works for me, and I’m really happy!\nThe principles, of course are Cal Newportian.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nfont, package installs, theme, backup folder\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nnearly everything else, I mentiond above, page column width, line height, recent file, save place, etc\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI’m sure there are better ways of writing this, but I didn’t want to go bikeshedding\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 août 2022","externalUrl":null,"permalink":"/personal/splitting-an-unwieldy-emacs-init.el-file/","section":"Personal","summary":"","title":"Splitting an Unwieldy Emacs `init.el`","type":"personal"},{"content":"","date":"8 août 2022","externalUrl":null,"permalink":"/tags/dsa/","section":"Tags","summary":"","title":"Dsa","type":"tags"},{"content":"Using Abdul Bari’s, Mastering Data Structures \u0026amp; Algorithms using C and C++ to grok the basics.\nNow that I grok programming, understanding DSA should help me write and think better.\nAnd writing rough notes or thoughts to myself here, keeps me accountable and on track.1\nToday’s topic?\nThe Basics of Recursion # Types of Recursion Tail Recursion Head Recursion Tree Recursion Indirect Recursion Nested Recursion Tail Recursion # When a recursive call, is the last statement in a recursive function, that’s tail recursion func(n) { if (n\u0026gt;0) { blah … ; blah … ; blah … ; func(n-1); } } All the operations in the examples above happen at call time. Not when the function returns Tail Recursion vs Loops # Tail recursion function can be written as a loop and vice versa Time taken by both, O(n) But the space taken by a loop is O(1) while a tail recursive function is O(n). The loop takes less space. Some compilers also do this under the hood (convert a tail recursive function into a loop) Head Recursion # func(n) { if (n\u0026gt;0) { func(n-1); blah … ; blah … ; blah … ; } } In the example above, the recursion happens before anything else takes place. the recursion call is the first statement the rest of the function is processed, in the return process. (i.e. once the recursion call is done executing) Head Recursion vs Loops # Head recursion function and a loop that gives a corresponding output are not quiet convertible from one to the other. Some work required. Tree Recursion # func(n) { if (n\u0026gt;0) { blah … ; func(n-1); blah … ; func(n-1); blah … ; } } If a function calls itself multiple times, then we have ourselves a tree recursion Time complexity? pretty complex. A simple thing like the one above would be O(2n), while the space complexity is O(n) Indirect Recursion # void A (int n) { if (something-something) { blah … ; B(n-1); } } void B (int n) { if (something-something) { blah … ; a(n-1); } } Two (or more) functions calling each other in a circular fashion. A -\u0026gt; B -\u0026gt; C -\u0026gt; A Nested Recursion # void fun(int n) { if (blah-something) { blah fun(fun(n-1)) }\t} A recursive function passes a recursive call to itself as a parameter to the function. The code’s all C++ pseudo code. Written only so I can get what I was trying to learn.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"8 août 2022","externalUrl":null,"permalink":"/work/learning-dsa-day-001-recursion-basics/","section":"Work","summary":"","title":"Learning DSA, Day 001: Recursion Basics","type":"work"},{"content":"","date":"8 août 2022","externalUrl":null,"permalink":"/tags/recursion/","section":"Tags","summary":"","title":"Recursion","type":"tags"},{"content":"","date":"31 juillet 2022","externalUrl":null,"permalink":"/tags/dates/","section":"Tags","summary":"","title":"Dates","type":"tags"},{"content":"\nOrg mode is slowly spreading its tentacles increasingly becoming something, I cannot live without, to manage my day.\nAnd I’m getting pretty consistent with it too!\nLike you see above, I use dates as my headlines, below which I list the various tasks for the day.1\nAnd that’s where I run into my current itch to scratch.\nI don’t want to keep typing out the date daily.\nThe computer can do that for me.\nBut how? Of the millions of ways possible, what do I want to do?\nMy first thought was to figure out some way to insert a date into Emacs.\nAnd then I thought, why only emacs? I want it systemwide, across all my programs.\nSo I checked if Espanso, my friendly text expansion program, would do that for me.\nTurns out, Espanso does!\nI could just type :dtx wherever I wanted and Espanso would happily insert the date in there. And so I did that for a few days.\nProblem solved? Well, that’s when the itch got stronger.\nSee my evening tasks above?\nI use Cal Newport’s idea of a shutdown ritual, to empty my mind and plan the next day, every evening.\nWhich, for the past couple of weeks meant using my little expansion snippet to put in today’s date for the next day’s headline, as I began planning it. And I’d just manually change the date part to the next day’s date.2\nUntil today.\nI typed in :dtx and I got 2022-07-31.\nAnd then the lazy bum inside me groaned. What? I need to the change the month too?\nThe computer can do that for me!\nSo I went back to Espanso to see if it did support date expansions for tomorrow.\nTurns out it does!\nOnly for some reason, it just wouldn’t play ball with the way I want my dates expressed, (YYYY-MM-DD). It would throw weird yaml errors.\nAnd then I recalled Emacs just called the shell to do it.\nSo I went looking to see, if Espanso could call the operating system shell3 to do expansions ala Emacs.\nTurns out, it can!\nFinally, I looked up how the date command worked with past and future dates, and jigged up a small expansion snippet and put that into Espanso’s match/base.yaml\n- trigger: \u0026#34;:dttx\u0026#34; replace: \u0026#34;{{output}}\u0026#34; vars: - name: output type: shell params: cmd: \u0026#34;date --date=\u0026#39;tomorrow\u0026#39; +\u0026#39;%Y-%m-%d\u0026#39;\u0026#34; Et voilà!\nNo more backspacing and struggling with Espanso undos and date calculations.\n:dttx turns into tomorrow’s date:2022-08-01!\nAnd the monkey brain is happy again :)\nSubtasks not shown.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nlike yesterday evening, I typed in :dtx to get 2022-07-30 for e.g. and then changed the 30 to a 31.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nin my case, bash\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 juillet 2022","externalUrl":null,"permalink":"/work/tomorrow-is-another-date/","section":"Work","summary":"","title":"Tomorrow is Another Date","type":"work"},{"content":"Originally published 2021/10/27. Updated to include the .xssessionsrc point\nI run pretty often into this issue, so this is a checklist for me.\nIssue being, that I cannot use Compose key sequences to type out the characters I need.\nCase in point being, the apostrophe ’ and the quote marks “” , ‘’ that I use, all the live long day.\nMake sure that emacs is running as a service. It runs in your user, so check status with systemctl --user status emacs.service Do the normal computer user thing. Restart the service.systemctl --user restart emacs.service.1 Make sure the system is UTF-8 everywhere. (en_IN.UTF-8 does not work for me. Make sure it’s en_US.UTF-8) One place that Emacs looks is the .xsessionrc file in the home folder. These are the contents of mine. My Emacs refuses to let the compose key sequences work, unless it’s present LC_NUMERIC=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 LC_TIME=en_US.UTF-8 PAPERSIZE=a4 LANGUAGE=en_US LANG=en_US.UTF-8 if [ $DISPLAY != \u0026#34;:0\u0026#34; ] then export XAUTHORITY=${HOME}/.Xauthority fi This should do the trick 99% of the time.\nHave done it close to 4–5 times now. It works!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 juillet 2022","externalUrl":null,"permalink":"/work/emacsclient-does-not-recognise-compose-key-sequences/","section":"Work","summary":"","title":"Emacsclient Does Not Recognise Compose Key Sequences","type":"work"},{"content":"Let’s get the important bits out of the way first.\nI have been both, busy and lazy. Mea culpa.\nBut the new FOSS.training’s aka DGPLUG Summer Training cohort begins tomorrow, the 25th of July, 2022 (6.30pm IST). Come, join!\nJoin the mailing list, here. Come join the #dgplug irc channel on Libera, because that’s where the training will be conducted. So, what is it? # The summer training is short-ish, couple of months-ish long, series of meetups on irc.1\nMentors come. Students gather. A cohort forms.\nAnd we learn all about the free and open source world.\nIf you’re a young person, looking to learn the culture and the tacit knowledge of how the free and open source or someone older or if you feel like someone who is on the outside looking in, all are welcome.\nFrom learning tactical things like communication skills, or basic programming to the more important things like, the importance of our culture, we aim to communicate all of this, so that you get a good grounding in becoming an open source contributer.\nThis year, will be our 15th cohort.\nAnd folks from all walks of life have come and better their lives and gained opportunities thanks to the skills they’ve learnt.\nEven more important though, are the people you will meet on this journey and the friendships you will make.\nPradhvan, Farhaan, Bhavin, Nabarun, Sayan, Trishna, Chandan, Kushal, Anwesha, and Priyanka are all friends, I have made here.2\nYou could be next friend I make :)\nAnwesha has more about past attendees and the mentor’s posts in her announcement post.\nKushal has been writing about his journey through these years on his blog.\nRead more about the training on the main website.\nAnd if you decide to take the plunge, here’s a good before you start guide.\nHope to see you all there!\nAnd oh, here’s to the places we will go!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nAll the -ish’s are because, the training in fact never ends. We hang around and keep learning.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nand lots more. Apologies to all the people, I haven’t listed here :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"24 juillet 2022","externalUrl":null,"permalink":"/personal/summer-training-2022-begins/","section":"Personal","summary":"","title":"FOSS.training / DGPLUG Summer Training 2022 Begins","type":"personal"},{"content":"","date":"24 juillet 2022","externalUrl":null,"permalink":"/tags/summer-training/","section":"Tags","summary":"","title":"Summer-Training","type":"tags"},{"content":"I steal quite a bit from other folk, to put on my blog.1\nCase in point, is my last post where I stole the image from Tom Gauld.\nOr a few Seth Godin posts, somewhere on the blog, that I have posted in their entirety.\nWhile I do credit them in the post, I wished there was a way, I could programmatically tell the search engines and the bots of the world that I did in fact, steal from someplace and that they should actually be looking over there and leading people there.\nA little bit of searching, reavealed that there is in fact, such a way to do it.\nIt’s called the Canonical URL.\nIn a nutshell, it tells the machines to guide folk there, because that is the source of truth.\nAnd this is where my move to Hugo came in handy.\nHugo makes doing this a breeze.\nThe idea revolves around processing a canonical tag that we add to the front matter of said post.\nLike so …\ncanonical: \u0026#34;the source html link to the original content.\u0026#34; Now to have Hugo process that, we add the following code snippet to the head section of our blog’s template.\nIn my case, I copied head.html from my theme’s layouts/partials folder to my own layouts/partials in the blog’s structure and modified it by adding this code block.2\n{{- if isset .Params \u0026#34;canonical\u0026#34; -}} \u0026lt;link rel=\u0026#34;canonical\u0026#34; href=\u0026#34;{{ .Params.canonical }}\u0026#34; /\u0026gt; {{- else -}} \u0026lt;link rel=\u0026#34;canonical\u0026#34; href=\u0026#34;{{ .Permalink }}\u0026#34; /\u0026gt; {{- end }} And that about does it.\nI stole this code snippet from a CloudCannon blog post.\nAnd if you check the HTML source for this post of mine, you’ll see that the canonical site, does indeed point to CloudCannon’s site.\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nbecause just being on the web, for as long as I have, I know bitrot is a thing.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nif you do have a canonical line in the post, make sure to comment it out\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 juillet 2022","externalUrl":null,"permalink":"/personal/setting-canonical-urls-in-hugo/","section":"Personal","summary":"","title":"Setting Canonical URLs in Hugo","type":"personal"},{"content":"Stolen from Tom Gauld’s Tumblr.\nclick pic to embiggen …\n","date":"17 juillet 2022","externalUrl":null,"permalink":"/personal/what-is-a-real-book/","section":"Personal","summary":"","title":"What Is a Real Book","type":"personal"},{"content":"GRRM in his latest not-a-blog-post, references this video on the two types of authors, he lumps writer-folk into.\nJust like him, I try to structure and outline what I write, I really do, and just like him, I can do it fairly ok, and still never really enjoy the process.\nI never quite understood why, until I realised I was a gardener.\nThis also helped me understand, why the recent move to the Zettelkasten process is helping me write without the stress that I previously used to encounter when I attempted writing something even a teensy bit long or complex.\nLike he says, I know what I want to write about, a tiny bit of structure helps.\nBut the trick is in the syntopical thoughts, the seeds that germinate and the cross pollination of words and ideas and the thrilling uncertainty of waiting for my plants to take root and to see, in time, what comes of what I sow.\nOne of my favourite authors thinks and writes, just like I do.\nThe only thing that I need to become so good that I cannot be ignored is to show up and do the work and tend to my garden.\nToday, reading GRRM reminded me of my Zettelkasten, which needs regular tending, which reminded me of Cal Newport’s ideas on slow productivity and showing up daily and whose book on being great was inspired by Steve Martin, all of which led me to writing this post.\nThis is where my garden path led me today!\nShowing up daily to tend my garden!\nThis is liberating.\nThis is … freedom!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nP.P.P.S. And if you are a ASOIAF aficionado like me, definitely read the post to know what is happening in those lands.\n","date":"9 juillet 2022","externalUrl":null,"permalink":"/personal/writing-as-gardening/","section":"Personal","summary":"","title":"Writing as Gardening","type":"personal"},{"content":"Just a little note to mark the beginning of my Zettelkasten journey.\nWhile I’ve always had a commonplace book of sorts, all my life, and I’ve always taken tons of notes on books I pay attention to, I’ve never really been able to come up with a way of writing what I think syntopically.\nOr I can, but its like pulling teeth.\nWriting what I learnt in Antifragile, took months, and a lot of cursing through gritted teeth.\nBut I want to. I really do.\nI so want to write about what I learn and read and then intermingle them all together and put my bundle of thoughts down.\nAnd then this perfect storm of stuff happened recently.\nI have a lot to learn this year.\nI am taking a lot of notes, but just full text search, does not cut it for me.\nSo I’ve been casting about for a way to take notes and thoughts and relate all of this together.\nAnd I ran across the Zettelkasten method across a lot of people I pay attention to.\nDespite all the new fangled tags of “personal knowledge management” and “knowledge graph” and who knows what else, the Zettelkasten method’s old and it’s Lindy.\nSo definitely worth my time to learn and invest in, if it helps me write and share more.\nAt its heart, all it is, is a system to take and refer to your notes and your thoughts.\nFolks have recommendations about how to take notes, the types of notes, the way to store the notes, and various ways and means to link and refer to them notes.1\nI found David Kadavy’s long post as well his book and Sascha Fast and Christian Tietze’s posts over at the zettelkasten.de website really helpful with me getting started.\nI decide to use Org-roam as my tool of choice.\nIt’s very loosey-goosey2 and flexible.\nIt’s Lindy.\nIt’s plain text.\nAnd it is built on Org mode and Emacs.\nWouldn’t recommend you use this, unless you want to put in the time to learn about Emacs. There are plenty of user friendly options out there.\nI spent about a week putting in lots of stray notes, I had.\nAnd some time building up links between them.\nAnd some more time, reading a couple of books and then taking notes and linking them as I went.\nThis is how my notes currently look. And I realised two things, both good for me.\nThis is turning out to be a sustainable, lifelong habit. One that I enjoy Building up links and doing highlights and jotting thoughts, all lead to me having a coherent view of what I just read and learnt as well as having something, a lot of raw yet fertile somethings, that I can use to build something derivative out of, create a larger work from, expand on much more easily. I’ll revisit this in a year and tell you how it went :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nIt’s notes (and footnotes) all the way down! :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYes, that is the exact, technical term to describe it.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"28 juin 2022","externalUrl":null,"permalink":"/personal/zettelkasten/","section":"Personal","summary":"","title":"Zettelkasten","type":"personal"},{"content":"I’ve been in this rut all year, and I don’t know how to get out of it.\nSo I’m declaring thought / newsletter bankruptcy.\nI don’t know how to share what I collected, so I’ll just put a set of links down here to all of them.\nThis is all the work/tech stuff. And this is all the other, personal / life stuff!\nEnjoy!\nHopefully, clearing my mind should get me going, get me writing, even if in a small but consistent way.\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nP.P.P.S I forgot that i had quite a few, year in reading, best of, book lists handy.\nSo here they are. Happy Reading!\nRyan Holiday # 13 Strategies That Will Make You A Better Reader (And Person) Our Country is Filled with Problems; Reading Too Many Books Isn’t One of Them If You Only Read a Few Books in 2022, Read These The (Very) Best Books I Read In 2021 Susan (Fowler) Rigetti # So You Want to Study Math\u0026hellip; (Finally!) My Favorite Books of 2021 The Art of Manliness # The Best of Everything on the site in 2021 Ben Orlin # Books I Loved in 2021 (first half) Austin Kleon # 21 good books I read in 2021 Vanessa Grall at Messy Nessy # MessyNessy’s 21 Favourite Little Stories of 2021 Tim Ferriss # My Favorite and Most Impactful Reads from 2021 Farnam Street # 10 Lessons From the Smartest Minds In The World (video) How to Live on 24 Hours a Day: Arnold Bennett on Living a Meaningful Life Within the Constraints of Time and finally, the woman who saved my soul …\nMaria Popova # Becoming the Marginalian: After 15 Years, Brain Pickings Reborn Of Trees, Solitude, Love, Loss, and the Stubborn Symphony of Aliveness: The Best of Brain Pickings / The Marginalian 2021 Highlights in Hindsight: Favorite Books of the Past Year ","date":"11 juin 2022","externalUrl":null,"permalink":"/personal/all-the-stuff-i-wanted-to-share-2022/","section":"Personal","summary":"","title":"All the Stuff I Wanted to Share in 2022","type":"personal"},{"content":"All the stuff, I’ve been hoarding over the past year for the newsletter.\nSeth Godin on the ethical use of our newly gained technological capabilities # No wonder we’re a bit dizzy. We just multiplied our minds by many orders of magnitude. It’s easy to confuse someone else’s memory (or manipulation) with our hard-earned ability to remember things that actually happened to us.\nAnd we’re now realizing that we have the power (and perhaps the obligation) to use shared knowledge to make better, more thoughtful decisions. And to intentionally edit out the manipulations and falsehoods that are designed to spread, not to improve our lives.\nIntel to Build Silicon for Fully Homomorphic Encryption # When considering data privacy and protections, there is no data more important than personal data, whether that’s medical, financial, or even social. The discussions around access to our data, or even our metadata, becomes about who knows what, and if my personal data is safe. Today’s announcement between Intel, Microsoft, and DARPA, is a program designed around keeping information safe and encrypted, but still using that data to build better models or provide better statistical analysis without disclosing the actual data. It’s called Fully Homomorphic Encryption, but it is so computationally intense that the concept is almost useless in practice.\nSo whether that means combining hospital medical records over a state, or customizing a personal service using personal metadata gathered on a user’s smartphone, FHE at that scale is no longer a viable solution. Enter the DARPA DPRIVE program.\nDARPA: Defense Advanced Research Projects Agency\nDPRIVE: Data Protection in Virtual Environments\nIntel has announced that as part of the DPRIVE program, it has signed an agreement with DARPA to develop custom IP leading to silicon to enable faster FHE in the cloud, specifically with Microsoft on both Azure and JEDI cloud, initially with the US government. As part of this multi-year project, expertise from Intel Labs, Intel’s Design Engineering, and Intel’s Data Platforms Group will come together to create a dedicated ASIC to reduce the computational overhead of FHE over existing CPU-based methods. The press release states that the target is to reduce processing time by five orders of magnitude from current methods, reducing compute times from days to minutes.\nProgrammable optical quantum computer arrives late, steals the show # Excuse me a moment—I am going to be bombastic, over excited, and possibly annoying. The race is run, and we have a winner in the future of quantum computing. IBM, Google, and everyone else can turn in their quantum computing cards and take up knitting.\nOne key to quantum computing (or any computation, really) is the ability to change a qubit’s state depending on the state of another qubit. This turned out to be doable but cumbersome in optical quantum computing. Typically, a two- (or more) qubit operation is a nonlinear operation, and optical nonlinear processes are very inefficient. Linear two-qubit operations are possible, but they are probabilistic, so you need to repeat your calculation many times to be sure you know which answer is correct. A second critical feature is programmability. It is not desirable to have to create a new computer for every computation you wish to perform. Here, optical quantum computers really seemed to fall down. An optical quantum computer could be easy to set up and measure, or it could be programmable—but not both.\nSo, what has changed to suddenly make optical quantum computers viable? One is the appearance of detectors that can resolve the number of photons they receive. A second key development was integrated optical circuits. performance has gotten much, much better. Integrated optics are now commonly used in the telecommunications industry, with the scale and reliability that that implies.\nThe researchers, from a startup called Xanadu and the National Institute of Standards, have pulled together these technology developments to produce a single integrated optical chip that generates eight qubits. The internal setting of the interferometer is the knob that the programmer uses to control the computation. In practice, the knob just changes the temperature of individual waveguide segments. But the programmer doesn\u0026rsquo;t have to worry about these details. Instead, they have an application programming interface (Strawberry Fields Python Library) that takes very normal-looking Python code. This code is then translated by a control system that maintains the correct temperature differentials on the chip.\nWhat is more, the scaling does not present huge amounts of increased complexity. In superconducting qubits, each qubit is a current loop in a magnetic field. Each qubit generates a field that talks to all the other qubits all the time. Engineers have to take a great deal of trouble to decouple and couple qubits from each other at the right moment. The larger the system, the trickier that task becomes. Ion qubit computers face an analogous problem in their trap modes. There isn’t really an analogous problem in optical systems, and that is their key advantage.\nTwo exhaustive articles on the historical significance of the Arpanet and how the protocol worked # https://twobithistory.org/2021/02/07/arpanet.html https://twobithistory.org/2021/03/08/arpanet-protocols.html This is what was totally new about the ARPANET. The ICCC demonstration didn’t just involve a human communicating with a distant computer. It wasn’t just a demonstration of remote I/O. It was a demonstration of software remotely communicating with other software, something nobody had seen before.\nSo what I’m trying to drive home here is that there is an important distinction between statement A, “the ARPANET connected people in different locations via computers for the first time,” and statement B, “the ARPANET connected computer systems to each other for the first time.” That might seem like splitting hairs, but statement A elides some illuminating history in a way that statement B does not.\nIn a section with the belabored title, “Technical Aspects of the Effort Which Were Successful and Aspects of the Effort Which Did Not Materialize as Originally Envisaged,” the authors wrote:\nPossibly the most difficult task undertaken in the development of the ARPANET was the attempt—which proved successful—to make a number of independent host computer systems of varying manufacture, and varying operating systems within a single manufactured type, communicate with each other despite their diverse characteristics.\nThere you have it from no less a source than the federal government of the United States.\nThe 1Password blog with a high level overview of their Smart Password Generator # Long, random passwords just aren’t convenient. If you need to enter 45 randomly-generated characters on another device often enough, you’ll inevitably change that password to something like password123 because it’s easy to type and remember. It’s also - you got it - not strong.\nWhile a lengthy, unintelligible password may appear stronger than a smart one, it’s mainly illusion. Pronounceable syllables make a smart password look human generated and, therefore, weaker. But a human-generated password could never be chosen uniformly and, therefore, can’t be accurately assessed for entropy.\nWe’ve made a compromise of sorts. We’ve sacrificed a few bits of (theoretical) entropy, that don’t affect real-world security, to gain a whole lot of convenience, compatibility, and accessibility — and those certainly are real world, which is what really matters.\nMahmoud Hashemi talks about Changing the Tires on a Moving Codebase # We realized that CI is more sensitive than most users for most of the site. So we focused in on testing the highest impact code. What’s high-impact? 1) the code that fails most visibly and 2) the code that’s hardest to retry. You can build an inventory of high-impact code in under a week by looking at traffic stats, batch job schedules, and asking your support staff.\n…\nWe realized that CI is more sensitive than most users for most of the site. So we focused in on testing the highest impact code. What’s high-impact? 1) the code that fails most visibly and 2) the code that’s hardest to retry. You can build an inventory of high-impact code in under a week by looking at traffic stats, batch job schedules, and asking your support staff.\nAnd it really is important to develop close ties with your support team. Embedded in our strategy above was that CI is much more sensitive than a real user. While perfection is tempting, it’s not unrealistic to ask a bit of patience from an enterprise user, provided your support team is prepared. Sync with them weekly so surprise is minimized. If they’re feeling ambitious, you can teach them some Sentry basics, too.\nMy main takeaways\nEveryone has a plan ’till they get punched in the mouth, — Mike Tyson Prioritise work on what actually matters. Perfection can wait. People and their feedback comes first. Matters a lot more than data driven decisions. After all, software is used by by and for people, in the first place. A Bear? Where? Over There — Strapping a giant teddy bear to a car in the name of highway safety # You’re adapting my what? When activated, adaptive cruise control uses forward-looking radar to maintain a specific distance to a vehicle in the lane ahead, slowing down or speeding up (to a maximum of whatever speed cruise control was set to) as necessary. Lane-keeping systems use forward-looking cameras to detect the lane markings on a road to keep the vehicle between them, and when both are active together, the vehicle will do a pretty good facsimile of driving itself, albeit with extremely limited situational awareness.\nWhich is where the human comes in. Under the SAE\u0026rsquo;s definitions for automated driving, in Level 2 the car controls braking, acceleration, and deceleration, but the human is responsible for providing situational awareness at all times. Of course, this raises the question of whether the driver is actually paying attention.\nTo test whether drivers were actually paying attention while using a Level 2 system, IIHS recruited participants and then had them drive for roughly an hour, either using the car\u0026rsquo;s Level 2 system or not. At three predetermined locations on the test route, a second car—the one with the large pink bear attached to its trunk—would overtake the participant\u0026rsquo;s vehicle. At the end of the study, the drivers were asked if they saw anything odd, and if so, how many times.\nCrazy obsessions like this, are why even I got into writing software. TT2020 is an advanced, open source, hyperrealistic, multilingual typewriter font for a new decade! # From the problem page,\nIn the second image, there are three ‹N›’s. Yet, they all look exactly the same. A real typewriter can, quite rarely, have one of its letters damaged, or misaligned, such that that letter regularly makes an inferior strike to all the other letters. However, this degree of regularity is impossible; could Underwood or Remington have acheived it, they would have leapt for joy.\nWhile working on the project, incredibly, another bad typewriter scene intruded upon my life. I don\u0026rsquo;t often sit around and watch movies, so I suppose there are only two possibilities:\na. There are so many of these unrealistic typewritten documents in late-2010’s cinema that almost any movie with a typewritten document in it will be hopelessly unrealistic, or\nb. The universe, nay, God himself, was urging me on to complete this project in lieu of others I could finish!\nThe Font is here.\nDid you know, some planets can generate new atmospheres? # In general, we don\u0026rsquo;t currently have the technology to image exoplanets unless they\u0026rsquo;re very large, very young, and a considerable distance from the star they orbit. Yet we can still get some sense of what\u0026rsquo;s in their atmosphere. To do that, we need to observe a planet that transits across the line of sight between Earth and its star. During a transit, a small percentage of the star\u0026rsquo;s light will travel through the planet\u0026rsquo;s atmosphere on its way to Earth, interacting with the molecules present there.\nThose molecules leave a signature on the spectrum of light that reaches the Earth. It\u0026rsquo;s an extremely faint signature, since most of the star\u0026rsquo;s light never even sees the atmosphere. But by combining the data from a number of days of observation, it\u0026rsquo;s possible to get this signature to stand out from the noise.\nThat\u0026rsquo;s what scientists have done with GJ 1132 b, an exoplanet that orbits a small star about 40 light years from Earth. The planet is roughly Earth\u0026rsquo;s size and about 1.5 times its mass. It also orbits extremely close to its host star, completing a full orbit in only 1.6 days. That\u0026rsquo;s close enough to ensure that, despite the small, dim star, GJ 1132 b is extremely hot.\nIt\u0026rsquo;s so close and hot, in fact, that the researchers estimate that it\u0026rsquo;s currently losing about 10,000 kilograms of atmosphere every second. As the host star was expected to be brighter early in its history, the researchers estimate that GJ 1132 b would have lost a reasonable-sized atmosphere within the first 100 million years of its existence. In fact, over the life of the planet, the researchers estimate that it could have lost an atmosphere weighing in at about five times the planet\u0026rsquo;s current mass—the sort of thing you might see if the remaining planet were the core of a mini-Neptune.\nSo, researchers were probably surprise to find that, based on data from the Hubble, the planet seems to have an atmosphere.\nHow’d that get here?\nModeration in Infrastructure – Stratechery by Ben Thompson # Detailed interviews here\nIt was Patrick Collison, Stripe’s CEO, who pointed out to me that one of the animating principles of early 20th-century Progressivism was guaranteeing freedom of expression from corporations:\nExactly the same kind of restraints upon freedom of thought are bound to occur in every country where economic organization has been carried to the point of practical monopoly. Therefore the safeguarding of liberty in the world which is growing up is far more difficult than it was in the nineteenth century, when free competition was still a reality. Whoever cares about the freedom of the mind must face this situation fully and frankly, realizing the inapplicability of methods which answered well enough while industrialism was in its infancy.\nThis is why I take Smith’s comments as more of a warning: a commitment to consistency may lead to the lowest common denominator outcome Prince fears, where U.S. social media companies overreach on content, even as competition is squeezed out at the infrastructure level by policies guided by non-U.S. countries. It’s a bad mix, and public clouds in particular would be better off preparing for geographically-distinct policies in the long run, even as they deliver on their commitment to predictability and process in the meantime, with a strong bias towards being hands-off. That will mean some difficult decisions, which is why it’s better to make a commitment to neutrality and due process now.\nExcel Never Dies # Excel may be the most influential software ever built. It is a canonical example of Steve Job’s bicycle of the mind, endowing its users with computational superpowers normally reserved for professional software engineers. Armed with those superpowers, users can create fully functional software programs in the form of a humble spreadsheet to solve problems in a seemingly limitless number of domains. These programs often serve as high-fidelity prototypes of domain specific applications just begging to be brought to market in a more polished form.\nIf you want to see the future of B2B software, look at what Excel users are hacking together in spreadsheets today.\nPair with, These SaaS Companies Are Unbundling Excel – Here’s Why It’s A Massive Opportunity\nOn The dance between the long tail and the short head # The disconnect occurs when producers and creators try to average things out and dumb things down, hoping for the big hit that won’t come. Or overspend to get there. The opportunity lies in finding a viable audience and matching the project’s focus and budget to the people who truly want it.\nAnd the dance continues.\nTen reasons to write a book (I’d say these translate well to blogging too!) # Here’s four …\nIt clarifies your thinking.\nIt’s a project that is completely and totally up to you.\nBecause it’s a generous way to share.\nIt will increase your authority in your field.\nBrent Simmons on How NetNewsWire Handles Threading # Advice\nSome developers I’ve known seem to think that being good at concurrency makes them badass. Others seem to think that senior developers must be great at concurrency, and so they should be too.\nBut what senior developers are good it is eliminating concurrency as much as possible by developing a simple, easy, consistent model to follow for the app and its components.\nAnd this is because concurrency is too difficult for humans to understand and maintain. Maybe you can create a system that makes extensive use of it, and have it be correct for one day. But think of your team! Even if you’re a solo developer, you and you-plus-six-months makes you a team.\nI know you’re worried about blocking the main thread. But consider this: it’s way easier to fix a main-thread-blocker than it is to fix a weird, intermittent bug or crash due to threading.\nLaurie Barth on Human-Readable JavaScript # Experts don’t prove themselves by using every piece of the spec; they prove themselves by knowing the spec well enough to deploy syntax judiciously and make well-reasoned decisions. This is how experts become multipliers—how they make new experts.\nSo what does this mean for those of us who consider ourselves experts or aspiring experts? It means that writing code involves asking yourself a lot of questions. It means considering your developer audience in a real way. The best code you can write is code that accomplishes something complex, but is inherently understood by those who examine your codebase.\nAnd no, it’s not easy. And there often isn’t a clear-cut answer. But it’s something you should consider with every function you write.\nLen Kleinrock: The First Two Packets on the Internet # AnandTech Interview with Jim Keller: \u0026lsquo;The Laziest Person at Tesla # First, I was at Digital (DEC) for 15 years, right! Now that was a different career because I was in the mid-range group where we built computers out of ECL - these were refrigerator-sized boxes. I was in the DEC Alpha team where we built little microprocessors, little teeny things, which at the time we thought were huge. These were 300 square millimeters at 50 watts, which blew everybody\u0026rsquo;s mind.\nSo I was there for a while, and I went to AMD right during the internet rush, and we did a whole bunch of stuff in a couple of years. We started Opteron, HyperTransport, 2P servers - it was kind of a whirlwind of a place. But I got sucked up or caught up in the enthusiasm of the internet, and I went to SiByte, which got bought by Broadcom, and I was there for four years total. We delivered several generations of products.\nI was then at P.A Semi, and we delivered a great product, but they didn\u0026rsquo;t really want to sell the product for some reason, or they thought they were going to sell it to Apple. I actually went to Apple, and then Apple bought P.A Semi, and then I worked for that team, so you know I was between P.A Semi and Apple. That was seven years, so I don\u0026rsquo;t really feel like that was jumping around too much.\nThen I jumped to AMD I guess, and that was fun for a while. Then I went to Tesla where we delivered Hardware 3 (Tesla Autopilot). So that was kind of phenomenal. From a standing start to driving a car in 18 months - I don\u0026rsquo;t think that\u0026rsquo;s ever been done before, and that product shipped really successfully. They built a million of them last year. Tesla and Intel were a different kind of a whirlwind, so you could say I jumped in and jumped out. I sure had a lot of fun.\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"11 juin 2022","externalUrl":null,"permalink":"/work/old-tech-work-links-interest-2022/","section":"Work","summary":"","title":"Old Tech/Work Links of Interest 2022","type":"work"},{"content":"All the stuff, I’ve been hoarding over the past year for the newsletter.\nRyan Holiday’s 100 (Short) Rules for a Better Life # 4 - Say no (a lot).\n15 - It’s not about routine but about practices.\n71 - Go the f*ck to sleep.\n81 - Don’t just read books, re-read books.\nMaria Popova, on How Reading Is Like Love # Now you are being read.\nYour body is being subjected to a systematic reading, through channels of tactile information, visual, olfactory, and not without some intervention of the taste buds. Hearing also has its role, alert to your gasps and your trills. It is not only the body that is, in you, the object of reading: the body matters insofar as it is part of a complex of elaborate elements, not all visible and not all present, but manifested in visible and present events: the clouding of your eyes, your laughing, the words you speak, your way of gathering and spreading your hair, your initiatives and your reticences, and all the signs that are on the frontier between you and usage and habits and memory and prehistory and fashion, all codes, all the poor alphabets by which one human being believes at certain moments that he is reading another human being…\nShane Parrish posits Your Thinking Rate Is Fixed # A good metaphor is installing an update to the operating system on your laptop.\nWould you rather install an update that fixes bugs and improves existing processes, or one that just makes everything run faster? Obviously, you’d prefer the former. The latter would just lead to more crashes. The same is true for updating your mental operating system.\nRyan Holiday presents A Practical Philosophy Reading List: A Few Books You Can Actually Use in Real Life # You must know by now: I don’t believe that philosophy is something for the classroom.\nIt’s something that helps you with life.\nIt shouldn’t be complicated.\nIt shouldn’t be confusing.\nIt should be clear, and it should be usable.\nAs Epicurus put it, “Vain is the word of the philosopher which does not heal the suffering of man.”\nLeo Babauta on the First Two Steps to Creating Resilience # The first step is to remove things that are adding unnecessary stress.\nThe second step is to do things that help us feel replenished.\nDavid Ogilvy had skin in the game! Who knew? # The Ogilvy agency … was founded by a man who didn’t have an MBA, or even a college degree.\nBefore he became the King of Madison Avenue, Englishman David Ogilvy was an Oxford dropout who worked as a chef in Paris, a door-to-door salesman, a researcher for George Gallup, an agent of the British Intelligence Service during WWII, and a farmer in Pennsylvania.\nIn fact, while most agencies had subordinates present campaign ideas to clients, Ogilvy often made these presentations himself; he wanted to be directly involved, and felt it made the pitches more memorable (“One orchestra looks like every other orchestra, but there is no confusing one conductor with another”).\nOgilvy also rejected around 60 potential new clients each year. A common reason for this rejection was the chairman’s lack of confidence in the product that a company wanted his agency to pitch. Ogilvy used all the products he advertised, and wouldn’t create campaigns for those he couldn’t personally back, believing that it was “flagrantly dishonest for an advertising agent to urge consumers to buy a product which he would not allow his own wife to buy,” and that it was impossible to craft an effective ad for something you couldn’t earnestly get behind …\nThe beauty of Seth Godin¸ is that every post on his is darn here quotable. This is him, on the weight of repetitive tasks … # If we’re lucky enough to work indoors, with free snacks and podcasts in the background, we might not get physically exhausted the way we would moving thousands of pounds of bricks. But the cognitive and emotional toll of repetitive tasks is real, even if doesn’t leave callouses.\nThe discipline is to invest one time in getting your workflow right instead of paying a penalty for poor digital hygiene every single day.\nHacking your way through something “for now” belies your commitment to your work and your posture as a professional. Get the flow right, as if you were hauling bricks.\nThe Art of Manliness podcast have a ton of episodes on making and breaking habits, which they have collected into one handy page # If you’ve failed at habit building or breaking in the past, you might think you just need more willpower.\nThat’s not what James Clear argues in this interview. Rather, it’s simply about crafting optimal systems for behavior change. Clear walks the listener through his own research-backed 4-step process for effective habit formation.\nWhat is the key to making risky decisions? Scott H Young has thoughts # The correct approach to thinking about risky decisions is not to ignore the odds, but to model your decision and explicitly include things like the benefits to coming in second place.\nA good decision model ought to include:\nWhat is the baseline likelihood of success? What information do you have that makes you different from the average competitor? What are the outcomes for less-than-ideal results? What are the emotional and financial costs of going forward? Leo Babauta on Staying at the Edge of Uncertainty # When we get into a situation that feels uncertain, most of us will immediately try to get to a place of certainty.\nInstead of having a difficult conversation, we’ll stay in a crappy situation for longer than we need to.\nInstead of putting our art out into the world, we’ll hide it in the safety of obscurity.\nWhen things feel chaotic and overwhelming, we look for a system that will feel ordered and simple.\nAll of us do this in most areas of our lives. Sometimes, we are able to voluntarily stay in uncertainty, but those times are relatively rare, and usually we don’t like it so much.\nHere’s the thing: the edge of uncertainty and chaos is where we learn, grow, create, lead, make incredible art and new inventions.\nThe edge of uncertainty is where we explore, go on adventures, get curious, and reinvent ourselves.\nThe edge of uncertainty is where we can find unexpected beauty, love, intimacy, vulnerability, meaning.\nEverything we truly crave is at the edge of uncertainty, but we run from it.\nThe trick is to stay in it.\nYou’ve read the classic works of stoicism. What now? The Daily Stoic helps with, Assembling A \u0026ldquo;Bible\u0026rdquo; of Stoicism: What To Read After The Romans, https://dailystoic.com/bible-of-stoicism # The world in which a man lives shapes itself chiefly by the way in which he looks at it, and so it proves different to different men; to one it is barren, dull, and superficial; to another rich, interesting, and full of meaning. On hearing of the interesting events which have happened in the course of a man’s experience, many people will wish that similar things had happened in their lives too, completely forgetting that they should be envious rather of the mental aptitude which lent those events the significance they possess when he describes them. . . . All the pride and pleasure of the world, mirrored in the dull consciousness of a fool, are poor indeed compared with the imagination of Cervantes writing his Don Quixote in a miserable prison.\n—Schopenhauer, The Wisdom of Life (1851)\nP.S. If you are new and want to explore the Stoic way of thinking about life, I heartily recommend Ryan Holiday’s trilogy for a gentle introduction. The Obstacle is the Way, Ego is the Enemy and Stillness is the key are short yet surprisingly deep and engaging books.\nSpeaking of reading, Ali Abdaal teaches us, The Art of Reading More Effectively and Efficiently # Level 4: Syntopical Reading\nThe final level of reading is about our understanding of a subject more generally. Whereas analytical reading focuses on our comprehension of a specific book, syntopical reading helps shape our opinion and increase our overall fluency of the wider topic through understanding how different books relate to one another. This may sound a little abstract, but bear with me.\n\u0026ldquo;The benefits [of syntopical reading] are so great that it is well worth the trouble of learning how to do it\u0026rdquo; — Adler\nThe first step is to begin by deciding the subject we want to tackle (eg: productivity or habit-formation). We can then draw up a bibliography of books on the topic, and select just a handful of them that we believe to be most relevant.\nHaving compiled the list of books, we can begin reading syntopically. This means reading each of the books analytically and building mental connections between each of them. I try to define common subject keywords in my own words, identify and answer the most pressing questions that the books collectively address, and make an informed decision about the strengths of each author\u0026rsquo;s argument.\n\u0026ldquo;Creativity is just connecting things\u0026rdquo; — Steve Jobs\nThrough syntopical reading we\u0026rsquo;re connecting the best ideas on a subject, which acts as a powerful catalyst giving rise to creative solutions and real insight. It\u0026rsquo;s truly game-changing (when we actually do it).\nShane Parrish distills Mortimer Adler’s advice from How to Read a Book: The Ultimate Guide by Mortimer Adler # I bet you already know how to read a book. You were taught in elementary school.\nBut do you know how to read well? There is a difference between reading for understanding and reading for information.\nIf you’re like most people, you probably haven’t given much thought to how you read. And how you read makes a massive difference to knowledge accumulation.\nA lot of people confuse knowing the name of something with understanding. While great for exercising your memory, the regurgitation of facts without solid understanding and context gains you little in the real world.\nA useful heuristic: Anything easily digested is reading for information. Consider the newspaper, are you truly learning anything new? Do you consider the writer your superior when it comes to knowledge in the subject? Odds are probably not. That means you’re reading for information. It means you’re likely to parrot an opinion that isn’t yours as if you had done the work. This is how most people read. But most people aren’t really learning anything new. It’s not going to give you an edge, make you better at your job, or allow you to avoid problems.\n“Marking a book is literally an experience of your differences or agreements with the author. It is the highest respect you can pay him.” — Edgar Allen Poe\nLearning something insightful requires mental work.\nIt’s uncomfortable. If it doesn’t hurt, you’re not learning.\nYou need to find writers who are more knowledgeable on a particular subject than yourself. By narrowing the gap between the author and yourself, you get smarter.\nFarnam Street has an awesome page chockful of articles, that help us become better readers # You can’t get where you want to go if you’re not learning all the time. One of the best ways to learn is to read.\nReading habits don’t need to be complicated, you can start a simple 25 page a day habit right now. While it seems small the gains add up quickly.\nAbove all else remember that just because you’ve read something doesn’t mean you’ve done the work required to have an opinion.\nRyan Holiday on Marginalia, the Anti-Library, and Other Ways to Master the Lost Art of Reading # Step three, be ruthless about acquiring knowledge through books. If you see anything that remotely intrigues you–just get it.\nQuit books that don’t hold your interest or deliver the goods.\nSwarm onto topics that do, even if there is no immediate relevancy to what you’re doing. After all, creativity comes from combining old ideas into something new. Reading a variety of topics gives you more ammo than your competition.\nIf something enthralls you and you want to deeply understand it, go at it. You don’t have to slowly trudge along through a book. Think of someone like Frederick Douglass, who brought himself up out of slavery by sneaking out and teaching himself to read, or Richard Wright who forged notes from his white boss so he could check out books from the library. Books weren’t some idle pursuit or pastime for these great individuals, they were survival itself.\nEd Latimore on How to stop hating someone and holding grudges # You don’t stop hating someone because it’s the right thing to do or because they’ve done something to finally make it acceptable for you to stop hating the person. You stop hating because if you don’t stop, then there are very consequences to your mental, physical, and emotional health.\nYou’re the only who pays the cost and you get absolutely nothing of value in return. In fact, when you hate someone, you’re paying this cost to have things of value taken from you. Mainly, your peace of mind, love of other people, and openness to the world.\nThis is why releasing and removing hatred is an important goal.\nRyan Holiday on How to Digest Books Above Your “Level” # I shouldn’t be able to read most of the books on my shelf. I never took a single classical history class and I cheated through most of Economics 001. Still, the loci of my library are Greek History and Applied Economics. And though they often are beyond me educationally, I’m able to comprehend them because of some equalizing tricks. Reading to lead or learn requires that you treat your brain like the muscle that it is–lifting the subjects with the most tension and weight. For me, that means pushing ahead into subjects you’re not familiar with and wresting with them until you can–shying away from the “easy read.”\nThis is how I break down a new book: …\nRyan Holiday on How To Read More — A Lot More # When you read a lot of books people inevitably assume you speed read. In fact, that’s probably the most common email I get. They want to know my trick for reading so fast. They see all the books I recommend every month in my reading newsletter and assume I must have some secret. So they ask me to teach them how to speed read.\nThat’s when I tell them I don’t have a secret. Even though I read hundreds of books every single year, I actually read quite slow. In fact, I read deliberately slow, so that I can take notes (and then whenever I finish a book, I go back through and transcribe these notes for my version of a commonplace book.\nSo where do I get the time?\nLook, where do you get the time to eat three meals a day? How do you have time to do all that sleeping? How do you manage to spend all those hours with your kids or wife or a girlfriend or boyfriend?\nYou don’t get that time anywhere, do you? You just make it because it’s really important. It’s a non-negotiable part of your life.\nRyan Holiday on How And Why To Keep A “Commonplace Book” # This is why I have the Commonplace Blog too! And also why, I am now creating a Zettelkasten to help me think and write.\nSome of the greatest men and women in history have kept these books. Marcus Aurelius kept one–which more or less became the Meditations. Petrarch kept one. Montaigne, who invented the essay, kept a handwritten compilation of sayings, maxims and quotations from literature and history that he felt were important. His earliest essays were little more than compilations of these thoughts. Thomas Jefferson kept one. Napoleon kept one. HL Mencken, who did so much for the English language, as his biographer put it, “methodically filled notebooks with incidents, recording straps of dialog and slang” and favorite bits from newspaper columns he liked. Bill Gates keeps one.\n… And if you still need a why–I’ll let this quote from Seneca answer it (which I got from my own reading and notes):\n“We should hunt out the helpful pieces of teaching and the spirited and noble-minded sayings which are capable of immediate practical application–not far far-fetched or archaic expressions or extravagant metaphors and figures of speech–and learn them so well that words become works.”\nBook I’m reading - The Code Breaker, lovely article on Ars Technica # You were in the middle of reporting this book when something seismic happened in the world of CRISPR. In 2018, a Chinese scientist named He Jiankui revealed he had not only edited human embryos but started pregnancies with them, leading to the birth of twin girls. How did that affect the trajectory of the story you were trying to tell?\nThat really became a crucial turning point in the narrative. Because now all these scientists were forced to wrestle with the moral implications of what they’d helped create. But then things changed again when the coronavirus struck. I wound up working on the book for another year to watch the players as they took on this pandemic. And that actually caused my own thinking about CRISPR to evolve.\nHow so?\nI think I felt a visceral resistance at times to the notion that we could edit the human genome, especially in ways that would be inheritable. But that changed both for me and for Doudna as we met more and more people who are themselves afflicted by horrible genetic problems or who have children who are suffering from them. And when our species got slammed by a deadly virus, it made me more open to the idea that we should use whatever talents we have in order to thrive and be healthy. So I’m now even more open to gene editing done for medical purposes, whether that’s sickle cell anemia, or Huntington’s, or Tay-Sachs, or even to increase our resistance to viruses and other pathogens and to cancer.\nI still have worries. One is I don’t want gene editing to be something only the rich can afford and it leads to encoding inequalities into our societies. And, secondly, I want to make sure we don’t reduce the wonderful diversity that exists within the human species.\nAnnual Letters, from folks I listen to and learn from … # Shane Parrish Warren Buffett Jeff Bezos Howard Marks The Neuroscience of Motivation # When the Eiffel Tower was a Parisian Startup Laboratory # During the pandemic, the Eiffel Tower has been undergoing a fresh paint job ahead of the 2024 Olympics that harkens back to its golden hue of the early 20th century. But at that time, the Eiffel Tower was more than just an attraction: Gustave Eiffel was using his new tower as a his personal laboratory of scientific innovation. In 1909, Eiffel built its first wind tunnel at the foot of the tower, which was made available to the earliest pioneers in aviation and aircraft design. The wind tunnel, still in service in Paris, inside “the oldest aeronautical test laboratory still in working order,” can be considered one of Eiffel’s littlest-known monuments.\nWhy We Struggle to Motivate Ourselves # While it’s easy to think about pain in the most dramatic terms, it’s often the small pinches and itches that really derail progress.\nHow many people fail to set up retirement accounts because the thought of trying to understand their 401k program makes them feel a bit anxious? How many get stuck in dead-end jobs because the thought of reaching out to talk to a few people in different career spaces feels awkward?\nHow to Improve Your Self-Awareness # Self-awareness comes from building a richer, more accurate model of yourself. This combines not only theory, but experience.\nHaving more self-awareness leads, straightforwardly to more success. If you understand how you operate, both as an individual and as a human being generally, you can be more successful with your ambitions.\nBut the benefit of self-awareness is much deeper than this. Understanding yourself transcends just trying to make more money or have a better job, because it helps you realize why you want to pursue those things in the first place. In some places, this will strengthen your ambitions, as you recognize a deeper purpose to your goals, in other cases it may change what you pursue entirely, leaving some pursuits that you recognize won’t actually make you fulfilled.\nHere’s 10,000 Hours. Don’t Spend It All in One Place. # On October 20, 1874, in Danbury, Connecticut, a child was born who would grow up to be one of the greatest American composers of classical music. More than a half-century ahead of his time, he combined late romanticism, American folk, and avant-garde techniques in a way that revolutionized music.\nOn the very same day, in the same town, a child was born who would grow up to transform the business of financial planning. An actuary, successful insurance entrepreneur, and well-known financial author, he devised ingenious life-insurance products and created the modern practice of estate planning.\nIt was not a coincidence that the great composer and the celebrated financial innovator shared a birthday and birthplace. They were the same man: Charles Edward Ives.\nThere’s an old proverb that goes, “Duos qui sequitur lepores neutrum capit”—“He who follows two hares catches neither.” Perhaps that’s so, but he who chases two hares can at least have a great time trying, which can be more important in a good life. Many of my graduate students in public policy and business administration have a strong background and interest in subjects unrelated to their academic discipline. My advice to them, based on the truths above, is to not abandon either one.\nThe interests don’t have to be alike. After all, Ives didn’t catch two hares—it was more like a dolphin and a rhinoceros.\nA Crash Course in Real World Self-Defense # #1. Use your brain and walking shoes first. Most of the time, you can avoid fights altogether if you just keep a cool head. Keep in mind that any fight can potentially put someone in the hospital or worse; to that end, walking away or using words to deescalate the conflict is often the best defense. So when you make the choice to engage in combat, ask yourself if it’s worth it. Even if you manage to come out on top, you could be looking at heavy legal fines, or the guilt of knowing you caused another person long-term injury, so it’s best to walk away whenever possible. Even better yet is to avoid environments that can put you in antagonistic situations in the first place, such as parties or bars where there might be excessive consumption of alcohol. To repeat the old adage, “Discretion is the better part of valor.”\n#7. Keep it simple. “Okay, first, your opponent grabs your lapel. Turn your hand. Now grab his wrist with both your hands. Next turn away from him, pivoting on the balls of your feet. After that you’re going to step under his elbow, pull his arm, then shift your body weight so that he’s moving towards you. Now catch his head with your calf muscle and . . .” Have you ever seen someone teach this sort of complex technique? Such maneuvers tend to not work so well, and that’s largely because they’re too complicated. A joint lock or hold that’s too complicated causes problems for two reasons. First, if any “link” in the chain of moves is weak, then the entire technique can fail. When you factor in the different body sizes and levels of strength that you’re likely to encounter, it adds yet another variable. Second, it requires too much memory and concentration, and when you’re in a fight, those are two things that won’t come easy to you. In short, complicated techniques usually aren’t worth your time, at least in the context of a street fight. The more simple and boring a technique is, the more reliable it tends to be. Let’s rewrite that complicated technique above to make it more simple: “Punch the guy in the face until he lets go, then run.” Much easier to remember, right?\nMandy Brown asking Remote to Who? # If remote work gives us anything at all, it gives us the chance to root ourselves in a place that isn’t the workplace. It gives us the chance to really live in whatever place we have chosen to live—to live as neighbors and caretakers and organizers, to stop hoarding all of our creative and intellectual capacity for our employers and instead turn some of it towards building real political power in our communities.\nThis Is How To Have A Long Awesome Life: 5 Secrets From Research # If you ever wanted to be guilted in a very happy and helpful way, into exercising, then Eric Barker is here to do just that\nDaniel Lieberman decided to do an informal — and very sneaky — study.\nWhile at an academic conference, he counted how many people took the escalator vs the stairs. In ten minutes, 151 people walked past him and only 11 used the stairs. That’s just 7 percent.\nThing was, this was a meeting of the American College of Sports Medicine.\nAnd the name of the conference was “Exercise Is Medicine.”\nActually, these results weren’t as bad as you might think — formal studies of the general populace show, on average, only 5% of people take the stairs. We all know exercise is good… but most of us just don’t do it.\nFarnam Street has a concise summary of the evergreen classic, How to Win Friends and Influence People. # I shan’t summarise it here. A summary of a summary would be redonkulous, non? 😂\nGo Read.\nOk, one quote that always resonates with me.\nIf there is any one secret of success, it lies in the ability to get the other person’s point of view and see things from that person’s angle as well as from your own.\nCarnegie was echoing Maimonides of old. Munger too, later echoed Carnegie when he spoke of the work required to have an opinion\n“The ability to destroy your ideas rapidly instead of slowly when the occasion is right is one of the most valuable things.\nYou have to work hard on it.\nAsk yourself what are the arguments on the other side.\nIt’s bad to have an opinion you’re proud of if you can’t state the arguments for the other side better than your opponents.\nThis is a great mental discipline.”\nThe World Map of the Internet in 2021 # I was going to send this to the work newsletter, but the drawings are too gorgeous to restrict to just that subset.\nThere’s all sorts of stuff; protocols that undergird the net, browsers in use, \u0026amp; how the world is slowly amalgamating into huge walled continents of a few centralised websites.\nThese maps are a joy to watch. (and a bit unsettling to reflect on.)\nReminds me a little bit of this map of food corporates.\nMaya Angelou’s Paris Review Interview, on writing and language and life and growing up. Watching this could probably the best hour of your life. # On Making it Look Easy …\nI try to pull the language into such a sharpness that it jumps off the page. It must look easy, but it takes me forever to get it to look so easy. Of course, there are those critics — New York critics as a rule — who say, Well, Maya Angelou has a new book out and of course it’s good but then she’s a natural writer. Those are the ones I want to grab by the throat and wrestle to the floor because it takes me forever to get it to sing. I work at the language.\nOn Wisdom …\n“Most people don’t grow up.\nIt’s too damn difficult.\nWhat happens is most people get older. That’s the truth of it. They honor their credit cards, they find parking spaces, they marry, they have the nerve to have children, but they don’t grow up.\nNot really. They get older.\nBut to grow up costs the earth, the earth. It means you take responsibility for the time you take up, for the space you occupy. It’s serious business. And you find out what it costs us to love and to lose, to dare and to fail. And maybe even more, to succeed.”\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"11 juin 2022","externalUrl":null,"permalink":"/work/old-links-interest-2022/","section":"Work","summary":"","title":"Old Links of Interest 2022","type":"work"},{"content":"Update: fixed Github link\nThe little script I wrote in 2020, to get me my daily poetry fix, died a couple of months ago.\nLife got in the way of me, figuring out what was wrong.\nI finally got around to it today.\nA little bit of peeking under the hood revealed that Cloudflare did not like me using the Python Requests library to check the Poetry Foundation page.\nOr maybe it just did not like the useragent string that Requests gave it.\nI was in no mood to go down that rabbit hole, so I just went looking for modern alternatives to Requests.\nFound HTTPX.1 and switched over to it.2\nAnd then while I was at it, replaced PyRSS2Gen with FeedGenerator.\nAnd tada! Poemfeed lives again!\nFind the updated code, over on Github.\nWriting code today, made me realise, how far I have come since I wrote that code.\nI figured out the issue, I knew just how I wanted it to work, I went out, researched the code, and then wrote and iterated over the code and got it working in a matter of hours.\nKushal was right.\nWriting lots of shitty code, over and over and over again is the best way to get fluent.\nHere’s to more contributing and lots more of writing code!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nwhich delightfully, has a Requests compatible API\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nand to be sure, changed the userstring, so that my script presented itself as Firefox\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"27 mai 2022","externalUrl":null,"permalink":"/personal/updated-poemfeed/","section":"Personal","summary":"","title":"Updated Poemfeed","type":"personal"},{"content":"I finally got done, moving the blog from Nikola to Hugo today.\nI already wrote about why I did it.\nThese are a few more thoughts about what went into the endeavour; and some colophonesque details.\nOne, really small hope, is that it will help me learn Go.\nThe DevOps world that I now seek to enter, speaks Go.\nI also, now run two Go programs that are indispensible to me, Hugo and Miniflux.\nAnd being the control freak, that I am, I’d love to tweak them to just how I like it.\nNikola did help learn me Python, after all.\nSpeaking of Nikola, I’ve used it for close to four years now, until I moved.\nI was a refugee from a self hosted Ghost install. 1\nI love it to death.\nIt’s done all I’ve asked of it … and more.\nAnd it’s been fast and stable all these years.\nThe community (primarily Chris) have been kind and patient and really helpful.\nChris and Roberto and the rest of the gang, have built something rugged and enduring.\nSo other than having something fun to do while I was down in the dumps, why did I move to Hugo?\nI like to learn by reading.\nSo other than practicing Go, the best way to learn it would be to read code.\nAnd what better place to read code, than that of the tool I use to write? 2\nAnother point, is that I probably outgrew what Nikola gave me out of the box, and customizing it (and learning how to) was something that I just couldn’t quite wrap my head around.\nWhile Hugo is probably the same way and its documentation is not quite as structured as Nikola’s, it is pretty popular and I can get answers to what I want to do, really, really quickly. 3\nAnd Hugo has an awesome book, to learn from.\nSo, how did the move go?\nI wrote a tiny bespoke Python script, 4 to convert all my Nikola front matter to Hugo front matter. That took me half a day, but it converted 677 posts, that I was dreading, I’d have to do by hand and would take me weeks. I wrote another bespoke script to convert some gnarly tags that Hugo choked on. And just like that, my biggest boulder just fell into place. That left me free to write a couple of what Hugo calls, Shortcodes, to ease my writing. I started with shortcode (a custom horizontal rule) and ended up with four! 5 I customised the base as well as the theme’s config to make the site look like I wanted it; (from its various options.) And I added some custom CSS, to have custom horizontal rule and footnote styles, change the look of the links in the menu up top, style my subscribe form, and Included the beautiful font you are reading this in. In a word, slow, steady, iterative progress until I was done.\nAnd who and what inspired me and who do I owe gratitude to?\nPriyanka Saggu, for egging me on to do this project. Bhavin Gandhi turned me onto the awesomeness that was Hugo. Pradyun Gedam for making me green with envy, with his minimalistic blog and the thoughtful touches he made. 6 Navendu Pottekkat, whose code, I stole helped me style my subscribe page. Bjørn Erik Pedersen and Steve Francia and the rest of the gang, for making Hugo Aditya Telange, for the making the pretty, pretty, little PaperMod theme. Kushal Das, for sharing my love of typography and beating me to a custom font on his website. Matthew Butterick, for the gorgeousness, that is Valkyrie. The site originally used the beautiful Charter, but while it looked fetching on Windows and MacOS, it would not render as nicely on Linux machines. 7\nWith Valkyrie, that no longer is the case. I have something beautiful to look at, all day! 8 Robin Williams, for teaching me all about CRAP and everthing I know about type and design. They decided to move their editor away from being purely Markdown. I get why they did it. But it just wasn’t for me. I wanted something simple.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nsorta kinda, like learning about cars, by looking under the hood of your own car, like in the old days\u0026#160;\u0026#x21a9;\u0026#xfe0e;\neven with something as weird and esoteric as the site refusing to build, because of emacs crapping in the content folder\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nrelated post coming later …\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthe aforementioned horizontal rule, two to center images and captions and one for my subscription ask at the bottom of the post.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nNearly everything I did here, I cribbed from his blog config\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nwhich ofcourse, is where I spend my entire day.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI was hesitant to plonk down the money for Valkyrie. But I forgot all about that, once I saw my words rendered in the font. So, I am chalking this down to an investment. Besides Matthew’s prices are value for money (I’m just a little broke at the moment, hence the quibbling) and his usage license is generous.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 mai 2022","externalUrl":null,"permalink":"/work/all-about-the-move-to-hugo/","section":"Work","summary":"","title":"All About the Move to Hugo","type":"work"},{"content":"","date":"13 mai 2022","externalUrl":null,"permalink":"/tags/planetgo/","section":"Tags","summary":"","title":"Planetgo","type":"tags"},{"content":"Moved over from Nikola, to Hugo today.\nIn two minds about what to do with all the old posts. Do I just shed them all, like I’ve done in the past? Or work to move them over?\nMaybe, tomorrow’ll bring clarity.\nIn the meanwhile, this is a house under construction, y’all!\nStuff does not work, stuff looks wonky, and stuff both, looks wonky and doesn’t work.\nI’ll be at it, on and off, over the next few weeks, trying to make this home.\nWhy did I do this?\nBecause I’ve been in a disheartening rut of sorts.\nThe long slog, to switching careers and all the learning that goes with it, is weighing me down.\nSo I wanted to do something fun.\nErgo, Hugo’s my new toy.\nThe blog looks the way it does, thanks to the good people at Hugo Headquarters and Aditya Telange’s PaperMod.\nAnd I know of all this fanciness, thanks to my two young friends who run Hugo themselves, Bhavin Gandhi, and Pradyun Gedam.\n","date":"6 mai 2022","externalUrl":null,"permalink":"/work/begin-again/","section":"Work","summary":"","title":"Begin Again","type":"work"},{"content":"","date":"6 mai 2022","externalUrl":null,"permalink":"/tags/blog/","section":"Tags","summary":"","title":"Blog","type":"tags"},{"content":"That’s just it for now :) Am learning Go!\n","date":"20 avril 2022","externalUrl":null,"permalink":"/work/i-have-now-begun-learning-go/","section":"Work","summary":"","title":"I Have Now Begun Learning Go!","type":"work"},{"content":"While building my work product on the fancy-schmancy M1 work Mac, I kept running into clang errors, when I did a pip install\nTurns out, PyCLD3 would not build.\nSo I did it manually. This tip on Github did the trick\nWe need brew installed.\nAnd then we run the following commands in a terminal …\nbrew install protobuf #install protobuf # set various compiler flags export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 export CFLAGS=\u0026#39;-I /opt/homebrew/opt/protobuf/include\u0026#39; export LDFLAGS=-L/opt/homebrew/opt/protobuf/lib # install pycld3 python3 -m pip install pycld3 And we’re set!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"30 mars 2022","externalUrl":null,"permalink":"/work/installing-pycld3-on-an-apple-m1-mac/","section":"Work","summary":"","title":"Installing PyCLD3 on an Apple M1 Mac","type":"work"},{"content":"Update: 28/12/2021\nThe solution? Move off the 64 bit Raspberry Pi OS and install Ubuntu. Everything below is now just for history and context :)\nEvery time I update my Pi, whether it be an kernel update or due to something goofy I do, it refuses to be accessible via ssh after it boots back up.\nAnd everytime I bring it back to my desk, it just works.\nAnd when I put it back into its niche, by the door, it continues to work.\nBut inevitably, sooner or later, comes a reboot, and we’re back to being inaccessible.\nNo ssh, no plex, no network.\nThe other Pi, my old 3 series, keeps chugging along like a champ in the meanwhile.\nThis was driving me up the wall.\nSo I got to thinking, and I realised, I was running the 64 bit edition of the Raspberry Pi OS.\nAnd then I got to thinking some more, hmm, this is not a mature os. What if, it might be buggy? Or what if, something I do, is tripping it up the wrong way?\nLogically then, that meant the network stack, or the network interface, or the port itself.\nBecause everytime I brought the Pi in, to where my desktop is, I connect it to a switch (that connects to my upstream router).\nAnd then when I take it back, it changes back to connecting to the router directly.\nSo the next time it borked, I put the Pi off, then turned the router off and on and then finally, put the Pi back on.\nAnd that did the trick.\nI tried it again this morning, when the Pi went offline, after another update. The heuristic still holds!\nI’m sure, I could go digging further to find the root cause, (dhcp release renew not happening correctly?), this just lets me get on with my life and I’m happy :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"28 décembre 2021","externalUrl":null,"permalink":"/work/raspberry-pi-4-not-accessible-after-a-reboot/","section":"Work","summary":"","title":"Raspberry Pi 4 Not Accessible After a Reboot","type":"work"},{"content":"This post was first sent to my newsletter on December 19th, 2021.\nYou really ought to subscribe :)\nimage, courtesy The Toymaker’s Journal\nLots of links in this letter, because there won’t be a work letter later, this month :)\nThis one is all about, drum roll … Reading :)\nYou know the drill. Click the headers to wander off to the original articles.\nBooks I Read Last Month # So Good They Can’t Ignore you, is a book I strangely keep coming back to.\nLots to learn about how to build a sustainable career Needle Points, You need to do the work required to hold a fair opinion. Tablet’s long form piece helped me understand vaccine hesitancy. I finally got tired of waiting for the old man to finish his series, and started reading everything around it, to immerse myself in The World of Ice \u0026amp; Fire This was almost as fun as discovering and reading A Game of Thrones in the late 90s. Only for completionists though. It’ll feel like a slog for anyone who is not a fan. If he still keeps dilly dallying, I might have to go watch the TV series next. And Discipline Equals Freedom, just for that semi regular kick in the pants. My dirty little reading secret. Folks ask me how I read so much. The answer is when I read for pleasure, I read what I like, when I like, and don’t bother completing it if I don’t and just dropping it, never to return to it or maybe coming back to it some other time. Also I read a lot more than I list here. I pick up ten, drop seven or eight, guiltily enjoy two to three, and probably feel comfortable listing a couple. You’ve read the classic works of stoicism. Now what? The Daily Stoic helps with, Assembling A \u0026ldquo;Bible\u0026rdquo; of Stoicism: What To Read After The Romans # The world in which a man lives shapes itself chiefly by the way in which he looks at it, and so it proves different to different men; to one it is barren, dull, and superficial; to another rich, interesting, and full of meaning.\nOn hearing of the interesting events which have happened in the course of a man’s experience, many people will wish that similar things had happened in their lives too, completely forgetting that they should be envious rather of the mental aptitude which lent those events the significance they possess when he describes them …\nAll the pride and pleasure of the world, mirrored in the dull consciousness of a fool, are poor indeed compared with the imagination of Cervantes writing his Don Quixote in a miserable prison.\n— Schopenhauer, The Wisdom of Life (1851)\nP.S. And if you haven’t read the classic works and if you are new and want to explore the Stoic way of thinking about life, I heartily recommend Ryan Holiday’s trilogy for a gentle introduction. The Obstacle is the Way, Ego is the Enemy and Stillness is the key are short yet surprisingly deep and engaging books.\nAli Abdaal teaches us, The Art of Reading More Effectively and Efficiently # Level 4: Syntopical Reading\nThe final level of reading is about our understanding of a subject more generally. Whereas analytical reading focuses on our comprehension of a specific book, syntopical reading helps shape our opinion and increase our overall fluency of the wider topic through understanding how different books relate to one another. This may sound a little abstract, but bear with me.\n“The benefits [of syntopical reading] are so great that it is well worth the trouble of learning how to do it”\n— Mortimer Adler\nThe first step is to begin by deciding the subject we want to tackle (eg: productivity or habit-formation). We can then draw up a bibliography of books on the topic, and select just a handful of them that we believe to be most relevant.\nHaving compiled the list of books, we can begin reading syntopically. This means reading each of the books analytically and building mental connections between each of them. I try to define common subject keywords in my own words, identify and answer the most pressing questions that the books collectively address, and make an informed decision about the strengths of each author\u0026rsquo;s argument.\n“Creativity is just connecting things”\n— Steve Jobs\nThrough syntopical reading we\u0026rsquo;re connecting the best ideas on a subject, which acts as a powerful catalyst giving rise to creative solutions and real insight. It\u0026rsquo;s truly game-changing (when we actually do it).\nShane Parrish distills Adler in How to Read a Book: The Ultimate Guide by Mortimer Adler # I bet you already know how to read a book. You were taught in elementary school.\nBut do you know how to read well?\nThere is a difference between reading for understanding and reading for information.\nIf you’re like most people, you probably haven’t given much thought to how you read. And how you read makes a massive difference to knowledge accumulation.\nA lot of people confuse knowing the name of something with understanding. While great for exercising your memory, the regurgitation of facts without solid understanding and context gains you little in the real world.\nA useful heuristic: Anything easily digested is reading for information. Consider the newspaper, are you truly learning anything new? Do you consider the writer your superior when it comes to knowledge in the subject? Odds are probably not. That means you’re reading for information. It means you’re likely to parrot an opinion that isn’t yours as if you had done the work. This is how most people read. But most people aren’t really learning anything new. It’s not going to give you an edge, make you better at your job, or allow you to avoid problems.\n“Marking a book is literally an experience of your differences or agreements with the author. It is the highest respect you can pay him.” — Edgar Allen Poe\nLearning something insightful requires mental work. It’s uncomfortable. If it doesn’t hurt, you’re not learning. You need to find writers who are more knowledgeable on a particular subject than yourself. By narrowing the gap between the author and yourself, you get smarter.\nFarnam Street has an awesome page, chockful of articles, that help us become better readers # You can’t get where you want to go if you’re not learning all the time. One of the best ways to learn is to read.\nReading habits don’t need to be complicated, you can start a simple 25 page a day habit right now. While it seems small the gains add up quickly.\nAbove all else remember that just because you’ve read something doesn’t mean you’ve done the work required to have an opinion.\nand also\nQuit Books\nBad books are a grind. Good books almost read themselves.\nWhen you pick up a good book you feel it instantly. Not only are they well written and packed with ideas and insight, but they’re well organized. You want to read the next page.\nStart books quickly but give them up easily. One of the biggest things that holds people back when reading is our desire to finish what we start. Good books finish themselves. You can’t put them down. Trying to finish a bad book, on the other hand, is like walking through the mud with a wheelbarrow full of bricks. Life is too short.\nWhen it comes to reading, you don’t need to finish what you start.\nOnce you realize that you can quit bad books (or reading anything for that matter) without guilt, everything changes. Putting a bad book down creates the opportunity and space for a great book.\nSkim a lot of books. Read a few. Immediately re-read the best ones twice.\nThat’s all for now, folks. See you in the new year!\nBut before I go, this beautiful Gaiman poem (the pic above) reminds me,\nSometimes it only takes a stranger, in a dark place,\nto hold out a badly knitted scarf, to offer a kind word, to say\nwe have the right to be here, …\nSo, this Christmas …\nI’m grateful, you’re a part of my life.\nI’m grateful, you’ve made me a part of yours.\nI’m grateful, you’ve given me the right to belong to your world!\nI wish you be happy, I wish you love, and as ever I wish you warmth!\nMerry Christmas!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"26 décembre 2021","externalUrl":null,"permalink":"/personal/on-reading/","section":"Personal","summary":"","title":"On Reading","type":"personal"},{"content":"","date":"8 décembre 2021","externalUrl":null,"permalink":"/tags/food/","section":"Tags","summary":"","title":"Food","type":"tags"},{"content":"Don’t quite know when it began, but probably a sign of getting old 😂\nI get nasty burps every time I take my codliver oil capsules now.\nSolution1\nBuy capsules with what they call, an enteric coating on them. (Expensive! Not for me!) or\nPut your existing bottle in the freezer and pop one an hour before lunch.\nThe combination of cold capsule ingestion, followed by its smothering by food an hour later, has fixed the burps for me! Not a doctor. This ain’t medical advice. Try at your own risk!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"8 décembre 2021","externalUrl":null,"permalink":"/personal/getting-rid-of-codliver-oil-burps/","section":"Personal","summary":"","title":"Getting Rid of Codliver Oil Burps","type":"personal"},{"content":"","date":"8 décembre 2021","externalUrl":null,"permalink":"/tags/health/","section":"Tags","summary":"","title":"Health","type":"tags"},{"content":"","date":"8 décembre 2021","externalUrl":null,"permalink":"/tags/nutrition/","section":"Tags","summary":"","title":"Nutrition","type":"tags"},{"content":"Stuff for future Jason to take note, when he tries to redo his Huginn instance …\nI wanted a quick and easy way to install it, without messing up my base system much, so I chose the Docker route.\nNow, I don’t know the A or D of Docker, so these quick notes for me to remember in the future.\nI need to install Docker rootless, and bring it up as a systemd service. If I want persistent data, I should create a Docker volume. Create an env file to hold all the secrets that I want to pass to the container I need to run and create my huggins instance first, give it a name, pass the env file and also remembering to mount the volume at the place I need I can then start and stop the image with the name I assigned it. I need to then tag the image with a policy to restart automatically So everytime Docker comes up, it will start the container automatically. P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe! P.P.S. Feed my insatiable reading habit.\n","date":"28 novembre 2021","externalUrl":null,"permalink":"/work/basic-docker-image-management-pointers/","section":"Work","summary":"","title":"Basic Docker Image Management Pointers","type":"work"},{"content":"","date":"28 novembre 2021","externalUrl":null,"permalink":"/tags/docker/","section":"Tags","summary":"","title":"Docker","type":"tags"},{"content":"This post was first sent to my newsletter on November 20th, 2021.\nYou really ought to subscribe :)\nOk, I’m a day late, but hopefully not a dollar short1 :)\nThis work letter is going out to all of you my friends, because there’s not much technical stuff in here.\nAnd because I have a spot of good news to share.\nI got a jobby job!\nI’ve been trying the past few years, to switch my career to something that wasn’t as taxing, as consulting on hardware and networks and integrating systems.\nWhile I loved the work, it was a lot of work, for not enough money and it took a toll on my physical health.2\nSo writing software from the comfort of my home, is it.\nAnd two weeks in, the team’s taken me under their wing and they are guiding me along and I’m loving it!\nAnd now that’ve gotten all that happy Wheeeeeee! out of my system, on to our letter :)\n*You know the drill. Click the headers to wonder off to the original articles (also, most emphases mine)…* Human Computer: The Forgotten Women’s Profession # ![mnwci][mnwci] By WWII, with all hands needed for the war effort, the Army hired a group of women computers to calculate artillery trajectories. These women worked as support to the engineers and were brought on because computing was still thought to be menial and low status work; too dull for the highly educated men on staff who wanted more exciting jobs. This disregards the fact that in order to solve these equations these women would have to re-work the same calculations over and over again for hours. Former computer, Marilyn Heyson, recalled in an interview that the job was intellectually interesting, but a marathon. These calculations not only required great mental endurance, patience, and attention to detail, but advanced mathematical skill.\nThe dance between the long tail and the short head # The disconnect occurs when producers and creators try to average things out and dumb things down, hoping for the big hit that won’t come. Or overspend to get there. The opportunity lies in finding a viable audience and matching the project’s focus and budget to the people who truly want it.\nAnd the dance continues.\nTen reasons to write a book # I’d say these translate well to just writing and publishing yourself on your blog, in general too!\nHere’s four …\nIt clarifies your thinking. It’s a project that is completely and totally up to you. Because it’s a generous way to share. It will increase your authority in your field. So long and see you next month folks :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nI used to think that this was something from the days of the American wild west; turns out this idiom came much later, probably during the Depression in the 30s.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nFolks say, they have the scars to prove it. Well, I have three slipped discs and daily physio to prove it.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"26 novembre 2021","externalUrl":null,"permalink":"/personal/on-woman-computers-long-tails-reasons-to-write/","section":"Personal","summary":"","title":"On Woman Computers, Long Tails \u0026 Reasons to Write","type":"personal"},{"content":"It’s way past our anniversary on the 10th of September.\nBut that day was filled with togetherness.\nAnd the days before and after were filled with all sorts of madness, both personal and professional.\nDear Abby, it’s been a decade.\nAnd it’s flown by us like a quarrel of sparrows.\nHere now, and vanished in the next instant.\nAnd yet when I look back on it, we’ve been through so much.\nYou know me more, than I know myself by now.\nHere’s to, till death do us part.\nI love you.\nAnd like the poet says in his Dark Sonnet\nI really don’t know\n“I Love You” means\nI think it means\n“Don’t leave me here alone.”\n","date":"22 novembre 2021","externalUrl":null,"permalink":"/personal/10/","section":"Personal","summary":"","title":"10","type":"personal"},{"content":"So I do this peculiar thing, where I prepend the author’s initials to the title of every book I add to Calibre.1 2\nAnd all these years, I’ve just been manually editing the metadata, everytime I added a book, and changing the titles to what I want.\nIt’s not a problem if it’s just one book, but I normally tend to go hogwild with authors, normally buying out / downloading all their work.\nAnd now that I’ve learnt the basics of the hammer called regex, I wanted to see, you guessed it, if there was a way to quickly do this using regular expressions in Caliber, which has inbuilt support for regexes.\nA quick look through the documentation led me to the search and replace page, which explains really pretty well … well, how search and replace works :)\nSo what did I need to do?\nI needed to take the initial character of the title of any book.\nAnd then replace it with author initials + that character\nSo here’s the Calibre search and replace box when I choose to edit the metadata for multiple books.\nI choose Regular expression as my MO and I choose the title field to work with.\nYou can see the titles of the books, I chose below3\nThen, in the “Search for:” box, I go looking for a single character at the beginning of the title.\nWith regex I express that as a ^.\nI’ve surrounded that pattern with () brackets to tell regex to remember what it matched.\nYou’ll see that I’ve matched the character succcesfully and the “A” from A Journey … and the “T” from Twenty Thousand … are missing in the Test results in the bottom right.\nNow in the “Replace with:” box, I tell the regex engine what to match it with.\nWhich in my case are the author initials “JV” followed by a “ - ” seperator followed by a \\1 which tells it to put the match that I found earlier back in.\nYou can see, now that the titles match the crazy way, I want them.\nWe do an ok, and Tada!\nThe books are renamed in the library :)\nAll hail the power of regex!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nWhy?\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nCalibre is a rock solid, does not get in your way, marvellously multifunctional way of categorising ebooks and comics. And that is just scratching the tip of everything Calibre can do\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nClick the images for a larger version\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"20 novembre 2021","externalUrl":null,"permalink":"/work/using-regex-to-prepend-to-titles-in-calibre/","section":"Work","summary":"","title":"Using Regex to Prepend to Titles in Calibre","type":"work"},{"content":"Will update this page whenever I come across something regex, that I love.\nDamian Conway’s 5 hour, Understanding Regular Expressions series. This one is the bestestest regex resource ever. If you know the basics of programming and then want to pick up Regular Expressions, this is it.1\nAnd Damian is one of the finest, bestestestest teachers around. Damian Conway’s hour long youtube talk and the accompanying slides RegexTip, one of John D Cook’s many twitter accounts. This one specialises in, you guessed it, regex tips Regex cheatsheets? This one, by Damian Conway and this one by Dave Child. Want to keep regex top of mind? Use Anki? This is the deck I love Unnecessary, ars gratia artis like Deep Dive? The Friedl book is it. Also don’t be like me and try to learn Regex first. You’re just making it harder on yourself. It is indeed possible, but nearly every regex resource presumes basic programming knowledge. It does not have to be much. Loops and variables and such, Automate the Boring Stuff is good for that, but I don’t want to digress into Python resources 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 novembre 2021","externalUrl":null,"permalink":"/work/regular-expressions-regex-resources/","section":"Work","summary":"","title":"Regular Expressions (Regex) Resources","type":"work"},{"content":"I’ve been job hunting for nearly a year and I was resigned to the vagaries of the interview process.\nClose to 16 interviews later, I was inured to every possible rejection note under the sun.\nWe don’t quite know what to do with you. You’re too slow. It’s us, not you. The position just got filled. While we don’t want you, we assure you, someone else will. I understand it’s a process, that everyone goes through, but I somehow still held hope that someone would inject some humanity into what seems to be a pretty inhumane process.\nAnd Scrollstack was exactly it.\nWhile I still haven’t asked the powers that be, why I got in, their process of treating people humanely is what attracted me to them.\nThey wanted me on, and I’ve joined up as a Software Developer.\nAnd ofcourse, would a guy who loves writing, love to help build tools that helps folk write? And earn, while we’re at it?\nDoes a bear shit in the woods?\nHell, yeah!\nHere’s to upwards and onwards!\nAnd Scrollstack, you have my undying gratitude for helping me start a new phase of my career.\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"16 novembre 2021","externalUrl":null,"permalink":"/work/ive-joined-scrollstack/","section":"Work","summary":"","title":"I’ve Joined Scrollstack","type":"work"},{"content":"","date":"16 novembre 2021","externalUrl":null,"permalink":"/tags/scrollstack/","section":"Tags","summary":"","title":"Scrollstack","type":"tags"},{"content":" A few days late, but Happy Diwali, folks! :) A small ask of you, to begin with.\nLike I wrote in the past, I don’t have any sort of tracking in these mails.\nThere are no ads, nothing to push. Just a labour of love.\nSo I have no idea whether these posts resonate or I’m just howling into the storm that is your inbox.\nIf you like it, hate it, agree/disagree, write me :)\nAll I get to see are a couple of folk leaving, every once in a while, and my list, my tribe in fact is really tiny and it feels a bit discouraging.1\nSo share this with friends and ask them to subscribe and write to me and tell me how much you love the letters and make me happy :)\nWhat is a festive season without a bit of emotional, tugging of the heartstrings? 😂\nOn to our letter!\nYou know the drill! Click the headers, to wander off to the original articles and read them :)\nWhy You Should Stop Reading News, Shane Parrish # Rarely do we stop to ask ourselves questions about the media we consume:\nIs this good for me?\nIs this dense with detailed information?\nIs this important?\nIs this going to stand the test of time?\nIs the person writing someone who is well informed on the issue?\nAsking those questions makes it clear the news isn’t good for you.\n“[W]e’re surrounded by so much information that is of immediate interest to us, that we feel overwhelmed by the never-ending pressure of trying to keep up with it all.” # — Nicolas Carr # Shane, once again on, How to Remember What You Read # If you only remember six things after reading this article, it should be the following truths about reading:\nQuality matters more than quantity. If you read one book a month but fully appreciate and absorb it, you’ll be better off than someone who skims half the library without paying attention. Speed-reading is bullshit. Getting the rough gist and absorbing the lessons are two different things. Confuse them at your peril. Book summary services miss the point. A lot of companies charge ridiculous prices for access to vague summaries bearing only the faintest resemblance to anything in the book. Summaries can be a useful jumping-off point to explore your curiosity, but you cannot learn from them the way you can from the original text. Fancy apps and tools are not needed. A notebook, index cards, and a pen will do just fine. We shouldn’t read stuff we find boring. Life is far too short. Finishing the book is optional. You should start a lot of books and only finish a few of them. Complement with Nicky Case’s amazing website, applet, spaced repetition teaching aid, explorable explanation, How To Remember Anything Forever (…ish)\nTony Stark nearly gasped as a gloved hand trailed down his spine. The steady pressure was smooth and almost reassuring. Obama chuckled. “You mean, the–\nThis is why we write, Neil Gaiman # This little piece on Neil’s blog is so heartwarming, empowering and inspiring, that I refuse to spoil it for you.\nGo read and smile :)\nSo long for now, and I’ll play catch up next month :)\nRemember to write! 2\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nP.P.P.S If you love language and word jokes as much as I do, this should keep you chuckling.3 (once when you read the thread and then for the next couple of days as you keep thinking about it.)\nEven though it shouldn’t be. I do it all the time, myself. Time and attention are the most precious things we have! :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nin your blogs, or your journals or wherever! And write to me!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nvia James Clears’ newsletter\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"14 novembre 2021","externalUrl":null,"permalink":"/personal/on-reading-news-remembering-and-why-we-write/","section":"Personal","summary":"","title":"On Reading News, Remembering, and Why We Write","type":"personal"},{"content":"Am using my rickety old laptop as my daily driver these days, because … reasons.\nAnd now, that I run PyCharm alongside Emacs, alongside Chrome in its various incarnations, the poor old thing crashes, freezes and stutters a lot.\nA cursory inspection told me that while I had plenty of CPU firepower, I was constantly running out of ram (8gb) and swap (1 gb partition).\nToo broke to add more ram to the system right now (don’t even know if this thing will support 8 gb modules to push it up to 16).\nSo the only way to go, was to somehow increase the swap on my system.\nThis is the checklist for curious / researching Jason in the future.\nMake sure system is backed up Check if there is a swap file or partition If there’s a file then we’re in luck. If it’s a partition then, Just make sure we have a live usb disk. I used my Mint installer Then we need to turn swap off (swapoff command) If there’s a partition / file entry in fstab remove it Now, if it’s a file skip down to step 13 If it’s a partition boot off the live usb disk Install some gui partition tool off the net, depending on the kind of partition we have. (for e.g. GParted for raw ext4 partitions and blivet-gui for lvm stuff) Best way forward (to my mind) is to get rid of the partition and then create a swapfile So delete the swap partition, and resize the main one to take in the free space left behind (this could take a while) Once done boot back into the system Create a bigger swapfile and activate it. (mkswap,swapon) (I made mine 3gb. (while having 8gb of ram)) Create entry in fstab Reboot Linuxize, has a pretty good guide on the commands and permissions involved.\n","date":"12 novembre 2021","externalUrl":null,"permalink":"/work/rough-notes-on-swap-filepartition-in-linux/","section":"Work","summary":"","title":"Rough Notes on Swap File/Partition in Linux","type":"work"},{"content":"","date":"9 novembre 2021","externalUrl":null,"permalink":"/tags/pycharm/","section":"Tags","summary":"","title":"Pycharm","type":"tags"},{"content":"Did I not just write about this, the other day with Emacs?\nI did, but Pycharm seems to have the same affliction. Pycharm, just like Emacs, stubbornly refuses to accept my Compose key combinations. Which means … you guessed it, no ‘,”,“ or ’ punctuation and all the other affordances, Compose gives me.\nConsidering that I need both, Pycharm as well as Emacs in my life, it behooved me, that I go solve this too.\nAnd … drumroll … the answer turned out to be the same as Emacs.\nSet the locale to be en_US.utf8 systemwide.\nWhich confused me a bit for a second.\nI had done it for Emacs. So why was Pycharm behaving oddly?\nAnd then, another second later, I realised, that this was a different machine.\nThis was my laptop, which I now use as my daily driver and the locale was set to India, as per my original preferences.\nA quick, sudo localectl set-locale LANG=en_US.utf8 and a reboot later, both Pycharm and Emacs were humming along to the Compose key dance :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"9 novembre 2021","externalUrl":null,"permalink":"/work/pycharm-does-not-recognise-compose-key-sequences/","section":"Work","summary":"","title":"Pycharm Does Not Recognise Compose Key Sequences","type":"work"},{"content":"This post was first sent to my newsletter on October 22nd, 2021\nYou really ought to subscribe :)\nvia NASA Johnson on Flickr\nWelcome to the October work letter! :)\nAs usual, click the headers to wander off to the orginal articles.\nOver at Ars Technica, Researchers think a planet lost its original atmosphere, and built a new one # In general, we don’t currently have the technology to image exoplanets unless they\u0026rsquo;re very large, very young, and a considerable distance from the star they orbit. Yet we can still get some sense of what\u0026rsquo;s in their atmosphere. To do that, we need to observe a planet that transits across the line of sight between Earth and its star. During a transit, a small percentage of the star\u0026rsquo;s light will travel through the planet\u0026rsquo;s atmosphere on its way to Earth, interacting with the molecules present there.\n[…] It’s so close and hot, in fact, that the researchers estimate that it\u0026rsquo;s currently losing about 10,000 kilograms of atmosphere every second. As the host star was expected to be brighter early in its history, the researchers estimate that GJ 1132 b would have lost a reasonable-sized atmosphere within the first 100 million years of its existence. In fact, over the life of the planet, the researchers estimate that it could have lost an atmosphere weighing in at about five times the planet\u0026rsquo;s current mass—the sort of thing you might see if the remaining planet were the core of a mini-Neptune.\nSo, researchers were probably surprise to find that, based on data from the Hubble, the planet seems to have an atmosphere.\nHow’d that get here?\nModeration in Infrastructure by Ben Thompson # Read the more detailed interview, that the article references, here.\nIt was Patrick Collison, Stripe’s CEO, who pointed out to me that one of the animating principles of early 20th-century Progressivism was guaranteeing freedom of expression from corporations:\nExactly the same kind of restraints upon freedom of thought are bound to occur in every country where economic organization has been carried to the point of practical monopoly. Therefore the safeguarding of liberty in the world which is growing up is far more difficult than it was in the nineteenth century, when free competition was still a reality. Whoever cares about the freedom of the mind must face this situation fully and frankly, realizing the inapplicability of methods which answered well enough while industrialism was in its infancy.\nThis is why I take Smith’s comments as more of a warning: a commitment to consistency may lead to the lowest common denominator outcome Prince fears, where U.S. social media companies overreach on content, even as competition is squeezed out at the infrastructure level by policies guided by non-U.S. countries. It’s a bad mix, and public clouds in particular would be better off preparing for geographically-distinct policies in the long run, even as they deliver on their commitment to predictability and process in the meantime, with a strong bias towards being hands-off. That will mean some difficult decisions, which is why it’s better to make a commitment to neutrality and due process now.\nExcel Never Dies # This is an awesome piece, on the amazing longevity and entrenchment of Excel in the face of competitors nibbling away at and creating billion dollar companies from just a fraction of Excel’s capabilities.\nExcel has been around a long time, so we can expect Excel to be around for a long time.\nThat’s the Lindy Effect at work: the longer something lasts, the longer it can be expected to last. Something that has been around for a year is expected to be around for another year, but something that has been around for 100 years is expected to be around for another 100 years.\nThere are a couple of reasons for that:\nQuality. Cream rises to the top, and only the strong survive. Part of the Lindy Effect can just be explained by the fact that some things are higher-quality than others, that people recognize and appreciate quality, and that over time, higher-quality things tend to outlast lower-quality things. If you put Aristotle’s The Nicomachean Ethics on a permanent bookshelf and had people choose between it and some modern high kid’s philosophical ramblings in an ongoing tournament, generation after generation would recognize that Aristotle is better, and Aristotle’s work would survive.\nNetwork Effects. As people recognize something’s quality and as it lasts longer, they become more comfortable building on top of it, which increases the odds that the thing sticks around. That’s a form of network effect, specifically a Two-Sided Platform Network Effect. As Aristotle’s work persists, more philosophers build on top of it, and more philosophy professors build their curricula around it, which creates lock-in and makes it even more likely that his work survives for millennia hence.\nExcel is Lindy software.\nSo long, folks! :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"29 octobre 2021","externalUrl":null,"permalink":"/personal/on-planetary-atmospheres-cloud-infrastructure-and-the-undead/","section":"Personal","summary":"","title":"On Planetary Atmospheres, Cloud Infrastructure and the Undead!","type":"personal"},{"content":"I want to leave VS Code behind me and move to using Emacs for mostly everything I write in the long haul.\nEmacs is the editor I use to putter around for any text editing I need to do, but most of my long form writing and coding were done in VS Code.\nAnd the more I use it (VS Code, not Emacs), the more uncomfortable I get, no matter how nice and shiny it is.\nWhile they are old and crufty, there is a benefit to using editors like Emacs.\nOne that matters to me. Emacs (and Vim) are Lindy.\nSo I’ve decided to split my needs for now.\nProgramming code goes to Jetbrains and everything else goes to Emacs.1\nThe one thing I immediately missed was doing code . in my terminal to open up a folder full of files in VS Code.\nEmacsclient would launch alright, but I would have to close the Emacs window to regain control of my terminal to process other commands.\nYes, I could bg it, but I want to be able to quit the terminal as well.\nSpelunking through the Emacs documentation led me to the no-wait switch.\nSo I updated my ec alias to\nalias ec='emacsclient -create-frame --no-wait --alternate-editor=\u0026quot;\u0026quot;'\nNow an ec . in a folder opens up Emacs with gorgeous folder listing of files for me.\nOne more step towards an all Emacs future :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nEven programming eventually will go to Emacs\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"27 octobre 2021","externalUrl":null,"permalink":"/personal/starting-emacs-from-the-command-line-and-getting-back-to-the-prompt/","section":"Personal","summary":"","title":"Starting Emacs From the Command Line, and Getting Back to the Prompt","type":"personal"},{"content":"Shoutouts of Gratitude to the teachers who I learnt programming from over the past couple of years …\nKushal Das, for bringing me in, teaching me the ropes and assuring me there was a place for me here\nReuven Lerner, who unravelled Python for me and made me realise that languages were small, and the reason I was struggling was not Python, but because I wanted to understand all of computer science in too short a time frame.1\nDavid Malan and Brian Yu for the grounding that is CS50.\nDr. Chuck (Charles Severance) for opening my eyes to the wonder that is web programming.\nAnd databases, and Postgresql.\nAnd Django.\nAnd so much more!\nYou taught me how the pieces fit.\nJulia Evans for showing me that being good at sharing knowledge, is not magic, just a lot of hard work and dedication.\nAnd for teaching me oh so much, with your magical zines.\nMark Lutz for his exhaustive, thorough books on Python.\nDamian Conway for making regexes make sense.2\nBarbara Oakley, for teaching an old dog how to learn.\nCal Newport and Scott Young for helping me put it into practice (deliberately 😂)\nBrad Traversy, while he may not have melted my mind, he is the embodiment of everything i learnt from the teachers above. Patient, humble, transparent, persistent, all round hero.\nAnd last, but certainly not least, my young friend and mentee, Priyanka Saggu, for teaching me dogged persistence and for being an unabashed cheerleader on my journey.\nAll of this to say, good teachers are hard to find, and are worth their weight in gold. For every teacher on the list above, I failed with at least 5 more.\nIf you ever feel dumb, despite doing your best, like I constantly did, maybe it’s just the fact that the teacher and you are not compatible. The way they teach, might not be the way you understand\nWhich is why, if you are privileged enough to do so (or are willing to put in the time and the effort), there is no shame in looking for a ‘better’ teacher. No worries in doing the work of finding that someone who can make stuff go ‘click’ in your mind; who can make the world make better sense to you\nMy experience has been that such folk are hard to find, and when you do luck across gems (like the people above) make sure they know it.\nBe grateful that life has brought you to them.\nAnd make sure you learn all you can, to the best of your ability.\nReuven’s courses are worth it, for the groan worthy puns alone.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nSomething that I’ve wanted to do since the 90s\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"27 octobre 2021","externalUrl":null,"permalink":"/personal/to-my-teachers-with-gratitude/","section":"Personal","summary":"","title":"To my Teachers, With Gratitude","type":"personal"},{"content":"This post was first sent to my newsletter on October 3rd, 2021.\nYou really ought to subscribe :)\n*A long leisurely ride, in a shikara amongst the lakes of Shrinagar* It’s October! Time to play catchup with Jason’s letters! :)\nAs usual, click the headers to wander off to the originals.\nI read a few books and wrote about them!\nBrave Enough This is Water How to Pronounce Knife A Mathematician’s Lament The Comfort Crisis The first two, I believe, should be mandatory reading for every growing adult.\nSeth Godin on The Weight of Repetitive Tasks # The beauty of Seth Godin¸ is that every post of his is darn near quotable!\nIf we’re lucky enough to work indoors, with free snacks and podcasts in the background, we might not get physically exhausted the way we would moving thousands of pounds of bricks. But the cognitive and emotional toll of repetitive tasks is real, even if doesn’t leave calluses.\nThe discipline is to invest one time in getting your workflow right instead of paying a penalty for poor digital hygiene every single day.\nHacking your way through something “for now” belies your commitment to your work and your posture as a professional. Get the flow right, as if you were hauling bricks.\nThe Art of Manliness page on Habit Formation # If you’ve failed at habit building or breaking in the past, you might think you just need more willpower.\nThat’s not what James Clear argues in this interview. Rather, it’s simply about crafting optimal systems for behavior change. Clear walks the listener through his own research-backed 4-step process for effective habit formation.\nThe Daily Stoic on the Pursuit of Knowledge # Does the pursuit of knowledge ever end? We need to keep at it, says the Daily Stoic.\nSo when does this all culminate and coalesce into wisdom? When are you good?\nNever. The answer is never.\n“Until when is a person obligated to study Torah?” Maimonides once asked, rhetorically.\n“Until the day of one’s death.”\nSo here’s to ever pursuing knowledge! I’ll see you next month, folks :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"10 octobre 2021","externalUrl":null,"permalink":"/personal/on-the-weight-of-repetitive-tasks-forming-habits-and-the-pursuit-of-knowledge/","section":"Personal","summary":"","title":"On the Weight of Repetitive Tasks, Forming Habits and the Pursuit of Knowledge","type":"personal"},{"content":"Read and Be Merry, over on Tumblr, has this perfect list of books to read, before you die.\nIt’s pretty short, so I’m cribbing it here in its entirety.\nAny book you want Don’t read books you don’t want to read That’s it Congratulations you did it! This shall be my advice to all folk interested in there next book, henceforth!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"2 octobre 2021","externalUrl":null,"permalink":"/personal/list-of-books-to-read-before-you-die/","section":"Personal","summary":"","title":"List of Books to Read Before You Die","type":"personal"},{"content":"","date":"24 septembre 2021","externalUrl":null,"permalink":"/tags/codenewbie/","section":"Tags","summary":"","title":"Codenewbie","type":"tags"},{"content":"","date":"24 septembre 2021","externalUrl":null,"permalink":"/tags/devto/","section":"Tags","summary":"","title":"Devto","type":"tags"},{"content":"","date":"24 septembre 2021","externalUrl":null,"permalink":"/tags/history/","section":"Tags","summary":"","title":"History","type":"tags"},{"content":"This post was first sent to my newsletter on September 17th, 2021.\nYou really ought to subscribe :)\nvia Michelle Scott on Pixabay\nWelcome folks, to the September work letter! :)\nAs usual, click the headers to wander off to the orginal articles.\nA Bear? Where? Over There — Strapping a giant teddy bear to a car in the name of highway safety # You’re adapting my what?\nWhen activated, adaptive cruise control uses forward-looking radar to maintain a specific distance to a vehicle in the lane ahead, slowing down or speeding up (to a maximum of whatever speed cruise control was set to) as necessary. Lane-keeping systems use forward-looking cameras to detect the lane markings on a road to keep the vehicle between them, and when both are active together, the vehicle will do a pretty good facsimile of driving itself, albeit with extremely limited situational awareness.\nWhich is where the human comes in. Under the SAE\u0026rsquo;s definitions for automated driving, in Level 2 the car controls braking, acceleration, and deceleration, but the human is responsible for providing situational awareness at all times. Of course, this raises the question of whether the driver is actually paying attention.\n[…] To test whether drivers were actually paying attention while using a Level 2 system, IIHS recruited participants and then had them drive for roughly an hour, either using the car\u0026rsquo;s Level 2 system or not. At three predetermined locations on the test route, a second car—the one with the large pink bear attached to its trunk—would overtake the participant\u0026rsquo;s vehicle. At the end of the study, the drivers were asked if they saw anything odd, and if so, how many times.\nTT2020 is an advanced, open source, hyperrealistic, multilingual typewriter font for a new decade! # Crazy obsessions like this, are why even I got into writing software.\nFrom the problem page,\nIn the second image, there are three ‹N›’s. Yet, they all look exactly the same. A real typewriter can, quite rarely, have one of its letters damaged, or misaligned, such that that letter regularly makes an inferior strike to all the other letters. However, this degree of regularity is impossible; could Underwood or Remington have acheived it, they would have leapt for joy.\nWhile working on the project, incredibly, another bad typewriter scene intruded upon my life. I don\u0026rsquo;t often sit around and watch movies, so I suppose there are only two possibilities:\na. There are so many of these unrealistic typewritten documents in late-2010’s cinema that almost any movie with a typewritten document in it will be hopelessly unrealistic, or\nb. The universe, nay, God himself, was urging me on to complete this project in lieu of others I could finish!\nThe Font is here.\nHome Assistant decided to implement password security checks by integrating Pwned Password lookups at the Have I Been Pwned project and all hell broke loose. Here’s Troy Hunt’s measured look at the situation. # I’ve written before about how IRL analogies are terrible and this one is no exception. You will not die if you use a weak password. There aren’t government regulations defining how the software is built. You can be any age to operate it. Home Assistant is free. And so on and so forth.\nCars warn you about a number of unsafe decisions and so does Home Assistant, but that’s where the similarities end. Everything else can be adequately discussed by simply talking about the technology rather than trying to find things IRL to compare to.\nIf it’s in Pwned Passwords, I\u0026rsquo;ve seen it in plain text. If I’ve seen it in plain text, hackers have seen it in plain text. It doesn’t matter how many letters and numbers and symbols you’ve got in your password, if it’s in Pwned Passwords then it’s floating around the web where plenty of other people have access to it. The guidance from NIST I quoted earlier said not to use “passwords obtained from previous breach corpuses” - there is no caveat that says “unless you think it\u0026rsquo;s a really good one”!\nPascal has already indicated this will be configurable and as I said earlier, I agree. With the benefit of hindsight, I suspect he’d do things differently in the first place, even though the intention was good.\nI do agree with the comments that people should be free to be dicks and deal with the consequences. What I’d like to encourage people to do, however, is to take this as an opportunity to get a password manager and strengthen all passwords that require it.\nUntil the next letter folks!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"24 septembre 2021","externalUrl":null,"permalink":"/personal/on-teddy-bears-in-cars-font-obsessions-and-home-passwords-pwnd-password-kerfuffle/","section":"Personal","summary":"","title":"On Teddy Bears in Cars, Font Obsessions and Home Password’s Pwnd Password Kerfuffle","type":"personal"},{"content":"","date":"24 septembre 2021","externalUrl":null,"permalink":"/tags/tech/","section":"Tags","summary":"","title":"Tech","type":"tags"},{"content":" It’s September! Time for a new letter :)\nAs usual, click the headers to wander off to the originals.\nLeo Babauta on the First Two Steps to Creating Resilience # If you’ve known me for any length of time in the past decade, you know I set great store on being Antifragile..\nWhile Leo says these are two beginner steps, to my mind, these two will bear the brunt of all the resiliency / antifragile weight. It’ll take you more than half the way there.\nThe first step is to remove things that are adding unnecessary stress.\nThe second step is to do things that help us feel replenished.\nRyan Holiday presents A Practical Philosophy Reading List: A Few Books You Can Actually Use in Real Life # Any philosophy forged in the crucible of action and subject to hardship, endures.\nLike Stoicism did.\nYou must know by now: I don’t believe that philosophy is something for the classroom. It’s something that helps you with life. It shouldn’t be complicated. It shouldn’t be confusing. It should be clear, and it should be usable. As Epicurus put it, “Vain is the word of the philosopher which does not heal the suffering of man.”\nDavid Ogilvy had skin in the game! Who knew? # Continuing with our theme of action and doing, even the creative process is not all in the mind.\nIt requires digging down in the mud and blood and sweat and tears …\nThe Ogilvy agency … was founded by a man who didn’t have an MBA, or even a college degree.\nBefore he became the King of Madison Avenue, Englishman David Ogilvy was an Oxford dropout who worked as a chef in Paris, a door-to-door salesman, a researcher for George Gallup, an agent of the British Intelligence Service during WWII, and a farmer in Pennsylvania.\nIn fact, while most agencies had subordinates present campaign ideas to clients, Ogilvy often made these presentations himself; he wanted to be directly involved, and felt it made the pitches more memorable (“One orchestra looks like every other orchestra, but there is no confusing one conductor with another”).\nOgilvy also rejected around 60 potential new clients each year. A common reason for this rejection was the chairman’s lack of confidence in the product that a company wanted his agency to pitch. Ogilvy used all the products he advertised, and wouldn’t create campaigns for those he couldn’t personally back, believing that it was “flagrantly dishonest for an advertising agent to urge consumers to buy a product which he would not allow his own wife to buy,” and that it was impossible to craft an effective ad for something you couldn’t earnestly get behind …\nUntil next time!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"12 septembre 2021","externalUrl":null,"permalink":"/personal/on-resilience-philosophy-and-creative-success/","section":"Personal","summary":"","title":"On Resilience, Philosophy and Creative Success","type":"personal"},{"content":"My idols have feet of clay, as usual. The book is one of those, do as I say, not as I do books. I learnt about his abusive behaviour about a month after reading the book. While I absolutely loved reading it, I cannot in good conscience suggest you buy it anymore. Hopefully the clip I linked to, should be enough, because what he did share in the talk, is worth emulating, even if he himself, didn’t.\nAt some point in my mid twenties, before I found Stoicism, I somehow managed to start looking at things in my life, from other points of view.\nAnd I was wondering how I got to be so “adult”, at least in that sense, when I did the rest of my growing up and adulting in my mid thirties. It was not the Catholic faith that I was brought up in, nor had I found the Stoic sensibilities that I’d stumble across much later in life.\nI found the answer today as I was cleaning out my book shelves.\nIt was David Foster Wallace’s talk, This is Water.\nI remembered the message and forgot the source! Talk about internalising a book.\nI listened to it over and over and over in the mid 2000s, and when the book was published in 2009, soon after his tragic death, I went and bought a copy and then read that to tatters too.\nThis little volume, was the bridge that took me, as I struggled from being laid off through five years of craziness until my mind and heart settled down.\nThe tiny book I have, is this small talk I’ve linked below, spread across a hundred easy breathing pages.\nbrainpicker · David Foster Wallace: \u0026quot;This Is Water\u0026quot; (part 1) *[Part 1][scdfwtiw1]* brainpicker · David Foster Wallace: \u0026quot;This Is Water\u0026quot; (part 2) *[Part 2][scdfwtiw2]* This is the part, that has always stuck with me,\n“Learning how to think” really means learning how to exercise some control over how and what you think.\nIt means being conscious and aware enough to choose what you pay attention to and to choose how you construct meaning from experience.\nBecause if you cannot exercise this kind of choice in adult life, you will be totally hosed.\nThink of the old cliché about “the mind being an excellent servant but a terrible master.”\nThis, like many clichés, so lame and banal on the surface, actually expresses a great and terrible truth.\nAnd this is just one lesson.\nMaria Popova lists a ton on her post about the talk.\nShane Parrish lists it in his books that have the most page–for–page wisdom.\nAnd then goes further and transcribes it completely.\nSo listen and read and go buy the book and destroy it too.\nThe lessons are worth it.\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"31 août 2021","externalUrl":null,"permalink":"/personal/this-is-water/","section":"Personal","summary":"","title":"This is Water","type":"personal"},{"content":"This was so much fun!\nIf I had teachers or mentors like Kip Thorne in my youth, I’d have never had such a crippling fear of mathematics or the hard sciences.\nI’d have never plagued by doubt and fear, that I was not smart enough or good enough.\nI have just one note to share. This is Kip as he closes the book …\nEvery time I watch Interstellar and browse back through this book, I’m amazed at the enormous variety of science they contain. And the richness and beauty of that science.\nMore than anything, I’m moved by Interstellar’s underlying, optimistic message: We live in a universe governed by physical laws. By laws that we humans are capable of discovering, deciphering, mastering, and using to control our own fate. Even without bulk beings to help us, we humans are capable of dealing with most any catastrophe the universe may throw at us, and even those catastrophes we throw at ourselves—from climate change to biological and nuclear catastrophes.\nBut doing so, controlling our own fate, requires that a large fraction of us understand and appreciate science: How it operates. What it teaches us about the universe, the Earth, and life. What it can achieve. What its limitations are, due to inadequate knowledge or technology. How those limitations may be overcome. How we transition from speculation to educated guess to truth. How extremely rare are revolutions in which our perceived truth changes, yet how very important.\nI hope this book contributes to that understanding.\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"30 août 2021","externalUrl":null,"permalink":"/personal/the-science-of-interstellar/","section":"Personal","summary":"","title":"The Science of Interstellar","type":"personal"},{"content":"Welcome to August’s work letter :)\nAs usual, click the headings to wander off to the original articles\nA couple of my own posts # I wrote about my thoughts on my Kindle Oasis …\nI got it.\nI used it.\nAnd decided within a day, that I was not going back to a Paperwhite, ever.\nI realised that the Oasis, to me, is not a “premium” device.\nand joining images using ImageMagick.\nTwo exhaustive articles on the historical significance of the Arpanet and how the protocol worked # Article 1 Article 2 This is what was totally new about the ARPANET. The ICCC demonstration didn’t just involve a human communicating with a distant computer. It wasn’t just a demonstration of remote I/O. It was a demonstration of software remotely communicating with other software, something nobody had seen before.\nSo what I’m trying to drive home here is that there is an important distinction between statement A, “the ARPANET connected people in different locations via computers for the first time,” and statement B, “the ARPANET connected computer systems to each other for the first time.” That might seem like splitting hairs, but statement A elides some illuminating history in a way that statement B does not.\nIn a section with the belabored title, “Technical Aspects of the Effort Which Were Successful and Aspects of the Effort Which Did Not Materialize as Originally Envisaged,” the authors wrote:\n*Possibly the most difficult task undertaken in the development of the ARPANET was the attempt—which proved successful—*to make a number of independent host computer systems of varying manufacture, and varying operating systems within a single manufactured type, communicate with each other despite their diverse characteristics.\nThere you have it from no less a source than the federal government of the United States.\nThe 1Password blog with a high level overview of their Smart Password Generator # Long, random passwords just aren’t convenient. If you need to enter 45 randomly-generated characters on another device often enough, you’ll inevitably change that password to something like password123 because it’s easy to type and remember. It’s also - you got it - not strong.\nWhile a lengthy, unintelligible password may appear stronger than a smart one, it’s mainly illusion. Pronounceable syllables make a smart password look human generated and, therefore, weaker. But a human-generated password could never be chosen uniformly and, therefore, can’t be accurately assessed for entropy.\nWe’ve made a compromise of sorts. We’ve sacrificed a few bits of (theoretical) entropy, that don’t affect real-world security, to gain a whole lot of convenience, compatibility, and accessibility — and those certainly are real world, which is what really matters.\nMahmoud Hashemi talks about Changing the Tires on a Moving Codebase # We realized that CI is more sensitive than most users for most of the site. So we focused in on testing the highest impact code. What’s high-impact? 1) the code that fails most visibly and 2) the code that’s hardest to retry. You can build an inventory of high-impact code in under a week by looking at traffic stats, batch job schedules, and asking your support staff.\nAnd it really is important to develop close ties with your support team. Embedded in our strategy above was that CI is much more sensitive than a real user. While perfection is tempting, it’s not unrealistic to ask a bit of patience from an enterprise user, provided your support team is prepared. Sync with them weekly so surprise is minimized. If they’re feeling ambitious, you can teach them some Sentry basics, too.\nMy main lessons from Mahmoud’s post …\nEveryone has a plan ’till they get punched in the mouth. — Mike Tyson Prioritise work, on what actually matters. Perfection can wait. People and their feedback comes first. Matters a lot more than data driven decisions. After all, software is used by and for people. Until the next letter, folks … :)\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"27 août 2021","externalUrl":null,"permalink":"/personal/on-arpanet-passwords-and-moving-codebases/","section":"Personal","summary":"","title":"On Arpanet, Passwords and Moving Codebases","type":"personal"},{"content":" This is a picture of my notes, when I import them in from the Kindle.\nAnd every time I have to corral them into some sort of structure or write a blog post, I needed to laboriously get rid of all the Kindle metadata with multiple searches (and replaces.)\nI mean these lines\n========== Draft No. 4 (John McPhee) - Your Highlight on page 27 | location 406-407 | Added on Sunday, 15 August 2021 12:43:15 But having learnt Regex about a year ago, I have been using it on and off and have come to appreciate the power it offers.\nAnd I’ve been increasingly trying to solve all of my text search issues using regex, everywhere.1\nWith a recent book, I managed to use regex to get rid of single lines all at once.\nIt still took me 3 sets of search and replaces though.\nSo today, I got lazier and curiouser and wondered if I could do all three lines together.\nI was trying combinations of /g and /gs to somehow get the regex engine to span lines, but no dice.\nA bit of web surfing led me to this post which told me that, all I needed to do was match newline literals \\n\nThis led, to me tinkering and coming up with this search regex\n==========[\\n\\s]D.*[\\n\\s]-.*\nWhich led to …\nmatching everything in one fell swoop!\nAll hail the power of regex!\nP.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n(emphasis on trying. I’m no regex genius)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 août 2021","externalUrl":null,"permalink":"/work/multiline-regex-search-in-vs-code/","section":"Work","summary":"","title":"Multiline Regex Search in VS Code","type":"work"},{"content":"","date":"16 août 2021","externalUrl":null,"permalink":"/tags/vscode/","section":"Tags","summary":"","title":"Vscode","type":"tags"},{"content":"Just finished John McPhee’s, Draft No. 4.\nI could pithily summarise it as …\nPractice a lot of things. Work at finding your thing. Practice you thing (lots! deeply! a fuckton.) Work within established rules. Bend the rules to fit your thing. Break the rules once you know your thing deeply! McPhee writes about the craft of writing.\nBut the advice could apply broadly to any creative endeavour.\nThis series of essays and lessons and backstory was also hugely confirming to me.\nBecause, while I may not have McPhee’s grace and economy, most of his advice is something I have always understood and done intuitively.\nLike he’d say something and then illustrate it.\nLike he struggles, even now, the way I do, every time I sit down to write.\nThat these things take time. (and that we can be ok with it)\nThat my prose is grasping at the way he writes. Sturdy, workman-like, no muss, no fuss.\nThe journey is hard work for most people, the gifted are few.\nI’d would have called it the definitive book, the first book to read, on the craft of writing, if I had not already read, Caro’s, Working.\nThis is what I’d written about Working …\nif you haven’t read the Power Broker, you should\nif you haven’t read the Lyndon volumes, you should\nthis book is Caro’s account of the work, that went into those works.\nthe ceaseless toil, the thankless years, the people and their stories\nCaro is Caro, master of the craft.\nThere are only a few explicit lessons here.\nbut plenty if you care enough to read between the lines\nplenty if you make this an annual read, like i will\nMcPhee treads the same ideas on a different path, and I loved both journeys (I love Caro, only a little more).\nSo now, I have two books that I’d recommend as books to read on the craft.\nHighlights from the book follow (all emphases, mine),\nAfter putting the two cards together, and then constructing around them the rest of the book, all I had to do was write it, and that took more than a year.\nIt is meant to be about as visible as someone’s bones. And I hope this structure illustrates what I take to be a basic criterion for all structures: they should not be imposed upon the material. They should arise from within it. That perfect circle was a help to me, but it could be a liability for anyone trying to impose such a thing on just any set of facts. A structure is not a cookie cutter.\nCertain Baroque poets, among others, wrote shaped verse, in which lines were composed so that the typography resembled the topic—blossoms, birds, butterflies. That also is not what I mean by structure. A piece of writing has to start somewhere, go somewhere, and sit down when it gets there. You do that by building what you hope is an unarguable structure. Beginning, middle, end. Aristotle, Page 1.\nEach of those structures, from the nineteen-sixties and nineteen-seventies, was worked out after copying with a typewriter all notes from notebooks and transcribing the contents of microcassettes. I used an Underwood 5, which had once been a state-of-the-art office typewriter but by 1970 had been outclassed by the I.B.M. Selectric. With the cassettes, I used a Sanyo TRC5200 Memo-Scriber, which was activated with foot pedals, like a sewing machine or a pump organ.\nThe note-typing could take many weeks, but it collected everything in one legible place, and it ran all the raw material in some concentration through the mind.\nThe notes from one to the next frequently had little in common. They jumped from topic to topic, and only in places were sequentially narrative. So I always rolled the platen and left blank space after each item to accommodate the scissors that were fundamental to my advanced methodology.1\nAfter reading and rereading the typed notes and then developing the structure and then coding the notes accordingly in the margins and then photocopying the whole of it, I would go at the copied set with the scissors, cutting each sheet into slivers of varying size. If the structure had, say, thirty parts, the slivers would end up in thirty piles that would be put into thirty manila folders. One after another, in the course of writing, I would spill out the sets of slivers, arrange them ladderlike on a card table, and refer to them as I manipulated the Underwood.\nIf this sounds mechanical, its effect was absolutely the reverse. If the contents of the seventh folder were before me, the contents of twenty-nine other folders were out of sight. Every organizational aspect was behind me. The procedure eliminated nearly all distraction and concentrated just the material I had to deal with in a given day or week. It painted me into a corner, yes, but in doing so it freed me to write\nPeople often ask how I know when I’m done—not just when I’ve come to the end, but in all the drafts and revisions and substitutions of one word for another how do I know there is no more to do? When am I done? I just know. I’m lucky that way. What I know is that I can’t do any better; someone else might do better, but that’s all I can do; so I call it done.\nIt is so easy to misjudge yourself and get stuck in the wrong genre. You avoid that, early on, by writing in every genre. If you are telling yourself you’re a poet, write poems. Write a lot of poems. If fewer than one work out, throw them all away; you’re not a poet. Maybe you’re a novelist. You won’t know until you have written several novels.\nBen Jonson summarized the process when he said,\n“Though a man be more prone and able for one kind of writing than another, yet he must exercise all.”\nGender aside, I take that to be a message to young writers. Art is where you find it. Good writing is where you find it.\nAfter all those one-on-one sessions discussing back-door plays and the role of the left-handed comma in the architectonics of basketball—while The New Yorker magazine hurtled toward its deadlines—I finally said in wonderment, “How can you afford to use so much time and go into so many things in such detail with just one writer when this whole enterprise is yours to keep together?”\n*He said, *“It takes as long as it takes.”\nAs a writing teacher, I have repeated that statement to two generations of students. If they are writers, they will never forget it.\nShawn also recognized that no two writers are the same, like snowflakes and fingerprints. No one will ever write in just the way that you do, or in just the way that anyone else does. Because of this fact, there is no real competition between writers. What appears to be competition is actually nothing more than jealousy and gossip. Writing is a matter strictly of developing oneself. You compete only with yourself. You develop yourself by writing. An editor’s goal is to help writers make the most of the patterns that are unique about them.\nStudents have always asked what I do to prepare for interviews. Candidly, not much. At minimum, though, I think you should do enough preparation to be polite. You would not have wanted to ask Stephen Harper what he did for a living. Before, during, and after an interview, or a series of interviews, do as much reading as the situation impels you to do. In the course of writing, you really find out what you don’t know, and you read in an attempt to get it right. Nonetheless, you get it wrong, especially if you are an innumerate English major and you are writing about science.\nBut science, for me, is the exception that probes the rule. I have never published anything on a science that has not been vetted by the scientists involved.\nOnce captured, words have to be dealt with. You have to trim them and straighten them to make them transliterate from the fuzziness of speech to the clarity of print. Speech and print are not the same, and a slavish presentation of recorded speech may not be as representative of a speaker as dialogue that has been trimmed and straightened.\n*Please understand: *You trim and straighten—take the “um”s, “uh”s, and “uh but um”s out, the false starts—but you do not make it up.\nIt isn’t all like that—only the first draft. First drafts are slow and develop clumsily because every sentence affects not only those before it but also those that follow. The first draft of my book on California geology took two gloomy years; the second, third, and fourth drafts took about six months altogether.\nThat four-to-one ratio in writing time—first draft versus the other drafts combined—has for me been consistent in projects of any length, even if the first draft takes only a few days or weeks. There are psychological differences from phase to phase, and the first is the phase of the pit and the pendulum. After that, it seems as if a different person is taking over. Dread largely disappears. Problems become less threatening, more interesting. Experience is more helpful, as if an amateur is being replaced by a professional. Days go by quickly and not a few could be called pleasant, I’ll admit.\n“Dear Jenny: The way to do a piece of writing is three or four times over, never once.\nFor me, the hardest part comes first, getting something—anything—out in front of me. Sometimes in a nervous frenzy I just fling words as if I were flinging mud at a wall. Blurt out, heave out, babble out something—anything—as a first draft. With that, you have achieved a sort of nucleus.\nThen, as you work it over and alter it, you begin to shape sentences that score higher with the ear and eye. Edit it again—top to bottom. The chances are that about now you’ll be seeing something that you are sort of eager for others to see.\nAnd all that takes time. What I have left out is the interstitial time.\nYou finish that first awful blurting, and then you put the thing aside. You get in your car and drive home. On the way, your mind is still knitting at the words. You think of a better way to say something, a good phrase to correct a certain problem. Without the drafted version—if it did not exist—you obviously would not be thinking of things that would improve it. In short, you may be actually writing only two or three hours a day, but your mind, in one way or another, is working on it twenty-four hours a day—yes, while you sleep—but only if some sort of draft or earlier version already exists. Until it exists, writing has not really begun.”\nMartha calls me up nine times a day to tell me that writing is impossible, that she’s not cut out to do it, that she’ll never finish what she is working on, et cetera, et cetera, and so forth and so on, and I, who am probably disintegrating a third of the way through an impossible first draft, am supposed to turn into the Rock of Gibraltar. The talking rock: “Just stay at it; perseverance will change things.” “You’re so unhappy you sound authentic to me.” “You can’t make a fix unless you know what is broken.”\nShe said, “My style is always that of what I am reading at the time—or overwhelmingly self-conscious and strained.”\nI said, “How unfortunate that would be if you were fifty-four. At twenty-three, it is not only natural; it is important. The developing writer reacts to excellence as it is discovered—wherever and whenever—and of course does some imitating (unavoidably) in the process of drawing from the admired fabric things to make one’s own. Rapidly, the components of imitation fade. What remains is a new element in your own voice, which is not in any way an imitation. Your manner as a writer takes form in this way, a fragment at a time. A style that lacks strain and self-consciousness is what you seem to aspire to, or you wouldn’t be bringing the matter up. Therefore, your goal is in the right place.\nSo practice taking shots at it. A relaxed, unself-conscious style is not something that one person is born with and another not. Writers do not spring full-blown from the ear of Zeus.”\nJenny said, “I can’t seem to finish anything.”\nI said, “Neither can I.” Then I went back to my own writing, my own inability to get going until five in the afternoon, my animal sense of being hunted, my resemblance to the sand of Gibraltar.\nIt is toward the end of the second draft, if I’m lucky, when the feeling comes over me that I have something I want to show to other people, something that seems to be working and is not going to go away.\nAfter reading the second draft aloud, and going through the piece for the third time (removing the tin horns and radio static that I heard while reading), I enclose words and phrases in pencilled boxes for Draft No. 4.\nIf I enjoy anything in this process it is Draft No. 4. I go searching for replacements for the words in the boxes. The final adjustments may be small-scale, but they are large to me, and I love addressing them. You could call this the copy-editing phase if real copy editors were not out there in the future prepared to examine the piece.\nYou draw a box not only around any word that does not seem quite right but also around words that fulfill their assignment but seem to present an opportunity. While the word inside the box may be perfectly O.K., there is likely to be an even better word for this situation, a word right smack on the button, and why don’t you try to find such a word?\nIf none occurs, don’t linger; keep reading and drawing boxes, and later revisit them one by one. If there’s a box around “sensitive” because it seems pretentious in the context, try “susceptible.” Why “susceptible”? Because you looked up “sensitive” in the dictionary and it said “highly susceptible.”\nWith dictionaries, I spend a great deal more time looking up words I know than words I have never heard of—at least ninety-nine to one. The dictionary definitions of words you are trying to replace are far more likely to help you out than a scattershot wad from a thesaurus. If you use the dictionary after the thesaurus, the thesaurus will not hurt you.\nSo draw a box around “wad.” Webster: “The cotton or silk obtained from the Syrian swallowwort, formerly cultivated in Egypt and imported to Europe.” Oh. But read on: “A little mass, tuft, or bundle … a small, compact heap.” Stet that one.\nI call this “the search for the mot juste,” because when I was in the eighth grade Miss Bartholomew told us that Gustave Flaubert walked around in his garden for days on end searching in his head for le mot juste. Who could forget that? Flaubert seemed heroic. Certain kids considered him weird.\nIn the search for words, thesauruses are useful things, but they don’t talk about the words they list. They are also dangerous. They can lead you to choose a polysyllabic and fuzzy word when a simple and clear one is better.\n*The value of a thesaurus is not to make a writer seem to have a vast vocabulary of recondite words. The value of a thesaurus is in the assistance it can give you in finding the best possible word for the mission that the word is supposed to fulfill. Writing teachers and journalism courses have been known to compare them to crutches and to imply that no writer of any character or competence would use them. At best, thesauruses are mere rest stops in the search for the *mot juste. Your destination is the dictionary.\nSuppose you sense an opportunity beyond the word “intention.” You read the dictionary’s thesaurian list of synonyms: “intention, intent, purpose, design, aim, end, object, objective, goal.” But the dictionary doesn’t let it go at that. It goes on to tell you the differences all the way down the line—how each listed word differs from all the others. Some dictionaries keep themselves trim by just listing synonyms and not going on to make distinctions. You want the first kind, in which you are not just getting a list of words; you are being told the differences in their hues, as if you were looking at the stripes in an awning, each of a subtly different green. Look up “vertical.” It tells you—believe it or not—that “vertical,” “perpendicular,” and “plumb” differ each from the two others. Ditto “plastic, pliable, pliant, ductile, malleable, adaptable.” Ditto “fidelity, allegiance, fealty, loyalty, devotion, piety.”\nI grew up in canoes on northern lakes and forest rivers. Thirty years later, I was trying to choose a word or words that would explain why anyone in a modern nation would choose to go a long distance by canoe. I was damned if I was going to call it a sport, but nothing else occurred. I looked up “sport.” There were seventeen lines of definition: “1. That which diverts, and makes mirth; pastime; diversion. 2. A diversion of the field.” I stopped there.\nHis professed criteria were to take it easy, see some wildlife, and travel light with his bark canoes—nothing more—and one could not help but lean his way. I had known of people who took collapsible cots, down pillows, chain saws, outboard motors, cases of beer, and battery-powered portable refrigerators on canoe trips—even into deep wilderness. You set your own standards. Travel by canoe is not a necessity, and will nevermore be the most efficient way to get from one region to another, or even from one lake to another—anywhere. A canoe trip has become simply a rite of oneness with certain terrain, a diversion of the field, an act performed not because it is necessary but because there is value in the act itself.…\nWriting is selection.\nJust to start a piece of writing you have to choose one word and only one from more than a million in the language. Now keep going. What is your next word? Your next sentence, paragraph, section, chapter? Your next ball of fact. You select what goes in and you decide what stays out.\nAt base you have only one criterion: If something interests you, it goes in—if not, it stays out. That’s a crude way to assess things, but it’s all you’ve got. Forget market research. Never market-research your writing. Write on subjects in which you have enough interest on your own to see you through all the stops, starts, hesitations, and other impediments along the way.\nIdeally, a piece of writing should grow to whatever length is sustained by its selected material—that much and no more.\nGreen 4 does not mean lop off four lines at the bottom, I tell them. The idea is to remove words in such a manner that no one would notice that anything has been removed.\nJust like I do here!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 août 2021","externalUrl":null,"permalink":"/personal/draft-no-4/","section":"Personal","summary":"","title":"Draft No. 4","type":"personal"},{"content":"This post was first sent to my newsletter on August 1st, 2021.\n[You really ought to subscribe][1] :)\n*Clouds sailing across [Pangong Tso][wpt]. Click to enlarge* New month, new letter!\nAs usual, click the headers to wander off to the original articles\nMaria Popova on How Reading Is Like Love # Now you are being read. Your body is being subjected to a systematic reading, through channels of tactile information, visual, olfactory, and not without some intervention of the taste buds. Hearing also has its role, alert to your gasps and your trills. It is not only the body that is, in you, the object of reading: the body matters insofar as it is part of a complex of elaborate elements, not all visible and not all present, but manifested in visible and present events: the clouding of your eyes, your laughing, the words you speak, your way of gathering and spreading your hair, your initiatives and your reticences, and all the signs that are on the frontier between you and usage and habits and memory and prehistory and fashion, all codes, all the poor alphabets by which one human being believes at certain moments that he is reading another human being …\nRelated watching: Max Joseph’s awesome video on, How to Read More Books in the Golden Age of Content.\nIt’s 40 minutes long, but definitely worth every minute of your time.\nRyan Holiday’s 100 (Short) Rules for a Better Life # 4 - Say no (a lot).\n15 - It’s not about routine but about practices.\n71 - Go the f*ck to sleep.\n81 - Don’t just read books, re-read books.\nAfter all,\nvia, Ricardo Siri\nShane Parrish posits Your Thinking Rate Is Fixed # A good metaphor is installing an update to the operating system on your laptop. Would you rather install an update that fixes bugs and improves existing processes, or one that just makes everything run faster?\nObviously, you’d prefer the former. The latter would just lead to more crashes. The same is true for updating your mental operating system.\nHave a lovely August! Until next time …\n","date":"8 août 2021","externalUrl":null,"permalink":"/personal/on-how-reading-is-like-love-and-rules-for-a-better-life/","section":"Personal","summary":"","title":"On How Reading is Like Love and Rules for a Better Life","type":"personal"},{"content":"","date":"6 août 2021","externalUrl":null,"permalink":"/tags/imagemagick/","section":"Tags","summary":"","title":"Imagemagick","type":"tags"},{"content":"Sometimes, I want to share snippets of what I am reading with my friends.\nKindles make it easy, with screenshots.\nThe only issue being I want to share the full length of two pages, like I’d do if I was reading a book.\nAnd I need it often enough, that I felt I needed to go figure out some way to do it.\nIt was an easy-ish hack on the mac with printing with Preview.\nBut now, that I use Linux, I wondered if I could do better.\nA little bit of spelunking and I figured out how to let ImageMagick do the hard work for me.\nThe suite comes with a utility called Convert, that does exactly what I need.\nThe basic command structure is,\nsome-imagemagick-utility -options input-file-1 input-file-2 … output-file\nSo to join my screenshots all I needed to do was,\nconvert +append dff1.png dff2.png combined-kindle-screenshot.png\nand boom!\nWhile this is what I want, the convert utility also lets me stack them one below the other by using -append like so …\nconvert -append dff1.png dff2.png combined-kindle-screenshot.png\nYes, I know ImageMagick is the bees knees when it comes to images, but I guess this will be the most I’ll ever use it :) 1\nFamous last words! 😂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"6 août 2021","externalUrl":null,"permalink":"/work/joining-two-images-using-imagemagick/","section":"Work","summary":"","title":"Joining Two Images Using ImageMagick","type":"work"},{"content":"My homepage lists my new career shift as\n“This is me, attempting to reinvent myself as a journeyman programmer. (aiming at craftsmanship)”\nI’ve never warmed to the term coder. For some reason, it never meshed with the way I thought about my new career and the work I wanted to do. And I couldn’t quite articulate just how I thought they were different.\nToday as I began reading The Secret Life of Programshtml though, I found author Jonathan E. Steinhart’s already done the hard work giving me a lovely explicit definition that I cannot better, even if I tried endlessly.\nHere’s his take …\nA number of different terms are used to describe working with software. These terms have no exact definitions, although they have acquired some rough meanings.\nCoding, a fairly recent term popularized as part of “learning to code,” can be viewed as the somewhat mechanical work of translation. Let’s compare it to the job of medical coding. When you visit a doctor, getting a diagnosis is the easy part. The hard part is translating that diagnosis into one of the over 100,000 codes in the ICD standards, ICD-10 at the time of writing. A Certified Professional Coder who has learned these codes knows that, when a doctor comes up with a diagnosis of “struck by cow,” it should be assigned code W55.2XA. This is actually harder than many coding jobs in the programming space due to the sheer number of codes. But the process is similar to what a coder would do if directed to “make that text bold” on a web page; a coder knows which code to use to make that happen.\nThe ICD-10 standard is so complicated that few coders know it all. Instead, medical coders get certified in specialty areas such as “Diseases of the nervous system” or “Mental and behavioral disorders.” This is analogous to a coder being proficient in a language such as HTML or JavaScript.\nBut programming*—that is, being a programmer—means knowing more than a specialty area or two. The doctor in this scenario is analogous to a programmer. The doctor determines a diagnosis by evaluating the patient. This can be pretty complex. For example, if a patient has burns and is soaking wet, is it a “bizarre personal appearance” (R46.1) or a “burn due to water skis on fire, initial encounter” (V91.07XA)? Once the doctor has diagnosis, a treatment plan can be devised. The treatment plan must be effective; the doctor probably doesn’t want to see the same patient suffering from a bad case of “parental overprotection” (Z62.1).*\nJust like the doctor, a programmer evaluates a problem and determines a solution. For example, maybe there’s a need for a website that allows people to rank ICD-10 codes in terms of silliness. A programmer would determine the best algorithms for storing and manipulating the data, the structure of the communication between the web client and server, the user interface, and so on. It’s not a simple “plug in the code” sort of thing.\nEngineering is the next step up in complexity. In general, engineering is the art of taking knowledge and using it to accomplish something. You could consider the creation of the ICD standards to be engineering; it took the large field of medical diagnoses and reduced them to a set of codes that could be more easily tracked and analyzed than doctor’s notes. It’s a matter of opinion as to whether or not such a complex system represents good engineering. As an example of computer engineering, many years ago I worked on a project to build a low-cost medical monitor such as those that you see in hospitals. The charge I was given was to make a system that a doctor or nurse could figure out how to use in less than 5 minutes without any documentation. As you might imagine, this required much more than just knowledge of programming. And I beat the goal—my solution ended up taking about 30 seconds to learn to use.\nProgramming is often confused with computer science. While many computer scientists program, most programmers aren’t computer scientists. Computer science is the study of computing. Computer science discoveries are used by engineers and programmers.\nCoding, programming, engineering, and computer science are independent but related disciplines that differ in the type and amount of knowledge required. Being a computer scientist, engineer, or coder doesn’t automatically make someone a good programmer. … Engineering and programming are similar to music or painting—they’re part skill and part art.\nSo I could also state my goal as\n“This is me, attempting to reinvent myself as a programmer. (aiming at becoming an engineer)”\nI think I’ll stick with my line though. I love the inclusion of the arts in there. Programmer and engineer are too dry without them :)\nBut this little screed helps me explain my intentions better to other people :)\nAnd for that, a hat tip and lots of gratitude to you, Mr. Steinhart!\n","date":"3 août 2021","externalUrl":null,"permalink":"/personal/on-the-difference-between-coding-programming-engineering-and-computer-science/","section":"Personal","summary":"","title":"On the Difference Between Coding, Programming, Engineering, and Computer Science","type":"personal"},{"content":"I have been deleting too many books by mistake, now a days.\nPast Jason might have been pretty sure about what he wanted, but I sure as heck am not.\nSo I had to do a bit of spelunking to figure out how to get the delete book option to confirm first.\nAll I needed to do was Preferences -\u0026gt; Behaviour -\u0026gt; Reset all disabled confirmation dialogs\nEt voilà, Calibre now asks me if I am sure about deleting my books :)\n","date":"2 août 2021","externalUrl":null,"permalink":"/work/reset-confirmations-in-calibre/","section":"Work","summary":"","title":"Reset Confirmations in Calibre","type":"work"},{"content":"If I could distill everything that I have learnt about love and attraction and lust and life and persistence and bravery and marriage and children and facing your fears and growing up?\nIf I could do that, it would be this slim book.\nI stumbled across Cheryl Strayed, in (as usual) a Farnam Street post.\nAnd then promptly bought all her books and forgot about reading them.\nBetter late than never though.\nLike I said, if I could distill everything I know, it’d be this book.\nBut I could never do it as beautifully, as eloquently as Cheryl does.\nRiffing off a popular meme,\nSo did you highlight the book?\nThe book, yes!\nCheryl says in the introduction, “This aims to be a book of yes.” It definitely is!\nI’ve put some here, but honestly, the whole darned book is quotable!\nOn books and quotes and reading …\nThe best quotes don’t speak to one particular truth, but rather to universal truths that resonate—across time, culture, gender, generation, and situation—in our own hearts and minds.\nThey guide, motivate, validate, challenge, and comfort us in our own lives. They reiterate what we’ve figured out and remind us how much there is yet to learn.\nPithily and succinctly, they lift us momentarily out of the confused and conflicted human muddle. Most of all, they tell us we’re not alone. Their existence is proof that others have questioned, grappled with, and come to know the same truths we question and grapple with, too.\nI hope this book serves that purpose for you. Read it like a motherfucker.\nBe brave enough to\nbreak your own heart.\nWe don’t reach the mountaintop from the mountaintop.\nWe start at the bottom and climb up.\nBlood is involved.\nYOU* don’t have to get a job that makes others feel comfortable about what they perceive as your success. You don’t have to explain what you plan to do with your life. You don’t have to justify your education by demonstrating its financial rewards. You don’t have to maintain an impeccable credit score. Anyone who expects you to do any of those things has no sense of history or economics or science or the arts. You have to pay your own electric bill. You have to be kind. You have to give it all you’ve got. You have to find people who love you truly and love them back with the same truth.*\nBut that’s all.\nDon’t surrender all your joy\nfor an idea you used\nto have about yourself that\nisn’t true anymore.\nWhen you recognize that you will thrive not in spite of your losses and sorrows, but because of them, that you would not have chosen the things that happened in your life, but you are grateful for them, that you will hold the empty bowls eternally in your hands, but you also have the capacity to fill them? The word for that is healing.\nEight of the ten things you have decided about yourself at the age of twenty will, over time, prove to be false. The other two things will prove to be so true that you’ll look back in twenty years and howl.\nI considered my options.\nThere was only one, I knew.\nThere was always only one.\nTo keep walking.\nYou go on by doing the best you can.\nYou go on by being generous.\nYou go on by being true.\nYou go on by offering comfort to others who can’t go on.\nYou go on by allowing the unbearable days to pass and by allowing the pleasure in other days.\nYou go on by finding a channel for your love and another for your rage.\nOn taking risks while still young …\nDo not reach the era of child-rearing and real jobs with a guitar case full of crushing regret for all the things you wished you’d done in your youth.\nPeople who didn’t do those things risk becoming mingy, addled, shrink-wrapped versions of the people they intended to be.\nMost things will be okay eventually, but not everything will be.\nSometimes you’ll put up a good fight and lose.\nSometimes you’ll hold on really hard and realize there is no choice but to let go.\nAcceptance is a small, quiet room.\nWhat if I forgave myself? What if I forgave myself even though I’d done some things I shouldn’t have? What if I was sorry, but if I could go back in time I wouldn’t do anything different from what I’d done? What if yes was the right answer instead of no? What if all those things I shouldn’t have done were what got me here?\nWhat if I was never redeemed?\nWhat if I already was?\nHello, fear.\nThank you for being here.\nYou’re my indication\nthat I’m doing what I\nneed to do.\nOn Parenting …\nWhen it comes to our children, we do not have the luxury of despair.\nIf we rise, they will rise with us every time, no matter how many times we’ve fallen.\nRemembering that is the most important work we can possibly do as parents.\nBe about ten times more magnanimous than you believe yourself capable of being. Your life will be a hundred times better for it.\nAn ethical and evolved life entails telling the truth about oneself and living out that truth. Leaving a relationship because you want to doesn’t exempt you from your obligation to be a decent human being. You can leave and still be a compassionate friend to your partner. Leaving because you want to doesn’t mean you pack your bags the moment there’s strife or struggle or uncertainty. It means that if you yearn to be free of a particular relationship and you feel that yearning lodged within you more firmly than any of the other competing and contrary yearnings are lodged, your desire to leave is not only valid, but probably the right thing to do. Even if someone you love is hurt by that.\nThese little snippets on grief, ring specially true for me. Having been on both sides. I try to be better at this all the time …\nIf, as a culture, we don’t bear witness to grief, the burden of loss is placed entirely on the bereaved, while the rest of us avert our eyes and wait for those in mourning to stop being sad, to let go, to move on, to cheer up. And if they don’t—if they have loved too deeply, if they do wake each morning thinking, I cannot continue to live—well, then we pathologize their pain; we call their suffering a disease. We do not help them: we tell them that they need to get help.\nGrief is tremendous, but love is bigger. You are grieving because you loved truly. The beauty in that is greater than the bitterness of death. Allowing this into your consciousness will not keep you from your suffering, but …\nit will help you survive the next day.\nLove is the feeling we have for those we care deeply about and hold in high regard. It can be light as the hug we give a friend or heavy as the sacrifices we make for our children. It can be romantic, platonic, familial, fleeting, everlasting, conditional, unconditional, imbued with sorrow, stoked by sex, sullied by abuse, amplified by kindness, twisted by betrayal, deepened by time, darkened by difficulty, leavened by generosity, nourished by humor, and loaded with promises and commitments that we may or may not want or keep. The best thing you can possibly do with your life is to tackle the motherfucking shit out of it.\nThe useless days will add up to something. The shitty waitressing jobs. The hours writing in your journal. The long, meandering walks. The days reading poetry and story collections and novels and dead people’s diaries and wondering about sex and God and whether you should shave under your arms or not.\nThese things are your becoming.\nWalk without a stick\ninto the darkest\nwoods.\nThe unifying theme is resilience and faith.\nThe unifying theme is being a warrior and a motherfucker.\nIt is not fragility. It’s strength.\nIt’s nerve.\nAnd “if your Nerve, deny you—,” as Emily Dickinson wrote, “Go above your Nerve.”\nHonor is inconvenient and absolute. Honor is looking it square in the face and taking it on the chin. It’s having the guts to break someone’s heart so as to avoid fucking with his or her head.\nYou cannot convince people to love you. This is an absolute rule. No one will ever give you love because you want him or her to give it. Real love moves freely in both directions. Don’t waste your time on anything else.\nAsk yourself:\nWhat is the best I can do?\nAnd then do that.\nFEAR, to a great extent, is born of a story we tell ourselves, and so I chose to tell myself a different story from the one women are told.\nI decided I was safe. I was strong. I was brave. That nothing could vanquish me. Insisting on this story was a form of mind control, but for the most part, it worked. Every time I felt something horrible cohering in my imagination, I pushed it away. I simply did not let myself become afraid.\nFear begets fear. Power begets power. I willed myself to beget power. And it wasn’t long before I actually wasn’t afraid.\nFucked-up people will try to tell you otherwise, but boundaries have nothing to do with whether you love someone or not. They are not judgments, punishments, or betrayals.\nThey are a purely peaceable thing: the basic principles you identify for yourself that define the behaviors that you will tolerate from others, as well as the responses you will have to those behaviors. Boundaries teach people how to treat you and they teach you how to respect yourself.\nOn getting over pain and heartbreak.\nThis.\nAbso–fucking–lutely this.\nYou let time pass. That’s the cure.\nYou survive the days. You float like a rabid ghost through the weeks. You cry and wallow and lament and scratch your way back up through the months.\nAnd then one day you find yourself alone on a bench in the sun and you close your eyes and lean your head back and you realize you’re okay.\nForgiveness doesn’t just sit there like a pretty boy in a bar.\nForgiveness is the old fat guy you have to haul up the hill.\nOn doing the work …\nDon’t lament so much about how your career is going to turn out. You don’t have a career. You have a life.\nDo the work.\nKeep the faith.\nBe true blue.\nYou are a writer because you write. Keep writing and quit your bitching. Your book has a birthday. You don’t know what it is yet.\nWe are all entitled to our opinions and religious beliefs, but we are not entitled to make shit up and then use the shit we made up to oppress other people.\nCan I convince the person\nabout whom I’m crazy\nto be crazy about me?\nThe short answer is no.\nThe long answer is no.\nThere are so many things\nto be tortured about.\nSo many torturous things\nin this life.\nDon’t let someone\nwho doesn’t love you\nbe one of them.\nTravel by foot.\nThere is so much you can’t identify at top speed.\nIf someone is being unkind or petty or jealous or distant or weird, you don’t have to take it in. You don’t have to turn it into a big psychodrama about your worth. That behavior so often is not even about you. It’s about the person who’s being unkind or petty or jealous or distant or weird. If this were summed up on a bumper sticker, it would say:\nDon’t own other people’s crap.\nThe world would be a better place if we all did that.\nWe do not have the right to feel helpless.\nWe must help ourselves.\nAfter destiny has delivered what it delivers, we are responsible for our lives.\nAccept that their actions hurt you deeply.\nAccept that this experience taught you something you didn’t want to know.\nAccept that sorrow and strife are part of even a joyful life.\nAccept that it’s going to take a long time for you to get that monster out of your chest.\nAccept that someday what pains you now will surely pain you less.\nThis isn’t a spotless life. There is\nmuch ahead, my immaculate peach.\nLet fall your notions about “perfect couples.” It’s such an impossible thing to either perceive honestly in others or live up to when others believe it about us. It does nothing but box some people in and shut other people out, and it ultimately makes just about everyone feel like shit. A perfect couple is a wholly private thing. No one but the two people in the perfect relationship know for certain whether they’re in one. Its only defining quality is that it’s composed of two people who feel perfectly right about sharing their lives with each other, even during the hard times.\nThe story of human\nintimacy is one of\nconstantly allowing ourselves to see those\nwe love most deeply in a\nnew, more fractured light.\nLook hard.\nRisk that.\nIt isn’t too late.\nTime is not running out.\nYour life is here and now.\nAnd the moment has arrived\nat which you’re finally ready\nto change.\nGo because you want to\ngo. Because wanting to\nleave is enough.\nYou have to say I am forgiven again and again until it becomes the story you believe about yourself.\nIf it is impossible for\nyou to go on as you\nwere before, so you\nmust go on as you\nnever have.\nBravery is acknowledging your\nfear and doing it anyway.\nHealing is a small and ordinary and very burnt thing.\nAnd it’s one thing and one thing only:\nit’s doing what you have to do.\nNobody will protect you from your suffering. You can’t cry it away or eat it away or starve it away or walk it away or punch it away or even therapy it away. It’s just there, and you have to survive it. You have to endure it. You have to live through it and love it and move on and be better for it and run as far as you can in the direction of your best and happiest dreams across the bridge that was built by your own desire to heal. Therapists and friends can help you along the way, but the healing—the genuine healing, the actual real-deal, down-on-your-knees-in-the-mud change—is entirely and absolutely up to you.\nThis is not the moment to wilt into\nthe underbrush of your insecurities.\nYou’ve earned the right to grow.\nHumility is about refusing to get all tangled up with yourself. It’s about surrender, receptivity, awareness, simplicity. Breathing in. Breathing out.\nTrusting yourself means\nliving out what you\nalready know to be true.\n","date":"31 juillet 2021","externalUrl":null,"permalink":"/reading/brave-enough/","section":"Reading","summary":"","title":"Brave Enough","type":"reading"},{"content":"This was the best collection of short stories, I’ve read since O’Henry.\nNo O’Henriesque twists, but fate and life and love deal the characters and us readers, enough drama that none are needed.\nA couple of lines, that struck me …\nRaymond didn’t like to talk back to his sister, but this time he thought she was wrong to say what she did.\n“Well,” he said, “you know, maybe Miss Emily ain’t ever gonna be with a man like me, but I want to dream it anyway. It’s a nice feeling and I ain’t had one of those things to myself in a long time.\nI know I don’t got a chance in hell, but it’s something to get me through. It’s to get through the next hour, the next day.\nDon’t you go reminding me what dreams a man like me ought to have. That I can dream at all means something to me.”\nMy father did not grieve. He had done all of this life’s grieving when he became a refugee.\nTo lose your love, to be abandoned by your wife was a thing of luxury even—it meant you were alive.\n","date":"30 juillet 2021","externalUrl":null,"permalink":"/reading/how-to-pronounce-knife/","section":"Reading","summary":"","title":"How to Pronounce Knife","type":"reading"},{"content":"","date":"30 juillet 2021","externalUrl":null,"permalink":"/tags/ethics/","section":"Tags","summary":"","title":"Ethics","type":"tags"},{"content":"This post was first sent to my newsletter on July 23rd, 2021.\n[You really ought to subscribe][1] :)\nNew month, new work letter. Before I begin though, please hit reply to these letters and let me know what you think, whether you like them or not and if there is anything you’d want me to write / hunt \u0026amp; research about!\nLike I wrote in the introduction to April’s letter, both the letter and the website have zero tracking.\nSo I have no way of knowing, whether you like stuff or not, whether it resonates or not, whether I am preaching to throngs or shouting into the void, unless you tell me!\nLet’s dig into it. As usual, click the headers, to wander off to the orginal articles :)\nProgrammable optical quantum computer arrives late, steals the show # Excuse me a moment—I am going to be bombastic, over excited, and possibly annoying. The race is run, and we have a winner in the future of quantum computing. IBM, Google, and everyone else can turn in their quantum computing cards and take up knitting.\nOne key to quantum computing (or any computation, really) is the ability to change a qubit’s state depending on the state of another qubit. This turned out to be doable but cumbersome in optical quantum computing. Typically, a two-(or more) qubit operation is a nonlinear operation, and optical nonlinear processes are very inefficient. Linear two-qubit operations are possible, but they are probabilistic, so you need to repeat your calculation many times to be sure you know which answer is correct. A second critical feature is programmability. It is not desirable to have to create a new computer for every computation you wish to perform. Here, optical quantum computers really seemed to fall down. An optical quantum computer could be easy to set up and measure, or it could be programmable—but not both.\nSo, what has changed to suddenly make optical quantum computers viable? One is the appearance of detectors that can resolve the number of photons they receive. A second key development was integrated optical circuits. performance has gotten much, much better. Integrated optics are now commonly used in the telecommunications industry, with the scale and reliability that that implies.\nThe researchers, from a startup called Xanadu and the National Institute of Standards, have pulled together these technology developments to produce a single integrated optical chip that generates eight qubits. The internal setting of the interferometer is the knob that the programmer uses to control the computation. In practice, the knob just changes the temperature of individual waveguide segments. But the programmer doesn\u0026rsquo;t have to worry about these details. Instead, they have an application programming interface (Strawberry Fields Python Library) that takes very normal-looking Python code. This code is then translated by a control system that maintains the correct temperature differentials on the chip,\nWhat is more, the scaling does not present huge amounts of increased complexity. In superconducting qubits, each qubit is a current loop in a magnetic field. Each qubit generates a field that talks to all the other qubits all the time. Engineers have to take a great deal of trouble to decouple and couple qubits from each other at the right moment. The larger the system, the trickier that task becomes. Ion qubit computers face an analogous problem in their trap modes. There isn’t really an analogous problem in optical systems, and that is their key advantage.\nIntel to Build Silicon for Fully Homomorphic Encryption # When considering data privacy and protections, there is no data more important than personal data, whether that’s medical, financial, or even social. The discussions around access to our data, or even our metadata, becomes about who knows what, and if my personal data is safe. Today’s announcement between Intel, Microsoft, and DARPA, is a program designed around keeping information safe and encrypted, but still using that data to build better models or provide better statistical analysis without disclosing the actual data. It’s called Fully Homomorphic Encryption, but it is so computationally intense that the concept is almost useless in practice.\nSo whether that means combining hospital medical records over a state, or customizing a personal service using personal metadata gathered on a user’s smartphone, FHE at that scale is no longer a viable solution. Enter the DARPA DPRIVE program.\nDARPA: Defense Advanced Research Projects Agency\nDPRIVE: Data Protection in Virtual Environments\nIntel has announced that as part of the DPRIVE program, it has signed an agreement with DARPA to develop custom IP leading to silicon to enable faster FHE in the cloud, specifically with Microsoft on both Azure and JEDI cloud, initially with the US government. As part of this multi-year project, expertise from Intel Labs, Intel’s Design Engineering, and Intel’s Data Platforms Group will come together to create a dedicated ASIC to reduce the computational overhead of FHE over existing CPU-based methods. The press release states that the target is to reduce processing time by five orders of magnitude from current methods, reducing compute times from days to minutes.\nSeth Godin on the ethical use of our newly gained technological capabilities # No wonder we’re a bit dizzy. We just multiplied our minds by many orders of magnitude. It’s easy to confuse someone else’s memory (or manipulation) with our hard-earned ability to remember things that actually happened to us.\nAnd we’re now realizing that we have the power (and perhaps the obligation) to use shared knowledge to make better, more thoughtful decisions. And to intentionally edit out the manipulations and falsehoods that are designed to spread, not to improve our lives.\nUntil next time …\nDon’t forget to write! :)\n","date":"30 juillet 2021","externalUrl":null,"permalink":"/personal/on-cheap-programmable-quantum-computers-hardware-homomorphic-encryption-support-and-ethical-use-of-technology/","section":"Personal","summary":"","title":"On Cheap Programmable Quantum Computers, Hardware Homomorphic Encryption Support, and Ethical Use of Technology","type":"personal"},{"content":"This little book, had me yelling, “YEA! HELL, YEA!” at every page.\nThe book’s evolved from this really beautiful lament, which is available online and has a newer section titled Exultation.\nThe article has the main thrust of the book and is worth your time. (as is the book, specially if you have kids, or you teach kids, or if you want to shape someone’s thinking about Mathematics)\nHighlights from the book follow …\nOn the other side of town, a painter has just awakened from a similar nightmare …\nI was surprised to find myself in a regular school classroom— no easels, no tubes of paint. “Oh we don’t actually apply paint until high school,” I was told by the students. “In seventh grade we mostly study colors and applicators.” They showed me a worksheet. On one side were swatches of color with blank spaces next to them. They were told to write in the names. “I like painting,” one of them remarked, “they tell me what to do and I do it. It’s easy!”\nAfter class I spoke with the teacher. “So your students don’t actually do any painting?” I asked. “Well, next year they take Pre-Paint-by-Numbers. That prepares them for the main Paint-by-Numbers sequence in high school. So they’ll get to use what they’ve learned here and apply it to real-life painting situations— dipping the brush into paint, wiping it off, stuff like that. Of course we track our students by ability. The really excellent painters— the ones who know their colors and brushes backwards and forwards— they get to the actual painting a little sooner, and some of them even take the Advanced Placement classes for college credit. But mostly we’re just trying to give these kids a good foundation in what painting is all about, so when they get out there in the real world and paint their kitchen they don’t make a total mess of it.”\n“Um, these high school classes you mentioned …”\n“You mean Paint-by-Numbers? We’re seeing much higher enrollments lately. I think it’s mostly coming from parents wanting to make sure their kid gets into a good college. Nothing looks better than Advanced Paint-by-Numbers on a high school transcript.”\n“Why do colleges care if you can fill in numbered regions with the corresponding color?”\n“Oh, well, you know, it shows clear-headed logical thinking. And of course if a student is planning to major in one of the visual sciences, like fashion or interior decorating, then it’s really a good idea to get your painting requirements out of the way in high school.”\n“I see. And when do students get to paint freely, on a blank canvas?”\n“You sound like one of my professors! They were always going on about expressing yourself and your feelings and things like that—really way-out-there abstract stuff. I’ve got a degree in Painting myself, but I’ve never really worked much with blank canvasses. I just use the Paint-by-Numbers kits supplied by the school board.”\nSadly, our present system of mathematics education is precisely this kind of nightmare. In fact, if I had to design a mechanism for the express purpose of destroying a child’s natural curiosity and love of pattern-making, I couldn’t possibly do as good a job as is currently being done—I simply wouldn’t have the imagination to come up with the kind of senseless, soul-crushing ideas that constitute contemporary mathematics education.\nSIMPLICIO: I don’t think that’s very fair. Surely teaching methods have improved since then.\nSALVIATI: You mean training methods. Teaching is a messy human relationship; it does not require a method. Or rather I should say, if you need a method you’re probably not a very good teacher. If you don’t have enough of a feeling for your subject to be able to talk about it in your own voice, in a natural and spontaneous way, how well could you understand it? And speaking of being stuck in the nineteenth century, isn’t it shocking how the curriculum itself is stuck in the seventeenth? To think of all the amazing discoveries and profound revolutions in mathematical thought that have occurred in the last three centuries! There is no more mention of these than if they had never happened.\nSIMPLICIO: But surely we want all of our students to learn a basic set of facts and skills. That’s what a curriculum is for, and that’s why it is so uniform—there are certain timeless, cold, hard facts we need our students to know: one plus one is two, and the angles of a triangle add up to 180 degrees. These are not opinions, or mushy artistic feelings. SALVIATI: On the contrary. Mathematical structures, useful or not, are invented and developed within a problem context and derive their meaning from that context. Sometimes we want one plus one to equal zero (as in so-called ‘mod 2’ arithmetic) and on the surface of a sphere the angles of a triangle add up to more than 180 degrees. There are no facts per se; everything is relative and relational. It is the story that matters, not just the ending.\nWhat is happening is the systematic undermining of the student’s intuition.\nA proof, that is, a mathematical argument, is a work of fiction, a poem. Its goal is to satisfy. A beautiful proof should explain, and it should explain clearly, deeply, and elegantly. A well-written, well-crafted argument should feel like a splash of cool water, and be a beacon of light—it should refresh the spirit and illuminate the mind. And it should be charming.\nThere is nothing charming about what passes for proof in geometry class. Students are presented a rigid and dogmatic format in which their so-called “proofs” are to be conducted—a format as unnecessary and inappropriate as insisting that children who wish to plant a garden refer to their flowers by genus and species.\nCalling into question the obvious, by insisting that it be “rigorously proved” (as if the above even constitutes a legitimate formal proof), is to say to a student, “Your feelings and ideas are suspect. You need to think and speak our way.”\nNow there is a place for formal proof in mathematics, no question. But that place is not a student’s first introduction to mathematical argument.\nif multiplication is something you are interested in (that is, making repeated copies of piles of rocks), you might also notice an unpleasant lack of symmetry. What number triples to make six? Why, two of course. But what triples to make seven? There isn’t any pile of rocks like that. How annoying!\nOf course we’re not really talking about piles of rocks (or anti-rocks). We’re talking about an abstract imaginary structure inspired by rocks. So if we want there to be a number which when tripled makes seven, then we can simply build one. We don’t even have to go out to the garage and get tools—we just “bring it into being” linguistically. We can even give it a name like ‘7/3’ (a modified Egyptian shorthand for “that which when multiplied by three makes seven.”) And so on. All of the usual “rules” of arithmetic are simply the consequences of these aesthetic choices.\nThe point is that there is no reality to any of this, so there are no rules or restrictions other than the ones we care to impose. And the aesthetic here is very clear, both historically and philosophically: if a pattern is interesting and attractive, then it’s good. (And if it means having to work hard to bend your mind around a new idea, so much the better.)\nMake up anything you want, so long as it isn’t boring. Of course this is a matter of taste, and tastes change and evolve. Welcome to art history! Being a mathematician is not so much about being clever (although lord knows that helps); it’s about being aesthetically sensitive and having refined and exquisite taste.\nthe mathematical landscape is filled with these interesting and delightful structures that we have built (or accidentally discovered) for our own amusement. We observe them, notice interesting patterns, and try to craft elegant and compelling narratives to explain their behavior.\nIt seems to keep happening! And it’s utterly beyond our control. Either this is a true (and surprising and beautiful) feature of odd numbers or it isn’t, and we simply have no say in the matter. We may have brought these creatures into existence (and that is a serious philosophical question in itself) but now they are running amok and doing things we never intended. This is the Frankenstein aspect of mathematics—we have the authority to define our creations, to instill in them whatever features or properties we choose, but we have no say in what behaviors may then ensue as a consequence of our choices.\nThese aren’t hairy, smelly hamsters with bloodstreams and intestines; they’re happy, free, lighter-than-air constructs of my imagination. And they are absolutely terrifying. Do you get what I mean here? So simple they’re scary? These aren’t science-fiction aliens, these are aliens. And they’re up to something, apparently. They seem to always add up to squares. But why? At this point what we have is a conjecture about odd numbers. We have discovered a pattern, and we think it continues. We could even verify that it works for the first trillion cases if we wanted. We could then say that it’s true for all practical purposes, and be done with it.\nBut that’s not what mathematics is about. Math is not about a collection of “truths” (however useful or interesting they may be).\nMath is about reason and understanding.\nWe want to know why.\nAnd not for any practical purpose.\nHere’s where the art has to happen. Observation and discovery are one thing, but explanation is quite another. What we need is a proof, a narrative of some kind that helps us to understand why this pattern is occurring. And the standards for proof in mathematics are pretty damn high. A mathematical proof should be an absolutely clear logical deduction, which, as I said before, needs not only to satisfy, but to satisfy beautifully. That is the goal of the mathematician: to explain in the simplest, most elegant and logically satisfying way possible. To make the mystery melt away and to reveal a simple, crystalline truth.\nFinally, I want to stress again that it’s not the fact that consecutive odd numbers add up to squares that really matters here; it’s the discovery, the explanation, the analysis. Mathematical truths are merely the incidental by-products of these activities.\nPainting is not about what hangs in the museum, it’s about what you do—the experience you have with brushes and paint.\nSo where do math problems like these come from? Well, I’ll tell you: they come from playing. Just playing around in Mathematical Reality, often with no particular goal in mind. It’s not hard to find good problems—just go to the jungle yourself. You can’t take three steps without tripping over something interesting.\nThis is how math problems arise—just from sincere and serendipitous exploration. And isn’t that how every great thing in life works? Children understand this. They know that learning and playing are the same thing. How sad that the grownups have forgotten. They think of learning as a chore, so they make it into one. Their problem is intentionality. So let me leave you with the only practical advice I have to offer: just play! You don’t need a license to do math. You don’t need to take a class or read a book. Mathematical Reality is yours to enjoy for the rest of your life. It exists in your imagination and you can do whatever you want with it. Including nothing, of course.\n","date":"24 juillet 2021","externalUrl":null,"permalink":"/reading/a-mathematicians-lament/","section":"Reading","summary":"","title":"A Mathematician’s Lament","type":"reading"},{"content":" The old Paperwhite, is on the left. The Oasis is on the right.\nI ran out of space on the 8gb Paperwhite and so grudgingly went and paid extra for a 32gb Kindle Oasis. This was before a friend pointed out that even the Paperwhite now has a 32gb variant.\nNow what?\nI decided to use the Oasis, so that I could lay my hands on the best e-ink reader Amazon makes for a week and then exchange it for a new Paperwhite.\nI got it.\nI used it.\nAnd decided within a day, that I was not going back to a Paperwhite, ever.\nI realised that the Oasis, to me, is not a “premium” device.\nWhat it is, is a Hole Hawg …\nNeal Stephenson writes …\nThe Hole Hawg is a drill made by the Milwaukee Tool Company. If you look in a typical hardware store you may find smaller Milwaukee drills but not the Hole Hawg, which is too powerful and too expensive for homeowners.\nThe Hole Hawg does not have the pistol-like design of a cheap homeowner\u0026rsquo;s drill. It is a cube of solid metal with a handle sticking out of one face and a chuck mounted in another. The cube contains a disconcertingly potent electric motor. You can hold the handle and operate the trigger with your index finger, but unless you are exceptionally strong you cannot control the weight of the Hole Hawg with one hand; it is a two-hander all the way. In order to fight off the counter-torque of the Hole Hawg you use a separate handle (provided), which you screw into one side of the iron cube or the other depending on whether you are using your left or right hand to operate the trigger. This handle is not a sleek, ergonomically designed item as it would be in a homeowner\u0026rsquo;s drill. It is simply a foot-long chunk of regular galvanized pipe, threaded on one end, with a black rubber handle on the other.\nThe Oasis is my Hole Hawg for reading.\nIt is lopsided, but it helps me hold it better and for longer.\nIt is extremely responsive. It is much, much, much faster than any e-reader I have owned.\nThe glass screen is much better than plastic, both to see and to use.\nTouching, swiping, highlighting, shuffling books, file transfers … it handled everything I threw at it without breaking a sweat.\nIf you read as much as I do, the Hole Hawg Kindle Oasis, is a worthy investment.\n","date":"19 juillet 2021","externalUrl":null,"permalink":"/work/a-few-thoughts-on-the-kindle-oasis/","section":"Work","summary":"","title":"A Few Thoughts on the Kindle Oasis","type":"work"},{"content":"I kept reading books and articles about solitude and discomfort and boredom.\nThis Michael Easter book covers all of it, succinctly in the frame of a journey to the Alaskan wilderness.\nWorth a read.\nHighlights from the book follow …\n“When our ancestors weren’t searching for food or getting pummeled by mastodons, they had long moments of downtime, lounging around for hours a day. They had to make something out of their boredom.\nThese people allowed their minds to wander and had to get creative and rely on one another for entertainment. As my beautifully blunt then-girlfriend, now-wife put it when we went camping early in our relationship: “We ran out of things to talk about in three hours and had a whole day left.” It wasn’t until the 1920s, when radio was broadcast to the masses, that there was a full-time, brainless escape from boredom. Then came Big TV in the 1950s. Finally, on June 29, 2007, boredom was pronounced dead, thanks to the iPhone. And so our imaginations and deep social connections went with it”\n“how he determines if something is hard enough.\n“We’re generally guided by the idea that you should have a fifty percent chance of success—if you do everything right,” he said. “So if you decided you wanted to run a twenty-five-mile trail, and you’re preparing by working up to a twenty-mile training run and doing thirty-five or forty miles a week of running…that’s not a misogi. Your chance of failure is too low. But if you’ve never run more than ten miles, think you could probably run fifteen, but are iffy on whether you could run twenty…then that twenty-five miles is probably a misogi.”\nThis rule also renders misogi a moving target. One person’s 50 percent is often not the same as another’s. “If someone has never run more than a couple miles, then a 10K could be a misogi,” said Elliott. Modern humans may have an unmet need to do what’s truly difficult for us. New research shows that depression, anxiety, and feeling like you don’t belong can be linked to being untested.\n“So you must fail about half the time?” I asked.\n“I’ve actually failed my last couple misogis, …”\n“there are only two rules,” said Elliott. “Rule number one is that it has to be really fucking hard. Rule number two is that you can’t die.”\n“the human brain hates this construct. The brain wants nothing to do with failure. Especially if you execute perfectly on your side.”\n“Failure even a hundred years ago could mean that you die,” said Elliott. “But people vastly overestimate the consequences of failure today. Failure now is that you fuck up a PowerPoint presentation and your boss gives you a bad look.”\n“two: Don’t advertise misogi. It’s OK to talk about misogi with friends and family.\nBut you don’t Tweet, Instagram, Facebook, or boast about misogi.”\n“In a perfectly designed misogi, you give it everything you have and you just finish it. Or maybe you just barely fail,” Elliott told me. “To finish it with a lot left is not really doing it right. You want to explore what your potential is out on the edges.”\n“Unfocused mode occurs when we’re not paying attention. It’s inward mind-wandering, a rest state that restores and rebuilds the resources needed to work better and more efficiently in the focused state. Time in unfocused mode is critical to get shit done, tap into creativity, process complicated information, and more.\nThe 11 hours and 6 minutes of attention we’re handing over to digital media isn’t free. It’s all spent in focused mode. Think of this focused state like lifting a weight, and the unfocused state like resting. When we kill boredom by burying our minds in a phone, TV, or computer, our brain is putting forth a shocking amount of effort. Like trying to do rep after rep after rep of an exercise, our attention eventually tires when we overwork it. Modern life overworks the hell out of our brains.”\n“Tolstoy had this great quote in Anna Karenina that says boredom is a ‘desire for desires,’ ” said Danckert. “So boredom is a motivational state.”\n“now people want to say that boredom makes you more creative,” said Danckert. “I call bullshit on that. Boredom doesn’t make you more creative. It just tells you ‘do something!’ ” And when that “something” is letting our mind revive unfocused mode—or sitting down to write a screenplay—rather than blanketing it with the exact same media that everyone else is consuming, we begin to think, quite literally, on a different wavelength. That’s what creativity requires.”\n“So I found myself bored again. Again the game is waiting; waiting for caribou to move into view. Donnie once spent 42 ten-hour days waiting in the North Dakota woods for a single white-tailed deer”\n“John Muir in 1901 put it this way: “Nerve-shaken, over-civilized people are beginning to find out that going to the mountains is going home; that wilderness is a necessity; and that mountain parks and reservations are useful not only as fountains of timber and irrigating rivers, but as fountains of life.”\nThree or more days in the wild is like a meditation retreat. Except talking is allowed and the experience is free of costs and gurus.”\n“Famed biologist E. O. Wilson developed a theory, called the biophilia hypothesis, which says we have an ingrained call to be in nature that’s in competition with our evolutionary desire to control our environment.\nThe thinking goes like this: We evolved in nature, and therefore have programmed within our genes a need to be in and connect with nature and living things. If we don’t, we go a little haywire, as if we’re missing a necessary nutrient for our body, mind, and sense of self.”\n“We were walking past 100-foot-tall maple and spruce trees planted in the late 1800s, and she was telling me about her research. In 2016, she led a study that found something as painless as a 20-minute stroll through a city park, like the one we’re in right now, can cause profound changes in the neurological structure of our brains. This leaves us feeling calmer and with sharper and more productive, creative minds. “But,” she said, “we found that people who used their cellphone on the walk saw none of those benefits.”\n“There’s a little magic in 20 minutes. That was confirmed by Hopman’s colleagues at the University of Michigan. They discovered that 20 minutes outside, three times a week, is the dose of nature that most efficiently dropped people’s levels of the stress hormone cortisol. The catch to that study, of course, was that the participants couldn’t take their phones outside with them.”\n“People are busy,” said Hopman. “I get it.” Some days you’ll have a pile of work. A walk through a park seems unfeasible. Any time away from the grind feels like too much time away from the grind. “I tell busy people about the productivity and creativity benefits of nature,” she said. Think of that short walk outside like a high-return investment in yourself. Those 20 minutes in the park may cause you to pump out, say, 20 widgets instead of the 18 you would have done had you tried to power through the day in burnout mode. And perhaps those widgets would be more creatively designed”\n“Any time in nature is beneficial,” said Hopman as we reached the crest of the trail. “But spending more time in wilder spaces does seem to give you more benefits.” Time in this semiwild stuff comprises level two of the nature pyramid. Research, in part thanks to Finland, says we should spend a total of about five hours in it a month.”\n“There could be a lot of reasons why nature—wilder spaces in particular—has these effects on the mind and body. It could be that in nature you are engulfed in fractals, complex patterns that repeat over and over in different sizes and scales and make up the design of the universe. Think trees (big branch to smaller branch to smaller branch and so on), river systems (little river to bigger river to bigger river and so on), mountain ranges, clouds, seashells. “Cities don’t have fractals,” said Hopman. “Think of a typical building. It’s usually flat, with right angles. It’s painted some dull color.” Fractals are organized chaos, which our brains apparently dig.”\n“it turns out that what’s enchanted my brain there is a certifiable scientific phenomenon. It even has a catchy name, “the three-day effect.” To experience this level requires “backcountry nature.” A trip into the wild places that begin where dirt roads end. Places characterized by spotty cell reception, wild animals, and a lack of bathrooms and other humans.”\n“the message is clear: Time in nature is a hell of a way to calm the turbulent sea inside our minds.”\n“programming two “hungry days” per week where we eat around 500 calories delivers benefits”\n“Another option is to string together five “hungry days” in a row, once a month, eating just 700 total calories”\n“In misogi you’ll reach this edge where you are convinced you have nothing left,” he said. “But you’ll keep going anyway. And then you’ll look back and you’ll be way out beyond what you were certain was your edge. You won’t forget that.” The human brain may hate failure, but it hates exercise equally so.\nHumans over millennia developed a complex network of physical discomforts and psychological “governors” to dissuade us from effort, because effort requires energy, or calories, which in the past was precious. This is why we seemingly have an ingrained call to laziness.”\n“exercise-induced fatigue is predominantly a protective emotion. It’s a psychological state that has little to do with a person’s physical limits.”\n“Doing physically hard things is an enormous life hack. Do hard things and the rest of life gets easier and you appreciate it all the more,”\n“This idea was echoed to me recently by one of my best friends, William Allen, a former major in the US Marines and co-founder of Harpoon Ventures, a fast-rising defense-focused venture capital firm. “If you can consciously put yourself through physical discomfort and understand the higher purpose of it, the ‘why,’ the mental calluses that come along with that create what is called the Well of Fortitude,” he said. “My business partner, who happens to be a prior service US Navy SEAL, and I were able to successfully build a legitimate venture capital fund from the ground up. Not because we were special, supersmart, or had access to family money. But rather, we knew our higher purpose and were able to draw on the Well of Fortitude we built on challenging missions in the military to buffer stress, work harder, and simply endure.”\n“Research suggests that smoking takes 10 years off a person’s life, while the combined effects of being unfit may take as many as 23.”\n","date":"14 juillet 2021","externalUrl":null,"permalink":"/personal/the-comfort-crisis/","section":"Personal","summary":"","title":"The Comfort Crisis","type":"personal"},{"content":" Abby calls it Chinese Gulab, while I, in honour of all the hard work Abby puts in (and the natural pot she’s made for it), call it my coconut flower. It’s a Moss Rose (Portulaca grandiflora.) Click the section headers to wander off to the original articles.\nMy notes on Antifragile # I spent a ton of time on this.\nBecause I did not just want my beloved Antifragile to be only an annual read.\nThis series reinforces whatever I’ve learnt and done, with the book so far.\nFrom the book’s prologue …\nWind extinguishes a candle and energizes fire.\nLikewise with randomness, uncertainty, chaos: you want to use them, not hide from them. You want to be the fire and wish for the wind. This summarizes this author’s nonmeek attitude to randomness and uncertainty.\nWe just don’t want to just survive uncertainty, to just about make it. We want to survive uncertainty and, in addition—like a certain class of aggressive Roman Stoics—have the last word. The mission is how to domesticate, even dominate, even conquer, the unseen, the opaque, and the inexplicable.\nHow?\nThe Feynman Learning Technique on Farnam Street # Shane starts with the familiar aspects of the popular technique used for learning things, and then amps it up to 11.\nIf you’re after a way to supercharge your learning and become smarter, the Feynman Technique might just be the best way to learn absolutely anything. Devised by a Nobel Prize-winning physicist, it leverages the power of teaching for better learning.\nThe Feynman Learning Technique is a great method to develop mastery over sets of information. Once you do, the knowledge becomes a powerful tool at your disposal. But as Feynman himself showed, being willing and able to question your knowledge and the knowledge of others is how you keep improving. Learning is a journey.\nThe best writing advice from Colson Whitehead’s 60 Minutes interview # If you’re going to listen to anyone about the process of writing, Colson Whitehead is a pretty good choice: the MacArthur Genius Grant recipient won back-to-back Pulitzers for his novels The Underground Railroad and The Nickel Boys, making him the only writer to win that prize for consecutive novels in history.\n…\nWrite for yourself, because time is short.\n[I write] really for me, which sounds very selfish. Should I have written a zombie novel? It made perfect sense to me. I grew up loving horror movies and then horror fiction. Is that something I should be doing as a literary author? I don’t know . . . if it gives me pleasure, if it’s exciting, you know, our time on earth is pretty short. I should be doing what I feel like I should be doing.\nHope you enjoyed this edition. Until next time …\n","date":"11 juillet 2021","externalUrl":null,"permalink":"/personal/on-coconut-flowers-and-antifragility/","section":"Personal","summary":"","title":"On Coconut Flowers and Antifragility","type":"personal"},{"content":"","date":"30 juin 2021","externalUrl":null,"permalink":"/tags/django/","section":"Tags","summary":"","title":"Django","type":"tags"},{"content":"","date":"30 juin 2021","externalUrl":null,"permalink":"/tags/jasonlearnsdjango/","section":"Tags","summary":"","title":"Jasonlearnsdjango","type":"tags"},{"content":"","date":"30 juin 2021","externalUrl":null,"permalink":"/tags/jasonlearnsjavascript/","section":"Tags","summary":"","title":"Jasonlearnsjavascript","type":"tags"},{"content":"","date":"30 juin 2021","externalUrl":null,"permalink":"/tags/jasonlearnspython/","section":"Tags","summary":"","title":"Jasonlearnspython","type":"tags"},{"content":"Been a few days since I wrote about Django.\nLast week was a roller coaster personally, so I took things slow.\nAnd then got back to a rhythm this week.\nThe daily work’s paid off and I managed to hit a milestone.\nI got done with my Django course, today! :)\nHurrah!\nCert online.\nSome Reflections (in no particular order) # I should keep better logs and notes about how I go about doing work. I kept deleting my sqlite database, trying to fix model errors, forgetting that I’d moved to Postgres. This whole Django journey has built up on the last one. While I stood up a Django project the last time, I didn’t understand or grasp what I was doing. This time around, I’ve understood the why and I’ve gotten a better mental model of how it all hangs together. What the request response cycle is. What needs to happen then. How it’s mostly all CRUD. How Django enables me to tie all these pieces together using models and views and forms and templates and a million and one little things to ease my life. I’m now confident enough to go try standing up a Django project on my own and then muddle through, to build something I want. I started the year, flailing about in the world of programming, because everything interested me. I’m thankful I took the time, to figure out what interested me and where I wanted to apply my focus to. Once I zeroed in on doing web development with Python, I’ve made much better progress learning. While I understand that I need to write a lot more code, I want to finish building up a firm foundation first. To that end I want to learn Postgres, finish up CS50W, crash learn Data Structures \u0026amp; Algorithms (for my Indian interviews. Nearly every Indian company I’ve interviewed with, has made me do this and I’ve flunked miserably every time. I hope to miserably pass muster at least, going forward) and a wee bit of C. Also JavaScript. Lots to learn. I need to do this bit by bit daily, just like I did this part so far. I understand what folks say, when they talk about programming. I understand their opinions better. Makes me realise that I’ve gotten the basics down pat enough.\nTo wit, Dr. Chuck was opining on destructors in classes in Javascript, and why there weren’t there in the early days and why they might be desirable now. And all the while, I was nodding my head in agreement, having understood every word, going uh-huh, uh-huh. Why? Yes! It’d be a darned good idea. I could do custom cleanup when my classes get torn down. (And this, from someone who has not written more than two pages of JavaScript yet 😂) I kept waiting all this while, for it get easier, to reach some abstract level by means of some deep insight, hoping once I’d master that, I could then just fly along, spewing stuff, left right and centre, creating amazing works of code.\nWhat I found instead, is a bunch of primitives that folk all over the world, take and put together in different ways, using various methods of combining them. I realised that most of programming is just convention, based on a few truths. Which means that there is no grand unifying theory that ties all this in a neat bow. It’s just a lot of dedicated folk putting in the toil to create said works of code and polishing them to make it look beautiful. It’s mostly hard work. Not Genius.\nActual breakthroughs and genuine insights that change everything are few and far between. And this makes me strangely happy. If it’s just hard work … well that I can do :) Why didn’t someone just point this out to me earlier? Knowledge work is just work? Putting in the hours and work and toil? Sure! Sign me up! I figure, it’s turtles all the way down. The work consists of studying something complex, breaking it down, understanding it, practicing it, making it your own and creating a portfolio to show it off. Basically the same journey as a carpenter. Apprenticeship -\u0026gt; Journeyman -\u0026gt; Craftsman. Finally, I’ve spent so much time telling folk, that becoming a good reader, took me years. And as usual I’ve been domain blind. I did not see, it’s the same thing with becoming a good programmer. Toil and patience. I’m on a break for the whole of next week, and will be back after, to begin the rest of the journey, refreshed.\nHere’s to upwards and onwards!\n","date":"30 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-11-django-cert-some-reflections/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #11 - Got a Django Certificate! Some Reflections","type":"work"},{"content":"","date":"30 juin 2021","externalUrl":null,"permalink":"/tags/pathtoprogrammingcareer/","section":"Tags","summary":"","title":"Pathtoprogrammingcareer","type":"tags"},{"content":"","date":"30 juin 2021","externalUrl":null,"permalink":"/tags/webdev/","section":"Tags","summary":"","title":"Webdev","type":"tags"},{"content":"","date":"25 juin 2021","externalUrl":null,"permalink":"/tags/biography/","section":"Tags","summary":"","title":"Biography","type":"tags"},{"content":"","date":"25 juin 2021","externalUrl":null,"permalink":"/tags/physics/","section":"Tags","summary":"","title":"Physics","type":"tags"},{"content":"","date":"25 juin 2021","externalUrl":null,"permalink":"/tags/psion/","section":"Tags","summary":"","title":"Psion","type":"tags"},{"content":"This post was first sent to my newsletter on June 18th, 2021. [You really ought to subscribe][1] :)\nI have two, count ’em, two articles from Stephen Wolfram today.\nAnd a fantastic historical restrospective on one of the early handhelds, the Psion!\nWhat Is Consciousness? Some New Perspectives from Our Physics Project\nStephen Wolfram, has the amazing ability to go on long Talebesque side journeys, different flaneuresque trips through various domains and then bring it all back and tie it up in a bow, with the point he wants to make. If you love long, slow, deliberate posts, look no further :)\nSo, What Is Consciousness?\nWhat’s special about the way we humans experience the world? At some level, the very fact that we even have a notion of “experiencing” it at all is special. The world is doing what it does, with all sorts of computational irreducibility. But somehow even with the computationally bounded resources of our brains (or minds) we’re able to form some kind of coherent model of what’s going on, so that, in a sense, we’re able to meaningfully “form coherent thoughts” about the universe. And just as we can form coherent thoughts about the universe, so also we can form coherent thoughts about that small part of the universe that corresponds to our brains—or to the computations that represent the operation of our minds.\nStephen Wolfram on Tini Veltman (1931–2021): From Assembly Language to a Nobel Prize\nThe best thing I love about his blog though, are his biographical and historical reminiscings. This one on Martinus Veltman is a recent example.\nSo far as I know it all started from a single conversation on the terrace outside the cafeteria of the CERN particle physics lab near Geneva in 1962. Three physicists were involved. And out of that conversation there emerged three early systems for doing algebraic computation. One was written in Fortran. One was written in LISP. And one was written in assembly language.\nI’ve told this story quite a few times, often adding “And which of those physicists do you suppose later won a Nobel Prize?” “Of course,” I explain, “it was the one who wrote their system in assembly language!”\n… One of the important predictions of what became the Standard Model were so-called neutral currents (associated with the Z boson). In the end, neutral currents were discovered in 1973. But Tini explained that many years earlier he started telling people at CERN that they should be able to see neutral currents in their experiments. But for years they didn’t listen to him, and when they finally did, it turned out that—expensive as their earlier experiments had been—they’d thrown out the bubble chamber film that had been produced, and on which neutral currents should have been visible perhaps 15 years earlier.\nPsion: the last computer\nThis one is an oldie but an amazing part of early handheld computer history and totally worth your time, if you are a tech history buff.\nThe Series 5 pocket computer from Psion was launched 10 years ago this week (1997. the article was written in 2007 — mjb). It was a remarkable achievement: entirely new silicon, a new operating system, middleware stack and applications were developed from scratch in just over two years.\nThis was the last time anyone undertook such a daunting task: it may be the last time anyone ever tries, either. Companies or projects that are formed to achieve simply one of these four goals typically end in failure: to achieve all four successfully, and put them in a product that was successful, too, was a triumph of creativity and management.\n","date":"25 juin 2021","externalUrl":null,"permalink":"/work/stephen-wolfram-speaks-as-does-the-psion/","section":"Work","summary":"","title":"Stephen Wolfram speaks, as does the Psion","type":"work"},{"content":"I did. I really did have a good work day!\nI had one of those, whatchacallit, flow states.\nWhat I learnt in Django land # I learnt nothing! Well I learnt nothing new. I spent the whole day and what little I time I had yesterday, trying to crack the assignment for module three of the course. I struggled and struggled and then, struggled a bit more. The more I write Django, the more intuitive it feels, like I can never make out, what’s provided by Python and what has been built for me by Django. It all feels like one seamless whole. The blow up Django cycle continued today, to an extreme, it felt like. But it felt good and iterative, like I had a sandbox to play in, as I wished. There’d be a decimal error and I’d fix it and then there’d be some sort of bounds error because I’d built too little capacity to hold stuff in my models and I’d go fix it and then I’d figure that this method returns a tuple, so I need to catch it in two variables and throw one away, just so I could have at the data I was interested in, and I learnt how to rebuild my models and migrations and reset my database and I spent two exasperating hours on a consistent Django blowup that just should not have been possible. And then I realised, I was assigning the same data to two models (same variable.) Long story short, I learned a lot. Working over the past two days reminded me of this Julia Evans page, that I serendipitously came across a while ago. ![Julia Evans comic explaining the importance of tracking progress][jeiln] Focus Follow Up aka Flow what? # This probably, was the first time, I had a state of flow while programming (I used to have them all the time at work as well lots of times, when I am writing). This probably means I am comfortable with the level I am at, and I should stretch a bit more. Did eleven, 30 minute sessions with no aborts. I lost track of time, quite a bit. Am done with three out of the four modules of this course, I’m on. After yesterday, today’s progress really feels good. While I’ll take my wins where I can find them, I should be cognizant of the fact that it was the uncomfortable practice of the week that brought me here. And so, I want to get more comfortable with feeling uncomfortable. Here’s to finishing strong!\n","date":"19 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-10-a-very-long-and-a-really-good-day/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #10 - A Very Long, and a Really Good Day","type":"work"},{"content":"Today is a short post.\nI worked a lot.\nDid not get much work or progress in.\nLife got in the way.\nHope tomorrow is a better day.\nI did do, 2 hours of work though, and I did learn a lot.\nSo there’s that.\nUntil tomorrow …\n","date":"18 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-9-a-very-long-and-not-very-good-day/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #9 - A Very Long, and Not Very Good Day","type":"work"},{"content":"Another day of doing only Django.\nNot that I’m complaining. Finishing up this Django course is my priority.\nFollowed by PostgreSQL and Data Structures and Algorithms.\nI just have to do them step by step, one after another.\nWhat I learnt in Django land # I like calling it Django land. Reminds me of Tarantino’s Django and Candyland. I learnt all about many to many database relationships and how they’re done with models in Django. They’re a logical extension of one to many relationships. It’s like one of those who know who games. I know Carol. Carol knows Amelia. And so Carol is my through table, my join table, my junction table. I can request things of Amelia through Carol. That in a nutshell is what it is like. I realise that all these complicated terms I feared are actually succinct names for simple, yet long winded processes or things. I’m going to practice all this tomorrow morning. Heuristic, whenever I see repeated strings vertically, I ought to be thinking databases for efficient storage. Heuristic, whenever I see multiple things relating to multiple other things, I ought to be thinking many to many models/relationships (many books to a genre, many genres to a book, an author with multiple books, a book with multiple authors) Use integers for primary keys. Integers are fast. I now love the folk who designed and built Django. The more I learn about its innards, the more I realise there is no Django magic. Just back breaking hard work and lots of thought put into building this beautiful edifice over the years. Makes me appreciate learning Django, even more. Focus Follow Up aka How did I do with focus today? # Did seven, 30 minute sessions of Django and one aborted session Had a lot of housework today and still managed to wrangle 3 and half hours of deep work. Writing notes, seems to be helping. I get my quizzes right the first time around. Deliberate practice and focus are not easy, that’s for sure. I keep looking at the clock. And then I keep moaning about how time passes too slowly when I am struggling with stuff. Also noticed that whenever I start working on something tough, my mind gets really uncomfortable and wants to do everything else, but focus on the problem and do the work. I want to suddenly call people I haven’t spoken to in ages, check my mail, my messages, peek at the fediverse 😂 I resist. And tell myself, I just have to hold on for 20 more minutes 😂 I serendipitously came across this tweet, just a few minutes ago, which tells me I am not alone :) Writing code is often a constant struggle against distraction.\n— Joy of Clojure This focus is now bleeding into other areas of my life. I am slowing down and doing other stuff, slowly, intentionally. My mind feels like it is slowly expanding as if it was in a vise. It feels a bit more relaxed, a bit more freer Here’s to showin’ up!\n","date":"17 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-8-many-many-relationships/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #8 - Many, Many Relationships","type":"work"},{"content":"Let’s get on with today’s log!\nI studied only Django today.\nWas plagued with rains and power cuts and family stuff.\nManaged to work well and patiently though.\nWhat I learnt in Django land. # Owned Rows, that opened my eyes into another dimension to begin with. While I knew that Django supports multiple users, it struck home today, that I was the one to write all the code that supported all those users. All the exercises so far, were just build a view, show some data. And now I realise, Oh! I cannot let Tom edit Jerry’s cheese details, nor can Spike get into Tom’s house. I need to be the one that guards against all that. Owned rows are one way I can do this. They will let logged in users edit or delete rows that belong to them only. Not the others. I subclassed stuff, which let me drill OOP concepts like inheritance a bit more. Finally, I learnt about DRY in action where I let the parent classes do all the heavy lifting, while I wrote a tiny class that let me tweak stuff just the way I liked it. Finally, finally, I learnt the amount of work Django saves me and just how much power is there under the hood. Focus Follow Up aka How did I fare today and how do I feel now at the end of the day? # Did eight, 30 minute sessions of learning Django. Had three aborted sessions, when I got ridiculously distracted. If you want to know, why I abort and start over, I kinda go over this, in this post. So worked about the same time (or less) as I did yesterday. I feel like I learnt a bit more, than I did yesterday. I’ve begun writing scratch notes as I look at the videos. This makes it more slowgoing, but I internalise stuff a more. I think. I’ll see if this helps. Energy wise, this is still sustainable. I feel good still at the end of the day. Not drained and exhausted. Also I think I’m getting the grasp of this. I keep pausing the videos and then trying to predict stuff. I find myself being right, more and more frequently. Today was the first time I yelled at Dr. Chuck for typing in the model name wrong 😂 I only wish I had begun much, much, much earlier in life, when all these things were beginning and then grown with the Django project. I wish I was not as intimidated about programming being the domain of ‘smart’ people, when I was young. I wish I had more patience, as I traverse what seems like a never ending road of learning with no end in sight, with new things to learn, every half a mile. I wish I could get over this big mountain of basic fundamentals with a snap of my fingers. But I can’t. So I’ll do the next best thing. Show up. And do the work. ","date":"16 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-7-owning-all-the-rows/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #7 - Owning All the Rows","type":"work"},{"content":"","date":"15 juin 2021","externalUrl":null,"permalink":"/tags/jasonlearnspostgres/","section":"Tags","summary":"","title":"Jasonlearnspostgres","type":"tags"},{"content":"Today, I did not quite care how much progress I made.\nInstead I focussed on getting my focus periods in, like I described yesterday.\nIt’s about an hour earlier than when I usually call it a day.\nAnd yet, now that I am checking, I have ‘worked’ fewer actual hours than usual.\nAnd I have gotten a bit of exercise and housework done too!\n(This does not usually happen on a normal study day)\nWhat I did # Set a timer for 30 minutes. Got to work. Butt in seat. If I got distracted, I’d reset the timer to 30 minutes and start again. The aborted session would not count. Tried to be patient with myself. Realised that doing things over, was not really a negative, if it meant that in the long run I’d be able to focus better. How I fared # I did six, 30 minute sessions of Django. I did three, 30 minute sessions of Postgres. Don’t think I could have lasted this long, if it was just Django. Had to scratch and start over six times. Ended up doing close to 4 and a half hours of focussed Deep Work. What I learnt # Learnt about tables in Postgres and did basic commands with a single table Learnt about forms in Django and how they are built and all the niceties Django provides. Worked through some exercises in Django, where I built forms and then hooked it up to models using Views. Then learnt just how much time and effort Django saves me by using generic ClassViews. Also got into a rhythm of doing stuff, blowing Django up, looking at the error, figuring it out and then going on the next blowup. What I feel # Did a whole day today, after yesterday’s run Tired, but not exhausted. Still feel energetic enough to write this blog post Actually love this time, when I can sit peacefully and write. All I need now, to complete this setting is a glass of cheap Goan port. I don’t feel rushed. At four and a half hours, it might feel like I spent less time, but I got much more done than I do in a eight hour day. I realise that the tiny rest periods in between are doing me good. The first few breaks, I kept checking all my feeds. By afternoon, I had settled down to either doing small chores or just enjoying the solitude as I did gentle physical stretches If I can do 30 minute stretches at will this week, I’ll increase them to 45 minutes next week.\nHere’s to hoping, this is a sustainable way to focus and learn lots daily.\n","date":"15 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-6-focus-followup/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #6 - Focus Followup","type":"work"},{"content":"","date":"15 juin 2021","externalUrl":null,"permalink":"/tags/planetpostgres/","section":"Tags","summary":"","title":"Planetpostgres","type":"tags"},{"content":"Hopefully, for the next couple of months at least.\nAs amazing as Dr. Chuck and Brian Yu and Reuven Lerner are, I find myself falling asleep as I learn web development.\nI look at the videos, I seem to understand things, and then I zone out.\nA while later, 30 minutes have passed, three videos are over and I am wondering, just what the heck Dr. Chuck is on about.\nI find myself struggling like this over and over.\nI have days of intense focus. But those are draining.\nI then need a couple of days to recover, for every day, that I can study like that.\nI realised that I need something sustainable.\nSo I decided to do a few things differently today onwards\nI studied more than one thing.\nWhile my focus remains learning Django, I realised that I cannot make that the entire day’s focus.\nMy mind can no longer process information like this.\nWhile I want to focus on one thing and get it out of the way as soon as possible, to get on with the next thing, my mind refuses to cooperate.\nSo I studied Django for the most part, but also interspersed it with writing and exercising Python code (which I am sorely in need of) and learning some PostgreSQL. I started interval focus training.\nI realised that the phone is doing me no favours, but I do need to check it.\nSo I started working in 15 minute bursts since Friday.\n15 minutes of no interruptions, followed by a minute or two of stretching my legs and responding to messages (no email, no social media.)\nToday I did 30 minute sessions, which I’ll continue the whole of this week.\nI hope to build up my focus muscle to where I can work in 90 minute stretches. And if I get in 3-4 such stretches on a daily basis, I’ll consider that a day well spent. And as I write this at the end of the day, to my mind, I have made more progress, than I usually make in two days without being exhausted at the end of it all.\nI’ve no idea how long this will work for me.\nBut I’ll report back on how this is going next week.\nAnd probably write again, on when the well has dried up and I’ll need to change tactics.\nUntil next time …\n","date":"14 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-5-figured-out-how-to-focus/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #5 - Figured Out How to Focus","type":"work"},{"content":"Like I mentioned the other day, Django is driving me batty!\nOk, I cannot completely blame Django.\nA dental procedure has left me in quite a bit of pain and unable to focus.\nSo I was wondering what else I could do, instead of Django and decided I’d learn PostgreSQL.\nI was tickled pink when I read that Postgres is actually Post Ingres.\nI am old enough to remember Ingres databases that ran on computers I supported as a junior hardware engineer in the late 90s. I was warned not to ever touch the database machine unless I was supervised :P\nI also attended seminars for another ‘Post Ingres’ database called NonstopSQL in the early oughts when I worked with Compaq as a support engineer for their laptops. Engineers would have open sessions. But what did a boy servicing laptops have to do with Tandem machines? How did they let me attend? That I will never know. Just that I found them fascinating :)\nNow it all comes full circle when I actually need to learn about databases.\nAnd what better database to learn than Postgres? :)\nAll those random videos about Postgres the other day, led me to the University of Michigan’s, PostgreSQL for Everybody Specialization.\nDr Chuck Severance is an engaging instructor, so I promptly signed up.\nI’ll log the journey and what I learn, here in the days to come.\nSo long, for now!\n","date":"10 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-4-beginning-to-learn-postgresql/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #4 - Beginning to Learn PostgreSQL","type":"work"},{"content":"Wasn’t quite well today, so took it slow.\nThe Problem # The only thing I managed to learn was what a Cross Site Request Forgery(CSRF) is, and how Django helps protect against it.\nThe Wikipedia page describes it in painstaking detail, and if you want it described a bit more simply, then Jesse Ruderman does an admirable job.\nComputerphile does an even better job.\nI am using this analogy in my head.\nI go and stay over at my friend, Jack’s apartment so often, that he leaves the key under the cactus outside the door.\nNow this kind of thing is common knowledge. If someone is out on errands, expecting family home, the key is hidden in plain sight. (under the cactus or the doormat or something like that)\nSo someone else (a thief, not me. I’m family) can always look at these common places and gain entry and rob us blind.\n(Not that Jack has anything of value, except for old BoneyM records)\nSo what is Jack to do? What needs be done?\nJack gets it into his mind to do something … crazy everytime and tell only me about it.\nHe’ll barricade the door with some sort of strong rope and hide the scissors someplace.\nOr he’ll roll the heavy table outside to block the door (and the stairwell) knowing that I know how to unlock the castors and move the godaweful table.\nOr he’ll put a facade of a door that looks like a safe, knowing I’ll peel it off later.\n(Why can’t he just give me another key instead of making me do all this work? God only knows. He’s a nutcase!)\nThe point being, he does something different every time to add an additional layer of security.\nSo a CSRF token is something similar. While your keys and session data might be stored on your computer and might be accessed by something foreign, it is not possible for said foreign entity to steal your CSRF token, because it is short lived and changes frequently (the token that is, not the foreign kook trying to hack their way into your server.)\nThis keeps malicious sites from doing … um … malicious things on your server.\nThe Resolution # Django, like Python, is batteries included.\nSo its Middleware includes CSRF protection.\nIn its various forms, to use in various places, it boils down to writing/including something like csrf_token\nIf I want to use it in a form, the default method is to just include \u0026lt;form method=\u0026quot;post\u0026quot;\u0026gt;{% csrf_token %} in any template that routes / forwards to another URL internally. (what do I do if I want to post to a URL externally? I don’t know yet. I’ll look stuff up later, if such stuff is even common. In my head, the threat model is for all my routes and urls and models on my server) If I want to use it in an AJAX post, I have to remember to pass the CSRF token in as POST data with every POST request. And of course, being the awesome folk they are, the Django folk have documented this really well and you can always see the work behind all the magic.\nThat was it for today. More later!\n","date":"8 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-3-cross-site-request-forgery/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #3 - Cross Site Request Forgery","type":"work"},{"content":"I miss writing about what I learn.\nSo I am going to try and begin again.\nI was too focussed on trying to learn all the stuff as quickly as possible, so I can go job hunt.\nBut I realise, I need to strike some sort of balance between learning slow enough, so that I can learn and document and enjoy vs going full tilt to finish up the blocks that I need.\nOne good thing that I’ve figured out for myself though is that I would love to use Python to do web stuff.\nErgo, I’d like to be a Python backend developer.\nTo that end, I am learning Python and Django and HTML and CSS and Postgres and I want to learn Flask and FastAPI and some low level network engine like Twisted.\nWriting this, I realise there is no end to what I want to learn.\nAnd once again, I need to strike a balance between what I’d want and love to learn vs what is actually needed to land a job that pays the bills, at least to begin with.\nI’ve been on a learning rampage the past month, and I have learnt lots, but something niggles me.\nMy mind hates it when it cannot quite make out the shape of the thing it’s learning.\nWhen I don’t have a mental model of it in my head.\nSo this post is kind of clearing out my head, to see where I am at.\nPython, I consider myself a slow writer, but now I understand gosh darn nearly everything I lay my eyes on. I can read Python.\nI need to practice writing a lot more to gain fluency. But I am comfortable with the language. Like I mentioned above, I have the shape of Python in my head. I know what it feels like, how to intuit things, and what the entire Python continent looks like and the areas that I’m comfortable with. HTML \u0026amp; CSS, I’ve learnt enough to be dangerous. Once again, I know what’s involved, and the areas that I need to work on. JavaScript, is something I need to work on. If I want to become a web developer, then this is a skill I need to have. I’ve learnt the basics. But I need to figure out what this world looks like. Django, is what I am trying to learn currently and it’s driving me bananas. It has so many moving parts. This feels like learning Python basics all over again. Hopefully the CS50W course that I’m doing will help me gain perspective. PostgreSQL, is the final piece of what will make me think that I have the basics in place. I’ve just begun learning this today, as a break from Django. I’ll go mad otherwise. Let’s see how this pans out. All the rest can wait.\nSo anything I learn about any of these things in the days going forward, I’ll write about how it felt and what I understood, over here.\nWish me luck!\n","date":"7 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-2/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #2","type":"work"},{"content":"test\n","date":"7 juin 2021","externalUrl":null,"permalink":"/work/learning-backend-webdev-log-1/","section":"Work","summary":"","title":"Learning Backend WebDev, Log #1","type":"work"},{"content":" Snow clouds rolling down a mountain peak, near Se La I don\u0026rsquo;t know the name of this bird,\nI only imagine his glittering beak tucked in a white wing\nwhile the clouds—\nwhich he has summoned\nfrom the north—\nwhich he has taught\nto be mild, and silent—\nthicken, and begin to fall\ninto the world below\nlike stars, or the feathers\nof some unimaginable bird\nthat loves us,\nthat is asleep now, and silent—\nthat has turned itself\ninto snow.\nWhite-Eyes, Mary Oliver\n","date":"6 juin 2021","externalUrl":null,"permalink":"/personal/white-eyes/","section":"Personal","summary":"","title":"White Eyes","type":"personal"},{"content":"When a book keeps popping up in your radar, from a wide variety of sources, over months, then you just have to go read it.\nvia the amazing Ricardo Siri. click the image to see full size.\nThe Overstory was it for me.\nTwo friends, three random youtube videos and a couple of podcasts made be buckle down and read it.\nI wanted to go slow and savour it and finish it slowly. But I got greedy and gobbled it down yesterday.\nThis one is for the Lindy List.\nThe book’s about a set of characters and trees and about the intersections and interleaving of their lives with each other and with trees.\nIt’s a love letter to trees.\nOr maybe it’s a love letter from Aberewaa, from Atira, from Bhoomi, from Gaia to us.\nMy highlights from the book follow …\nThe greatest delight which the fields and woods minister, is the suggestion of an occult relation between man and the vegetable. I am not alone and unacknowledged. They nod to me, and I to them. The waving of the boughs in the storm, is new to me and old. It takes me by surprise, and yet is not unknown. Its effect is like that of a higher thought or a better emotion coming over me, when I deemed I was thinking justly or doing right.\n—Ralph Waldo Emerson\nEarth may be alive: not as the ancients saw her—a sentient Goddess with a purpose and foresight—but alive like a tree. A tree that quietly exists, never moving except to sway in the wind, yet endlessly conversing with the sunlight and the soil. Using sunlight and water and nutrient minerals to grow and change. But all done so imperceptibly, that to me the old oak tree on the green is the same as it was when I was a child.\n—James Lovelock\nTree . . . he watching you. You look at tree, he listen to you. He got no finger, he can’t speak. But that leaf . . . he pumping, growing, growing in the night. While you sleeping you dream something. Tree and grass same thing.\n—Bill Neidjie\nBefore the people at the customer service desk even hand her the phone, she knows. And all the way home to Illinois she thinks:\nHow do I recognize this already? Why does this all feel so much like remembering?\nUnited, the trio sit together one last time. They have no explanation. There never will be one. The least likely person in the world has gone on an impossible tour without them. In place of explanation, memory. They put their hands on each other’s shoulders and tell each other stories of how things were.\nThe judges award him no medal—not even a bronze. They say it’s because he has no bibliography. A bibliography is a required part of the formal report. Adam knows the real reason. They think he stole. They can’t believe a kid worked for months on an original idea, for no reason at all except the pleasure of looking until you see something.\nHumans carry around legacy behaviors and biases, jerry-rigged holdovers from earlier stages of evolution that follow their own obsolete rules. What seem like erratic, irrational choices are, in fact, strategies created long ago for solving other kinds of problems. We’re all trapped in the bodies of sly, social-climbing opportunists shaped to survive the savanna by policing each other.\n“Kindness may look for something in return, but that doesn’t make it any less kind.”\nIf you want a person to help you, convince them that they’ve already helped you beyond saying. People will work hard to protect their legacy.\nWhy? She says no reason. A lark. A whim. Freedom. But there is, of course, no freedom. There are only ancient prophecies that scry the seeds of time and say which will grow and which will not.\n… each night, Ray has almost forever to think: Something is happening to me. Something heavy, huge, and slow, coming from far outside, that I do not understand. He has no idea. The thing that comes for him is a genus more than six hundred species strong. Familiar, protean, setting up camp from the tropics all the way up through the temperate north: the generalist emblem of all trees. Thick, clotted, craggy, but solid on the earth, and covered in other living things. Three hundred years growing, three hundred years holding, three hundred years dying. Oak.\nYou have given me a thing I could never have imagined, before I knew you. It’s like I had the word “book,” and you put one in my hands. I had the word “game,” and you taught me how to play. I had the word “life,” and then you came along and said, “Oh! You mean this.”\nIn fact, it’s Douggie’s growing conviction that the greatest flaw of the species is its overwhelming tendency to mistake agreement for truth. Single biggest influence on what a body will or won’t believe is what nearby bodies broadcast over the public band. Get three people in the room and they’ll decide that the law of gravity is evil and should be rescinded because one of their uncles got shit-faced and fell off the roof.\nHer trees are far more social than even Patricia suspected. There are no individuals. There aren’t even separate species. Everything in the forest is the forest. Competition is not separable from endless flavors of cooperation. Trees fight no more than do the leaves on a single tree. It seems most of nature isn’t red in tooth and claw, after all. For one, those species at the base of the living pyramid have neither teeth nor talons. But if trees share their storehouses, then every drop of red must float on a sea of green.\nWith them, Dad may throw softballs and tell bubble-gum wrapper jokes and play tag. But he reserves his best gifts for his little plant-girl, Patty.\nTheir closeness bothers her mother. “I ask you. Has there ever been such a little nation of two?”\nThey drive through a land once covered in dark beech forest. “Best tree you could ever want to see.” Strong and wide but full of grace, flaring out nobly at the base, into its own plinth. Generous with nuts that feed all comers. Its smooth, white-gray trunk more like stone than wood. The parchment-colored leaves riding out the winter—marcescent, he tells her—shining out against the neighboring bare hardwoods. Elegant with sturdy boughs so much like human arms, lifting upward at the tips like hands proffering. Hazy and pale in spring, but in autumn its flat, wide sprays bathe the air in gold.\n“What happened to them?” The girl’s words thicken when sadness weighs them down.\n“We did.”\n“If you see a trunk carved full of letters, it’s a beech. People can’t help writing all over that smooth gray surface. God love ’em. They want to watch their lettered hearts growing bigger, year after year.\nFond lovers, cruel as their flame, cut in these trees their mistress’ name. Little, alas, they know or heed how far these beauties hers exceed!”\nHe tells her how the word beech becomes the word book, in language after language. How book branched up out of beech roots, way back in the parent tongue. How beech bark played host to the earliest Sanskrit letters. Patty pictures their tiny seed growing up to be covered with words.\nOn her fourteenth birthday, he gives her a bowdlerized translation of Ovid’s Metamorphosis. Patricia opens the book to the first sentence and reads:\nLet me sing to you now, about how people turn into other things.\nAt the funeral, Patty reads from Ovid. The promotion of Baucis and Philemon to trees. Her brothers think she has lost her mind with grief.\nShe won’t let her mother throw anything out. She keeps his walking stick and porkpie hat in a kind of shrine. She preserves his precious library—Aldo Leopold, John Muir, his botany texts, the Ag Extension pamphlets he helped to write. She finds his copy of adult Ovid, marked all over, as people mark beeches. The underscores start, triple, on the very first line:\nLet me sing to you now, about how people turn into other things.\nShe replants their experiment in a spot behind the house where she and her father liked to sit on summer nights and listen to what other people called silence. She remembers what he told her about the species. People, God love ’em, must write all over beeches. But some people—some fathers—are written all over by trees.\nLate at night, too tired from teaching and research to work more, she reads her beloved Muir. … She writes her favorite lines in the inside covers of her field notebooks and peeks at them when department politics and the cruelty of frightened humans get her down. The words withstand the full brutality of day.\nWe all travel the Milky Way together, trees and men. . . . In every walk with nature one receives far more than he seeks. The clearest way into the universe is through a forest wilderness.\nIt’s a miracle, she tells her students, photosynthesis: a feat of chemical engineering underpinning creation’s entire cathedral. All the razzmatazz of life on Earth is a free-rider on that mind-boggling magic act. The secret of life: plants eat light and air and water, and the stored energy goes on to make and do all things. She leads her charges into the inner sanctum of the mystery: Hundreds of chlorophyll molecules assemble into antennae complexes. Countless such antennae arrays form up into thylakoid discs. Stacks of these discs align in a single chloroplast. Up to a hundred such solar power factories power a single plant cell. Millions of cells may shape a single leaf. A million leaves rustle in a single glorious ginkgo.\nToo many zeros: their eyes glaze over. She must shepherd them back over that ultrafine line between numbness and awe. “Billions of years ago, a single, fluke, self-copying cell learned how to turn a barren ball of poison gas and volcanic slag into this peopled garden. And everything you hope, fear, and love became possible.” They think she’s nuts, and that’s fine with her. She’s content to post a memory forward to their distant futures, futures that will depend on the inscrutable generosity of green things.\nYears from now, she’ll write a book of her own, The Secret Forest. Its opening page will read:\nYou and the tree in your backyard come from a common ancestor. A billion and a half years ago, the two of you parted ways. But even now, after an immense journey in separate directions, that tree and you still share a quarter of your genes. . . .\nShe addresses the cedar, using words of the forest’s first humans. “Long Life Maker. I’m here. Down here.” She feels foolish, at first. But each word is a little easier than the next. “Thank you for the baskets and the boxes. Thank you for the capes and hats and skirts. Thank you for the cradles. The beds. The diapers. Canoes. Paddles, harpoons, and nets. Poles, logs, posts. The rot-proof shakes and shingles. The kindling that will always light.”\nEach new item is release and relief. Finding no good reason to quit now, she lets the gratitude spill out. “Thank you for the tools. The chests. The decking. The clothes closets. The paneling. I forget. . . . Thank you,” she says, following the ancient formula. “For all these gifts that you have given.” And still not knowing how to stop, she adds, “We’re sorry. We didn’t know how hard it is for you to grow back.”\nShe takes his shaking hand in the dark. It feels good, like a root must feel, when it finds, after centuries, another root to pleach to underground. There are a hundred thousand species of love, separately invented, each more ingenious than the last, and every one of them keeps making things.\nplaces remember what people forget.\nShe always thought he was just myth. She must still discover that myths are basic truths twisted into mnemonics, instructions posted from the past, memories waiting to become predictions.\nmoss-swarmed floor—straight up, with no taper, like a russet, leathery apotheosis.\nThe spruces near the cabin wave spooky prophecies under the near-full moon. There’s a straight line of them, the memory of a vanished fence where red crossbills once liked to sit and shit out seeds. The trees are busy tonight, fixing carbon in their dark phase. All will be in flower before long: huckleberry and currant, showy milkweed, tall Oregon grape, yarrow and checkermallow. She marvels again at how the planet’s supreme intelligence could discover calculus and the universal laws of gravitation before anyone knew what a flower was for.\nThey read The Secret Forest again. It’s like a yew: more revealing on a second look. They read about how a branch knows when to branch. How a root finds water, even water in a sealed pipe. How an oak may have five hundred million root tips that turn away from competition. How crown-shy leaves leave a gap between themselves and their neighbors. How trees see color. They read about the wild stock market trading in handicrafts, aboveground and below. About the complex limited partnerships with other kinds of life. The ingenious designs that loft seeds in the air for hundreds of miles. The tricks of propagation worked upon unsuspecting mobile things tens of millions of years younger than the trees. The bribes for animals who think they’re getting lunch for free.\nThey read about myrrh-tree transplanting expeditions depicted in the reliefs at Karnak, three thousand five hundred years ago. They read about trees that migrate. Trees that remember the past and predict the future. Trees that harmonize their fruiting and nutting into sprawling choruses. Trees that bomb the ground so only their own young can grow. Trees that summon air forces of insects to come save them. Trees with hollowed trunks wide enough to hold the population of small hamlets. Leaves with fur on the undersides. Thinned petioles that solve the wind. The rim of life around a pillar of dead history, each new coat as thick as the maker season is generous.\nNo one sees trees. We see fruit, we see nuts, we see wood, we see shade. We see ornaments or pretty fall foliage. Obstacles blocking the road or wrecking the ski slope. Dark, threatening places that must be cleared. We see branches about to crush our roof. We see a cash crop. But trees—trees are invisible.\nTrees know when we’re close by. The chemistry of their roots and the perfumes their leaves pump out change when we’re near. . . . When you feel good after a walk in the woods, it may be that certain species are bribing you. So many wonder drugs have come from trees, and we haven’t yet scratched the surface of the offerings. Trees have long been trying to reach us. But they speak on frequencies too low for people to hear.\nWhat you make from a tree should be at least as miraculous as what you cut down.\nTonight’s poem is Chinese—Wang Wei—twelve hundred years old, from an anthology of poetry she winds through at random, the way she likes to hike:\nI know no good way\nto live and I can’t\nstop getting lost in my\nthoughts, my ancient forests. . . .\nYou ask: how does a man rise or fall in this life?\nThe fisherman’s song flows deep under the river.\nThen the river is running over her, and she’s done. She douses the dim, low-watt bulb clipped to the headboard. All that’s left her is the moon. She rolls on her side and curls up, her face pressed into the dank pillow. After a minute, the end of her mouth pulls into an abiding smile.\n“I did not almost forget. Good night.”\nGood night.\n","date":"31 mai 2021","externalUrl":null,"permalink":"/reading/the-overstory/","section":"Reading","summary":"","title":"The Overstory","type":"reading"},{"content":"This post was first sent to my newsletter on May 21st, 2021.\n[You really ought to subscribe][1] :)\nWelcome to another edition of the work letter :)\nLet’s just dive into it. Click the headers to wander off to the original articles.\nOS X Reviewed # Sometime earlier this year, the operating system known as Mac OS X aka OS X aka macOS, stepped into its 21st year of existence, marking two decades of steady iterative movement. That its underpinnings are older, by at least another decade, is story for some other time.\nI put this in here, not for the OS itself but for the reviews of the OS, by John Siracusa. From it’s fledgling days, through the first ten releases upto 10.10, John covered it all.\nIn painstaking detail.\nOther folks wrote reviews. John wrote introductory books to each new OS.\nEvery other line was linked someplace I could learn more.\nIt meant that everytime, I sat to read and learn from a John Siracusa review, I would have to set aside a couple of days to finish it.\nFrom why spatial interfaces matter, to covering the rise of Webkit (which would soon be the bedrock of the modern web) to kernel changes to single handedly goading Apple into creating a new filesystem for their devices,1 John wrote about it all.\nIf you want to learn about operating systems and design and how stuff comes together, you owe it to yourself to read John’s chronicles of Apple’s desktop operating system.\nAnd for the curious, yes I have been using Macs (and Mac OS) that long (longer in fact), only to have shifted to Linux in the last couple of years, because I don’t agree with or like the direction Apple seems to be taking it in. I used System 7 and Mac OS 8, then tried the OS X DP2 hotness, got horrified with how agonizingly slow it was and stuck with Mac OS 8 until 10.2 was released in 2002.\nResearchers build a swimming robot that works in the Mariana Trench # From the Ars Technica post,\nBut that may not be entirely necessary, based on a report in today\u0026rsquo;s Nature. In it, a team of Chinese researchers describe adapting hardware so that it could operate a soft-bodied robot in the deep ocean. The researchers then gave the robot a ride 10 kilometers down in the Mariana Trench and showed that it worked.\nMention robots, and for many people, the first thing that comes to mind are the collections of metal and cabling that make up things like the dancing Atlases from Boston Robotics. But over the last decade, plenty of researchers have demonstrated that all that rigid hardware isn\u0026rsquo;t strictly necessary. Soft-bodied robots work, too, and can do interesting things like squeeze through tight spaces or incorporate living cells into their structure.\n## [Intel’s x86 Designs No Longer Limited to Intel on Intel][itpvt] Intel’s found itself in crises before, but as far as I remember, they’ve made such a daring, bet the company, shift only once before. In the era of the [Intel trinity][tit] (the mid 80s), they moved [from being a memory company, to one that focussed on making CPUs][imrc] for the then burgeoning micro computer market. This move by one of their spiritual descendants, Pat Gelsinger, brings back to mind the same audacity. Will it yield similar results? Only time will tell. \u003e For the last 20-25 years, Intel has been steadfast in keeping the crown jewels of its product design firmly inside its very protective walls […] limiting use/production for Intel-only use has enabled the company to improve that design with laser focus, manufacturing not-withstanding. Keeping the cores for internal use only means that neither customers nor competitors were able to see the raw design specifications, and for a long time this has enabled Intel to keep key features, such as its branch predictors, away from all but the most prying eyes. \u003e \u003e In a twist to the norm, Intel is now set to dissolve those walls keeping its x86 cores it itself. The key phrase here is ‘core of Intel’s compute offerings’. It could be interpreted in two ways: at the core of a CPU design is a CPU core, which would mean an x86 design unless Intel were to skew away from x86 (unlikely). The other alternative could be an IO chiplet, which is also a ‘core part’ of a compute offering. Paul Alcorn from Tom’s Hardware has confirmed from Intel that the key element here is ‘compute cores’, and although Intel hasn’t specifically said the ISA of those cores, we are set to believe that Intel does indeed mean x86.\nThis means that other foundries will have access to the floorplans of Intel’s x86 designs, which used to be a big no-no at Intel. […] the fact that Intel is even letting another foundry build x86 cores that is the highlight of this announcement.\nAll-in-all, Pat Gelsinger is enabling a roadmap that allows Intel to pivot, and pivot hard.\nThat filesystem bit might not be true, but to my mind, it absolutely just is. John willed it so, and therefore Apple made APFS :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"28 mai 2021","externalUrl":null,"permalink":"/personal/on-robots-in-the-mariana-trench-old-os-reviews-and-intels-second-biggest-pivot/","section":"Personal","summary":"","title":"Work Edition","type":"personal"},{"content":"","date":"24 mai 2021","externalUrl":null,"permalink":"/tags/cnc2021/","section":"Tags","summary":"","title":"Cnc2021","type":"tags"},{"content":"","date":"24 mai 2021","externalUrl":null,"permalink":"/tags/codemore/","section":"Tags","summary":"","title":"Codemore","type":"tags"},{"content":" And just like that, I’m done with #CNC2021 # I started this journey, on April 20th, with the hope that I would write a lot more code.\nI was getting discouraged because to my mind, I was not getting much done.\nI volunteered for the Code More challenge, in the hope that I could make some progress\nBackground # Like I mentioned in the Code Newbie Welcome Thread, I am looking to change careers and get a job as a web developer.\nWhich means I have a lot to learn, in a hurry.\nSo I’ll need all the help, I can get.\nProgress # I learnt HTML and CSS and built a website from scratch, using a course.\nI learnt the basics of Django and built a Django powered website.\nMost importantly I learnt the importance of reviewing my plans and course correcting.\nThat to me, was my biggest blindspot.\nThere’s still quite a ways to go, but building something concrete has done wonders for my confidence.\nTakeaways, Learnings, and Growth # Using the “Goals, Tasks, Iterate, Big Picture” loop helped clear my muddled head and gave me a way to make progress.\nI aim to use the process I learnt here, as my long term way to manage my projects.\nPlan.\nExecute.\nReview.\nAdjust.\nRinse.\nRepeat.\nOverall Reflections # I love all the folks over at CodeNewbie, who were extremely encouraging.\nThis experience has taught me the value of having friends and a community who will help you on your path. To, that end, I will seek out new communities where I can ask questions and help out too.\nI aim to stay at Code Newbie ofcourse :)\nWhat\u0026rsquo;s next for me # I’ve just begun on my path. There’s still lots more to do, on the way to becoming a web developer. Wish me luck!\n","date":"24 mai 2021","externalUrl":null,"permalink":"/work/completing-cnc2021/","section":"Work","summary":"","title":"Completing #CNC2021","type":"work"},{"content":"This post was first sent to my newsletter on May 2nd, 2021.\n[You really ought to subscribe][1] :)\nNew month, new newsletter! :)\nLet’s get right into it, shall we?\nAn informed look on the why of the farmers agitation. Vivek Kaul’s post on how Bihar fared when they did away with APMCs in 2006, shows why the farmers are up in arms.\nRead them here, part 1, part 2, \u0026amp; part 3\nThe farm prices at which farmers sell continue to be depressed compared to the MSPs and given that difference has only increased in recent years, weakens the argument forwarded by supporters of the new farm laws which extrapolates deregulation to improved price realization for farmers. Economic theory doesn’t always fall in line with things actually happening on the ground.\n… while the net income of farmers in Bihar rose from 2007 to 2010, nevertheless, it has been declining continuously since 2010, up to the point we have data for. The declining income is explained by a rise in costs of agriculture inputs (seeds, power, labour, fertilizers, cost of finance, etc.) without a commensurate increase in sales revenue. The net income per hectare farmed, has moved alarmingly towards zero.\nScott Young, on the best online classes he took It’s the holidays! Why not spend sometime learning something new? Scott Young lists some of the best online courses, he’s learnt. It’s a wide ranging, cross disciplinary list, with subjects from Law to Physics to Medical Neuroscience. I am partial to the most meta course of them all, [Learning How to Learn][lhtl]. This kickstarted the learning pivot in my life a couple of years ago, helping me learn so much stuff. [Check out the entire list of ten courses (plus a few honourable mentions) here.][sycl] Hermann Hesse’s beautiful love letter to trees! Read here, Watch here\n(definitely worth the 5 minute or so watch. Natascha McElhone mesmerises with her voice)\nA tree says: My strength is trust.\nI know nothing about my fathers, I know nothing about the thousand children that every year spring out of me.\nI live out the secret of my seed to the very end, and I care for nothing else.\nI trust that God is in me.\nI trust that my labor is holy.\nOut of this trust I live.\n…\nSo the tree rustles in the evening, when we stand uneasy before our own childish thoughts:\nTrees have long thoughts, long-breathing and restful, just as they have longer lives than ours.\nThey are wiser than we are, as long as we do not listen to them.\nBut when we have learned how to listen to trees, then the brevity and the quickness and the childlike hastiness of our thoughts achieve an incomparable joy.\nWhoever has learned how to listen to trees no longer wants to be a tree. He wants to be nothing except what he is.\nThat is home. That is happiness.\nSo here we are, ending our letter on that beautiful soothing note.\nCatch you folks, next month!\n","date":"9 mai 2021","externalUrl":null,"permalink":"/personal/on-why-farmers-agitate-the-best-online-classes-you-can-take-and-love-letters-to-trees/","section":"Personal","summary":"","title":"On Why Farmers Agitate, The Best Online Classes You Can Take and Love Letters to Trees","type":"personal"},{"content":"","date":"30 avril 2021","externalUrl":null,"permalink":"/tags/jason-learns-django/","section":"Tags","summary":"","title":"Jason Learns Django","type":"tags"},{"content":"And just like that, this little journey ends.\nWhat did I do/learn today?\nToday was all about deployments. Learnt how to use gunicorn along with nginx to deploy my website. Learnt how to hide my secrets outside my code. My first Django site is live!\nA few reflections.\nThe project was both harder than I thought it would be, and took less time than I thought it would. I know Django now, but I definitely don’t “know” Django. This was an excellent introduction to the world of webdevelopment for me and has only whet my taste for more. I realised that I need to skill up my HTML / CSS. That is where I turn to next. All the art and the layout were already done for me in this project. I want to do those too. I need to do these study projects slower and keep aside sometime for play projects too. This is something I will definitely do next week onwards. ","date":"30 avril 2021","externalUrl":null,"permalink":"/work/jason-learns-django-08/","section":"Work","summary":"","title":"Jason Learns Django - 08","type":"work"},{"content":"This post was first sent to my newsletter on April 23rd, 2021.\n[You really ought to subscribe][1] :)\nWelcome to a tech edition of the letter.\nI’m trying something new with this now, since I am in that strange valley, where I don’t know enough about programming to write opinions of my own and yet I need to talk to my techie friends.\nSo, taking a leaf out of Kushal’s newsletter, I will share stuff that I come across as I read.\nAnd reading and jabbering about tech is something I can do.\nAnd the stuff I share will definitely be the best links and articles I find from the wide variety of sites I read.\nAt most three a letter; I don’t want to overwhelm you :) So, like Kushal, but not as niche as him. Definitely not wide ranging either. Let’s see :)\nAlso, please let me know how you like it :)\nHere we go …\nBrad Cox, passed away on January 2nd this year. # The throwaway language he created to sell his software libraries was picked up by a computer company as the cornerstone language to base its operating system around. That failing company was then bought out by another company at death’s door, for the operating system and the libraries they’d created with Brad’s language.\nRead all about it in The Deep History of Your Apps: Steve Jobs, NeXTSTEP, and Early Object-Oriented Programming,\nNeXT had already invented the future back in 1988, but because NeXT never shipped more than 50,000 computers, only a handful were lucky enough to glimpse it in the 1990s.\nSteve Jobs needed to return to Apple to distribute that future to the rest of the world.\nBen Thompson always has awesome insight on the meta, in technology. # Here’s his take on The Web’s Missing Interoperability,\nfrom a big picture perspective this is clearly a case of Shopify, one of the most exciting companies in tech and the seeming leader of The Anti-Amazon Alliance, effectively moving into Facebook’s garden, because the web is increasingly a barren wasteland for small businesses. The cause is Apple: its approach to cookies makes platform-based web storefronts increasingly difficult to monetize effectively (Shop Pay performed magic in this regard), and its attack on “tracking” — which goes far beyond the IDFA — makes it increasingly impossible to acquire users in one place and convert them in another. The solution is to do user acquisition and user conversion all in one app — i.e. on Facebook — which is why Shopify is helping merchants move off the web and onto Facebook.\nAgain, it’s a good solution for Shopify, and Facebook deserves credit for recognizing that Shopify is a complement to their service, not a competitor, but I find it disappointing that once again elevating privacy above every other tradeoff is entrenching Facebook, the biggest incumbent of all.\nJump more efficiently into bash history # The third tip on Max Hoffman’s post solved an really sore and irritating need I had.\nThe last tip aims for faster retrieval of commands from history. Usually, the up-arrow jumps to the previous command in the history. However this quickly becomes very tedious if one jumps 5 or 10 or more commands back in history. Instead if you put\nbind '\u0026quot;\\e[A\u0026quot;:history-search-backward'\nbind '\u0026quot;\\e[B\u0026quot;:history-search-forward'\ninto your /.bashrc and start typing part of a command it will only jump to those commands in the history which start with the same fragment of a command. This is useful for any command line work and you may already know if from e.g. IPython but it is also useful for cd. So …\ncd \u0026lt;up-arrow\u0026gt;\u0026lt;up-arrow\u0026gt; \u0026hellip;\nlet’s you quickly navigate through previous cd commands.\nThat’s all folks! :)\n","date":"30 avril 2021","externalUrl":null,"permalink":"/work/nextstep-shopify-and-bash-history/","section":"Work","summary":"","title":"NeXTSTEP, Shopify and Bash History","type":"work"},{"content":"Today was a little easier.\nWhat did I do/learn today?\nToday was about doing contacts in the app that we are building. Registering visitors and stuff The basic flow was generating another app and doing views and models and wiring them up to pages So this felt like revision of all that I’d learnt over the past few days. Stuff makes some more sense now. I think I will be done in a day or two, but I know I have only scratched the surface of Django. I will need to build a lot more projects to gain fluency. That’ll be the plan in the coming weeks and months ","date":"29 avril 2021","externalUrl":null,"permalink":"/work/jason-learns-django-07/","section":"Work","summary":"","title":"Jason Learns Django - 07","type":"work"},{"content":"Hard day again.\nI just cannot seem to focus and learn.\nIt takes slogging and rewatching and retyping and oh, I missed a colon there. Do it again.\nAnd again.\nAnd again.\nAnd that is the only way, I seem to make any progress.\nWell, the learning at speed does not quite seem to be in my hands\n(or my brain 😂)\nWhat is in my control, and the best I can do, is to show up every day.\nWhat did I do/learn today?\nI think I’m getting familiar with Django. Today I caught Brad making a mistake. And I went ha! That’s not what the module is called. It’s messages, not message. Learnt all about creating user accounts for the website that I am creating alongside the course. Learnt how to wire stuff up to the login, logout and register pages. Learnt how to flash messages using Javascript \u0026amp; Bootstrap. Created Dynamic Titles for all the various pages of my website; i.e. instead of it just pulling in the name from a base html file, I can now type in a title for every page, or create one from the various variables on the page. Realising that Django is both not as large as I feared (the big picture is tractable) and much larger than I feared. (I don’t quite know how long I will take to master it.) Until next time then …\n","date":"28 avril 2021","externalUrl":null,"permalink":"/work/jason-learns-django-06/","section":"Work","summary":"","title":"Jason Learns Django - 06","type":"work"},{"content":"Life got in the way again.\nRemembered yesterday.\nSo I took it easy.\nGave myself 4 hours and the grace to quit if I wasn’t done.\nAnd somehow, by the skin of my teeth, I got done with the pending module.\nWhat did I do/learn today?\nI seemed to have taken a break at a natural place in the module. If yesterday was about wiring views, today was about doing search. Wrote lots of Django template code. Loops and variables and pulling data from dictionaries. Amazing to see reams of code in an HTML template just vanish, to be replaced by a few lines of code, that loops over data pulled from a database. Wrote lots of search functions for different parts of the site. Love the fact that I understand most of the Python I write. Am confused a lot about whether the stuff I use is Python powered or something Django gives me, but am not stressing over it. This I am sure will come with time Today was another slog day, but it was so much fun, watching various parts of the website come to life. ","date":"27 avril 2021","externalUrl":null,"permalink":"/work/jason-learns-django-05/","section":"Work","summary":"","title":"Jason Learns Django - 05","type":"work"},{"content":"I thought last friday was hard.\nBoy, was I wrong.\nI had scheduled about four hours to do one of Brad’s modules everyday.\nAnd today was such a bear.\nLife happened.\nThere were lots of interruptions.\nI tried to soldier on nonetheless.\nEight hours in, and I am still only halfway through the module.\nThat’s when I decided to give myself some grace and let it go.\nNote to self, stick to the time. Not the module. If the module does not get over, there is always tomorrow.\n(saying this, as I look at the pile of stuff, I’ve left undone today.)\nWhat did I do/learn today?\nLearnt the basics of view methods today Am kinda getting the hang of how stuff passes through Django from me typing stuff in the url bar, to stuff being displayed on screen. Learnt about humanize module that’ll “humanize” dates and times and figures, so that they make sense to humans. Getting better at passing stuff in a view to the template. Learning how to collect everything I want in a dictionary, and then passing it wholesale to the template, so I can work magic there, using those data. Learnt about the Paginator module, that helps me, well, paginate stuff. Hope to finish this module tomorrow\n","date":"26 avril 2021","externalUrl":null,"permalink":"/work/jason-learns-django-04/","section":"Work","summary":"","title":"Jason Learns Django - 04","type":"work"},{"content":"Today was a slog.\nLife got in the way, so lost some scheduled time. So decided to work some more in the evening.\nWhat did I do/learn today?\nLearnt the basics of models, and migrations today. Learnt how to install PostgreSQL, so that I could simualate a production environment. This took eons, all because, I did not realise that I (or some other program I installed) had already installed Postgres in the past, and so I went down a rabbit hole of looking at logs and figuring out ports and why I could not talk to the database I wanted. Am slowly realising that I what working with Django actually is, is to take things that Django provides and then customise them to my needs. And Django provides a lot. Python is just the way I express what I want. Learnt how to write a model file and then use migrations to actually go alakazaam and make them real in my database. Learnt how to rejig the default admin panel, that comes with Django While the stock admin site is pretty function Brad walked me through customising it to add brand colours and adding / changing functionality. For e.g. adding in a search field, so I could search by names. I should be reading Django documentation and then playing with all the features. Time to call it a day.\nMore on Monday.\n","date":"24 avril 2021","externalUrl":null,"permalink":"/work/jason-learns-django-03/","section":"Work","summary":"","title":"Jason Learns Django - 03","type":"work"},{"content":"Today was a really good day.\nDid four productive hours of work.\nManaged to focus, and follow the lessons and write my own code.\nWhat did I do/learn today?\nI need to write a lot more code. I need to write lots of HTML/Javascript, to gain a better understanding. I thought I could get by with basic stuff, but the more I learn Django, the more I see that it works hand in hand with the content and styling that I have written. (Right now there is a set of templates for the course, but I can see myself taking much longer, if this was not there.) The MVT flow is now gradually making more sense to me. What stuff belongs to a model? Or a view? I would listen to the instructor, (Brad), then pause the video and then try to do it myself first. Or at least think through the process and mentally prep an answer. And then go see what he did, and how he did it. Worked with Apps and URLs and Templates and learnt to write code across these files, wiring one up to the other, so that the page would render. ","date":"23 avril 2021","externalUrl":null,"permalink":"/work/jason-learns-django-02/","section":"Work","summary":"","title":"Jason Learns Django - 02","type":"work"},{"content":"Meta post.\nMore than Django itself, I am beginning the phase of my journey, where now I write code and install programs and do all the things.\nAm committing 2 hours to this daily, on weekdays along with a tiny what did I learn post.\nI am beginning with Django itself, and if I have difficulties with any underlying concepts, I will quickly dive down and write code to understand those.\nLearning along with Brad Traversy’s Python Django Dev To Deployment.\nIt’s a bit old, but I like the way he teaches.\nAnd to make sure I am not cargo culting, I am doing this with Django 3 (the course has Django 2)\nWhat did I do/learn today?\nSet up a timetable of when I’ll go about doing things. Bought the course. Installed Django and got it to work. And that’s about it.\nLooking back at it, I wonder why this took me three long hours, but it is what it is.\nI’d rather show up daily and make progress.\n","date":"22 avril 2021","externalUrl":null,"permalink":"/work/jason-learns-django/","section":"Work","summary":"","title":"Jason Learns Django","type":"work"},{"content":"Here’s putting in some thought into what I’ll do this #CNC2021.\nTheir first mail asked me to reflect on …\nDetermine what has worked. # Figured out the basics of data structures and algorithms Figured out how to write in Python Figured out how write my own code. Took a lot of work and persistence. Took a lot of grit. Realised that I’m not “slow.” I just have a hard life and could only put in fewer hours compared to the folks who zoomed past me. Determine what has NOT worked. # Just what I said above but in a slightly negative manner. This takes a lot of grit. I need to figure out how to stop bare knuckling it and do it sustainably. I’m dog slow currently. I need to look up everything and I get distracted when I do that. I keep comparing myself to others and get overwhelmed What are your long-term goals? # Get a job by accomplishing, in the next 6-12 months, what I listed in my introductory post. I need to do all sorts of basic exercises in the languages I am learning (Python/HTML/CSS/JavaScript) I need to find and contribute to open source projects, to get a feel of how it is to work with folks and to understand how this whole world functions I need to write toy projects for myself. What are your short-term goals? # By the end of this challenge, I want to get into the rhythm of writing code across all the three goals I listed up above I just need to see steady forward progress ","date":"20 avril 2021","externalUrl":null,"permalink":"/work/cnc2021-pre-mission/","section":"Work","summary":"","title":"#CNC2021 Pre-Mission","type":"work"},{"content":"Enough learning.\nI now have to drill what I’ve learnt over the past few weeks and months by writing lots of code.\nBeen noodling around with what that might look like in my head. Here’s what I got.\nAfter tentatively coding up stuff in a couple of domains and after a short chat with a friend, I realise I love writing code for the web.\nI love reading.\nI love to write on my blog.\nI love that with just a few keypresses, my words can be read by anyone on the web, no gatekeeper required.\nI would love to write code to enable this for more people.\nI would love to play and tinker and push at the boundaries of this domain. This intersection of all this is web development.\nErgo, I want to become a web developer.\nSo while I have learnt and watched and written a bit of code and understand how programming works, what I need now, if I want this to be my second career, is fluency and a portfolio.\nTo that end,\nI need to do all sorts of basic exercises in the languages I am learning (Python/HTML/CSS/JavaScript) I need to find and contribute to open source projects, to get a feel of how it is to work with folks and to understand how this whole world functions I need to write toy projects for myself. Learning by my ownsome was a tremendously hard, extremely lonely task.\nI don’t want to repeat that mistake again.\nSo, to start with the “doing”, I’ve signed up at Code Newbie for their #CNC2021 challenge.\nLasts 5 weeks, and I’m already a couple of days behind, but never mind that.\nI also stretched a bit and signed up for the Code More challenge.\nAs to what’s involved, I have no clue, yet.\nWill wait up for their emails and then do the work and write all about it here.\n","date":"20 avril 2021","externalUrl":null,"permalink":"/personal/starting-up-cnc2021/","section":"Personal","summary":"","title":"Starting up #CNC2021.","type":"personal"},{"content":"Updated version of the post. I seem to have somehow, mangled the old one.\nI’ll just blame it on the gremlins in the cloud.\nI’ve been “soft” looking for a job, since the end of last year when I learnt the basics of Python.\n(Want me to come work with you as a junior developer? Here’s my resume!)\nAnd I’ve had rejection after rejection after rejection.\nI apparently am good.\nI have skills.\nI could be an asset for companies.\nBut I am not “quite” what folks are looking for, not quite right for them.\nI am not quite what it is, folks are looking for, to take chance on.\nI am a square peg …\nAnd while I understand this in my head, my heart does not get it at times.\nAnd that’s when Seth, as usual comes to the rescue.\nWith a word, that I am increasingly using to mentally toughen myself and give me courage.\nYet …\nFrom A Professional Stumbler …\nLeo\u0026rsquo;s working hard to do something he\u0026rsquo;s never done before. He\u0026rsquo;s just turned one, and he doesn\u0026rsquo;t know how to walk (yet).\nThere are no really useful books or videos on how to walk. It\u0026rsquo;s something he has to figure out on his own. But instead of waiting on the couch until the day he\u0026rsquo;s ready to proudly strut across the room, he\u0026rsquo;s there, on the floor, every day, trying it out.\nHe\u0026rsquo;s already discovered a hundred ways that don\u0026rsquo;t work, and stumbled countless times.\nBut he persists.\nI don\u0026rsquo;t know about you, but this is precisely the way I learned how to walk as well.\nIn fact, it\u0026rsquo;s the way I learned how to do just about everything important. By doing it.\nFrom A Simple Missing Word …\n“Yet”.\nYou can append it after any sentence related to your journey of achievement and contribution.\n“I haven’t finished the project”\n“I haven’t learned how to juggle”\n“I haven’t made the sale”\nYET.\nAnd along the way, “Yet” turns “can’t” into “haven’t.”\nYet isn’t the result of brazen persistence. It’s what we earn with learning, insight and generosity.\nFrom So Far / Not Yet …\nWhat to do in the face of failure? What happens when you’ve done your best and it still doesn’t get the review, close the sale or win the race?\n… The growth mindset, is to realize that while you did your best, it’s not your best forever, it’s just what you’ve done so far. And that while you haven’t created what you set out to create, the key word, the one you have to remind yourself of daily, is yet.\nFrom You Have No Credibility (yet)\nYour belief, even your proof, is insufficient for you to get the attention, the trust and the action you seek. Attention is not yours to take whenever you need it. And trust is not something you can insist on.\nThe bad news is that you are not entitled to attention and trust. It is not allocated on the basis of some sort of clearly defined scale of worthiness.\nThe good news is that you can earn it. You can invest in the community, you can patiently lead and contribute and demonstrate that the attention you are asking be spent on you is worthwhile.\nSo yes, I might not be up to par, might not match up to what they look for, might not be skilled enough … yet.\nI’ll get there, soon enough!\n“You’re not that good”\nAnd of course, Seth has to read my little blog and riff off my post :P\nI kid. He doesn’t even know I exist. But talk about happy serendipity!\nYou’re not that good, spells my journey up above in beautiful detail.\nThe first is that when we begin, we’re not that good. This is a fact. The breakthrough for anyone on this journey is adding the word **“yet.” **\nIt doesn’t pay to pretend that we’ve figured it out before we have. It’s counterproductive to adopt a brittle attitude in the face of criticism. In fact, during this stage, “you’re not that good,” is precisely what we need to hear, because it might be followed with insight on how to get better.\nThe second is that once we start to build skills and offer something of value, some people are going to persist in believing that we’re not that good. Fine. They’ve told us something about themselves and what they want and need. This is a clue to offer our leadership and contribution to someone else, someone who gets what we’re doing and wants it. The smallest viable audience isn’t a compromise, it’s a path forward. Find the folks who are enrolled and open and eager. Serve them instead.\nThe danger is that when you hear rejection during this stage, you might come to believe that you’ve accomplished nothing, as opposed to realizing that you might simply be talking to the wrong people.\nAnd the third comes full circle. Because it’s possible that in fact, we’re not that good yet, and there aren’t enough people who want what we’ve got. We’re simply not good enough for this part of the market. So we embrace that truth and begin at the beginning. We’re not good enough yet. We haven’t practiced enough, found enough empathy, understood the genre well enough and figured out how to contribute. Yet. At least for this audience.\nAnd then we get better.\n","date":"17 avril 2021","externalUrl":null,"permalink":"/personal/i-cant-do-this-yet-updated/","section":"Personal","summary":"","title":"I Can’t Do This Yet … Updated","type":"personal"},{"content":"","date":"17 avril 2021","externalUrl":null,"permalink":"/tags/persistence/","section":"Tags","summary":"","title":"Persistence","type":"tags"},{"content":"If you want to someday make money from your skills and your craft, you owe it to yourself to read this.\nIf you have never read Lucas, you owe it to yourself to read him.\nBuy Cashflow for Creators!\nMy highlighted notes from the book follow …\nCraft is the nuts and bolts of how you do The Thing. For a writer, it’s stuff like grammar and spelling and reading. For a glass artist, it’s not mixing different COEs or—at the highest levels—how to mix different COEs. Painters need to understand that light and pigments blend colors very differently, how to prep and clean a canvas, and so on.\nArt, as a verb, is how you express yourself through your craft. Stephen King and Danielle Steele both work with the same tools of the craft, but they create totally different books.\nArt illuminates an ideal.\nAs a noun, art is the finished product; the book, the painting, the song, the Thing.\nTrade is the business of the finished art. Once you have mastered your craft, you need to master your trade. For writers, it’s how to format a manuscript and how to sell your books. For an artist, it’s how to get into galleries and garner commissions. Maybe it’s how you use Redbubble, Etsy, and eBay. It’s how you pay your taxes and siphon off money to pay the mortgage.\nProfessional artists must master craft, art, and trade.\nThe trickiest part about a creator learning their trade?\nNever letting the trade into the creative process.\nThoughts like “this will never sell” or, worse, “this will sell millions!” are death to creativity.\nA creator with a stressful job must put aside their concerns to create. You can’t fret about your stock portfolio and carve a masterpiece. When you step into your creative space, discard these business concerns in exactly the same way. I promise you that when you finish the day’s drawing or writing or sculpting, those concerns will still be there, ready to be picked up. They won’t even miss you.\nThink of art and business as hats.\nWhen you put on the Art Hat, you are purely a creator. You are expressing your innermost self through your craft to create a piece of art. During that moment, you must utterly believe in yourself. Other people have the exact same craft you do. The only thing you own, all you can express, is your sincerity and personal truth. Without letting yourself do that, you have no art. When you finish your work, take a moment to admire it. Tell yourself you did okay. Creative work is still work, so give yourself a chance to rest.\nThen take off the Art Hat, and put on the Business Hat. You’ve expressed your personal truth, now it’s time to trade that work. Don’t even think about the creation process while you’re wearing the Business Hat. Don’t consider the trade while you’re wearing the Art Hat. They must be wholly separate. Even long-time creators have trouble with this. I just had a discussion with a writer whose artistic side is demanding she write a certain novel. Her business mindset keeps shrieking, “You don’t want to be known for this!” Truth is, her inner creator is going to write the book. The only question is, will she come along quietly or will her Muse drag her by the handcuffs? Maybe she’ll put on the Business Hat afterwards and say “No, this can’t go into the trade.” That’s fine. Everybody occasionally creates unsaleable work. Maybe she’ll give it for free to her most dedicated fans, or bury it in the trunk for her literary estate to discover.\nChapter 4: The Long Slow Slog\nA creative business that makes money but doesn’t yet pay all your bills is in the Long Slow Slog. You’re making money, just not enough. The Slog might last years. It might last decades. You’re not making enough yet.\n“Yet.” That’s the key word. You’re still learning how to make money, improving your artistic skills, and figuring out how everything fits together. So long as you continue improving, you will get there.\nThe Long Slow Slog is an absolutely critical stage of your career. It’s not an easy time. You’re still doing some sort of day job to keep the roof over your head and food in your belly. It’s also when you learn how the trade (the business of your art) works in the real world.\nHow do you trudge through this endless era and build a long-term business?\nWith a support system that includes your family and your attitude.\nKeep Creating\nThe Long Slow Slog started because you love The Thing so much that you kept doing it. You improved at it enough that you started to bring in money for it. That made you think that maybe you had a business here. Perhaps you could even make a living with your art.\nWhatever you do: never stop creating.\nMoney comes from practicing your art. You must keep making new things. One best-selling book or one perfect painting is not a career.\nDeliberate Practice\nPeople don’t want more of the same. They want the same, only different. They want the thing they love, plus something extra. They want their creators to achieve new heights, new depths, new something. If you want a career, your art must constantly improve. Without adding new things, your fans will drift away. The cash flow will dry up, and your fans won’t be able to tell you why.\nThe only way to achieve “the same but different” is through practice.\nDeliberate practice focuses on honing one aspect of the art at a time.\nHow much do you create?\nI’m a writer. I wrote four books last year. Easy. How many copies of each book I sold doesn’t really matter in this discussion.\nIf you make something more tangible, like beads or clay figurines or capybara parachutes, your inventory is the number of them you made. If the items are all similar, a simple tally when you finish each piece will start. If you create different types of thing, you’ll need a separate column for each type.\nYou also need to know how much you sell of each thing. The way you track this depends wholly on what you make and how you sell it, so I can’t recommend any specific system. Talk to other professionals in your craft. Do what they do.\nAlso track how much time you spend working on your craft. This isn’t only the time you spend actively sewing or writing or working the welding torch. If you have a dedicated workspace that needs cleaning, count that time. I do all my writing on a dedicated computer in my home office. In theory, I can’t possibly get dirty or make a mess doing it. Even so, I must swill the filth out of my garret every month or two.\nIf you decide to go full time, this knowledge will be precious—and there’s no other way to get it other than you recording it during the Long Slow Slog.\nA small business owner has two rules for spending money.\nIf it can be a business expense, it is a business expense Spend money on needs, not on wants These rules are directly contradictory, except when they aren’t.\nSo many folks dream of creating to pay their rent. Remember, a dream is something you don’t control. Transforming that dream into a concrete, actionable goal requires knowing how to get there. It requires a way to measure success and risk. You must continuously improve your art, understand business, and run your life as if it’s a business.\nthere is zero shame in deciding you don’t want turn your art into your living. Relying on your art to feed the kids is not for everyone. You entirely own the choice and the responsibility. Once you accept both, any choice you make is correct for you.\nThe Bucket shows you how everything averages out, however. Experience has shown me that four books in a year lets me at least scrape by.\nthe Bucket is a business machine that converts those irregular bursts of cash into a smooth, steady stream. My life is a hole in the bottom of the Bucket. The bigger the hole, the faster the Bucket drains. Rent and food and expenses are predictable, and subject to my control. Before I can control them, though, I must know what those expenses are.\ndiscussing financial disasters is easiest when you aren’t under financial pressure. If you get laid off, you’ll come home with a spinning head, churning emotions, and a pounding heart. You could find a worse time to make financial decisions, but it would probably involve black market organ transplants and an armored car heist.\nIf your income drops, what expenses will your household cut? What must you keep? The time to decide this is when everyone’s employed, not under pink slip pressure. This discussion doesn’t need to involve everyone; there’s no need to worry the kids. (Once they’re teenagers, having them listen to the discussion might be a useful education.) All decision makers must be included, though, and that’ll vary depending on who’s in your household.\nMy budgeting vastly improved once I looked in the mirror and conceded that I was an idiot who was going to buy books before food, and set aside money for it. 1\nWhen the money level drops below Yellow, you’ve crossed the Red threshold. Your business cannot sustain you. It’s time to get back in the straight workforce.\nFront-loading decisions relieves huge amounts of stress. Nightmares of going bust have awakened me at stupid o’clock more than once.\nYes, I discuss the Bucket with my family. Money is our society’s last big taboo, but the successful creators I know all discuss money with their families. If you trust your family with your children and the capybara and to sign for you to have emergency surgery when you’re unconscious because you caught the gangrene, you can discuss business with them too. Your family will call you on your daft decisions, point out perfectly obvious things you never considered, and in general help keep you from driving into the ditch.\nWhere Red is about recovering from failure, the Yellow threshold is about lifestyle. How long are you willing to endure living at Essential Expenses to have the job you want? No extras. No vacation. No cable TV, no meals out, no nothing. Bupkis. You are deliberately deciding to scrape by for this length of time. This is where you say “I’m gonna give it a year and see what happens.”\nIf you have family, the answer gets more complicated. Your family wants you to keep doing your art, because it makes you happy. But how many months are they willing to live at Essential Expenses level so that you can have the job you want? That’s the core question. Maybe you’re willing to go forever, but your spouse says a year. Or five years. Or never; it’s full expenses or nothing. Get this all out before you set a number of months.\nIf you can’t reach agreement, you’re stuck with the time demanded by the person with the shortest tolerance. To do otherwise declares your business is more important than your loved ones.\nWe haven’t discussed income much, because you don’t control it. While working hard, improving your craft, practicing your art, and learning your trade all enhance your chances of making money, other people’s purchasing decisions are beyond your control. What matters is how much the Bucket’s level rises over a year, or two years, or even five years.\nIf you made over a year’s worth of Essential Expenses last year, maybe you could make a go of it. If you made over five years’ worth of Full Expenses over the last five years, you could almost certainly make a go of it.\nMy Essential Expenses for both home and business total $2,500 a month. That’s $30,000 a year. Did I add more than $30,000 to the Bucket last year? If so, and if spending the additional time at my art and my craft has a reasonable chance of increasing my income, I have a decent chance.\nIf I added less than $30,000 to the Bucket, it’s a lot more iffy. How confident are you that working like an obsessed artist will boost your income?\nYour life hits a crisis. Should you jump into full time as a creative? If your business’ yearly income exceeds your Essential Expenses, or even your Full Expenses, and your Bucket is way up in Green, do it.\nAgain, this never happens. In the real world, we have to act on experience, logic, and hope for just a touch of luck. Everybody’s decision is unique.\nIn my case, I had chosen a technology job that gave me a lower salary in exchange for being treated like an actual person and a total18 absence of company stupidity. Five years later, the company went under. If I returned to a standard corporate gig, my salary would double. So would my stress and my weight. Family dinners would vanish, just like the bad old days. Over on the artistic side, though, I was making nearly as much from my art as from the day job. The Bucket was in the lower end of Yellow and making more than Essential Expenses.\nI discussed the situation with She Who Must Be Obeyed. We agreed that I should jump to writing full time. We would go on Essential Expenses for a year and see what happened.\nFor the next year, I wrote like an obsessed maniac scribbling on his padded walls. A standard corporate job demands nine- and ten-hour days from their technology staff. I treated my craft and my trade like such a job and refused to spend a penny that wasn’t absolutely necessary. I wrote seven books that year and published six of them. At the end of the year, I broke into Green.\nIf you can’t drain Essential Expenses from the Bucket every month without slipping into the Red, your trade is not yet viable. It is not yet the time to jump to full-time creation.\nKnowing your personal Red and Yellow Thresholds, and documenting your Essential and Full Expenses, lets you easily make those decisions.\nMe!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 avril 2021","externalUrl":null,"permalink":"/reading/cashflow-for-creators/","section":"Reading","summary":"","title":"Cashflow for Creators","type":"reading"},{"content":"","date":"11 avril 2021","externalUrl":null,"permalink":"/tags/memory/","section":"Tags","summary":"","title":"Memory","type":"tags"},{"content":"This post was first sent to my newsletter on April 4th, 2021.\nYou really ought to subscribe :)\nA tiny bit of houskeeping before we begin.\nI used to track how many people read the newsletter, partly out of morbit curiosity and partly because Sendy, the software I use to write and schedule these letters, did not have an option to turn it off globally. I would have to turn it it off every single time, I wrote a letter and well, my life is too short to be doing all that.\nHowever with the latest version of Sendy all that has changed.\nAnd I have turned off all tracking! Yippee!\nTalk about the importance of sane defaults!)\nAnd now, on to the letter …\nI wrote about keeping my daddy and granny alive, in the last letter.\nAnd serendipitously, I came across two articles that touched on something similar.\nHere’s a few quotes from Farnam Street’s, We are What We Remember\nMemories are not like movies, exactly the same no matter how many times you watch them. Nor are they like files stored in a computer, unchanging data saved for when we might want to retrieve it. Memories, like the rest of our biology, are fluid.\n“Memory is more like live theater, where there are constantly new productions of the same pieces,” the Østbys write. “Each and every one of our memories is a mix of fact and fiction. In most memories the central story is based on true events, but it’s still reconstructed every time we recall it. In these reconstructions, we fill in the gaps with probable facts. We subconsciously pick up details from a sort-of memory prop room.”\nThis means that memories are personal!\nAnd not just that.\nThey are also, only what I imagine them to be.\nAnd not who they actually were.\nWhich in turn, depressed me a bit.\nSo is it all for naught?\nIf a beloved dies, then do they really go away?\nAm I hanging on to fragments of imagination?\nGeorge R R Martin gives me hope though.\nLike Hemingway in Paris, I never had much money. I shared rooms at cons, slept on floors or in a bathtub, got to the cons on a bus or in the back seat of a friend’s car… walked to the hotels from the bus station, lugging my suitcase in my hand (no wheels on luggage in those days) since I did not have the money for a cab. Were those the bad parts? Or the good parts? From 2020, it is not easy to say. They make me smile now, as I look back. But if I try, I know that there were really bad parts too. Like Hemingway, though, I choose not to dwell on them. The world was a fucked-up place, then as now, but fandom was a refuge; warm, welcoming, strange (but in a good way), a community unlike any I had ever known, united by a shared love of our peculiar little branch of literature and the people who wrote it.\nTo quote one of Hemingway’s contemporaries, however, you can’t go home again. By the time Hemingway sat down to write A MOVEABLE FEAST in those last years of his life, he surely knew that the Paris he had known and loved in the 20s was gone forever… and the fandom that I knew and loved in the 70s is gone as well. This year the worldcon is in Washinton DC, in the very same hotel where the 1974 worldcon was held… the worldcon where I lost my first Hugo, accepted Lisa Tuttle’s Campbell Award, and prowled the halls till dawn with Gargy, looking for parties we never found. There is a part of me that somehow hopes that going back to the same hotel in the same city, I might somehow recapture something of those nights. But my head knows better. My head knows those days are gone forever, along with so many of the people that I shared them with. I wonder how often Papa Hemingway returned to Paris in the 40s and 50s, and what he thought of the place when he did.\nA bit of hope that even if no remembers them anymore, my mind and heart will.\nIt gives me faith that my love for them, will keep them alive.\nIt leaves me with gratitude for the fact I chose to remember their best parts, that I chose to remember them with warmth and love.\nAnd with appreciation for my family and friends. It is our collective memories that will keep those who have gone before us, alive. It is our stories, that will make heroes. It is our remembrances that will give them legacies.\nAnd that to me, is enough :)\nUntil next time …\nP.S. Please read both the links. They are worth it. Farnam Street, We are What We Remember, George R R Martin, Moveable Feasts P.P.S. Subscribe to my mailing list!\nForward these posts and letters to your friends and get them to subscribe!\nP.P.P.S. Feed my insatiable reading habit.\n","date":"11 avril 2021","externalUrl":null,"permalink":"/personal/on-moveable-feasts-and-memory/","section":"Personal","summary":"","title":"On Moveable Feasts and Memory","type":"personal"},{"content":"Despite financial troubles there’s a sense in which my childhood was immensely privileged — a pauper in the material world, I was a sultan in the world of ideas.\n— Erik Hoel\nI started by wanting to share that quote and link on my microblog and then my thoughts turned into a blog post sized comment.\nI decided to post it here too, then.\nThat quote describes my life to a T, even now.\nI might be financially down in the dumps, but when it comes to books, my friends and kinfolk, have always somehow found a way to keep me happy and occupied.\nThe school librarian knew I used the library for what it actually was, a repository of magic and wisdom, and not what most folks used it for, a sick bay.\nWhich meant at least once a month, I would tell my teachers I was sick, go to the library and read books for an hour and after a year, the librarian would turn a blind eye to my presence too.\nI was lost in Verne and Poe and Dickens.\nThe roadside vendor at the railway station, who I would buy books second hand from, would always keep the keep the newest ones for me.\nIf I couldn’t pay, he’d lend them to me on the condition, that I return it in day or two\nThis is where I got to read epic fiction. Tolkien’s worlds and McCullough’s Rome, all entranced me.\nAs a young hardware engineer making calls all over the city, I got to know the nooks and crannies of Bombay and more importantly I learnt where I could find the books that I wanted to read.\nThe Strand, and the roadside vendors at Fountain and Matunga and other nooks and cranies across the expanse of my tiny (in area) city became intimate friends.\nCrazy animé, Golden age Marvel, “Banned” books, Old scifi and fantasy authors like Asimov and Niven/Pournelle and and newfangled ones like Gaiman and GRRM and the ones who would merge story telling and philosophy like PKD or Anthony DeMello and Carroll.\nFriends, family, bosses, coworkers have all been indulgent too.\nI own the Ultimate Sandman, and the Complete Calvin and Hobbes, and the Complete Asterix, and a Niven novel that Asimov signed, and lots of Gibran, and lots of Anthony DeMello, and lots and lots and lots of hardbacks thanks to their generosity.\nIn a life, that has been constantly buffeted by storms, books have been my solace.\nI may not not have graduated college, but books have been my education.\nBooks have gotten me over breakups.\nBooks have taught me how to save money and make it grow.\nBooks have made me a better human by passing on the wisdom of the ancients to me.\nBooks made me healthier by teaching me how to lose weight sustainably.\nBooks gave me a leg up in life.\nBooks are helping me reinvent my work life as I change careers to programming.\nBooks give me a leg up in life.\nWith books I have been truly privileged and truly blessed!\n","date":"8 avril 2021","externalUrl":null,"permalink":"/personal/a-love-letter-to-books/","section":"Personal","summary":"","title":"A Love Letter to Books","type":"personal"},{"content":"This post was first sent to my newsletter on March 19th, 2021.\n[You really ought to subscribe][1] :)\nI blame Mahe for this post.\nHey, Jason!\nCan you please write an article on how to build a website like yours, where I can post my blogs?\nCheck out her blogs, here and here.\nThis one is squarely aimed at all the young ones, who are convinced that they need to be writing.\n(Maybe, it was me who convinced you, in the first place.)\nYou are young (or like me, forever young) and broke (also like me).\nYou need a place for your thoughts to call home.\nYou need a place to write, and grow and focus more on what you want to say about life and what you study or what you work at, or the portfolio/showcase of thoughts you will slowly build.\nWhat you use to write, does not matter at this stage!\nSo, what now?\nIntent (aka, what do you want out of your blog?) I have learnt the hard way, that the only way I can write better posts, is by writing [*lots* of crappy ones][crap]. I started a static website in the early oughts, then had a blogger blog, then a tumblr blog, then a self hosted wordpress blog, and then a self hosted ghost blog and now this self hosted [nikola blog][nb]. I sweated over the spacing. I fretted over which blog engine was best and most performant. I wondered about which ones protected privacy best. I had flame wars over which language was the best one to create a blog in, what sites were the best hosts, what frameworks would work better and how static blogs were so much faster than dynamic blogs but dynamic blogs offered so much power and flexibility. (all while I did not know how to write a single line of code.) I designed my blogs the way I wanted them, I bought premium themes, I bought fancy text editors and then figured out how I would write and where I would share them. I was all set. And then? … zip, nada, nothing.\nThe blogs just languished.\nThis current incarnation of the blog is the only one that I have stuck with and written lots on.\nEvery one of those previous attempts just withered on the vine.\nAnd not for lack of good intentions.\nI was always going to write that perfect post.\nI was waiting for more data, so that the post would be complete.\nI was researching for depth, because this subject was not just a post. It was a whole series.\nI never got around to actually writing though.\nIt was lack of focus. Lack of intent.\nThink about why you are starting the blog and what do you want on there?\nAnd that will give you direction about what to write.\nYou might realise that you don’t want to write, and just play with technology.\nThat is fair too. At least you’re being intentional about it.\nBegin Writing! If you have never written before, my advice to you is to do precisely 1 hour of research, into all the free, hosted blog engines that are out there. Off the top of my head, Write.as, Netlify, Tumblr, Wordpress, and Medium come to mind. make dummy blogs and explore all their features over the next day or two (at most). Figure out what interface you are most comfortable with. Begin Writing. I cannot stress this enough.\nYou will never write perfect posts.\nHow do I know?\nBecause I tried so hard, for so many years.\nAnd failed.\nWhat you can do, is show up on the first day.\nPublicly commit to writing everyday.1\nAnd write.\nEveryday.\nGood.\nBad.\nUgly.\nWhatever.\nJust put words on the page.\nThe only two things that’d probably matter are,\nThat you show up on the time you committed to And if your blog needs a general direction in the long run, you kinda sorta write your posts in that general direction. Even that is a pretty distant second though.\nFirst, master showing up daily.\nBuild that discipline.\nTools of the trade Caveat, don’t even *think* about reading this section, if you have not written close to a hundred posts on a regular schedule first. You need that muscle built strong. The rest as they say, is window dressing. Once you have written a couple of hundred posts, you get a pretty good handle on what it is that you are writing and what it is, that the blog needs to do to serve that purpose. I can tell you why I did, what I did with my blog. It might help you build yours? I don’t really know. But honestly, once you get on with writing, you will figure out most of this stuff or know someone who does, or understand that maintaining the status quo is good enough, until you can afford to pay for a hosted vendor, who does this all for you. I used Wordpress for a long time and loved it.\nThen I thought I wanted to control it all, and so I hosted Wordpress on my own site.\nThen I actually understood, what a headache maintaining it all really is.\nThen I looked for something simpler.\nI backed the Ghost kickstarter and as soon as they released it, I began using it.\nIt served my needs really well, until they decided to go in a different direction and abandon what I loved most about it. Writing in markdown. (I had written enough, to realise that any blog engine that I would use, needed to support Markdown.)\nAnd by then, like I said, I had written enough to know what I wanted out of a blog.\nI was writing for myself, so I did not want comments.\nThat eliminating comments also got rid of moderating people and spam was just a bonus.\nIf I wanted, I could actually go spread my message seperately. (the fediverse, email newsletters, social media networks and all that jazz.) But that is an intentional step. Separate from my act of writing.\nI mostly wrote words. So I needed something that would have pretty text.\nAnd since it was mostly just text, I could get by with a bunch of Markdown files rendered into static html files.\nI did not want to upgrade and patch and maintain a blog engine some place.\nI wanted something I could either host on my own server or just on some site somewhere else.\nThis would be easier once again if it was just a bunch of files that needed to be placed somewhere.\nI wanted the ability to write from anywhere.\nAnd finally I wanted a measure of control over where all this was.\nAll these considerations led me to realise …\nA static blog, with a pretty looking theme would address both my bunch of files requirement and my show words well requirement.\nThere were tons of fonts that I could use. So I chose one that was free to use and I could host myself.\nNot just hosting fonts, right now I can afford to host the site myself, so I have a Linode that hosts this blog.\nThe static blog can just as easily be hosted on some free place like github.io if life takes a turn for the worse.\nI was learning Python, so using a static site generator that supports markdown and was built in Python seemed logical. So I picked Nikola.\n(Did not really matter in the long run. I have used Go based Hugo, and Ruby based Jekyll too and all of them work essentially the same way. Even the theme I use on the blog, Lanyon, is originally a Jekyll theme, and can be found in Hugo as well).\nSo I learnt how to install it on my desktop, and customise it to use the fonts I wanted in the weights I wanted.\nThen I learnt how to automatically deploy it via ssh to my site. Most static site engines offer to automatically deploy to github.io or are available as hosted services on Netlify. Here’s Nikola on Github/Netlify.\nAnd finally, I’ve always wanted everything to be under my name, ergo the domain which I saved up for and bought.\nIt’s not essential to your writing, but probably essential to your identity in the long run, so that might be something to consider too.\nSo there we are.\nOne more post done :)\nIf you have questions, mail me! (jason at this domain)\nor to a schedule that you are comfortable with and publicly commit to.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"26 mars 2021","externalUrl":null,"permalink":"/personal/thoughts-on-setting-up-a-blog/","section":"Personal","summary":"","title":"Thoughts on Setting Up a Blog","type":"personal"},{"content":"Hello folks! Wish me luck on my Django journey\n","date":"20 mars 2021","externalUrl":null,"permalink":"/work/beginning-to-learn-django/","section":"Work","summary":"","title":"Beginning to Learn Django","type":"work"},{"content":"This post was first sent to my newsletter on March 7th, 2021.\n[You really ought to subscribe][1] :)\nBefore we get into this weeks newsletter, I’d like to take a moment and recognise the loss of my grandmother, who passed away on the 24th, last month.\nShe was a simple, thoughtful and kind woman, who raised a village.\nI miss her dearly. This was my eulogy to her.\nBack to the letter and back to something that is related to the last one.\nI’d shared Cal Newport’s podcast with you folk and I’m still making my way through the list.1\nAnd at the tail end of episode 49, came this question, on what books he’d suggest, to be a part of the Deep Life / Deep Work canon.\nThis was the list.\nSome I’ve read. And the rest I will this year.\nAll of James Gleick\nI don’t quite remember if he said *all* of James Gleick, but having read Gleick’s biographies of Feynman and Newton, I’d say you ought to really, really, read all of Gleick Lincoln’s Virtues, William Lee Miller Abe, David Reynolds Giants, John Stauffer Amusing Ourselves to Death, Neil Postman\nThis one seems to have had a big influence on Cal. He’s referenced it repeatedly in his posts, interviews and even previous podcast episodes Technopoly, Neil Postman Technics and Civilization, Lewis Mumford Man’s Search for Meaning, Viktor Frankl\nI read this as a youngster. I’ll revisit it this year. God in Search of Man, Abraham Heschel The Power of Myth, Joseph Campbell\nthe book expands on this interview Hero With a Thousand Faces, Joseph Campbell The Case for God, Karen Armstrong He ends with,\n“The bigger key here is not that this book or that book is gonna change your life, but instead that a commitment … to reading deeply, encountering deep ideas and reflecting on your own life and trying to structure and integrate these ideas into your own life; that general commitment is what is gonna give rise to depth.\nSo let’s all shut down our phones and unsubscribe from these social media channels and open up a big book and go deep”\nHere’s to more deep, intentful reading :)\nThe man puts out episodes at twice the speed I can spare the time to listen. Talk about being prolifically productive!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"15 mars 2021","externalUrl":null,"permalink":"/reading/books-that-underlie-and-gird-cal-newports-philosophy-of-a-deep-life/","section":"Reading","summary":"","title":"Books That Underlie and Gird Cal Newport’s Philosophy of a Deep Life","type":"reading"},{"content":"What do I do, when I don’t understand the vagaries of tech?\nWhy? I ask my friends to drum some sense into me.\nAs I write more code, I wanted to get some sense of the cultural norms about how to use git.\nSo I asked my young friends, Nabarun and Sayan all sorts of dumbass questions.\nHere it is, warts and all for posterity (but lightly edited).\nIf you’d love to come teach me or be part of the conversation, head on over to the IRC #learnandteach channel on the freenode server.\njasonbraganza: nabarun, sayan - as i keep practicing writing code more, i find myself doing a daily git branch off the previous days branch because I want each day’s progress. is this normal practice? or ok behaviour? XD\nsayan: Nope! rather than branch you can have daily commits\nnabarun: same thoughts ^^^\nnabarun: have commits as your checkpoints instead of branches\njasonbraganza: ok. :)\nnabarun: and then everyday or any day in future you can look at commit diffs\nsayan: exactly\nsayan: you can branch off to create a backup of the commits, if you want to\njasonbraganza: what if i have too many commits?\nsayan: but before sending that work to any open source projects, squash or rearrange them\njasonbraganza: ok i should learn that too.\njasonbraganza: thank you both :)\njasonbraganza: if anymore advice, i’m still all ears.\nsayan: When you are working on a big work, and you send of to review it is beneficial to arrange the commits in a way that reviewers can go through the commits\nsayan: and the whole history feels like a story\njasonbraganza: i don’t understand. are you telling me it is possible to arrange commits in a manner other than chronological?\njasonbraganza: or if you pointed me someplace you like the story, maybe i’ll understand better.\nsayan: I\u0026rsquo;m looking for a PR in fedora repo, I will see if I find but there is a smaller one that I did\njasonbraganza: thank you.\nsayan: https://github.com/coreos/mantle/pull/934/commits\nsayan: There are only 3 commits here, but first commit adds the provision to add new systems, then add dependency that the new system I will add will need, and then add the new system\nsayan: jasonbraganza: found the PR: https://pagure.io/fedora-hubs/pull-request/323\nsayan: this commit had 45 commits, if you had idea of the project then when you read the commits in order, old to new, it would make sense how the PR evolves\nsayan: There is this comment as well in description\nsayan: I recognize that it\u0026rsquo;s a big change, so I\u0026rsquo;d like to add the following :\nsayan: try to read commits in order, I\u0026rsquo;ve made them topic-specific, so you can understand what\u0026rsquo;s being changed and why. Reading the whole \u0026ldquo;Files changed\u0026rdquo; page is actually much harder.\njasonbraganza: now i understand.\njasonbraganza: i think it boils down to a difference in how i think about git\nsayan: This you cannot do when you code, this is often done later, or at intervals when you keep arranging the commits\njasonbraganza: that is what i was getting to ^\njasonbraganza: when i code, i want to do it iteratively\nsayan: When I work if it\u0026rsquo;s a big work, I just keep creating \u0026ldquo;Tmp commits\u0026rdquo;\njasonbraganza: and that probably could mean me jumping up and down all over the place.\nsayan: \u0026ldquo;Tmp commits is actually the commit message :)\njasonbraganza: and since i am paranoid, i keep committing my work\nsayan: jasonbraganza: doing regular commits is always good\njasonbraganza: so if i understand it right, you say that i can then change the order of my commits when i push to someplace remote, in a way that it all makes sense?\nsayan: jasonbraganza: see this https://github.com/kinvolk/coreos-overlay/commit/7fb8a7258c4dbd61d512c831272b3ebb36cf2e45\njasonbraganza: ^ that resembles more of my workflow :)\nsayan: jasonbraganza: you can push whatever you want to the remote, but when you create the pull request at the end of the day it should make sense to the reviewers\njasonbraganza: aha. so that is the missing piece.\nsayan: A pull request can be after say 1 week or 2 months, but commits you can do hourly, daily etc\njasonbraganza: will ask you to help, whenever i do this next time.\njasonbraganza: thank you sayan :)\nsayan: jasonbraganza: sure\nsayan: jasonbraganza: another idea, sometimes you might find yourself writing 1000 lines of code in an hour, and sometimes 5 lines in an hour\njasonbraganza: and obviously since I write, I am obviously a big fan of someone leading me to a conclusion in a logical flow ergo i am heavily in favour of writing stories in code as well\njasonbraganza: sayan, hmm true. go on\nsayan: in the former case you should commit every 2-3 minutes, and in the later case you can do a daily commit. People say to regularly commit because it\u0026rsquo;s hard to lose things when it is committed in git\njasonbraganza: ok. that makes sense. thank you :)\nsayan: np :)\njasonbraganza: as for committing regularly, i am always scared of having to redo my work or losing it. so that is something i do religiously :)\nsayan: jasonbraganza: same here, and probably same for all\nsayan: once I wrote a 100 lines of code over 2-3 days, lost because I did not commit\nsayan: I was happy to get the code from stash\nsayan: From that day, I just keep creating tmp commits\njasonbraganza: question, only files that are added are in stash, correct? if i create a new file, that won’t be there?\nsayan: jasonbraganza: yes, new files won\u0026rsquo;t be there.\nsayan: I was lucky, that I do stash apply and not stash pop\njasonbraganza: thank you sayan. my mental model of git grows clearer by the day :)\njasonbraganza: apply if i intuit correctly, will pull everything from stash, whereas pop will get me the newest one?\njasonbraganza: sayan, nabarun also, do i have y’alls permission to put this conversation on the blog? might help some other newbie?\nsayan: jasonbraganza: kushal has been asking me to write a git book for years atleast 5-6 years\nsayan: jasonbraganza: apply stash n: will apply the patch but also keep a copy in the stash list\njasonbraganza: maybe i should pull it out of you by asking questions like these XD\nsayan: jasonbraganza: pop will pop the last and also remove from stash list\nsayan: last = newest one, as you said\njasonbraganza: where n is any random number in the stash?\nsayan: yes, in stash list\njasonbraganza: understood :)\nnabarun: nabarun: sure. although I have not contributed much here. :)\nnabarun: jasonbraganza: ^^^\nsayan: every time you do git stash, it puts it in stash. git stash list will give you all in stash\njasonbraganza: nabarun, consent matters :)\nnabarun: jasonbraganza: it does!\nnabarun: git stash pop == git stash apply 0 \u0026amp;\u0026amp; git stash drop 0\nsayan: ^^ +1\njasonbraganza: why would you do a git stash as opposed to a git commit?\nnabarun: jasonbraganza: for cases where we want to stash our work aside to work on something else in the working space.\nsayan: jasonbraganza: not yet prepared like a commit, or moving around branches\nsayan: jasonbraganza: but you can do a tmp commit as well\nsayan: jasonbraganza: stash is quicker when you want to move around branches\nnabarun: jasonbraganza: IRL example, I am working on lubing my keyboard switches but realize that it\u0026rsquo;s work time. So, stash that aside and start working on my work stuff. When my work gets over, I can pop things off my stash of unfinished work.\nsayan: also suppose you want to rebase, and have changes. If you don\u0026rsquo;t have autostash then you have to stash manually :)\njasonbraganza: nabarun, that analogy does not quite fit in my head. i am just moving to a completely new space no, when i have to work\nsayan: s/rebase/pull changes/\nnabarun: jasonbraganza: think of it as you have just one workspace.\njasonbraganza: aah, now i get it better :)\nsayan: nabarun: here wants to say you have one table for all technical things for example.\nnabarun: jasonbraganza: for example, I won\u0026rsquo;t keep copies of the same git workspace for different workstreams.\njasonbraganza: nabarun, sayan thank you\nnabarun: jasonbraganza: jasonbraganza: more technical example, https://share.riseup.net/#NN3bvnSif2gn5JC2i0GkgQ I work on the same copy of kubernetes codebase for anything I am doing but stash and unstash things as I switch contexts.\nnabarun: jasonbraganza: I don\u0026rsquo;t keep more than one copy of the kubernetes codebase.\nsayan: jasonbraganza: my office team right now is spread toooooo thin. hope things change in future\njasonbraganza: nabarun, my headspace says to use branches everytime. i need to understand stashes better\nnabarun: jasonbraganza: okay.\njasonbraganza: nabarun, so you just stash things and stash things and stash things and then keep switching between them (for a single project?)\nnabarun: jasonbraganza: my mental model of differentiating them is like branches are completed pieces of work. stashes are incomplete state of my mind.\njasonbraganza: nabarun, feels better like you describe.\njasonbraganza: i should learn to do this.\nnabarun: jasonbraganza: I do both branches as well as stashes based on what my mind thinks of the situation.\njasonbraganza: yea i’m sure, i’ll evolve to something like that mindset\nnabarun: yup. it will come with practice.\nsayan: my mental model is a bit simpler, create branch when you work on something new, and commits as necessary, stash if you think you need to work on some other branch for the time being\njasonbraganza: sayan, what about saving daily/regular progress? i like having snapshots of progress. how do you tackle that?\nsayan: jasonbraganza: https://github.com/sayanchowdhury/words.yudocaa.in/commits/master\nsayan: this is the only place I do regular commits/daily progress\njasonbraganza: ok\nsayan: other than this, I do commits as required.\njasonbraganza: understood :)\nnabarun: saving == committing at the desired interval. :)\njasonbraganza: nabarun, this is me :)\nnabarun: jasonbraganza: as in?\njasonbraganza: saving == committing at the desired interval.\nnabarun: haha. that is me too.\nnabarun: my working branches are filled with \u0026ldquo;fixup! foo bar\u0026rdquo; commits.\nsayan: nabarun: okay I would not mention that to jasonbraganza today\nsayan: fixup commits are bit advanced\nsayan: :)\nnabarun: sayan: sorry!\nsayan: nabarun: no need to be sorry, just putting my thoughts\nsayan: when you have to arrange the commits, fixup commits are best IMO\nnabarun: figuratively speaking they are just some extra metadata. nothing special behind them.\nsayan: nabarun: if that for rebase?\nnabarun: eh?\njasonbraganza: nabarun, metadata for whom? git? or github?\nnabarun: jasonbraganza: git.\njasonbraganza: aah. nice :)\nsayan: Interesting, if I do autosquash will those \u0026ldquo;fixup!\u0026rdquo; work?\nsayan: nabarun: ^^\nsayan: git rebase \u0026ndash;autosquash\nnabarun: yes. it should.\njasonbraganza: and the best part about asking both of you, is realising that ok, the funny/advanced parts of a workflow might differ from person to person, but the basics stay the same, relatively.\nsayan: I earlier thought you were talking about git commit \u0026ndash;fixup, but you were saying git commit -m \u0026ldquo;fixup! \u0026hellip; \u0026quot;\nsayan: nabarun: ^^\njasonbraganza: kushal, hurrah!\nnabarun: sayan: both of what you specified are valid ways of working.\nnabarun: sayan: git-rebase just looks at the commit message and decides the course of action.\nnabarun: jasonbraganza: yessss! git is simple yet complex. xD\nsayan: jasonbraganza: nabarun gulped git book :)\nnabarun: NO!\nnabarun: I didn\u0026rsquo;t read a complete chapter of that book.\njasonbraganza: nabarun, that was me. i still always have it open :) it teaches me the ‘how’. the why and the culture is why i come to you folk :)\nsayan: nabarun: but you read :)\nsayan: I just learnt by seeing :)\nsayan: I should read though, interpreted knowledge is not always good\nnabarun: sayan: I learnt by practising and a lot of man git-subcommand:\nnabarun: jasonbraganza: nice nice.\nsayan: jasonbraganza: it\u0026rsquo;s a very good book\nsayan: nabarun: nice!\njasonbraganza: extremely good book. very lucid\n","date":"3 mars 2021","externalUrl":null,"permalink":"/work/a-rambling-only-slightly-coherent-chat-around-git/","section":"Work","summary":"","title":"A Rambling, Only Slightly Coherent Chat Around Git, Commits, and Stashing","type":"work"},{"content":"Since I am a little out of sorts today, I decided to clean up the subscriptions options on the site.\nBoth the mail and the rss feeds are on one page now. For easy findability1.\nThe feeds are also categorised into work and personal, if that’s your jam.\nHere ya go!\nSubscribe!\nYes, that is the technical term for it. Yes, of course I made it up. This is my domain. I get to make up everything around here!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"25 février 2021","externalUrl":null,"permalink":"/work/consolidated-the-subscription-page-on-the-site/","section":"Work","summary":"","title":"Consolidated the Subscription Page on the Site","type":"work"},{"content":" I lost my Mai today.\nUntil my mid 30s, I rued the gulf that stood between Mai and me.\nWhile my parents insistence on teaching us English, as our primary language has benefited me immensely, in most everything I do, the one thing that I feel sad about is that I speak my mother tongue (Konkani) in a slow halting manner. 1\nWhich meant that I never could talk well with my grandmother.\nI am one of her oldest grandchildren, and I never got to have heart to heart conversations with her, the way my other cousins did.\nAnd yet …\nMy earliest memories are full of her.\nMai means mother. Odli Mai (Big Mother) is grandmother.\nBut to a young me, Mummy was Mother and Mai was grandmother.\nBorn as I was, to a young girl in her early twenties, what I got from mummy was fierce love and passionate discipline.\nWhat Mai gave me was gentle love and wisdom.\nWhat Mai gave me was a patient ear.\nI could talk a mile a minute, and Mai understood nothing of my English gibberish.\nShe’d just make coo noises and hug me (and then figure out what it was that I just blabbed, from Mummy.)\nI know nothing of her childhood or youth.\nI know nothing of what she was as a wife and the mistress of the farm, eking a hard existence from the land.\nI only know snippets of her, as a mom of a large brood of nine children.\nThe only thing I know, is that she was my Mai.\nAnd that she loved me as no one else ever could.\nI wish I could have kept the shirt, made out the cloth she stole and sneaked into my arms when no one was looking. All because I thought every other godmother gave their god children gifts and mine ought to, too! 2\nI wish I could have kept a seed out of all the fruits she plucked for me, from the trees on the farm. (I was too busy sucking on mangoes, and then handing the seeds over to her to throw, while she laughed and howled at me ‘Paara pathlyaan dhaanv’ (Run after that seed)).\nI wish I had seen her more, as I began working, as we both grew older.\nAnd yet …\nMaybe we did not need language.\nShe is the reason, I got over my fear of dogs (and other animals).\nShe is the reason, I still crazily love the outdoors and communing with nature.\nShe is the reason, I took to stoicism to help me through the storms of life. She was stoicism in action, my modern day Marcus Aurelius and Epictetus all rolled into one.\nShe is the reason, along with daddy, that I love practicing irrational generosity.\nMaybe that is her legacy to me.\nI carry her with me.\nIn my bones, in my marrow.\nIn my words and deeds. And just like Shelley never let Keats die, I know, I carry my ancestors with me.\nAs long I remember them and celebrate their words and deeds, they live.\nMy father is here.\nMy nana is here.\nMai is here!\nBecause her touch and her actions spoke more than language ever could.\nTo me, Mai means mother or godmother or big mother and grandmother.\nOr maybe Mai could just mean a big old heart, full of love.\nI am to blame too, for never having learnt it after. \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYes, she was my godmother too. \u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"24 février 2021","externalUrl":null,"permalink":"/personal/a-eulogy-for-mai/","section":"Personal","summary":"","title":"A Eulogy for Mai","type":"personal"},{"content":" Yes, I preordered Cal Newport’s, A World without Email.\nhttps://www.calnewport.com/blog/2021/02/10/announcing-the-email-academy/\nIndia folk, go here - https://www.amazon.in/World-Without-Email-Reimagining-Overload/dp/0241341418/\nHaving read 5 of his books, I know this will make a big difference to my life.\nWhat I have actually done though, is tried to repay Cal in a small manner for his podcast at https://www.calnewport.com/podcast/\nNow that is pure gold! If you haven’t been listening, you have sorely missed out on a ton of productivity tactical gems.\nYou have also missed out on how to go about thinking about things as he often does on the podcast, going back and forth on an idea, trying to wrestle with its vagaries and then attempting to distill it to its essence.\nThis weekend is not a bad time to go binge listen :)\n","date":"20 février 2021","externalUrl":null,"permalink":"/personal/yes-i-preordered-cal-newports-a-world-without-email/","section":"Personal","summary":"","title":"Yes, I preordered Cal Newport’s, A World without Email.","type":"personal"},{"content":"Listening to me bitch and moan about the new direction CentOS, CentOS Stream, is now going in, someone sent me this post to tell me why this was a good thing.\nIt’s a lovely post and I agree with most everything the author says.\nBut I do believe, he talks past the main reason folks like me use CentOS. (and the main reason, Rocky Linux now exists.)\nCentOS came into existence because sci/tech folk wanted a base to build on and became popular, because old harried sysadmins like me wanted to support small shops, who did not have the budget to run servers and wanted to get out of the ever tightening thumb of Microsoft.\nBoth of the above ends require a stable base and RHL/RHEL was just the ticket.\nWithout the err … Red Hat bits.1\nCentOS powered supercomputers and small and medium businesses with equal ease.\nSo what’s the bit that I believe missing in the post?\nThe target audience.\nWhile I am sure the sci/tech community can prop up another distribution at will, the big reason CentOS is so popular, is because CentOS machines sit silently in tiny dusty corners at millions of offices, chugging away, serving files and documents and tiny intranets and enabling developers to work on an enterprise OS.2\nWhat we needed and still need is the ability to have the engineering that goes into a stable release (backed by a major corp), so that we can get on with life.\nAlso yes, telling folks Yes!, this is Red Hat without the branding, gave folks the confidence they needed to come aboard the Linux ship in the early to mid 2000s.\nAnd that’s what we are looking for.\nA 100% bug-for-bug compatible distribution.\nWe want, what Red Hat provides. Not what they might put in or stuff that is under consideration.\nNot the latest and shiniest.\nJust the boring, and stable and working.\nThat’s what we want. And what we mourn.\nAnd that is something Red Hat no longer seems interested in supporting.\nThey are well within their rights to do so, but now it leaves this large segment, scrambling.\nOne may argue, that all that is now changing and everyone is moving to the cloud, and that Red Hat is just moving with the times and such stuff is probably moot.\nBut the outcry and the search for alternatives and new distributions to take its place, proves such a need still exists.\nWe need something to take the place of CentOS.\nAnd CentOS Stream, for all its advantages, isn’t it.\nvia Wikipedia\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThat last audience might just be served with this.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 février 2021","externalUrl":null,"permalink":"/work/centos-stream-it-might-be-awesome-but-its-not-what-we-want/","section":"Work","summary":"","title":"CentOS Stream","type":"work"},{"content":"","date":"17 février 2021","externalUrl":null,"permalink":"/tags/rants/","section":"Tags","summary":"","title":"Rants","type":"tags"},{"content":" *Image, courtesy [Tom Gauld][tgt]* This post was first sent to my newsletter on February 1st, 2021.\n[You really ought to subscribe][1] :)\nWelcome to the first, “serious” newsletter of 2021.\nThis was supposed to be my year end post, but life, as usual got in the way.\nNow that I’ve jammed both the blogs together, most of the personal stuff is going to stay focussed on stuff about books and reading and writing and a few photos thrown in once in a while for good measure.\nSeems like that is what I was doing most of last year, anyway.\nLet’s get into it.\nTo start with, let’s get one thing out of the way.\nYou’re never to busy to read.\nThe fact is, people much busier than you have been prioritizing reading for centuries. They have been making wisdom part of their daily lives, no matter what’s going on in the world or in their jobs.\nIf Napoleon, commanding an army of some 40,000 men, could find time to read on a march some 1,600 miles from home, you can find it.\nIf Marcus could read while he was ruling the world, if Seneca could do it while studying the law, suffering from tuberculosis, while in exile, in the Senate, as consul, while he dealt with Nero’s insanity, you can.\n— Ryan Holiday\nMy reading hero, Ryan shares the best books he read in 2020 as well as recommendations for 2021.\nBooks are an investment in yourself—investments that come in many forms: novels, nonfiction, how-to, poetry, classics, biographies. They help you think more clearly, to be provoked less, to be kinder, to see the bigger picture, and to improve at the things that matter to you.\nBooks are a tradition that stretches back thousands of years and stretches forward to today, where people are still publishing distillations of countless hours of hard thinking on hard topics.\nWhy wouldn’t you avail yourself of this wisdom?\nHow, does he do it? Year after year after prolific year?\nRyan shares it all here.\nSusan Fowler, autodidact, whistleblower,all round hero, shares her list for the year.\nThe older I’ve gotten, the more I’ve realized the importance of routine and structure.\nI try to make every single day the same: wake up at the same time, eat at the same time, exercise at the same time, work at the same time, hang out with my daughter at the same time, read at the same time, and go to sleep at the same time.\nThese routines have become the foundation of my life and give my mind the space it needs so that I can be my best creative self. My brain doesn’t work well when it’s focused on figuring out when to eat, what to eat, when to sleep, when to read, etc. When I’m not in a strict daily routine, my mind wastes all of its time figuring out how to do the basics instead of being creative.\nWithout routine, I can’t write.\nWithout writing…well, without writing, I’ve got nothing.\nRichard Meadows is someone, I’ve begun following this year. I love reading him, ergo, I love what he reads.\nThis is his list for 2020.\nLove that he loves Peter Watts as well.\nFrom his Love Letter to Reading …\nOur brains are lumps of meaty plasticine, shaped to a large degree by the people we surround ourselves with. This influence extends to our reading material and even our thoughts themselves, which can become self-fulfilling prophecies. Toxic, ignorant and relentlessly negative influences should be excised before the cancer spreads.\nWhy not keep company with the smartest, funniest, bravest people who have ever lived? They will become your guides, your muses, the burning coals that light the fire inside. Sure, they can’t help you shift house, but they’re always there for you, only a bookshelf away. If you spend enough time hanging out with them, they will sculpt your brain into something beautiful.\nIf you want to know, how to read lots, he’s got you covered there too.\nP.S. His book, Optionality, is the best distillation and explanation of the mental model, I’ve seen.\nBrett and Co, over at The Art of Manliness don’t bother with pathetic, puny yearly reading lists.\nThe site has a dedicated section, on books and reading and they do it year round, year after year.\nIf you want to be challenged, they have a thousand books to read before you die. It’s an episode of their podcast, that is well worth a listen and takes an hour of your life.\nReading is serious business there.\nFrom Embrace Reading for the Sake of Reading\nthere’s an argument for reading for reading’s sake. For spending time with books for no other reason but enjoyment, pleasure — even simply their sheer beauty.\nThink about what happens when you go to an art museum. You wander around, looking at pieces of art, unmoved by some, but caught enraptured and unable to look away by others. You aren’t asking, “Are there practical takeaways from this art I’m looking at?”\nYou’re letting the impression it makes wash over you. You’re wondering what moved the artist to paint a particular brush stroke. You’re admiring the craft and skill of their work. You’re wondering what it is that so entrances you. Above all, you’re just enjoying it. Things that are beautiful inherently bring light to the soul and the psyche.\nThis is true for any work of art — books included. Most authors spend years crafting their characters, agonizing over every sentence, arranging paragraphs and dialogue in just the right way. And it’s not just novelists — you can’t read the likes of Robert Caro, Candice Millard, Erik Larson, and so many more, without seeing the art and craft of their books.\nIf you go into a book with the mindset that you’re simply enjoying a work of art, your mind is freed from the need to find the utility in it. It can be enriching and edifying (though in no specific direction and without quantifiable benefit). It can also be just plain entertaining. Consuming art, from paintings and sculptures to movies and books, isn’t just heady, it’s also fun! An escape. And using art — including books — to find that escape, is okay. It’s more than okay, in fact, it’s necessary.\nThis isn’t to say that you can’t learn something from books while enjoying their diversionary beauty. Learning is its own pleasure — one that you can pursue for the pleasure alone, with no real end in mind. No practical use, no career or personal development application, no note-taking to review later on, just as its own “useless” Good. I hereby give you permission to put down the highlighter and let your brain wander freely through a book, without the intent of finding applications for what you’re taking in.\nLet yourself read with no ulterior motives and embrace the simple pleasure that comes from losing yourself in a text.\nThey also have an awesome plan on How to Read Long and Difficult Books\nMake a plan for yourself. Set a small amount of time or pages per day that you’ll read. Engage/interact with the text. Get an edition that you like. Have a dictionary/encyclopedia handy. Just get through the hard parts. and finally … Take advantage of the momentum! And having plowed through War and Peace, what is The Best Way to Retain What You Read?\nIf you’d like to retain and secure more of the information you consume instead of letting noteworthy knowledge pass right through you, here’s the best way to do so: share it with someone else.\nBen Orlin, he of the awesome maths and the bad drawings has his list.\nBefore I share it though, I’d encourage you to read his books.\nMagical, funny, awesome, wise and insightful.\nI never thought a bird’s eye view of Calculus would be so beautiful yet so easy to grasp.\nNow, here’s his list for 2020. There’s all sorts, literary, sci-fi, nonfiction, everything.\nAustin Kleon, author of the Keep Going trilogy, and prolific blogger has his list of great books.\nOh, and he’s been at this for years.\nAnd if you have trouble reading,\nBe promiscuous. Read more than one book at a time until one pulls you into monogamy. Read old books! Read old favorites! (Every time you re-read a book you’re reading a new book.) more here … Tim Ferriss of the Four Hour Everything, and more importantly the publisher of The Tao of Seneca has a lovely monstrous page up, documenting his year in books.\nComplement that with this video of his, on how he takes notes.\nThe penultimate one is the one that I learnt the most from, over the past decade.\nTo say, Shane Parrish and fs.blog have changed my life, is both, an understatement and doing them massive disservice.\nThe Mental Models books are going to stand the test of time. And we are still only two volumes in.\nTo see what I mean, have a look at the articles they love on their blog this year.\nFrom How to Remember What You Read\n“I cannot remember the books I have read any more than the meals I have eaten; even so, they have made me.”\n— Ralph Waldo Emerson\nand of course, Speed Reading is Bullshit\nBetter and quicker are not the same.\nA good book, like good sex or a date, is something you don’t want to end. You’re not rushing to the finish (ok, maybe sometimes you are but let’s skip the quickies, shall we).\nInstead you’re totally immersed in the activity — you want it to last forever. It’s supposed to take some time.\nAnd without further ado, here’s the obligatory reading list for 2020.\nWe end as always, with Maria Popova and her Brain Pickings.\nIf Shane changed my life, Maria saved me.\nIt was her writing, over the years that got me through depression and the troughs of life.\nIt’s given me courage and hope and resilience and empathy. When Munger spoke of the eminent dead, I think of Maria. Only she is eminently living :)\nAnd I am grateful to be alive in a time when she’s giving of herself.\nShe taught me science, she taught me about the universe, she taught me poetry, she taught me art, she taught me syntopical thinking and Jesus knows what else.\nI bought Figuring a year ago, and I still have not started it, beyond reading the Table of Contents and the blurbs.\nI haven’t because I don’t want it to ever finish :)\nIt took her twelve years to write. I might as well savour it in drips and drabs as long as I can.\nHere’s the 2020 list.\nAnd just like the other crazy folk on here, she to has been at this for nearly a decade and a half now.\nTwo of Tim Ferriss’ most popular podcast episodes, have been with her.\nSo I bid you adieu with a quote from a post on her blog on how reading saves lives, A 100-Year-Old Holocaust Survivor on How Books Save Lives.\nI hope you enjoy reading lots more, this year.\nDear Friend,\nCould you imagine a world without access to reading, to learning, to books?\nAt twenty-one, I was forced into Poland’s WWII ghetto, where being caught reading anything forbidden by the Nazis meant, at best, hard labor; at worst, death.\nThere, I conducted a clandestine school offering Jewish children a chance at the essential education denied them by their captors. But I soon came to feel that teaching these sensitive young souls Latin and mathematics was cheating them of something far more essential — what they needed wasn’t dry information but hope, the kind that comes from being transported into a dream-world of possibility.\nOne day, as if guessing my thoughts, one girl beseeched me: “Could you please tell us a book, please?”\nI had spent the previous night reading Gone with the Wind — one of a few smuggled books circulated among trustworthy people via an underground channel, on their word of honor to read only at night, in secret. No one was allowed to keep a book longer than one night — that way, if reported, the book would have already changed hands by the time the searchers came.\nI had read Gone with the Wind from dusk until dawn and it still illuminated my own dream-world, so I invited these young dreamers to join me. As I “told” them the book, they shared the loves and trials of Rhett Butler and Scarlett O’Hara, of Ashley and Melanie Wilkes. For that magical hour, we had escaped into a world not of murder but of manners and hospitality. All the children’s faces had grown animated with new vitality.\nA knock at the door shattered our shared dream-world. As the class silently exited, a pale green-eyed girl turned to me with a tearful smile: “Thank you so very much for this journey into another world. Could we please do it again, soon?” I promised we would, although I doubted we’d have many more chances. She put her arms around me and I whispered, “So long, Scarlett.” “I think I’d rather be Melanie,” she answered, “although Scarlett must have been so much more beautiful!”\nAs events in the ghetto took their course, most of my fellow dreamers fell victim to the Nazis. Of the twenty-two pupils in my secret school, only four survived the Holocaust.\nThe pale green-eyed girl was one of them.\nMany years later, I was finally able to locate her and we met in New York. One of my life’s greatest rewards will remain the memory of our meeting, when she introduced me to her husband as “the source of my hopes and my dreams in times of total deprivation and dehumanization.”\nThere are times when dreams sustain us more than facts. To read a book and surrender to a story is to keep our very humanity alive.\nSincerely,\nHelen Fagin\n","date":"1 février 2021","externalUrl":null,"permalink":"/personal/what-to-read-how-to-read-recommendations-from-folks-i-admire-and-follow-2021-edition/","section":"Personal","summary":"","title":"What to Read, How to Read. Recommendations from Folks, I Admire and Follow (2021 Edition)","type":"personal"},{"content":"That long winded message was what greeted me this morning when I did my morning update the computer routine.\nE: linux-firmware: installed linux-firmware package post-installation script subprocess returned error exit status 2\nNothing like a bug that sticks in your craw and prevents you from starting the day.\nAnd then leads you down that crazy path of figuring out what the error is.\nAnd then going down the rabbit hole of realising that this error happened because that went wrong.\nAnd then tracking it all down.\nAnd then going batshit crazy.\nAnd then trying to figure whether updating Linux was a good thing to do in the first place.\nAnd then wondering if even installing it was a good thing?\nAnd then questioning your life choices in general.\nAm I even a good person?\nBut I’m getting good at this, after close to twenty years of using the darned thing.\nThis message was what greeted me yesterday too, and I resisted, successfully, trying to fix it, because this forty two year old has adult life shit to do and the computer is supposed to help me do it, dammit.\nI got through a whole day of work.\nMint is pretty good at keeping me sane, ever since I started using it and it hiccoughs only rarely.\nThis being, one of those few instances.\nAnd even here, it just spat that error and keep the machine running, so I could do all the things.\nA new day today and this crazy shit pops up again.\nSo I did the other adult thing, I learnt.\nI gave myself 10 minutes to quickly look all of this up and only if there was an non-invasive, uncomplicated fix, would I go and do things.\nThis led me to this led me to this led me to wondering hmm! … What if all it was, was that I had too many kernels lying about and the boot partition was full to choking or something?\nNow if this were a sane, logical, in the spirit of science post, I’d be df -hing away to high glory and documenting before and after and then taking backups and then slowly doing one thing at a time and making observations.\nAin’t no time for that shit.\nI have bills to pay and a job hunt to do and a break coming up, before which this fucken thing needs to be fixed, so I can do all that.\nSo I figured, I’ll just delete all the old kernels I have lying about.\nThat was the least invasive thing I could do.\nAnd worst case scenario, I do have backups. (Please don’t let it come to that.)\nSo I went ahead and did just that.(a la kazaam and poof! 6 old kernels vanish!)\nAnd what do you know?\nWe’re back in business!\nMore rants for another day then.\nCiao, you lunkheads.\n","date":"30 janvier 2021","externalUrl":null,"permalink":"/work/linux-firmware-installed-linux-firmware-package-post-installation-script-subprocess-returned-error-exit-status-1/","section":"Work","summary":"","title":"linux-firmware","type":"work"},{"content":"","date":"30 janvier 2021","externalUrl":null,"permalink":"/tags/troubleshooting/","section":"Tags","summary":"","title":"Troubleshooting","type":"tags"},{"content":"I have been telling the young ones, that reading the things they consider important, needs to be engaged.\nEngaged with the words.\nEngaged with the flow.\nWith the author.\nHer ideas.\nThe way she makes her case.\nOr tells her story.\nTo wrestle with what is being said, or left unsaid.\nTo build a mental model with the ideas being presented.\nTo write it all down.\nTo wrestle with the work and draw your own conclusions. (which might not necessarily be what the author intends).\nIt’s heartening to see, that at least one of my chipmunks listens.\nPriyanka Saggu has taken to really engaging with the work she reads.\nShe read Getting Past No when she was getting ready to launch her career and do interviews.\nNow that she has gotten one, she’s onto reading Cal Newport’s, Deep Work to buttress her foundations and make the most of it.\nI don’t know, if she will ever make her work public, like she did with Getting Past No, but this is just a glimpse into what goes into the mind of an engaged reader/learner.\ncourtesy Priyanka Saggu. (shared with permission)\nWhile you don’t need to do this with everything you read, there is certainly a case to be made for intentional, engaged reading.\nHere’s to the rest of you, reading with engagement and sharing your work.\n","date":"29 janvier 2021","externalUrl":null,"permalink":"/personal/taking-notes-an-example/","section":"Personal","summary":"","title":"Taking Notes, An Example","type":"personal"},{"content":"","date":"28 janvier 2021","externalUrl":null,"permalink":"/tags/plex/","section":"Tags","summary":"","title":"Plex","type":"tags"},{"content":"","date":"28 janvier 2021","externalUrl":null,"permalink":"/tags/projects/","section":"Tags","summary":"","title":"Projects","type":"tags"},{"content":"This is just a play post to do a few things.\nOne, I am now testing categories for the blog.\nSo that the tech folk can subscribe only to the tech rss feed if need be.\nSecond, I need to get into the swing of writing things again.\nIt’s only been close to a month of not writing, but I already feel rusty 😂\nI have been watching a lot of Netflix and other online streaming media last year. Well lot is relative. Definitely not as many as the books.\nBut what I realise, is that I just spend my time endlessly browsing through what I want to watch rather than, you know, actually watching something.\nI also realise that most of my watching is mostly stuff I already watched. I want my old Holmes, or Yes Minister, or Suchet’s Poirot.\nStuff I already have, offline.\nBut not easily accessible, since it lies on an external hard disk, which I need to plugin to my desktop and then watch.\nThen I realised that my trusty little Raspberry Pi was always there, in the corner, running away silently, currently serving as a repository for podcast episodes.\nI also had an external thunderbolt ssd, that I could no longer plug into my Mac, because my Mac is dead (sob)\nThe LaCie did however also have a USB interface too.\nLightbulb moment!\nI formatted my external disk on the desktop with the ext4 filesystem, copied all the stuff that I always watch or have running in the background and connected it to my Pi.\nThen went to the Plex site and got the armf distribution.\nCopied it over to the Pi and installed it with a dpkg -i.\nThere are better ways to do it. Check the webz if you need better directions and handholding.\nDecided that I did not need a Plex account to do what I needed.\nWhich basically was just reading a folder full of videos, presenting them and playing them.\nThe web interface is beautiful and functional.\nIt keeps pushing you to get a Plex account, which you might want … or not.\nAdded my folders as video sources and then after a few minutes, they showed right up.\nI downloaded the Plex apps (on the iPhone and the iPad) and paid for the option to stream files and play them.\nAnd that was that.\nIt works beautifully, if it is just a couple of devices.\nMore than that, and it struggles.\nBut most importantly, Plex handled darn near every video format, I had.\nAnd so, every evening for the past week has been bliss, with an hour, solving crimes Poirot and his “littel gray sells” as I go off to bed.\n","date":"28 janvier 2021","externalUrl":null,"permalink":"/personal/thoughts-on-running-plex-on-a-raspberry-pi-4/","section":"Personal","summary":"","title":"Thoughts on Running Plex on a Raspberry Pi 4","type":"personal"},{"content":"This post was first sent to my newsletter on December 7th, 2020.\n[You really ought to subscribe][1] :)\nThe beginning is always today.\n— Mary Shelley\nThe biggest obstacle to ultralearning is simply that most people don’t care enough about their own self-education to get started\nFinding Time for Ultra learning # What matters is the intensity, initiative, and commitment to effective learning, not the particulars of your timetable\nThere are nine universal principles that underlie ultralearning projects. They are:\nMetalearning: First Draw a Map\nStart by learning how to learn the subject or skill you want to tackle. Discover how to do good research and how to draw on your past competencies to learn new skills more easily. Focus: Sharpen Your Knife\nCultivate the ability to concentrate. Carve out chunks of time when you can focus on learning, and make it easy to just do it. Directness: Go Straight Ahead\nLearn by doing the thing you want to become good at. Don’t trade it off for other tasks, just because those are more convenient or comfortable. Drill: Attack Your Weakest Point\nBe ruthless in improving your weakest points. Break down complex skills into small parts; then master those parts and build them back together again. Retrieval: Test to Learn\nTesting isn’t simply a way of assessing knowledge but a way of creating it. Test yourself before you feel confident, and push yourself to actively recall information “rather than passively review it. Feedback: Don’t Dodge the Punches\nFeedback is harsh and uncomfortable. Know how to use it without letting your ego get in the way. Extract the signal from the noise, so you know what to pay attention to and what to ignore. Retention: Don’t Fill a Leaky Bucket\nUnderstand what you forget and why. Learn to remember things not just for now but forever. Intuition: Dig Deep Before Building Up\nDevelop your intuition through play and exploration of concepts and skills. Understand how understanding works, and don’t recourse to cheap tricks of memorization to avoid deeply knowing things. Experimentation: Explore Outside Your Comfort Zone\nAll of these principles are only starting points. True mastery comes not just from following the path trodden by others but from exploring possibilities they haven’t yet imagined. Principle 1 - Metalearning, First Draw a Map # If I have seen further it is by standing on the shoulders of giants.\n— Isaac Newton\nHow to Draw Your Map # How can you apply this to get an edge in your own learning efforts? There are two main ways: over the short term and over the long term.”\nOver the short term, you can do research to focus on improving your metalearning before and during a learning project. Ultralearning, owing to its intensity and self-directed nature, has the opportunity for a lot higher variance than normal schooling efforts do. A good ultralearning project, with excellent materials and an awareness of what needs to be learned, has the potential to be completed faster than formal schooling. Over the long term, the more ultralearning projects you do, the larger your set of general metalearning skills will be. You’ll know what your capacity is for learning, how you can best schedule your time and manage your motivation, and you’ll have well-tested strategies for dealing with common problems. As you learn more things, you’ll acquire more and more confidence, which will allow you to enjoy the process of learning more with less frustration” Break down metalearning research that you do for a specific project into three questions: “Why?,” “What?,” and “How?”\n“Why?” refers to understanding your motivation to learn. If you know exactly why you want to learn a skill or subject, you can save a lot of time by focusing your project on exactly what matters most to you.\n“What?” refers to the knowledge and abilities you’ll need to acquire in order to be successful. Breaking things down into concepts, facts, and procedures can enable you to map out what obstacles you’ll face and how best to overcome them.\n“How?” refers to the resources, environment, and methods you’ll use when learning. Making careful choices here can make a big difference in your overall effectiveness.”\nHow Much Planning Should You Do? # The 10 Percent Rule\nA good rule of thumb is that you should invest approximately 10 percent of your total expected learning time into research prior to starting. If you expect to spend six months learning, roughly four hours per week, that would be equal to roughly one hundred hours, which suggests that you should spend about ten hours, or two weeks, doing your research. This percentage will decrease a little bit as your project scales up, so if you plan to do five hundred or a thousand hours of learning, I don’t think it necessarily demands fifty or a hundred hours of research, but maybe closer to 5 percent of your time. The goal here isn’t to exhaust every learning possibility but simply to make sure you haven’t latched onto the first possible resource or method without thinking through alternatives.\nA good idea is to be aware of the common methods of learning, popular resources, and tools along with their strengths and weaknesses before starting. Long projects provide more opportunities for getting derailed and delayed, so doing proper research in the beginning can easily save a much larger amount of time later on.”\nMetalearning research isn’t a onetime activity you do only before starting your project. You should continue to do research as you learn more. Often obstacles and opportunities aren’t clear before you start, so reassessing is a necessary step of the learning process\nPrinciple 2 - Focus # Sharpen Your Knife\nNow I will have less distraction.\n— Leonhard Euler, mathematician, upon losing the sight in his right eye\nThe struggles with focus that people have generally come in three broad varieties: starting, sustaining, and optimizing the quality of one’s focus.\nProblem 1: Failing to Start Focusing (aka Procrastinating) # I had no problem sitting and watching the videos of MIT classes, but I always tackled the first problem sets with considerable trepidation. Had it not been for the intense schedule I was on, I might have found excuses to avoid doing so for much longer.\nWhy do we procrastinate? The simple answer is that at some level there’s a craving that drives you to do something else, there’s an aversion to doing the task itself, or both\nMost motives to procrastinate are silly when you verbalize them, yet that doesn’t stop them from ruling your life. Which brings me to the first step to overcoming procrastination: recognize when you are procrastinating.\nMost of what is unpleasant in a task (if you are averse to it) or what is pleasant about an alternative task (if you’re drawn to distraction) is an impulse that doesn’t actually last that long. If you actually start working or ignore a potent distractor, it usually only takes a couple minutes until the worry starts to dissolve, even for fairly unpleasant tasks. Therefore, a good first crutch is to convince yourself to get over just the few minutes of maximal unpleasantness before you take a break\nDon’t ever feel bad if you have to back up a stage, either; you cannot control your aversions or tendency to distraction, but with practice you can lessen their impact.\nProblem 2: Failing to Sustain Focus (aka Getting Distracted) # Researchers generally find that people retain more of what they learn when practice is broken into different studying periods than when it is crammed together.\nWhat’s needed is a proper balance. To achieve it, fifty minutes to an hour is a good length of time for many learning tasks. If your schedule permits only more concentrated chunks of time, say once per week for several hours, you may want to take several minutes as a break at the end of each hour and split your time over different aspects of the subject you want to learn\nThere are three different sources that cause focus to break down and distraction to occur. If you’re struggling to concentrate, look at each of these three in turn:\nDistraction Source 1: Your Environment Distraction Source 2: Your Task Distraction Source 3: Your Mind If it ever feels as though continuing working is pointless because you’re so distracted by a negative emotion that you can’t possibly work, remember that the long-term strengthening of your ability to persist on this task will be useful, so the time is not wasted even if you don’t accomplish much in this particular learning session.\nProblem 3: Failing to Create the Right Kind of Focus # Improving Your Ability to Focus\nThere is a procedure you can follow to get better at focusing.\nMy advice is this: recognize where you are, and start small. If you’re the kind of person who can’t sit still for a minute, try sitting still for half a minute. Half a minute soon becomes one minute, then two. Over time, the frustrations you feel learning a particular subject may become transmuted into genuine interest. The impulse to engage in distractions will weaken each time you resist it. With patience and persistence, your few minutes may become large enough to accomplish great things.\nPrinciple 3 - Directness # Go Straight Ahead\nHe who can go to the fountain does not go to the water jar.\n— Leonardo da Vinci\nThe Importance of Being Direct # Directness is the idea of learning being tied closely to the situation or context you want to use it in\nWe want to speak a language but try to learn mostly by playing on fun apps, rather than conversing with actual people. We want to work on collaborative, professional programs but mostly code scripts in isolation. We want to become great speakers, so we buy a book on communication, rather than practice presenting. In all these cases the problem is the same: directly learning the thing we want feels too uncomfortable, boring, or frustrating, so we settle for some book, lecture, or app, hoping it will eventually make us better at the real thing.\nLearning activities are always done with a connection to the context in which the skills learned will eventually be used.\nThe easiest way to learn directly is to simply spend a lot of time doing the thing you want to become good at. If you want to learn a language, speak it, as Benny Lewis does. If you want to master making video games, then make them, as Eric Barone does. If you want to pass a test, practice solving the kinds of problems that are likely to appear on it, as I did in my own MIT Challenge. This style of learning by doing won’t work for all projects. The “real” situation may be infrequent, difficult, or even impossible to create, and thus learning in a different environment is unavoidable. Roger Craig couldn’t practice Jeopardy! by being on the show hundreds of times. He knew he had to learn in a different environment and prepare to transfer that knowledge to the show when it came time to do so. In such situations, directness isn’t an all-or-nothing feature but something you can gradually increase to improve your performance.\nThe simplest way to be direct is to learn by doing.\nWhenever possible, if you can spend a good portion of your learning time just doing the thing you want to get better at, the problem of directness will likely go away. If this isn’t possible, you may need to create an artificial project or environment to test your skills. What matters most here is that the cognitive features of the skill you’re trying to master and the way you practice it be substantially similar.\nPrinciple 4 - Drill # Attack Your Weakest Point\nTake care of the bars and the piece will take care of itself.\n—Philip Johnston, composer\nCertain aspects of the learning problem form a bottleneck that control the speed at which you can become more proficient overall.\nConsider learning mathematics. This is a complex skill that has many different parts: you need to be able to understand the fundamental concepts, you need to be able to remember the algorithm for solving a certain type of problem, and you need to know in what context it applies. Underlying this ability, however, is the ability to do arithmetic and algebra so as to be able to solve the problems in question. If your arithmetic is weak or your algebra sloppy, you’ll get the wrong answers even if you’ve mastered the other concepts.\nThis is the strategy behind doing drills. By identifying a rate-determining step in your learning reaction, you can isolate it and work on it specifically. Since it governs the overall competence you have with that skill, by improving at it you will improve faster than if you try to practice every aspect of the skill at once. That was Franklin’s insight that allowed him to rapidly improve his writing: by identifying components of the overall skill of writing, figuring out which mattered in his situation, and then coming up with clever ways to emphasize them in his practice, he could get better more quickly than if he had just spent a lot of time writing.\nTactics for Designing Drills # Drill 1: Time Slicing\nThe easiest way to create a drill is to isolate a slice in time of a longer sequence of actions. Musicians often do this kind of training when they identify the hardest parts of a piece of music and practice each one until it’s perfect before integrating it back into the context of the entire song or symphony.\nDrill 2: Cognitive Components\nYou’ll want to practice a particular cognitive component.\nThe tactic here is to find a way to drill only one component when, in practice, others would be applied at the same time. When learning Mandarin Chinese, I would do tone drills that involved pronouncing pairs of words with different tones and recording myself speaking. That allowed me to practice producing different tones quickly, without the distraction of needing to remember what the words meant or how to form grammatically correct sentences.\nDrill 3: The Copycat\nIt is often impossible to practice one aspect without also doing the work of the others.\nBy copying the parts of the skill you don’t want to drill (either from someone else or your past work), you can focus exclusively on the component you want to practice. Not only does this save a lot of time, because you need to repeat only the part you’re drilling, it also reduces your cognitive burden, meaning you can apply more focus to getting better at that one aspect.\nDrill 4: The Magnifying Glass Method\nSuppose you need to create something new and can’t edit or separate out the part you want to practice. How can you create a drill? The Magnifying Glass Method is to spend more time on one component of the skill than you would otherwise. This may reduce your overall performance or increase your input time, but it will allow you to spend a much higher proportion of your time and cognitive resources on the subskill you want to master. I applied this method when trying to improve my ability to do research when writing articles, by spending about ten times as long on research as I had previously.\nDrill 5: Prerequisite Chaining\nOne strategy I’ve seen repeatedly from ultralearners is to start with a skill that they don’t have all the prerequisites for. Then, when they inevitably do poorly, they go back a step, learn one of the foundational topics, and repeat the exercise. This practice of starting too hard and learning prerequisites as they are needed can be frustrating, but it saves a lot of time learning subskills that don’t actually drive performance much.\nMindful Drilling # Drilling problems without context is mind-numbing. However, once you’ve identified that it’s the bottleneck preventing you from going further, they become instilled with new purpose. In ultralearning, which is directed by the student, not an external source, drills take on a new light. Instead of being forced to do them for unknown purposes, it is now up to you to find a way to enhance the learning process by accelerating learning on the specific things that you find most difficult\nPrinciple 5 - Retrieval, Test to Learn # It pays better to wait and recollect by an effort from within, than to look at the book again.\n— William James\nThe act of trying to summon up knowledge from memory is a powerful learning tool on its own, beyond its connection to direct practice or feedback.\nThe idea, therefore, is to find the right midpoint: far enough away to make whatever is retrieved remembered deeply, not so far away that you’ve forgotten everything.\nThe act of taking a test not only is a source of learning but results in more learning than a similar amount of time spent in review.\nWhat Should Be Retrieved? # The research is clear: if you need to recall something later, you’re best off practicing retrieving it.\nWhat kinds of things should you invest the time in to remember in the first place?\nThere will always be some things you choose to master and others you satisfy yourself with knowing you can look up if you need to.\nHow to Practice Retrieval # Tactic 1: Flash Cards\nThey work really well for a specific type of retrieval—when there’s a pairing between a specific cue and a particular response.\nTactic 2: Free Recall\nA simple tactic for applying retrieval is, after reading a section from a book or sitting through a lecture, to try to write down everything you can remember on a blank piece of paper.\nTactic 3: The Question-Book Method\nAnother strategy for taking notes is to rephrase what you’ve recorded as questions to be answered later. Instead of writing that the Magna Carta was signed in 1215, you could instead write the question “When was the Magna Carta signed?” with a reference to where to find the answer in case you forget. By taking notes as questions instead of answers, you generate the material to practice retrieval on later.\nTactic 4: Self-Generated Challenges\nCreating a list of such challenges can serve as a prompt for mastering that information later in practice and can expand your library of tools that you are able to actually apply.\nTactic 5: Closed-Book Learning\nAny practice, whether direct or a drill, can be cut off from the ability to look things up. By preventing yourself from consulting the source, the information becomes knowledge stored inside your head instead of inside a reference manual.\nPrinciple 6 - Feedback, Don’t Dodge the Punches # Everybody has a plan until they get punched in the mouth.\n— Mike Tyson\nThe ability to gain immediate feedback on one’s performance is an essential ingredient in reaching expert levels of performance. No feedback, and the result is often stagnation—long periods of time when you continue to use a skill but don’t get any better at it.\nMore isn’t always better. Crucially what matters is the type of feedback being given.\nFeedback works well when it provides useful information that can guide future learning. If feedback tells you what you’re doing wrong or how to fix it, it can be a potent tool.\nFeedback that includes useful information needs to be correctly processed as a motivator and tool for learning.\nWho is giving the feedback can matter, as feedback coming from a peer or teacher has important social dynamics beyond mere information on how to improve one’s abilities.\nBe sensitive to what feedback is actually useful and tune out the rest.\nFeedback-seeking efforts are often underused and thus remain a potent source of comparative advantage for ultralearners.\nIt is not so much negative feedback on its own that can impede progress but the fear of hearing criticism that causes us to shut down. Sometimes the best action is just to dive straight into the hardest environment, since even if the feedback is very negative initially, it can reduce your fears of getting started on a project and allow you to adjust later if it proves too harsh to be helpful.\nThese acts require self-confidence, resolve, and persistence\nWhat Kind of Feedback Do You Need? # The opportunities for seeking better feedback will vary depending on what you’re trying to learn\nOutcome Feedback: Are You Doing It Wrong?\nThis tells you something about how well you’re doing overall but offers no ideas as to what you’re doing better or worse.\nInformational Feedback: What Are You Doing Wrong?\nThis feedback tells you what you’re doing wrong, but it doesn’t necessarily tell you how to fix it.\nCorrective Feedback: How Can You Fix What You’re Doing Wrong?\nThis kind of feedback is often available only through a coach, mentor, or teacher. However, sometimes it can be provided automatically if you are using the right study materials.\nThe best feedback is informative and usable by the student(s) who receive it. Optimal feedback indicates the difference between the current state and the desired learning state and helps students to take a step to improve their learning.\nInformational feedback can be worth the effort needed to find such people.\nHow Quick Should Feedback Be? # Faster feedback. This enables a quicker recognition of mistakes. However, there’s a possible risk that this recommendation might backslide into getting feedback before you’ve tried your best to answer the question or solve the problem at hand.\nFeedback too soon may turn your retrieval practice effectively into passive review, which we already know is less effective for learning. For hard problems, I suggest setting yourself a timer to encourage you to think hard on difficult problems before giving up to look at the correct answer.\nHow to Improve Your Feedback # Tactic 1: Noise Cancellation\nNoise is a real problem when trying to improve your craft because you need to do far more work to get the same information about how to write well. By modifying and selecting the streams of feedback you pay attention to, you can reduce the noise and get more of the signal.\nTactic 2: Hitting the Difficulty Sweet Spot\nUltralearners carefully adjust their environment so that they’re not able to predict whether they’ll succeed or fail. If they fail too often, they simplify the problem so they can start noticing when they’re doing things right. If they fail too little, they’ll make the task harder or their standards stricter so that they can distinguish the success of different approaches. Basically, you should try to avoid situations that always make you feel good (or bad) about your performance.\nTactic 3: Metafeedback\nThis kind of feedback isn’t about your performance but about evaluating the overall success of the strategy you’re using to learn.\nOne important type of metafeedback is your learning rate.\nThere are two ways you can use this tool. One is to decide when you should focus on the strategy you’re already using and when you should experiment with other methods. If your learning rate is slowing to a trickle, that might mean you’re hitting diminishing returns with your current approach and could benefit from different kinds of drills, difficulties, or environments. A second way you can apply metafeedback is by comparing two different study methods to see which works better.\nTactic 4: High-Intensity, Rapid Feedback\nThe easiest way to improve feedback is simply to get a lot more of it a lot more often.\nHigh-intensity, rapid feedback offers informational advantages, but more often the advantage is emotional, too. Fear of receiving feedback can often hold you back more than anything. By throwing yourself into a high-intensity, rapid feedback situation, you may initially feel uncomfortable, but you’ll get over that initial aversion much faster than if you wait months or years before getting feedback.\nBeing in such a situation also provokes you to engage in learning more aggressively than you might otherwise. Knowing that your work will be evaluated is an incredible motivator to do your best. This motivational angle for committing to high-intensity feedback may end up outweighing the informational advantage it provides.\nIt’s better to get in and take the punches early so that they don’t put you down for the count. Though short-term feedback can be stressful, once you get into the habit of receiving it, it becomes easier to process without overreacting emotionally. Ultralearners use this to their advantage, exposing themselves to massive amounts of feedback so that the noise can be stripped away from the signal.\nPrinciple 7 - Retention, Don’t Fill a Leaky Bucket # Memory is the residue of thought.\n— Daniel Willingham\nMemory is essential, even when it is wrapped up in bigger ideas such as understanding, intuition, or practical skill. Being able to understand how something works or how to perform a particular technique is useless if you cannot recall it. Retention depends on employing strategies so the things you learn don’t leak out of your mind.\nHow Can You Prevent Forgetting? # Forgetting is the default, not the exception.\nHow can you retain the things you learned the first week, so that you don’t need to relearn them by the last week?\nYou need to pick a mnemonic system, which will both accomplish your goals and be simple enough to stick to. Mostly they seem to work according to one of four mechanisms: spacing, proceduralization, overlearning, or mnemonics.\nMemory Mechanism 1—Spacing: Repeat to Remember\nIf you care about long-term retention, don’t cram. Spreading learning sessions over more intervals over longer periods of time tends to cause somewhat lower performance in the short run (because there is a chance for forgetting between intervals) but much better performance in the long run.\nIf you have ten hours to learn something, therefore, it makes more sense to spend ten days studying one hour each than to spend ten hours studying in one burst.\nFinding the exact trade-off point between too long and too short has been a minor obsession for some ultralearners. Space your study sessions too closely, and you lose efficiency; space them too far apart, and you forget what you’ve already learned.\nWhen it comes to retention, don’t let perfect become the enemy of good enough.\nAnother strategy for applying spacing, which can work better for more elaborate skills that are harder to integrate into your daily habits, is to semiregularly do refresher projects.\nScheduling this kind of maintenance in advance can also be helpful, as it will remind you that learning isn’t something done once and then ignored but a process that continues for your entire life.\nMemory Mechanism 2—Proceduralization: Automatic Will Endure\nWhy do people say it’s “like riding a bicycle” and not “like remembering trigonometry?”\nThere’s evidence that procedural skills, such as riding a bicycle, are stored in a different way from declarative knowledge, such as knowing the Pythagorean Theorem or the Sine Rule for triangles.\nThis difference between knowing how and knowing that may also have different implications for long-term memory. Procedural skills, such as the ever-remembered bicycling, are much less susceptible to being forgotten than knowledge that requires explicit recall to retrieve.\nThis finding can actually be used to our advantage. One dominant theory of learning suggests that most skills proceed through stages—starting declarative but ending up procedural as you practice more\nProcedural knowledge is quite robust and tends to be retained much longer than declarative knowledge.\nThis may suggest a useful heuristic. Instead of learning a large volume of knowledge or skills evenly, you may emphasize a core set of information much more frequently, so that it becomes procedural and is stored far longer\nOne strategy for applying this concept might be to ensure that a certain amount of knowledge is completely proceduralized before practice concludes. Another approach might be to spend extra effort to proceduralize some skills, which will serve as cues or access points for other knowledge. You may aim to completely proceduralize the process you use to start working on a new programming project, for example, so that you can get over that hump in the process of writing a new program\nMemory Mechanism 3—Overlearning: Practice Beyond Perfect\nAdditional practice, beyond what is required to perform adequately, can increase the length of time that memories are stored.\nThe first is core practice, continually practicing and refining the core elements of a skill. This approach often works well paired with some kind of immersion or working on extensive (as opposed to intensive) projects, after the initial ultralearning phase has been completed. The shift from learning to doing here may actually involve a deeper, subtler form of learning, which shouldn’t be discounted as simply applying previously learned knowledge. The second strategy is advanced practice, going one level above a certain set of skills so that core parts of the lower-level skills are overlearned as one applies them in a more difficult domain. Memory Mechanism 4—Mnemonics: A Picture Retains a Thousand Words\nThey usually involve translating abstract or arbitrary information into vivid pictures or spatial maps. When mnemonics work, the results can be almost difficult to believe.\nOne common, and useful, mnemonic is known as the keyword method. The method works by first taking a foreign-language word and converting it into something it sounds like in your native language.\nMnemonics can act as a bridge for difficult-to-remember information, but it’s usually not the final step in creating memories that will endure forever.\nPaired with SRS, they can form an effective bridge from feeling as though there’s no way you can possibly remember everything to remembering it so deeply that you can’t possibly forget. Indeed, in a world before paper, computers, and other externalized memories, mnemonics were the main game in town.\nPrinciple 8 - Intuition, Dig Deep Before Building Up # Do not ask whether a statement is true until you know what it means.\n— Errett Bishop\nOnly by developing enough experience with problem solving can you build up a deep mental model of how other problems work. Intuition sounds magical, but the reality may be more banal—the product of a large volume of organized experience dealing with the problem.\nHow to Build Your Intuition # Rule 1: Don’t Give Up on Hard Problems Easily\nOne way you can introduce this into your own efforts is to give yourself a “struggle timer” as you work on problems. When you feel like giving up and that you can’t possibly figure out the solution to a difficult problem, try setting a timer for another ten minutes to push yourself a bit further. The first advantage of this struggle period is that very often you can solve the problem you are faced with if you simply apply enough thinking to it. The second advantage is that even if you fail, you’ll be much more likely to remember the way to arrive at the solution when you encounter it.\nRule 2: Prove Things to Understand Them\nFeynman decided to read through the papers meticulously, finding that they weren’t actually so difficult but that he had simply been afraid to go through them.\nFeynman didn’t master things by following along with other people’s results. Instead, it was by the process of mentally trying to re-create those results that he became so good at physics. His drive to understand things by virtue of working through the results himself assisted in building his capacity for deep intuition.\nRule 3: Always Start with a Concrete Example\nHuman beings don’t learn things very well in the abstract. As the research on transfer demonstrates, most people learn abstract, general rules only after being exposed to many concrete examples. It’s not possible to simply present a general principle and expect that you can apply it to concrete situations.\nRule 4: Don’t Fool Yourself\nOne way to avoid this problem of fooling yourself is simply to ask lots of questions\nThe Feynman Technique # The method is quite simple:\nWrite down the concept or problem you want to understand at the top of a piece of paper. In the space below, explain the idea as if you had to teach it to someone else. If it’s a concept, ask yourself how you would convey the idea to someone who has never heard of it before. If it’s a problem, explain how to solve it and—crucially—why that solution procedure makes sense to you. When you get stuck, meaning your understanding fails to provide a clear answer, go back to your book, notes, teacher, or reference material to find the answer The crux of this method is that it tries to dispel the illusion of explanatory depth. Since many of our understandings are never articulated, it’s easy to think you understand something you don’t. The Feynman Technique bypasses this problem by forcing you to articulate the idea you want to understand in detail.\nApplication 1: For Things You Don’t Understand at All\nThe first way to use this approach is when you don’t understand something at all. In this case, the easiest way is to do it with the book in hand and go back and forth between your explanation and the one in the book. This lacks the benefits of retrieval practice, but it can often be essential when the explanation you’ve been given baffles you\nApplication 2: For Problems You Can’t Seem to Solve\nA second way to apply this is for solving a difficult problem or mastering a technique. In this instance, it’s very important to go through the problem step by step alongside the explanation you generate, rather than simply summarizing it. Summarizing may end up skipping over the core difficulties of the problem. Going deeper may take time, but it can help you get a strong grasp over a new method in one go, rather than needing numerous repetitions to memorize the steps.\nApplication 3: For Expanding Your Intuition\nInstead of focusing on explaining every detail or going along with the source material, you should try to focus on generating illustrative examples, analogies, or visualizations that would make the idea comprehensible to someone who has learned far less than you have. Imagine that instead of trying to teach the idea, you are being paid to write a magazine article explaining the idea. What visual intuitions would you use to pin down the abstractions? Which examples would flesh out a general principle? How could you make something confusing feel obvious?\nPrinciple 9 - Experimentation, Explore Outside Your Comfort Zone # Results? Why, I have gotten lots of results! I know several thousand things that won’t work.\n— Thomas Edison\nExperimentation Is the Key to Mastery # As your skill develops, it’s often no longer enough to simply follow the examples of others; you need to experiment and find your own path.\nPart of the reason for this is that the early part of learning a skill tends to be the best trodden and supported, as everyone begins at the same place. As your skills develop, however, not only are there fewer people who can teach you and fewer students you could have as peers (thus lowering the total market for books, classes, and instructors), but you also start to diverge from those you’re learning from. Whereas two complete novices have quite similar knowledge and skills, two experts might have quite different sets of skills that they’ve already acquired, thus making improving those skills an increasingly personalized and idiosyncratic adventure.\nA second reason for the value of experimentation as you approach mastery is that abilities are more likely to stagnate after you’ve mastered the basics. Learning in the early phases of a skill is an act of accumulation. You acquire new facts, knowledge, and skills to handle problems you didn’t know how to solve before. Getting better, however, increasingly becomes an act of unlearning; not only must you learn to solve problems you couldn’t before, you must unlearn stale and ineffective approaches for solving those problems. The difference between a novice programmer and a master isn’t usually that the novice cannot solve certain problems. Rather, it’s that the master knows the best way to solve a problem, which will be the most efficient and clean and cause the fewest headaches later on. As mastery becomes a process of unlearning over accumulation, experimentation becomes synonymous with learning as you force yourself to go outside your comfort zone and try new things.\nA final reason for the increasing importance of experimentation as you approach mastery is that many skills reward not only proficiency but originality. A great mathematician is one who can solve problems others cannot, not merely a person who can solve previously solved problems easily. Successful business leaders are those who can spot opportunities others cannot, not merely those who can copy the style and strategy of those before them. In art, it was not only van Gogh’s skill but his originality that made him one of the most celebrated painters to have ever lived. As creativity becomes valuable, experimentation becomes essential.\nThe Mindset of Experimentation # The experimental mindset as an extension of the growth mindset: whereas the growth mindset encourages you to see opportunities and potential for improvement, experimentation enacts a plan to reach those improvements. The experimental mindset doesn’t just assume that growth is possible but creates an active strategy for exploring all the possible ways to reach it.\nTo get into the right mental space for experimenting, you need not only to see your abilities as something you can improve but understand that there is a huge number of potential avenues to do this. Exploration, not dogmatism, is the key to realizing that potential.\nHow to Experiment # A flurry of random activity doesn’t usually translate into mastery.\nTactic 1: Copy, Then Create\nThis strategy has an advantage, beyond simplifying the choices available to you. In attempting to emulate or copy an example you appreciate, you must deconstruct it to understand why it works. This can often highlight things that the other person does exceptionally well that weren’t obvious from the beginning. It may also dispel illusions you may have had about an aspect of the work you thought was important but upon emulating the other person’s work you realize was not.\nTactic 2: Compare Methods Side-by-Side\nThe scientific method works by carefully controlling conditions so that the difference between two situations is limited to the variable being studied. By applying two different approaches side by side, you can often quickly get information not only about what works best but about which methods are better suited to your personal style.\nTactic 3: Introduce New Constraints\nThe challenge of learning in the beginning is that you don’t know what to do. The challenge of learning in the end is that you think you already know what to do.\nA powerful technique for pushing out of those grooves of routine is by introducing new constraints that make the old methods impossible to use.\nTactic 4: Find Your Superpower in the Hybrid of Unrelated Skills\nFor many areas of creative or professional skills, another, more accessible, path is to combine two skills that don’t necessarily overlap to bring about a distinct advantage that those who specialize in only one of those skills do not have.\nTactic 5: Explore the Extremes\nPushing out to an extreme in some aspect of the skill you’re cultivating, even if you eventually decide to pull it back to something more moderate, is often a good exploration strategy. This allows you to search the space of possibilities more effectively, while also giving you a broader range of experience.\nExperimentation and Uncertainty # Learning is a process of experimenting in two ways. First, the act of learning itself is a kind of trial and error. Practicing directly, getting feedback, and trying to summon up the right answers to problems are all ways of adjusting the knowledge and skills you have in your head to the real world. Second, the act of experimenting also lies in the process of trying out your learning methods. Try out different approaches, and use the ones that work best for you.\nHaving a mindset of experimentation will also encourage you to explore beyond what you feel most comfortable doing. Many people stick to the same routines, the same narrow set of methods, they apply to learning everything. As a result, there are a lot of things they struggle to learn because they don’t know the best way to do so.\n","date":"25 janvier 2021","externalUrl":null,"permalink":"/reading/ultralearning/","section":"Reading","summary":"","title":"Book Notes, Ultralearning","type":"reading"},{"content":"","date":"25 janvier 2021","externalUrl":null,"permalink":"/tags/ultralearning/","section":"Tags","summary":"","title":"Ultralearning","type":"tags"},{"content":"All my thoughts over the years, reading and rereading Antifragile.\n","date":"18 janvier 2021","externalUrl":null,"permalink":"/reading/longform/antifragile/","section":"Reading","summary":"","title":"Antifragile","type":"reading"},{"content":"","date":"18 janvier 2021","externalUrl":null,"permalink":"/tags/antifragile/","section":"Tags","summary":"","title":"Antifragile","type":"tags"},{"content":"This post was first sent to my newsletter on November 16th, 2020.\n[You really ought to subscribe][1] :)\nTeaching Birds How to Fly, \u0026amp; Skin in the Game! # via pixabay\nThis probably is the last post, I have on Antifragile, for now.\nThese lessons over the past few weeks are those, that have sunk in for me, and something that I use on a daily basis. I’ll write more as I learn and internalise some new piece of wisdom (knowing the book, I’m sure I will).\nSkin in the Game, is the most important thing, I have learnt from the book.\n(It was important enough, to Taleb too, that he went wrote a whole book on it, after Antifragile.\nThe only folks I should ever listen to, follow, are the folks who have done it, who are doing the work, the folks who have skin in the game.\nThe world rests of the shoulders of doers.\nIt is not enough for me to just read a blog to learn Python or programming.\nThere are a whole lot of folks, spouting opinions, and telling me how to do things. But a guy, who has walked the path I want to walk, who uses his skills the way I aim to, who uses it to better the world he lives in?\nHim, I will listen to and do what he tells me to, because he talks to me with his scars.\nWhen I wanted to get out of debt, I read a whole lot of books, but the only person whose advice I followed, was Dave Ramsey\nI was a rebellious teen and would have my disagreements with my parents, but growing up, I realise I still live the values they taught me. Because they lived it themselves. Hard work and faith.\nThe teaching birds how to fly is the flip side of the coin.\nIt speaks to folks who tell stories and explanations about things and events, after the fact.\nEverything, I see, most near everything was built by tinkerers and doers.\nNot by folks who theorised and saw the whole picture in their mind and then brought forth perfection.\nThere might be a few who do that, but that’s not how the rest of the world works.\nAnd I had to learn this the hard way.\nThere are tons of people who explain things, who tell me how things work, or how things should be done.\nBut without skin in the game, this is like what Taleb calls, teaching birds how to fly.\nImagine some stuffy manager, with his charts and his plans and his MBA going upto a sparrow and lecturing the poor thing on how exactly it should flap its wings and how it should pose its body for maximum aerodynamic efficiency.\nI imagine the sparrow would just ruffle its feathers and go look for the next bird feeder.\nThe manager, though will still labour under the illusion, that he taught the sparrow to fly!\nAnd then go on to give talks and publish posts on social media as the world’s leading avian technologist.\nIn the meanwhile it does not matter one whit to the sparrow as it flits about and dives for its grain and berries and whatnot, using its innate knowledge.\nSo now I always pay attention to whether it is Max Planck himself, who teaches me … or his driver.\nThis I now know. That when it comes to my relationships or advice or anything that relates to other people, they ought to have skin in the game if they want me to take them seriously.\nThe same thing helps me look at the big things that I have no control over. Do the decision makers of things that affect me, have skin in the game? Are they affected if things go south? If not, I realise that all this is just a charade, and I am an unwilling victim, and I have to route my life around such events and decisions.\nAlso applies to the advice I give to my mentees or my friends.\nI keep my opinions to myself.\nUnless I am asked.\nAnd then, I will only ever talk about the things I have done, the stuff I have experience with, the experiences that life has given me the scars for.\nI will happily talk to you about how to lose weight, or computers and networks, or getting out of debt, or writing.\nBut if you ask me about politics in India or what needs to be done to save the strays of Mumbai, or how to double your money in 10 days, I sadly have no answer for you.\nBecause I know nothing :)\nLook at what the other side is telling you.\nHeads, you lose? Tails, they win?\nIs someone taking advantage of the fact that you cannot see what they are doing?\nIt’s simple in the end.\nAre they willing to put their money where their mouth is?\nLook at whether they have skin in the game.\n","date":"18 janvier 2021","externalUrl":null,"permalink":"/reading/longform/antifragile/what-i-learnt-from-antifragile-v/","section":"Reading","summary":"","title":"What I Learnt from Antifragile (V)","type":"reading"},{"content":" *Update: 15/01/2021. It’s done. I moved everything and it all seems to be working. If something is broken, let me know, on [the fediverse][cbj], or mailing me at jason at this domain. To my tech posse, no there is no forwarding of old links happening. The site is too small and I have no time. Nobody is going to miss this. And to that one little friend, who noticed that the site was dead and actually cried, I love you.* Happy New Year and welcome to the first newsletter of the year :)\nI’m starting the year with a bit of spring cleaning.\nI decided to stop publishing to mjbraganza.com\nYes, the book review and the photo website is now gone.\nI had started it to give my family and friends the option where they did not have to see me work rants and struggles.\nA few years of doing this have taught me that they don’t mind it anyway. They don’t check it on their own anyway. The newsletter is where the magic happens for family \u0026amp; friends.\nWhich left me the unwanted, detested task of having to run two websites, maintain two sets of data and run two newsletter like things.\nI also have goals (my health, my family, my professional life) that I need to focus on, which leave me very little time to do these (even though I enjoy it immensely).\nSo, I’ve decided to stop doing it.\nLike Cal Newport says,\nDo less Do Better Know why janusworx.com is where home is, for the forseeable future.\nIf you are looking for the old stuff, I will be bringing it over here, slowly as time and energy allow.\nAnd once again, I wish you and yours a very Happy New Year!\n","date":"15 janvier 2021","externalUrl":null,"permalink":"/work/consolidating-websites/","section":"Work","summary":"","title":"Consolidating Websites","type":"work"},{"content":"My plan for the new year …\nA final thought from Atomic Habits as we start the new year:\n“Improvements are only temporary until they become part of who you are.\nThe goal is not to read a book, the goal is to become a reader.\nThe goal is not to run a marathon, the goal is to become a runner.\nThe goal is not to learn an instrument, the goal is to become a musician.\nThis year, focus on the identity you want to build.”\n— James Clear\n","date":"1 janvier 2021","externalUrl":null,"permalink":"/personal/my-plan-for-the-new-year/","section":"Personal","summary":"","title":"My Plan for the New Year","type":"personal"},{"content":"","date":"1 janvier 2021","externalUrl":null,"permalink":"/tags/new-beginnings/","section":"Tags","summary":"","title":"New Beginnings","type":"tags"},{"content":"This post was first sent to my newsletter on November 7th, 2020.\n[You really ought to subscribe][1] :)\nWhat I Learnt from Antifragile (IV) # In a world with too much choice … Lindy is the cure # via Screenrant\nSo here’s a little distinction I learnt.\nWe, who are about to die, mortals need to become antifragile.\nWe know, we are going to die someday, and are always being buffeted by the storms of life, so we seek to get stronger.\nBut what about the non mortal, the non living?\nAre there antifragile, erm things?\nTaleb posits, that things have the opposite quality. They don’t have to get antifragile.\nThey just have to have really long lives, for you to know what is good (or at least common sense and dependable) and what isn’t.\nThis helps you choose from the daily craziness of what do I do? What do I choose?\nIt’s simple really.\nWhat things have lasted forever?\nWhat piece of advice, has been handed down from generation to generation?\nWhat book has been passed down through the years?\nWhat kind of architecture has lasted through the ages?\nStick to them, stick to age, stick to ancient wisdom and life becomes so much simpler.\nThat’s not to say that they can’t be wrong, or that old things cannot fall apart, or that you cannot improve or think new things.\nJust that, when you don’t want to do the thinking, or you are not quite up to speed on something, or you are paralysed with choice, choosing something Lindy is the safest (and also mostly, the best) thing that you can do.\nThe term, Lindy comes from a deli at Broadway in New York city.\nQuoting Albert Goldman describing a shared folk belief on the longevity of a comedian’s show/series on TV,\n\u0026hellip; the life expectancy of a television comedian is proportional to the total amount of his exposure on the medium.\nIf, pathetically deluded by hubris, he undertakes a regular weekly or even monthly program, his chances of survival beyond the first season are slight; but if he adopts the conservation of resources policy favored by these senescent philosophers of “the Business”, and confines himself to “specials” and “guest shots”, he may last to the age of Ed Wynn.\nBenoit Mandelbrot modified this, and expressed it mathematically to state that regardless of material, the more appearances comedians make, the more future appearances they are predicted to make. (depending on various other factors, of course)\nTaleb, then took this concept and ran with it. From Antifragile …\nFor the perishable, every additional day in its life translates into a shorter additional life expectancy.\nFor the nonperishable, every additional day may imply a longer life expectancy.\n…\nIn general, the older the technology, not only the longer it is expected to last, but the more certainty I can attach to such a statement.\nHe goes on to exemplify this, using my favouritest things, books …\nIf a book has been in print for forty years, I can expect it to be in print for another forty years. But, and that is the main difference, if it survives another decade, then it will be expected to be in print another fifty years. This, simply, as a rule, tells you why things that have been around for a long time are not “aging” like persons, but “aging” in reverse. Every year that passes without extinction doubles the additional life expectancy. This is an indicator of some robustness. The robustness of an item is proportional to its life!\nAnd plays on Broadway and ancient buildings,\nGott made a list of Broadway shows on a given day, May 17, 1993, and predicted that the longest-running ones would last longest, and vice versa. He was proven right with 95 percent accuracy.\n…\nHe had, as a child, visited both the Great Pyramid (fifty-seven hundred years old), and the Berlin Wall (twelve years old), and correctly guessed that the former would outlive the latter.\nAnd all this because of time.\nLike Warren Buffett says,\nIt’s only when the tide goes out, that you learn who’s been swimming naked.\nTime shows things for what they are.\nTime filters the chaff.\nTime erodes and polishes things to their essence.\nSo whatever survives time, needs to be given more weight in my opinion.\nHow do I use this myself? # While I am not necessarily concerned with building something that is Lindy 1, whenever I want to use something, I make sure I choose the Lindy option.\nI use this with the books, I choose to read. As do other smart people, I follow.\nI learnt more from the Bible and the Upanishads and the Stoics, than I do from any modern non fiction book.\nI use this with the tools, I used to write. I used to earlier write using Word, and then a program called Textmate, followed by a program called Scrivener, followed by a program called Sublime Text, followed by a program called, Visual Studio Code.\nIt was frustrating, trying to keep up with the changes and incompatibilites and the do this and do that and can work here and not there, nature of these programs. I can tolerate this craziness in other areas of my life, not with my writing.\nSo I learnt Vi and then Emacs and settled on using Emacs. Why?\nDespite their steep-ish learning curve, they run almost everywhere and have been in existence since 1976.\nThese programs are older than me!\nSo I’m sure, they will be around and will continue to work for a long time to come.\nDad crafted furniture.\nAnd he was obsessed with all his creations being beautiful, functional and lasting forever.\nI have a stool at home, that he made when I was two. Forty years later, I still use it daily.\nMom uses a sickle to break coconuts. She’s been using the same one that he crafted when they got married and she needed cooking implements. That too, is older than me.\nI’d bet on Yamaha surviving the vicissitudes of fate and time, more than Uber or Twitter.\nJapan has many, many more, by the way.\nSame thing with old architecture.\nI lay bets on the Taj Mahal surviving longer than all the modern buildings in Lutyen’s Delhi.\nSo, if you ever need a quick way to decide something, look at what past you did.\nThen look at what folks in the older generation did.\nThen look at what your grandparents generation did.\nAnd onwards and upwards.\nIf there is a shining, silver thread that extends through time, then that is what you can safely choose and do.\nListening to grandma’s advice, is always a good thing :)\nactually the trick is you don’t have to think about posterity until the posterity\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"28 décembre 2020","externalUrl":null,"permalink":"/reading/longform/antifragile/what-i-learnt-from-antifragile-iv/","section":"Reading","summary":"","title":"What I Learnt from Antifragile (IV)","type":"reading"},{"content":"","date":"21 décembre 2020","externalUrl":null,"permalink":"/tags/merry-christmas/","section":"Tags","summary":"","title":"Merry Christmas","type":"tags"},{"content":"My email program, was somehow hacked into last week, and close to 3000 spam mails were sent out in the course of a few minutes.\nWhile I was able to serendipitously catch it as soon as it happened, I apologise if you were the recepient of unsavoury stuff from my email address.\nI am now in the process of rebuilding everything.\nletter at janusworx dot com is the new home from where these letters will be sent from.\nPlease add this address to your contacts, so that I do not end up in your spam :)\nI am still picking up the pieces.\nI hope to slowly do over everything. And I hope to resume in the New Year.\nBefore I put my pen down and bid you adieu, let me wish you all a Very Merry Christmas and a Happy New Year!\nAnd as ever, I wish you warmth!\nSometimes it only takes a stranger, in a dark place,\nto hold out a badly knitted scarf, to offer a kind word, to say\nwe have the right to be here, to make us warm in the coldest season.\nYou have the right to be here!\n— Neil Gaiman\nLove and warmth,\nJason\nP.S. The poem in beautifully illustrated link above, is a Neil Gaiman creation, which old letter folk will know, was how I wished you last year too.\n","date":"21 décembre 2020","externalUrl":null,"permalink":"/personal/no-letters-for-a-while-merry-christmas-and-a-happy-new-year/","section":"Personal","summary":"","title":"No letters for a while, Merry Christmas and a Happy New Year!","type":"personal"},{"content":"This post was first sent to my newsletter on November 30th, 2020.\n[You really ought to subscribe][1] :)\nNow that life is picking back up, I have slowed down on the reading.\nI stuck to fiction this month. Only this month was at my normal pace 😄\nThe speed demon of September and October is no more 😂\nActually I stuck with Jack Reacher this month.\nI thought I would be done with him, but he does not seem to be done with me.\nThere was another new Reacher published last month, to be tacked on to the end of the queue.\nNot that I am complaining. 😄\nJack Reacher is no Sandman, but as as stoic vigilante, he rocks!\nSpeaking of stoicism, the one book I did read other than Child’s series was my evergreen favourite; Colleen McCullough’s epic about the early settlers of Australia and Norfolk Island, Morgan’s Run.\nFollowing the disappearance of his only son and the death of his beloved wife, Richard Morgan is falsely imprisoned and exiled to the penal colonies of eighteenth-century Australia. His life is shattered but Morgan refuses to surrender, overcoming all obstacles to find unexpected contentment and happiness in the harsh early days of Australia\u0026rsquo;s settlement.\nFrom England’s shores to Botany Bay and the rugged frontier of a hostile new world, Morgan\u0026rsquo;s Run is the epic tale of love lost and found, and the man whose strength and character helped settle a country and define its future.\nIt isn’t masterful writing.\nBut it is a masterful potrayal of a man who is buffetted by the storms of life and yet, holds on to his core.\nAnd it has another important (to me) characteristic. It is looong at close to 900 pages.\nSo oftentimes, I just open to one phase of Richard Morgan’s life and get lost in it.\nHis false imprisonment, or his early halcyon life, or how he makes the most of his imprisonment in Australia or his easy ability to inspire loyalty.\nLike I write under its title, it is one of my Lindy Books.\nIt has been my soul food and constant companion for the last twenty years.\nIt taught me stoic principles, before I even knew what Stoicism even was.\nI cannot imagine, how I would have gotten through my tough times, if it wasn’t for Morgan’s Run.\nAnd that was my run for November.\nI’ll be back with more of what I read, next month 😄\nIf you want to see the titles, click here.\n","date":"14 décembre 2020","externalUrl":null,"permalink":"/reading/books-i-read-november-2020/","section":"Reading","summary":"","title":"Books I Read, November 2020","type":"reading"},{"content":"This post was first sent to my newsletter on November 23rd, 2020.\n[You really ought to subscribe][1] :)\nA quickie for all you fellow epistemophiliacs.\nI may have written something about this somewhere, but this still rankles my brain enough, that I want to put it down in a note.\nLearning across various subjects, as I have been for the past two years (12th, college, programming, and the rest), for a short while, I was obsessed about the best way, the fastest way, the most efficient way to learn something.\nAnd as usual, I have realised, a little too late in the process that there is no such thing.\nOne learns at the speed one learns.\nThat is not to say however, that all forms of instructional material are created the same.\nThe media you engage with, has to be intentionally chosen, based on what you want to learn, get out of something that you are consuming.\nHere’s how I see it.\nReading Mathematics is the most efficient at expressing huge amounts of knowledge, efficiently and concisely. (which is why it is a budding hobby of mine. so that I can read more, lots more, before I die 😃) Reading Books (both fiction and nonfiction) come next. I can skim, absorb, skip sections, delve deeply, reread, meditate over, quite rapidly. Audio, Video and Interactive Multimedia are the next steps in growing levels of commitment of effort, time and space. You learn better, but spend more time doing it. Doing it is the final step. The most involved, takes the most effort and the most time. This is not a good, better, best list. This is a how much time and attention, do I want to devote to learning this-thing-i-am-learning list.\nThis is more like: this is how I go about learning list.\nIf I want to quickly read large quantities of knowledge, I start at the top, and the more I want to dive deeper / learn more intently / understand better because I don’t get it; the further down the rabbit hole list, I go.\nFor hard, vast, yet distillable topics, Maths is the best way to go.\nIt isn’t available for the rest of squishy unpredictable life, so books are the next best option. As I realise I want to learn more or as I realise, the books are not cutting it, I don’t understand this, that’s when I go down a level (only if I think, this is worth learning).\nA/V and multimedia are the next stop. For e.g. I did not understand Python Comprehensions by reading, so I took a video course to understand them better.\nDoing is of course the big daddy of them all. I want to change careers to programming, which is why I now devote hours a day, to … you know … actually programming. While Josh Kaufman’s maxim certainly applies, it is still a significant investment you make. So do this intentionally.\nThat’s all for this week\nIf you like this one, I might pen more shower thoughts 😂\nOr they can just go down the drain 😛\nLet me know what you think.\n","date":"7 décembre 2020","externalUrl":null,"permalink":"/personal/shower-thoughts-the-speed-of-learning-with-various-media/","section":"Personal","summary":"","title":"Shower Thoughts, The Speed of Learning With Various Media","type":"personal"},{"content":"This post was first sent to my newsletter on November 2nd, 2020.\n[You really ought to subscribe][1] :)\nNothing really exciting this month.\nI had lots of work and could not quite focus on reading hard books or non fiction.\nI needed to escape from the humdrum of life\nSo, I read a lot of Jack Reacher.\nI decided to read all of the Lee Child novels featuring the character.\nAnd all of that, started because I read a book, that followed Lee Child around for a year, describing his writing process and the work that goes into a Reacher novel.\nIt’s been fun, reading. Like meeting an old friend.\nConsidering that he writes about one a year, I find it slightly alarming that I have now read seventeen years of Child’s work in a month.\nI wonder what I’ll do when I get done with all the books.\nWell I don’t really have to wonder. I’ll just go read another one.\nI have more books, I want to read than I have life left :)\nSo here’s to reading! See you next month!\nIf you want to see the titles, click here.\n","date":"30 novembre 2020","externalUrl":null,"permalink":"/reading/books-i-read-october-2020/","section":"Reading","summary":"","title":"Books I Read, October 2020","type":"reading"},{"content":"Whenever Emacs saves a file, it makes a backup of the original.\nSo if I had a file.txt and I make changes and save it, Emacs firsts backs up the original to file.txt~.\nWhile I love this functionality, and it has saved me from a pickle more than once, I don’t love the way my folders get polluted with ~ files all over the place.\nMy blog’s drafts folder had hundreds of these.\nMercifully, Emacs offers a way to stow all these files in one central folder of your choosing.\nAll I did was add this little snippet to my init.el\n;; Set the folder for backup files to a subfolder in the ;;.emacs.d folder of the user. (setq backup-directory-alist \u0026#39;((\u0026#34;.\u0026#34; . \u0026#34;~/.emacs.d/file-backups\u0026#34;))) Emacs now stops littering all over the place and saves the backups it creates, to a `file-backups` folder in my `.emacs.d` folder. You can choose a location, you like better :) ","date":"17 novembre 2020","externalUrl":null,"permalink":"/work/putting-emacs-backup-files-in-a-separate-location/","section":"Work","summary":"","title":"Putting Emacs Backup Files in a Separate Location","type":"work"},{"content":"Could not focus much on programming today.\nSo decided on doing things with Python programs.\nNikola Upgrade # I use Nikola to generate both my websites.\nIt is an extremely easy to use, no fuss static site generator, which is easy on my server’s resources.\nVersion 8.1.2 was released a few hours ago and I hopped on and installed it.\nI follow a slightly unconventional upgrade path, because I was terrified of breaking my server in the early days, when I was still learning about how to go about installing things on servers.\nI have Miniconda installed. I use that to generate a conda environment, which I then installed Nikola into. When a new release drops, I create a new conda environment, install the new release in there and run them against my source folders (after backing them up). This lets me revert very quickly to the old data and the older version of Nikola, in case I do something boneheaded and screw things up. If all works fine for a month, I delete the older conda environment along with the old Nikola release. I have been doing this for quite a while now, and while it may be overkill, it gives me peace of mind. As usual, Nikola upgraded with no issues at all. Pleroma Bot # I always wanted to understand what bots do.\nNow I realise they are athromorphic programs that (with the right permissions and the right credentials) look like actual users of a service, doing sets of activities they are programmed to do.\nLike your banking app has set of solutions to common queries that it shows you, before it hands off to an actual human, if those solutions don’t fit your needs.\nThey feel like supercharged scripts to me.\nSo I decided to see if I could install one.\nSince I am learning Python, I love reading the low volume Daily Python Tip Twitter account.\nIt has surprising, handy, funny, interesting tips and tricks about the Python language and the massive ecosystem around it.\nBut, I have weaned myself off Twitter for my own sanity.\nI only use it sparingly once a day.\nAnd going back to that noise and tumult no longer interests me.\nI saw a bot that mirrored tech news accounts to Mastodon and wondered if a bot could get Daily Python Tip to me on my Pleroma timeline.\nA quick search led me to Pleroma Bot.\nA couple of struggling hours later, (creating a twitter developer account, creating a pleroma account for the bot, figuring out how to get bearer tokens for said accounts) and tada, I got the bot to come alive!\nIt checks the Twitter account once a day, and mirrors the tweets to the bot account.\nYou’re most welcome to follow it for a Python tip, daily.\nThe next thing to do, is to see if I can get a bot to post a tagged pleroma status to my twitter account.\nBut that is something for another day …\nUpdate, 2020/11/17: figured out how to use the bot to mirror multiple accounts. It now mirrors, Daily Python Tip, RegexTip, and CompSciFact.\n","date":"16 novembre 2020","externalUrl":null,"permalink":"/work/a-day-of-updates/","section":"Work","summary":"","title":"A Day of Updates","type":"work"},{"content":"","date":"16 novembre 2020","externalUrl":null,"permalink":"/tags/wip-projects/","section":"Tags","summary":"","title":"Wip-Projects","type":"tags"},{"content":"This post was sent to my newsletter on October 25th, 2020.\n[You really ought to subscribe][1] :)\nWhat I Learnt from Antifragile (III) # What Does Not Kill Me … Antifragility for the Collective # What does not kill me makes me stronger.\n— Friedrich Nietzsche, Maxims and Arrows\nThe world breaks everyone and afterward many are strong at the broken places.\nBut those that will not break it kills.\nIt kills the very good and the very gentle and the very brave impartially.\nIf you are none of these you can be sure it will kill you too but there will be no special hurry.\n— Ernest Hemingway, A Farewell to Arms\nThat, in a nutshell, explains my learning today.\nTo become Antifragile, we need to understand be aware of what we do, our actions and then see who it ultimately benefits.\nvia Greek Myth Fandom\nAntifragility, like I imagined in my head, was me getting stronger with every blow that life dealt me, Hydra like.\nIf you cut off one head, I would just grow another one.\nBut I realised that everything comes at the expense of something.\nIf I am growing Antifragile, something else has to give.\nIf there’s just nature on the otherside, we’re fine. But if there are people, then we better be careful about how we get Antifragile.\nThere’s also the notion of scale. Something small, dying to make the bigger collective stronger.\nSo there’s always a balancing act and a constant need to be observant.\nThis is how I imagine it, in a few scenarios in my life.\nMy cells need to die, my muscles need to tear in order that I build up my strength.\nHere the individual is nature (my cells), dying in order to make me (my body, the collective) much stronger.\nImagine if that did not happen, if each cell decided, why should I die?\nActually, you don’t have to imagine.\nThat’s what cancer is.\nIf I die this year, I am insured. My folks get a hefty payout. (Antifragility for my family’s finances)\nBut the insurance company can only afford to do this, because they have money from a ton of folks placing the same bet as I did. That we would croak this year.\nThis is again the individual (me) benefiting the collective (the vast pool of people, who do not have enough saved, yet want to provide for their loved ones).\nA nasty one is when someone uses this for their own benefit.\nThey win, but the collective loses.\nScams of various sorts come to mind here, where an unscrupulous person, takes advantage and become antifragile at the benefit of other people.\nThe flip side is the hero, where the individual takes risks and sacrifices to benefit the collective\nSoldiers, Teachers, Firefighters, Tinkerers, Entrepreneurs are all examples of folks who sacrifice individually so that society as a whole benefits.\nSo this is what I learnt. To see how actions towards antifragility (mine or others) have ramifications on my life.\nTo always see if I or society benefit. Not someone else taking undue advantage.\n","date":"15 novembre 2020","externalUrl":null,"permalink":"/reading/longform/antifragile/what-i-learnt-from-antifragile-iii/","section":"Reading","summary":"","title":"What I Learnt from Antifragile (III)","type":"reading"},{"content":"I started playing with a way to control Git via Python.\nKushal had asked me to write a program, that would show me the local git branches.\nSo here it is!\nI call it Git the Branch. (painfully, punny, I know :))\nAnd now I realise why he asked me to do this.\nThe program itself is trivial.\nHere’s the code on my code repo, Gitlab, and Github.\nIt just consists of me using GitPython to access the current folder via a GitPython Repo object.\nAnd then querying it for its branches.\nThe important work was done yesterday, when I pored over the documentation and figured out how GitPython actually works.\nAnd I realised that is what Kushal wanted me to do.\nRead something and figure out how I could adapt it to my situation.\nThe other thing I realised, was licensing.\nI want my programs to be used, played with and adapted.\nSo it makes sense for me, to make it as easy to use as possible.\nThis is why I have decided, that until circumstances dictate otherwise, I shall use the MIT License.\nThis led me to check if I could then actually license my software as such, if the software that I depend on (in this case GitPython) have different licenses.\nMy arbitrary and random research suggests that I can do so.\nIf I learn otherwise, I shall think about what to do next.\nIf you have anything to suggest, please let me know, by mailing me at jason at this domain.\nOne other (painful) thing, that I realised is that I cannot focus at all when I am writing code.\nThis post has come out in a blur of focussed writing.\nMy academic studies are also something that I can focus for hours on.\nApparently that focus does not translate to programming.\nI need to build up this skill for this domain seperately.\nHopefully, this will come with showing up daily.\nThis was fun to do.\nHere’s to writing my way to fluency.\nP.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\nP.P.P.S. Update, 7pm the same day, The answer to focus, lies in this serendipitous Seth post\nA third might be, just for an hour, to turn it off.\nAll of it.\nTo sit alone and create the new thing, the thing worth seeking out, the thing that will cause a positive change.\nI love it when the universe speaks to me :)\n","date":"13 novembre 2020","externalUrl":null,"permalink":"/work/git-the-branch/","section":"Work","summary":"","title":"Git the Branch","type":"work"},{"content":"Update, 2020/11/13: This has been working beautifully! I love the poems as they show up in my feed.\nThis is a tiny little niche thing, I built all for my ownsome.\nIt all started, when I got hooked on reading the daily poem, on the Poetry Foundation page.\nLearning Python as I am, I wondered if there was a way to have it come to my RSS reader.\nAnd so Poemfeed is a tiny little utility that does just that for me.\nIt looks up Poetry Foundation’s, Poem of the Day for a new poem.\nIf there is one, it follows the link to the complete poem, and then gets the link to that page and writes that into an simple RSS entry in an xml file.\nI then wrote a simple cron job that executes the python script twice a day, and if an xml file is generated, it moves it to a place that my RSS reader can access.\nEt voilà, a brand new poem everyday! (or as often as they publish :))\nThe code’s here, on my repo, on Gitlab and on Github, if you want to have a look see.\n","date":"13 novembre 2020","externalUrl":null,"permalink":"/personal/poem-feed/","section":"Personal","summary":"","title":"Poem Feed","type":"personal"},{"content":" The Itch # Aiming to write a tool using this which will show all the git branches in the current directory and the last commit date on those branches (and only the local branches :))\nWhat I did today # I had to carry my phone in to the service centre, so I did not quite have as much focussed time as yesterday, with all the coordinating and carrying, but I learned a few new things\nKushal hinted that I could use GitPython to do what I want.\nSo I spent a little while reading there.\nAnd then decided to test it out.\nAnd then immediately went yak shaving, because I wanted to solve the problem of how to quickly type iterate in Visual Studio Code.\nI learnt lots of Python using Reuven Lerner’s courses and I used a lot of Jupyter Notebooks then.\nAnd I love them.\nThe trick now, is to figure out how to use them in Visual Studio Code.\nTo my delight, the Python extension in VS Code has support for notebooks. And all works well for the most part.\nThe only thing that tripped me up was that when I tried importing a module in the notebook after activating my virtual environment, the Jupyter server hiccoughed and threw up some error about not finding the module (which I knew was definitely installed) and then something about it not being in the PYTHONPATH (which I had no clue of which places, it was looking in.)\nA little snooping and I realised that the extension loads the server with a default kernel in someplace. And I need to tell it about my environment. Once I told it to use the kernel from my venv, all was fine.\nVS Code went and installed a ton of things and found what was already there and everything was hunky dory.\nA from git import Repo worked just fine.\nI felt good about this piece of dawdling, because I know this is something I am going to do every day and better I spend some time figuring it out, right at the start.\nI learnt that I could use the ! mark as a prefix in Jupyter to run shell commands! A !ls will show me the contents of my folder :)\nI skimmed the GitPython documentation.\nI kind of got what I want.\nThis will require lots more work, which I shall have to put in.\nBut even a cursory glance, showed me that GitPython was an exhaustive wrapper, that would let you do practically anything you would want to do with Git.\nMore tomorrow …\n","date":"12 novembre 2020","externalUrl":null,"permalink":"/work/starting-work-on-git-the-branch/","section":"Work","summary":"","title":"Starting Work on Git-the-Branch","type":"work"},{"content":"Was a really good day to ease back into Python today.\nI got my VS Code up and running.\nI got a personal [Gitea instance][crjw] up, to host my code, from where I will syndicate it to Github and Gitlab.\nAnd finally I got a projects page up, to slowly fill up with projects.\nI also managed to improve an old program I wrote for myself, but I’ll write about that in the next post.\nAll in all, a day well spent. A journey well begun.\n","date":"11 novembre 2020","externalUrl":null,"permalink":"/work/a-good-first-day/","section":"Work","summary":"","title":"A Good First Day","type":"work"},{"content":"Ok, one more time.\nI know there have been lots of one more times before, but I am going to keep at this until I get proficient enough at this to land a job :)\nAnd while I may not be brainy enough, the one thing I can do is be persistent enough to show up.\nThis time, I will focus on building tiny projects.\nI realise my life is too chaotic for #100DaysofCode.\nBut I can do this, one tiny thing at a time.\nWish me luck!\n","date":"11 novembre 2020","externalUrl":null,"permalink":"/personal/getting-back-on-the-horse/","section":"Personal","summary":"","title":"Getting Back on the Horse","type":"personal"},{"content":"","date":"2 novembre 2020","externalUrl":null,"permalink":"/tags/dvorak/","section":"Tags","summary":"","title":"Dvorak","type":"tags"},{"content":"This post was sent to my newsletter on October 16th, 2020.\n[You really ought to subscribe][1] :)\nI was wondering about what kind of technical posts, I could write, since I am still learning programming and I did not want to bother you folk, with this is how I learnt to do lists in Python and this is what dictionaries do :)\nI then realised that it’s been slightly more than a year, I have been touch typing using the Dvorak layout.\nSo I thought, why not tell you that story? :)\nWhy did I switch to Dvorak? # I never learnt to touch type. It was always a some day, maybe cool skill to learn.\nEver since my computer support days in the late 90s, I have always hunted and pecked at my keyboard, using 2-3 fingers.\nOr 4.\nOr 5.\nYou get the gist.\nAnd I was pretty comfortable with it, until I broke my back in 2017.\nI now have three slipped discs at various point along my back, and one of them was compressing the nerves that go down both my arms a bit.\nSo the old way of typing, was now causing tremendous pain.\nI asked my doctor what I could do and his answer was basically, change professions. (Silly sod)\nBut my physio sessions where I was strengthening my back muscles to take the load of my vertebrae, lit the bulb of what if I learnt to finally touch type using Dvorak? It was designed to reduce strain on the fingers.\nWould that help?\nSome Thoughts # I realise that I am in a lucky position, painful fingers notwithstanding.\nMy native language is English, most of the world types in English, programming is largely done in English and Dvorak was designed for English.\nIt would not have gone well for me, if I had to type in another language, because most of them adapt off the QWERTY layout.\nWhile I have had no real issues adapting my fingers to shortcuts from my operating system and the various programs I use, I do realise that other folks might have muscle memory, that’s ingrained too deep.\nHow did I do it? # By switching to it cold turkey.\nIt was not like I had any other option.\nThe alternatives were to either endure shooting pains, up my fingers to my arms or give up typing altogether.\nI switched my keyboard layout in Linux Mint on the desktop and MacOS on the laptop to Dvorak.\niOS does not natively have support for the Dvorak layout, so I installed Google’s Gboard and then switched that to Dvorak.\nI practiced for about 10 minutes daily, using Gtypist on Linux, just to get a feel for where the keys were. I could see them on the phone and the tablet too, so that helped.\nIt took me a month to get the hang of it.\nAnd the first two weeks, were absolutely miserable.\nEmails, messages, writing, practically everything suffered.\nI know.\nI measured.\nI averaged 2 to 5 words per minute.\nI got yelled at.\nAnd a few work balls got dropped too.\nBut that was a small price to pay, for what I hoped would be finger salvation.\nBut at the end of that month, I could touch type.\nAt 5 to 10 words a minute.\nBut I could do it.\nA Year Later … # So, did it help?\nAbsolutely!\nI now can type at close to 265 words a minute, with just my right hand.\nJust kidding :)\nIt never was about the speed for me, though that has improved as well.\nMy good old patent pending hand claw typing, averaged 35 words a minute.\nWith Dvorak, I was at that speed in two months.\nAnd then I just gave up on getting faster, because at around that speed, my fingers keep up with my thoughts.\nThe magic though, lies in the fact, that my speed has been on a gradual upward curve over the past year.\nFour months ago, I was averaging 45 words a minute.\nToday, I do about 55 words a minute.\nAnd yet, like I said, it’s never been about the speed.\nThe best thing about Dvorak, lay in the fact that my fingers stopped paining.\nI still have twinges once in a while, but those are few and far between and definitely a far cry from the daily agony of last year.\nThe other thing I’ve noticed is my fingers have become semi-autonomous typing appendages, if that makes any sense.\nMy thoughts flow out my fingers, on to the page. I don’t have to think about typing anymore.\nLike I don’t have to think about walking. I want to go someplace and my feet just do it.\nFinally, if someone had just told me just how comfortable Dvorak’d be, I would have made the attempt years ago.\nIt feels almost as good as scribbling notes on a pad to me. My fingers just roll over the keys, forming words.\nYou might not have crazy, flingin’ flangin’ fingers, but ought you learn to type with Dvorak?\nMy answer would be an emphatic, Yes!\n(Two, no longer painful, thumbs up)\n","date":"2 novembre 2020","externalUrl":null,"permalink":"/work/my-experience-learning-the-dvorak-keyboard-layout/","section":"Work","summary":"","title":"My Experience Learning the Dvorak Keyboard Layout","type":"work"},{"content":"","date":"2 novembre 2020","externalUrl":null,"permalink":"/tags/touch-typing/","section":"Tags","summary":"","title":"Touch Typing","type":"tags"},{"content":"This post was sent to my newsletter on October 18th, 2020\n[You really ought to subscribe][1] :)\nWhat I Learnt from Antifragile (II) # I fell sick and missed writing last week.\nI have to live up the name of the news letter, anyhoo.\nIt would not be erratic without me whiffing once in a while, non?\nApologies all around, anyway!\nThe Barbell Heuristic to Taking Risks # Basically a shortcut to figuring out whether you ought to do something or not, based on the risks it entails.\nHow do we take a decision, when we don’t know all the pros and cons?\nHow do we decide in an uncertain world?\nSimply put,\nWhat kind / amount of loss am I willing to accept, to gain some reward?\nLife basically consists of three outcomes:\nThe safe outcome, with little to no success, but you don’t lose anything The normal outcome, with some middling success, but you stand to lose some. But here’s the kicker. You might stand to lose everything, if you don’t understand the risks you take, or if the risk is unknowable. (Blow ups due to these unknown risks are what are now popularly called, thanks to Taleb’s earlier book, Black Swans) High Risk, high reward! You know you will lose, but if you win, you win Big! It helps if you take risks with a domain that you have deep expertise in. Taleb suggests that the best and safest way, to make decisions that propel your forward with minimal risk, is to ignore point 2 altogether.\nMost of your daily life decisions ought to be with point 1.\nSome of your decisions you, go to point 3.\nYour strategy is to be as hyper-conservative and hyper-aggressive as you can be, instead of being mildly aggressive or conservative.\n— Taleb, The Black Swan\nAnd that is the barbell strategy.\nIt looks like an unbalanced barbell actually, like the one on the cover of his next book, Skin in the Game.\nThis is what will give you maximum peace of mind.\nRisk taking also becomes easier, if you have options like I pointed out last week.\nThe best worst case scenario, is one that you have the option to reverse. (like buying something you need, but uncertain about how it’ll be? Easy to buy it, if the thing comes with an option to return it if you don’t like it.)\nThree personal life cases,\nMoney # I don’t understand investing.\nI do know, that I need a nest egg for when Abby \u0026amp; I are old :)\nErgo, barbell strategy.\nMost of our money is parked in safe investments like the Provident Fund and fixed deposits.\nAnd some of it, in risky stuff like stocks and equity mutual funds. (since this is not my domain of expertise, I pay someone trustworthy to help me out.)\nSo if the market crashes like it did earlier this year, I was not as worried as other folk.\nI did not lose my shirt.\nI could follow, what the given advice at the time was (Stay Invested) with a clear, calm mind.\nAnd I am confident, compounding will work its magic over time over both sets of investments.\nWork # Let’s put the barbell, to work here too.\nYour safe, boring job is one end of the spectrum.\nYour risky side projects, hustles, are the other.\nYou need both.\nYou could either do both together, or serially.\nWork a safe job for a few years, then take up a risky moonshot, and if it doesn’t pan out, go back to another safe job.\nWhile right now, I am in between jobs, due to health reasons, in my earlier lives, I had pretty boring jobs.\nBut, I write a lot. I teach a lot.\nAnd that brought me a lot of opportunities that helped me through really trying times in the past two decades.\nHealth # This is relevant to me, because it helped me get fit over the past year.\nI have three slipped discs.\nDo I have surgery?\nThe docs are undecided. Or rather they are, but are unwilling to guarantee, how long the surgery would help me.\nAnd I had bloated to 98 odd kgs at my worst.\nWhat do I do?\nSo, the safe thing to do was to lose weight.\nAnd the hard thing to do was to get strong.\nBoth of which, are progressing along nicely.\nI lost 30 kgs and am doing aggressive physio to build up my back muscles, so that my poor vertebrae don’t have to do all the heavy lifting by themselves.\nI feel much better today, better than I did in my twenties!\nAnd that about does it for using barbells to help make decisions.\nThat’s all we have for you this week :)\nI really do hope, this little heuristic, changes your life as much as it did mine :)\n","date":"1 novembre 2020","externalUrl":null,"permalink":"/reading/longform/antifragile/what-i-learnt-from-antifragile-ii/","section":"Reading","summary":"","title":"What I Learnt from Antifragile (II)","type":"reading"},{"content":"There seems never to be the right time to write or the right amount that I could learn from Antifragile, so I’m just going to take a long, rambling stab at it this morning.\nIt will be a living document that I’ll keep adding to on the blog, sooner or later, but for now, this is just for you, my dear newsletter1 family.\nHere goes …\nWhile I love the way he writes, I don’t have that much a familiarity with English that, I can easily process stuff like this, every time I just want to grab a principle quickly.\n“what physicists call the phenomenology of the process is the empirical manifestation, without looking at how it glues to existing general theories.”\nor\n“In Peri mystikes theologias, Pseudo-Dionysos did not use these exact words, nor did he discuss disconfirmation, nor did he get the idea with clarity, but in my view he figured out this subtractive epistemology and asymmetries in knowledge.”\nDrives me bonkers every time.\nHence this little screed for me to look at, whenever I want to.\nAntifragile # I got lucky when I stumbled on Antifragile in early 2013.\nI was slogging at the end of nearly a decade long effort of digging my sorry ass out of debt.\nAnd while I was doing that, I was trying to learn how to handle money better.\nHow to invest it well or at least the general principles, of how not to lose money, forget about growing it.\nAnd more importantly, how be resilient enough, to handle stuff that life threw at me.\nHow not to stress.\nI had it upto here, stressing about every bad thing that came along.\nI was thinking about the same thing that Taleb espoused in this book.\nIt was not the title, Antifragile, that grabbed me, but the subtitle:\nHow to Live in a World We Don’t Understand\nAnd the Prologue sucked me in totally,\nWind extinguishes a candle and energizes fire.\nLikewise with randomness, uncertainty, chaos: you want to use them, not hide from them. You want to be the fire and wish for the wind. This summarizes this author’s nonmeek attitude to randomness and uncertainty.\nWe just don’t want to just survive uncertainty, to just about make it. We want to survive uncertainty and, in addition—like a certain class of aggressive Roman Stoics—have the last word. The mission is how to domesticate, even dominate, even conquer, the unseen, the opaque, and the inexplicable.\nHow?\nHe then takes nearly 500 pages of dense prose like the two quotes up above to explain the how.\nMake no mistake, I loved it. I enjoyed it.\nI re-read this book every 8–12 months.\nBut I am definitely not smart enough to extract the principles I need, at a moments notice.\nHence this post(s).\nEverything below, is now what I understand, (or think I understand) from Antifragile.\nAnd why am I doing this?\nBecause the book changed my life for the better.\nIt gave me what Zig Ziglar called a new pair of glasses, to look at life with.\nOr what Charles T Munger and Shane Parrish would call, a latticework of mental models.\nReading Order # If you get into Taleb zealotry like I have, and want to read the entire Incerto, then this is the order I suggest you do it.\nAntifragile Antifragile Antifragile The Bed of Procrustes Skin in the Game Fooled by Randomness / The Black Swan Antifragile is the main work.\nEven though it is the fourth chronologically. Every other book can be looked at as offshoots of some chapter in Antifragile.\nOptionality # It is always good to have options. It is always good to check alternatives.\nYou gain a lot of freedom that way.\nOptions might be free, or you might have to pay for them.\nBut unless they are really expensive (which it really is not in most of life), it is always good to have options.\nCase in point, after one case too many of being burnt over non refundable tickets, I started buying my air tickets, directly from the airline with the option to get a full refund.\nTwice now, paying a bit more for this option has saved my hind quarters. Once I had to reschedule an entire multi city trip and the other was full refund, just as Covid hit.\nLesson learnt.\nNow I look for options and alternatives even more in other areas of my life.\nDomain Blindness # Some principle you use / do / see in one area of your life, can just as easily exist in others.\nYou can either diet and go to the gym and lift weights or become a manual labourer who hasn’t enough to eat and carries loaded bags.\nThe principle is the same. And the end result is the same. You drop fat and gain a six pack.\nIf you we can’t see the principle at work, we have a case of domain blindness.\nI knew I could do a little bit every day on a certain task at work and get it done.\nIt never struck me to do the same to develop my skills.\nNow that I see and am no longer domain blind, I use the same principle (steady, slow iteration) to lose weight, to complete my 12th standard and learn programming.\nThis is all I remember for now.\nI’ll write more, as I realise more.\nThis was sent to my newsletter subscribers on Oct 4th, 2020. If you are reading this on the blog, you really should subscribe, if you want to read my stuff as soon as I put it out.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"18 octobre 2020","externalUrl":null,"permalink":"/reading/longform/antifragile/what-i-learnt-from-antifragile-i/","section":"Reading","summary":"","title":"What I Learnt from Antifragile (I)","type":"reading"},{"content":"I want to keep reading books and stories about how folks pick themselves up.\nIt helps me deal with the storms in my life better.\nIt assures me I am not alone.\nAnd people often have it worse.\nNeil Pasricha shares his story in You are Awesome.\nMost of which are relates with everything we face in our lives.\nAnd I was meh.\nBut he also shares his parents stories.\nAnd those are really, really inspiring.\nI stumbled on the book, after I stumbled across his 3 Books project.\nAnd I stumbled upon that after Shane [retweeeted] about his episode on said project.\nA week of binging and I now have so many books to read.\nYou don’t have to go listen to all the episodes if you just want the book list. They are readily available here.\nSo where was I? Oh Neil’s book.\nI heard about it on the podcast and went and got it.\nHe is a gifted storyteller with an awesome voice.\nSo listening to the podcast or reading the book, never feels boring.\nHe takes us from beginning to the end in a lovely, engaging, flowing manner.\nThe book is not about the stories though.\nIt’s about how you can pick yourself up, dust your self and get back on the horse after life’s kicked you in the gut.\nSome quotes, alongside the nine steps to become more resilient.\nAdd a Dot-Dot-Dot # Sometimes the hardest thing to do is simply making the decision to keep going.\nI use my mom’s story to show how easy it would have been for her to just stop and give up, to shut off the taps. It’s much harder to keep the taps on. It’s harder to add a “yet” to the end of a self-judgment.\nHow does the magic word look in practice?\n“I can’t meet new people… yet.”\n“I don’t have any better options… yet.”\n“I’m not good at anything else… yet.”\n“I don’t waltz… yet.”\nShift the Spotlight # When we fail …\nWe have to be aware and remember that we are quick to internalize. To self-flagellate. To point the dagger straight at our stomachs. To let the spotlight shine brightly into our own set of eyes. But a big part of resilience, of remembering we really are awesome, is performing this crucial mental separation.\n“Oh, wait. I’m thinking this failure is all about me. I’m pointing the spotlight at myself. I’m taking all the blame here.” Stop. Separate. Remember:\nIt’s actually egotistical to think it’s all about you.\nSo what do you do?\nDance with it. Work with it.\nSet it beside you, not inside you.\nIt’s not about you. It’s not about you. It’s not about you.\nYou have to shift that spotlight.\nWhy?\nBecause there’s a lot more work to do.\nAnd you can’t start till after you shift that light.\nSee It as a Step # See the failure you’re going through as a step up an invisible staircase toward a Future You in a Future Life you can’t even imagine yet.\nWe all think that the way things are now is the way things will continue to be.\nBut inevitably, everything we go through in life really is a step to help us get to a better place.\nWe confuse the challenge of picturing change with the improbability of change itself.\nBut there are more steps.\nAnd change will come.\nIt always does.\nTell Yourself a Different Story # Your problem is not the outside world. Your problem is the story you’re telling yourself about the outside world. And that story is a choice. If you’re not happy with the story, tell yourself another story. Period. That simple. And most people will hear what I just said and not change anything.\nDo you hate your stretch marks? Can you try to see them differently? Can they be timeless tattoos commemorating how you brought your beautiful children into the world?\nAre you ashamed of your dozens of one-night stands? What if they helped you understand your own sexual chemistry enough that you knew what you needed in a partner?\nDo you curse yourself over the extra ten pounds on your gut? Can you instead love the fact that you have a weekly pizza and wings night with your friends?\nWe have to remember that we retain the choice, we hold on to the choice, we get to make the choice to tell ourselves a different story.\nWe can rewrite our shame stories, we can be gentler on ourselves, we can take the kindness we preach… and treat ourselves more kindly first.\nTell yourself a different story.\nThree big questions to help achieve this secret\nWill this matter on my deathbed? Can I do something about this? Is this a story I’m telling myself? The truth is that most of what we think is a story we’re telling ourselves.\nOnly you can decide what story you tell yourself. So tell yourself a better one.\nLose More to Win More # We don’t want to hear that some things just take time.\nThey just take time.\nThey take lots of failure, lots of loss, lots of experience.\nSo ask yourself:\nAm I gaining experience?\nWill these experiences help?\nCan I stay on this path for a while?\nSometimes the answer will be no. Sometimes the answer will be yes. But the answers will help point out the fact that you are learning, you are doing, you may be failing, but you’re moving…\nMoving through failures is the real success.\nDo you love it so much you can take the pain and punishment, too?\nGo to parties (where you don’t know anyone) (aka, put yourself in a position to fail. where the downsides are low. – mjb) Have a failure budget Count your losses\nThe truth is when we look at our flops we’re really giving ourselves credit for all the learning and stamina and resilience baked into those moments when we made ourselves a little stronger.\nWe don’t trust people who haven’t failed and we really don’t trust people who don’t even know they haven’t failed or like to pretend they haven’t failed.\nWe need to talk about failures. Flops. The more we have, the more we grow. So put them out there. The jobs you sucked at, failed at, got fired from. The relationships you failed at. The goals you didn’t accomplish. We know they moved you forward. Share that. Share how. Not only will owning your failures humanize you, but being honest about your trip-ups and slip-ups means honoring how you got to where you are today. Acknowledging that growth helps you recognize and appreciate it. Do it for free for ten years.\nTake more losses.\nTake more pictures.\nAnd talk about it.\nLose more to win more.\nReveal to Heal # We all need contemporary confession.\nResearch also shows that holding on to regrets causes us to take more aggressive and risky actions in the future. So the healthiest and happiest people are aware of regrets they harbor and then choose to let them go.\nEvery morning I grab an index card or a journal and write these three prompts:\nI wil let go of …\nI am grateful for …\nI will focus on …\nIt takes only two minutes to do, and the difference in my life has been both immediate and incredible. Completing three simple sentences helps me “win the morning,” which helps me start to “win the day.”\nFind Small Ponds # There are far more problems and opportunities in the world than there are talented and hard-working people to solve them.\nDifferent is better than better.\nFind the small ponds so you can be the big fish.\nRegardless of age, socioeconomic background, nationality, or cultural upbringing, when you’re in a smaller pond, your opinion of yourself—what’s called “academic self-concept”—goes up. And importantly, *it stays up even after you leave the pond.\nThere’s no shame putting yourself in situations where you feel really good about yourself. Should you downgrade yourself? No! Definitely no. But there’s nothing wrong with entering the marathon in the slowest category. Playing in the house league instead of the rep league. Teeing off from the tee closest to the pin.\nYou know what you’re doing?\nSetting yourself up for success.\nYou’ll move up because you believe in yourself.\nGo Untouchable # Before you jump, ask yourself:\nThe Regret Question: What will I regret not doing more when I look at it from the future?\nThe Plan B Question: What will I do if it fails?\nAs our world gets busier and our phones get beepier, the scarcest resource of all is quickly becoming attention. How are we supposed to focus?\nI finally found a solution that I feel has saved my career, my time, and my sanity.\nI bet you need this solution, too.\nI call it “Untouchable Days.”\nThese are days when I am literally 100% unreachable in any way… by anyone.\n(read Cal Newport’s Deep Work or check his blog for a really deep dive into this point – mjb)\nNever, Never Stop # There is magic in doing things simply.\nIt’s the final step to remember on the path to awesome.\nThe fact is we can only ever really go forward.\nSo the point is to just start going that way.\nAnd never, never stop.\n","date":"27 septembre 2020","externalUrl":null,"permalink":"/personal/you-are-awesome/","section":"Personal","summary":"","title":"You are Awesome","type":"personal"},{"content":" Now we are here at home, in the little nation\nof our marriage, swearing allegiance to the table\nwe set for lunch or the windchime on the porch,\nits easy dissonance. Even in our shared country,\nthe afternoon allots its golden lines\nso that we’re seated, both in shadow, on opposite\nends of a couch and two gray dogs between us.\nThere are acres of opinions in this house.\nI make two cups of tea, two bowls of soup,\ndivide an apple equally. If I were a patriot,\nI would call the blanket we spread across our bed\nthe only flag—some nights we’ve burned it\nwith our anger at each other. Some nights\nwe’ve welcomed the weight, a woolen scratch\non both our skins. My love, I am pledging\nto this republic, for however long we stand,\nI’ll watch with you the rain’s arrival in our yard.\nWe’ll lift our faces, together, toward the glistening.\n— (Pledge, Jehanne Dubrow)\n","date":"10 septembre 2020","externalUrl":null,"permalink":"/personal/9/","section":"Personal","summary":"","title":"9","type":"personal"},{"content":"It’s a Michael Lewis book.\nThat alone, is enough for me to tell you to go read it.\nKahneman and Tversky’s work has probably been the biggest influence on my life in recent years, since Taleb.1\nWe cannot think in probabilities in our daily lives.\nWe keep fooling ourselves, with various biases.\nAnd the intuition we have, is because we are really amazing biological machines. And even that is subject to error. Unless the intuition is backed by extensive experience. And even then we can easily be fooled.\nThat basically is the gist of their work (to me, so far).\nI flunked nearly every experiment in Danny Kahneman’s Thinking, Fast and Slow.2\nWe need to think slowly, through every implication, when it comes to the few big decisions in life.\nSo how did this work come about?\nThe Undoing Project tells us the story.\nOf Kahneman and Tversky’s friendship and years of collaboration.\nOf how a MacArthur Fellow and and Nobel Laureate are in the end, only human, and even they could not undo the events in their lives and their relationship.\nOf how the world is patently unfair and never treats people equally.\nIt’s a lovely read.\nTaleb was the one, who introduced me to Kahneman’s work, in the first place\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nA Lindy book, if there ever was one\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"20 août 2020","externalUrl":null,"permalink":"/personal/the-undoing-project/","section":"Personal","summary":"","title":"The Undoing Project","type":"personal"},{"content":"If Taleb convinced me that Mathematics was beautiful philosophy, Ben Orlin is the one made me fall in love with it.\nChange is the Only Constant is beautiful and funny at the same time.\nIt’s the story of Calculus over the ages and through domains.\nIt weaves through life and time, through people, interesting and otherwise.\nAnd the way Ben tells it, it bears no resemblance to the dry crap that is taught in schools and colleges.\nIt’s beautiful and wonderful, but not paramount and still subject to the vagaries and complexities of life and nature.\nIn their more insufferable moods, the “hard” sciences like to boast and crow, as if “hard” means complicated and “soft” means simple. This is, of course, exactly backward. The softer the science, the more complex its phenomena.\nPhysicists can predict what atoms will do. But gather enought atoms, and the calculations grow unwieldy. We need new, emergent laws—chemical laws. Then, gather enought chemicals, and complexity overwhelms us again. We need biology to step in with new theories and rules. And so on down the line. At each tipping point, the role of math evolves: from certain to tentative, from deterministic to statistical, from consensus to controversy. Simple phenomena (like quarks) follow mathematical rules with slavish fidelity. Complex phenomena (like toddlers) less so.\nLoved it!\n","date":"6 août 2020","externalUrl":null,"permalink":"/reading/change-is-the-only-constant/","section":"Reading","summary":"","title":"Change is the Only Constant","type":"reading"},{"content":"Really good book.\nGave me a new set of mental models.\nNotes follow.\n“Focus on the process, not the luck”\n“Attention is a powerful mitigator to overconfidence: it forces you to constantly reevaluate your knowledge and your game plan, lest you become too tied to a certain course of action. And if you lose? Well, it allows you to admit when it’s actually your fault and not a bad beat”\n“I feel like I will never make sense of it all. I tell Erik as much.\nIt will all make sense, eventually,” he tells me. “Don’t sweat it too much.”\n“Poet, W. H. Auden: “Choice of attention—to pay attention to this and ignore that—is to the inner life what choice of action is to the outer. In both cases man is responsible for his choice and must accept the consequences.”\nPay attention, or accept the consequences of your failure”\n“How we frame something affects not just our thinking but our emotional state. It may seem a small deal, but the words we select—the ones we filter out and the ones we eventually choose to put forward—are a mirror to our thinking. Clarity of language is clarity of thought—and the expression of a certain sentiment, no matter how innocuous it seems, can change your learning, your thinking, your mindset, your mood, your whole outlook. As W. H. Auden told an interviewer, Webster Schott, in a 1970 conversation, “Language is the mother, not the handmaiden of thought; words will tell you things you never thought or felt before.” The language we use becomes our mental habits—and our mental habits determine how we learn, how we grow, what we become. It’s not just a question of semantics: telling bad beat stories matters. Our thinking about luck has real consequences in terms of our emotional well-being, our decisions, and the way we implicitly view the world and our role in it.”\n“I make myself two promises. First, I am going to stick with this. I will master this game, even if it takes more than a year. I will be a winning player. I will be someone to contend with—or give my all trying. And second: if I’m known as anything in this game, I want to be known as a good poker player, not a good female poker player. No modifiers need apply.”\n“The trick is to get past the plateau. The relationship between our awareness of chance and our skill is a U-curve. No skill: chance looms high. Relatively high skill: chance recedes. Expert level: you once again see your shortcomings and realize that no matter your skill level, chance has a strong role to play. In poker and in life, the learning pattern is identical”\n“Always ask why: Why is someone acting this way? Why am I acting this way? Find the why and you find the key to winning.”\n“Never do anything, no matter how small it may seem, without asking why, precisely, you’re doing it. And never judge anything others do without asking the same question. “Every action your opponent takes has a reason behind it, whether conscious or unconscious”\n“I need to get out there and put this all into effect. It’s good that I’m observing and learning and seeking advice from so many different people, but there is such a thing as too much. “Too much studying without playing makes it hard to fully absorb knowledge,” he tells me. It will leave me with a head full of statistics and facts—and a mess when it comes time to execute.” this one is specially for me\n“I SPEND THE NEXT week playing day after day after day, taking conscientious notes, talking them through with Erik, and putting in diligent hours. I’m a detective, a storyteller, an explorer—not a lost minnow about to be eaten by the sharks. It’s a mantra I repeat over and over, hoping that it will eventually stick”\n“It’s dispiriting, playing event after event after event with nothing to show for it. It saps my motivation. It makes me feel like everything is for nothing, that I can’t improve no matter what I do.”\n“People aren’t a combination of traits. They are a mosaic of reactions to and interactions with situations. If you can get a person’s behavioral profile—a catalogue of those reactions in an if-then relationship, such as “If I feel threatened, then I will lash out”—you have a far better read on who they are or how they will behave in a certain setting than if you have only a set of trait rankings.”\n“it’s like John Boyd’s OODA loop playing out at the table instead of in the air. Boyd was a fighter pilot in the air force, and he invented OODA to describe a dynamic that he’d learned through his years in combat: to succeed, you need to constantly observe, orient, decide, and act. OODA. The way to outmaneuver your opponent is to get inside their OODA loop. Figure out what they are observing, how they are orienting and deciding, and how they act as a result. That way, you can anticipate them.”\n“I do have a pair of Bose noise-canceling headphones that I gave myself as a gift after that Foxwoods adventure to drown out the little girls.\nWhat I have to start doing is being proactive rather than reactive. When I react, it’s already too late.”\n“Mastery is always a struggle for balance. How much time do you devote to the craft, and how much to yourself? And can you really do one without the other?”\n“there’s a difference between knowing what you’re supposed to do and actually having the nerve to do it in the moment”\n“People will often actively avoid information that would help them make a more informed decision when their intuition, or inner preference, is already decided. They will, for instance, avoid learning how many calories are in an attractive dessert, or how much they will be paid if they choose to take on a boring task instead of a more exciting one. Part of them knows that the information might mean they need to change their decision, so they choose to ignore it.”\n“Identify the weaknesses and you start the process of responding to them in the moment rather than after the fact. “If you’re at the table under extreme pressure, you’ll often revert back to mistakes you wanted to avoid even though you consciously realize it. You need to train yourself, remove your triggers so that you don’t have that emotional response in the moment.” Here’s what Jared proposed to do for me: work through my underlying emotional holes and teach me to be a one-woman bomb squad, defusing the emotional bombs and getting rid of them before they show up and cloud my judgment.”\n“Jared gives me an assignment: I need to map out my emotional process so that I can start finding ways to solve each problem. I need to actually sit down and make a spreadsheet. Each time something happens, write it down in the situation or trigger column. In the next column, write a description of the thoughts, emotional reactions, and behaviors that the situation or trigger causes. In the next column, give my best assessment of the underlying flaw or problem, and finally, write a logic statement that I can use in the moment to inject some rationality into the issue.”\n“There’S the constant anxiety that I’m letting people down—the players who believe in me, the people who back me, myself. It’s a fear of high expectations that I’m afraid to subvert. The fear of making mistakes that has never quite gone away. Often as I play, I can see myself from afar, a fly observing what’s going on below. There I am, knowing exactly when I’m supposed to bluff and how, and not quite having the guts to pull the trigger. And I know that I can’t actually pull that trigger unless I’m feeling it. It works only if your mind and heart are behind it. Otherwise, people will spot the fake, the weakness, the half-heartedness. That’s what I’m supposed to spot in my opponents, not the other way around. When I overcome the jitters and just go for it is when I play the best—when I start winning. But I somehow can’t summon that inner strength at will.”\n“we make a plan where I don’t go more than three weeks without playing—but I make sure to recharge fully in between. That, too, is crucial for learning the game. The recharging is also a part of playing well.”\n“We take a twenty-minute break. Jared has created a routine for me, and I now follow it by the minute. First five minutes of break: off-load and brain dump. I write down some of the key hands so that they don’t occupy any of my headspace going forward. I’ll analyze them later with Erik. For now, the important thing is to get them out of my system so that my mind is ready for new information. Then a few minutes of contemplating my decision making. Asking myself: How was my thinking? Were there any emotionally compromised decisions? Again, I’m not analyzing now, just noting for the future. Next ten minutes: nothing. No poker talk. No thinking. Just walking and relaxing. And then, right before the end of break, a few minutes of warm-up for the next level. Get myself mentally ready, psyched, in gear. My goal is to keep my mind as clear and fresh as possible, for as long as possible. With every break, that will get harder and harder as fatigue sets in. For now, though, I’m ready.”\n“Jared wouldn’t approve of my thinking, but I can’t help myself. We worked on this very thing. “Remember,” he tells me. “You haven’t seen those players in the lead-up to their peak. You don’t know that they were staked in their first hundred-K. You don’t know the serendipity that happened to get them there.” I try to remember this as I look at the table and feel like everyone deserves to be here except for me. “Everyone got lucky at some point. Strip down the mythology around their greatness. They still have weaknesses. They are humans first, players second.”\n“One hand at a time,” he says. “The nerves go away when you are paying close attention to play. You’ve got this.”\n“Erik texts me soon after—he’s following along online—and confirms what I already know: I screwed up, badly. But then he types something else: forget it ever happened. “Put it out of your mind and back to work,” he writes. We will discuss strategy later. For now, just focus on the next hand and forget the chips you’ve lost. Reset mentally, and play your short-stack game. One hand at a time.”\n“Another hour passes. I’ve once again dwindled down to just over twenty big blinds—still playable, but not particularly comfortable. Nothing major; just bad cards, bad boards, and not many spots to do much but fold and wait. But now I’m far more comfortable doing just that. Waiting. Picking my spots, just like Erik has always said. The theory always made sense. My mental discipline has now caught up at last.”\n“I’m torn. I try to think through the logic of both decisions. Would he play his really strong hands this way? Would he play a marginal hand this way, after I’ve already called twice? After all, I lose to even the marginal hands, with my bottom pair. A nine, a jack, those all beat me. I almost fold. But then something pushes me over the edge. I remember what Phil Galfond told me all those months ago over dinner in Vegas. Retell the story from the beginning. Does the narrative flow—or are there logical gaps? I’m a detective. I’m a storyteller. What does the expertise I bring to the table outside of poker tell me now? I slow down and rewind, not just the story of this hand, but the story of the gentleman’s play over the past three hours. How did he play his strong hands? What did he do when he was bluffing? My poker strategy knowledge is exhausted, so back to doing what I know best: looking for inconsistencies across behavior that can help me.”\n“Our older gent gets the better of me soon enough. After I check a flop, he barrels the turn and river, and I decide to just let him have it. It’s five o’clock, and the day is getting to me. I’m tired. I haven’t eaten. I’m running on pure adrenaline. I can’t fight every battle, and I make the strategically suspect but personally necessary decision to wait for another moment to strike. I need to refuel,”\n“I don’t know if it’s the movement, the caffeine, or the snack, but when we sit down to play twenty minutes later, I feel like a different person. I can do this. Enough with the surrender. I may be the shortest stack by far, but that makes me powerful, too: I can pressure players without fear of getting bluffed. All I need to do is push my chips into the middle, and they know I have nothing left to lose.”\n“to win a tournament you absolutely must get lucky. Skill alone won’t take you over the finish line.”\n“this time I’m ready. I’ve spent the past two months working on this exact part of my strategy, practicing heads up play almost exclusively.”\n“If I’m to finally crack that puzzle, establish, in White’s words, “an honest ratio between pluck and luck,” I need to go that extra step: keep going and confront the goddess of luck head-on. Otherwise, how will I ever know: Am I really good—or did I just get lucky?”\n“TWO WEEKS LATER, I’M at the European Poker Tour in Barcelona, where I notch my best ever EPT finish. Thirty-fourth place out of over 1,500 entries, for €9,200. Far from a min cash. When my husband comes to join me for a post-EPT vacation, I have enough to pay for the whole trip with some left over. The day I return from Europe, I take a bus to Atlantic City for the WPT Borgata. I’m still on European time, but I’m playing well. I make the final three tables—not a final table, but pretty damn close, and pretty damn satisfying. Twentieth place, from 1,075 unique entrants. That’s a real run, and real money. Almost $25,000. My first year’s salary as a writer in NYC was $23,000. Not a bad payday, this. I’m not winning more titles, but I seem to have gotten over the hurdle of simple luck. Some skill appears to have seeped through. I settle into a rhythm. When the Global Poker Index, or GPI, awards are announced, I find that I’m a finalist for the award for Breakout Player of the Year.\n“There is, of course, the inevitable downturn: in the summer of 2019, I realize that I’m losing money for the year. I may have profited over $100,000 the year before, but now it’s going in the other direction. Luckily, I have the tools to understand what’s going on, the ability to not panic, to analyze, to study, to move on. I’m willing to leave my ego at the door and revisit my thought process, over and over. I get into the habit of writing down the results of every all-in confrontation to see if I’m running at chance levels, and realize that I’m on the wrong side of variance—I’m losing more than my share of flips. It’s reassuring: variance plays both sides, and at least I’m not losing despite being on the right side.”\n“Author and statistician Nassim Taleb distrusts the premise of my entire project: he believes we cannot use games as models of real life because in life, the rules derived from games can break down in unforeseen ways. It’s called the ludic fallacy. Games are too simplified. Life has all sorts of things it can throw at you to make your careful calculations useless. And that’s true enough. After all, that knowledge is precisely what brought me to poker. That life is uncertain. That we can’t know everything. That we can’t control it all, no matter how much we think we may be able to.\nBut one thing that poker has given me are the very skills necessary to deal with the chaos that can be thrown at you from outside the poker table. Experiencing smaller one-off events over and over during play has taught me both the mathematical and the emotional forbearance to accept them for what they are—and to emerge on the other side.\n“Nothing is all skill. Ever. I shy away from absolutes, but this one calls out for my embrace. Because life is life, luck will always be a factor in anything we might do or undertake. Skill can open up new vistas, new choices, allow us to see the chance that others less skilled than us, less observant or less keen, may miss—but should chance go against us, all our skill can do is mitigate the damage.\nAnd the biggest bluff of all? That skill can ever be enough. That’s the hope that allows us to move forward in those moments when luck is most stacked against us, the useful delusion that lets us push on rather than give up. We don’t know, we can’t ever know, if we’ll manage or not. But we must convince ourselves that we can. That, in the end, our skill will be enough to carry the day. Because it has to be.”\n“You can’t control what will happen, so it makes no sense to try to guess at it. Chance is just chance: it is neither good nor bad nor personal. Without us to supply meaning, it’s simple noise. The most we can do is learn to control what we can—our thinking, our decision processes, our reactions. “Some things are in our control and others not,” writes the Stoic philosopher Epictetus in The Enchiridion. “Things in our control are opinion, pursuit, desire, aversion, and, in a word, whatever are our own actions. Things not in our control are body, property, reputation, command, and, in one word, whatever are not our own actions.” If we cannot do it ourselves, we cannot control it. We control how we play the hand, how we react to its outcome, but that outcome itself—that, we don’t control”\n","date":"6 août 2020","externalUrl":null,"permalink":"/personal/the-biggest-bluff/","section":"Personal","summary":"","title":"The Biggest Bluff","type":"personal"},{"content":"","date":"3 août 2020","externalUrl":null,"permalink":"/tags/%23100daysofcode/","section":"Tags","summary":"","title":"#100DaysOfCode","type":"tags"},{"content":"Worked only an hour today.\nTrying to change the little lookup program, I made the other day, into something a little better.\nNot quite a good day.\nCalling it quits early.\n","date":"3 août 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-026-refactoring/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 026 - Refactoring","type":"work"},{"content":"","date":"3 août 2020","externalUrl":null,"permalink":"/tags/pythonprojects/","section":"Tags","summary":"","title":"Pythonprojects","type":"tags"},{"content":"Working on Comprehension exercises today.\nReflections and Experience # I really need feedback, when it comes to programming. I cannot face a blank page. I always seem to start with printing something out to screen and then my brain kind of kicks into gear. Everything after that is just type, print, is this what I expected, if not then fix, type, print … Exercise 3.1 and I think, I am finally getting good handle on comprehensions. from something that would take me at least 10 lines of code to just expressing it concisely in 1! I can read Python messages and take a gander at what I need to do next. I see a '_io.TextIOWrapper' object and know I can iterate over it. I see AttributeError: '_io.TextIOWrapper' object has no attribute 'strip' and realise that it cannot be stripped into parts. I need another way to skin that cat. And then I took it too far (just like this sentence), and nested a comprehension in another one, in where, I had to learn how to put in a conditional in the form of a ternary operator, in Exercise 3.2 (the commented for loop is much simpler!), but that was very good practice. Really stretched me! I caught myself getting distracted a lot. I needed to set a 30 min timer and I spent about 15, looking for where the timer app in my Mint Desktop was, instead of just setting the darned timer on the phone. Took an hour to figure out the comprehension for 3.2 and about 20 minutes to do it for Exercise 3.3. Practice helps! Watching the solutions, and I realise, I got them right in principle, but that I need to be more aware of what happens to an object in memory, so that I can simplify code. I was able to remove one level of comprehension, which I used just to get the end of a string. ","date":"3 août 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-025-comprehension-exercises/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 025 - Comprehension Exercises","type":"work"},{"content":" Problem - Compare domain lookups, against DoH Servers # Take a list of domains (one per line) from a text file as input, find the IP address for the domain using the standard system level DNS, and then check against DoH answers from both cloudflare and google. and say if all answers match properly or not. Notes # What do I need to do? (checklist)\nGet a list of popular websites, (probably Alexa) figure out a way to read them in loop through each line, and look up its ip with the local dns (use the sockets module) with Google’s DoH json endpoint (use the requests module) with Cloudflare’s DoH json endpoint (ditto like Google) Compare all the values. Print if they match or not. Experience # I should commit my work often. This took me two days, because I lost all of yesterday’s progress in a computer hiccough. The program runs well. It intentionally limits itself to only the first result in the Google and Cloudflare lookups. I should learn to focus more on what is at hand and not overthink the program. I should be learning to build primitive little, handy dandy tools, not giant cathedrals. I spent two hours fiddling with a way to create another program that would process files for me. (and abandoned it) I need to read the documentation across sites very carefully. They are written with experienced programmers in mind, and not beginners like me. For e.g. When I was trying to look up domain names with Cloudflare, I blindly copied the example and then wondered why it was not giving me the appropriate replies. I then realised I was missing a seperate parameter, \u0026amp;ct=application/dns-json which was quite clearly listed above, but not in the example below. (which in truth was listed, but as part of the command at the command line and I, like a dumbass, just copied the requisite code to adapt to my Python program. Lesson: Cargo cult with extreme caution) Which leads back to the fact, that I should stick to what is assigned, because just doing that much at this stage is taking me a long time. Improvements and features can wait until I am much more fluent. I realise I am trusting autocomplete too much, and I should at least look at what I am completing. I spent 40 minutes, wondering why my comparisons were not working, when in fact, I was using the wrong variables. Lost loads of time with typos. Be more intentional. More slow. Code. # Put your sitenames into a file called dumpsites.txt Run check-ip.py\nGitlab / Github\n","date":"1 août 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-023-day-24-tiny-utility-to-do-comparative-dns-lookups/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 023, Day 24 - Tiny Utility to do comparative DNS Lookups","type":"work"},{"content":"Did the same time as yesterday.\nOnly about an hour.\nWas much more prodcutive though.\nGetting the hang of how to sit and program and work through things I do not know.\nGaining a bit of experience with the workflow now.\nI have the basics in hand. I know what I want to look up.\nSo check problem, work a bit, look up, try, fail, repeat, gain incremental success, work some more.\nLove the feedback loop too.\nWith other stuff I try, I have to wait days, weeks, months.\nHere, it’s immediate.\nBeginning to love the work, as I get more familiar with it.\nTomorrow is another day :)\n","date":"30 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-022-getting-into-the-groove/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 022 - Getting into the Groove","type":"work"},{"content":"Only did about an hour of distracted work and exercises today.\nI’ll still count it though.\nTomorrow is another day :)\n","date":"29 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-021-swing-and-a-miss/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 021 - Swing and a miss","type":"work"},{"content":"Had given myself a day, to see if I could get a good Python development environment using Elpy and Emacs.\nIt does work.\nJust not well enough for me.\nAt the end of the day today, I was happy I learnt so much about Emacs.\nBut that is not my focus right now. Python is.\nEmacs knowledge can come slowly and organically.\nSo I have kept Emacs as my regular editor for nearly everything text.\nAnd switched to the community edition of Pycharm for all my Python projects.\nI am also grateful to all of you, who gave me problems to practice on.\nThese will help me grow.\n","date":"28 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-020-setting-up-an-editor-for-python-development/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 020 - Setting up an Editor for Python Development","type":"work"},{"content":"Ok, think I have the problem of writing code, licked.\nWill start with one problem from all the Lerner Courses, that I still have to do.\nAnd another problem, I ask my friends to give me.\nThis should prove for a promising start.\nIf you, dear reader, have problems in Python that you’d like me, a budding Python programmer to solve, please mail them to me at jason at this domain.\nIt’ll add to my pool of problems and give me plenty to practice.\n","date":"27 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-019-future-exercise-addendum/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 019 - Future Exercise Addendum","type":"work"},{"content":"Starting up with the last of the Lerner courses, I got.\nIterators and Generators.\nHopefully I get done with this and use the same intensity with actually writing code.\nWhat shape will that take and how will I write about it? I have no clue\nFor now, notes follow.\nNotes # ** Part 1, Iterators **\nIf we run the iter function on something and it comes back with an iterator object, then it’s iterable; I can iterate on it. Behind scenes in a for loop, Python does something similar. It asks if the object that has to be looped over is iterable with iter. And then keeps doing next with it to get the next result/item, until it comes across a StopIteration which lets it know, that the values are exhausted and it can stop looping. The for loop is a very thin shell, that asks the appropriate questions of the iterator. But it is always the iterator that determines, what exactly is returned. iterable vs iterator iterable means that it can be put into a “for” loop in Python things like strings, lists, dictionaries, sets, files and objects (that I will soon create) that implement that iterator protocol. it responds positively to the iter function’s question, Are you iterable? It returns an iterator object instead of raising errors (TypeErrors in this case) an iterator is the object returned by the iterable, the thing on which the next function is run. it could be the original object (the iterable) itself. it could also be a seperate object returned by the iterable. when the iterator object is exhausted, it returns StopIteration these are what give us the values. How do I make my objects iterable? By implementing the iterator protocol the object must respond to iter, by returning an iterator object it should respond to the next function with values it should raise a StopIteration error, when it’s done. Best to create a helper class, pass the data to it and return that as the iterator instance. helps with state, since I can then use the same object and iterate over it multiple times independantly. ** Part 2, Generators **\nCreating a whole class just to implement an iterator, might be overkill Generators are a solution, that might come in handy. They are like functions; functions that implement the iterator protocol. instead of using return, we use yield. this lets us return multiple items. I can use them to chunk large items, buffer uncertain stuff, and wrap complex stuff. Rule of thumb, if I already have a class, just added functionality to it using an iterator class. but if I need something standalone, just use a generator function ** Part 3, Coroutines **\nLittle helper functions. With such a function, I assign the yield statment to a variable. This makes the function sit and wait for me to send it something. Once it receives data, it ingests it, processes it and poops out, yields an answer :) x = yield x Instead of sending data back to a coroutine with send, I could send it an exception using throw. I use close to close the generator and break out (trap GeneratorExit) I can just say yield from some_generator if I am calling another generator from my generator. ** Part 4, Generator Comprehensions **\nCreate one just using () genvar = (x*x for x in range(-5,5)) will make genvar a generator object. The general idea, I am getting, behind the idea of generators and iterators is that we use them on really large objects, so that we don’t run out of memory. for e.g. joining a list of 3 elements is easy-peasy. A list of 3 billion elements less so, and ergo, generators and iterators. the ultimate idea being, just like an oil pipeline. We ought not to store it in tanks (lists, dictionaries etc.) We ought to strive as much as possible that it flows from upstream, right through to our taps in a single unbroken stream. Just pass the oil along, using various t-junctions and pipes and motors and stuff. Keep it flowing. Minimise storage. it also spreads wait times across well, time. So I never have to wait for something to gather up and collect and then display. the generator comes back instantly and when it has to get a values, I just have to wait for that one value. ** Part 5, itertools **\nitertools is a collection of generators/iterators, that’ll let me add the iterator protocol to existing classes and functions. Looking through these feels like looking at specialty carpentry tools, like this biscuit joiner. lets me take advantage of other smarter folks’ work and optimisations itertools.chain crawls elements across iterables itertools.count counts upwards from a number given, in steps if we want. itertools.cycle cycles through a range of options itertools.repeat repeats a value for the number of times, we tell it itertools.filterfalse takes a iterable and a function, applies the function to the iterable and if the function returns false, only then is the element from the iterable, passed through. (the inverse in which only true elements are returned is a built-in in Python, aptly called filter) itertools.takewhile and itertools.dropwhile are opposites of each other takewhile takes a function and a sequence, applies the function to the sequence (starts a while loop) and then immediately stops if it hits false dropwhile inverts that. it starts a while loop when it hits it’s first false and then keeps going from there. itertools.compress takes two iterables of equal length, (or if they are unequal, it’ll stop when it reaches the end of the shorter one) and then if the element second iterable rings true, it returns the element in the first one. itertools.accumulate adds the first element to the second element, then adds that the third element and so on. (if i want to use some other function of add, I can do that too) itertools.tee lets me create multiple instances of a generator, each with it’s own state (memory intensive.) permutations and combinations itertools.product takes an element from one iterable, runs it across all the elements of the second (or third and fourth) and returns a cartesian product, an x,y (or x,y,z) coordinate tuple. itertools.permutations does permutations across two iterables. returns tuples. itertools.combinations does combinations. itertools.combinations_with_replacements does combinations allowing each element to repeat. (a combination might not allow (10, 10, 10) for example; this helps with that) more-itertools is an external package that gives me more complex itertools. (pip install more-itertools) need to look at them later. Learning / Feedback/ Experiences from doing exercises # Reuven tells stories “Deep in the recesses of Python …” Reuven’s talking Python interpreter, “Hey Object, are you iterable?” I am slowly anticipating the problems in Reuven’s code as he keeps iterating on them. ‘Will this work?’, asks Reuven.\n‘NO!’, I yell back at the screen. ‘This function does not do anything, will return None and cause an error!’\nI am learning! This is fun! :) Been going, “Ooooh! So that’s how they do it!” lots of times in this class. Ok, have now dropped from a 30,000 foot view of Python to a 10,000 foot view. Will hit ground level, starting tomorrow, when I start doing exercises. Read all about my Python Iterators \u0026amp; Generators journey here\n","date":"27 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-019-python-iterators-and-generators-done/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 019 - Python Iterators and Generators, Done!","type":"work"},{"content":"","date":"27 juillet 2020","externalUrl":null,"permalink":"/tags/python-iterators-generators/","section":"Tags","summary":"","title":"Python-Iterators-Generators","type":"tags"},{"content":"Continuing my comprehensions journey.\nHopefully it makes more sense this time around\nNotes # ** Set Comprehensions **\nIf I want a set of uniques from a group, I could use a set. Or like Reuven likes to joke, a set is a dictionary with no values; an immoral dictionary 😂 Create it with a somesetcomp = set('somecondition' for a something in somethingbig) or in a simpler manner, somesetcomp = {'somecondition' for something in somethingbig} Protip, better to start with a list comprehension, be done with figuring out stuff and then just switch the brackets at the end. Fewer issues that way. ** Dictionary Comprehensions **\nCreate it like so somedictcomp = {somekey:somevalue for something in somethingbig} It creates only one dictionary, not a set It has to have a key and a value variable, seperated by a colon. If it is just a single variable, I’ll end up with a set comprehension. ** Nested Comprehensions **\nRunning a comprehension on the elements of a parent comphrehension is a nested comprehension. For e.g. if I had a list of lists and I needed to pull out each element from each list I would create a comprehension that would get each list from my giant list of lists and then run a comprehension on those lists to get each element out. big_list = [[10, 20], [30, 40], [50, 60], [70, 80]] elemental_list = [each_element for each_list in big_list for each_element in each_list] Pretty handy when needed. I can go as many levels deep as needed. ** Why Comprehensions? **\nA comprehension is needed or rather the better tool for the job, when I have one sequence and I want to turn it into another sequence. Creating new things from old things If I am interested in the side effects, the actions, umm, like printing to the screen for example, that is when I’d use for loops. It gets increasingly obvious, the more I use it. Read all about my Python Comprehensions journey here\n","date":"26 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-018-python-comprehensions-done/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 018 - Python Comprehensions, Done!","type":"work"},{"content":"","date":"26 juillet 2020","externalUrl":null,"permalink":"/tags/pythoncomprehensions/","section":"Tags","summary":"","title":"Pythoncomprehensions","type":"tags"},{"content":"And we are done with objects!\nThis course finally gave me what I was looking for all these months.\nThe ability to think of and reason about Python, so that I can then think of and reason about, how to build my own programs.\nNotes # Abstract base classes Sounds all high and mighty, but does something pretty logical and simple Helps me test if my object is of a generic (of sorts) type. I don’t want to test if 5 is an integer or a float or any of the other various county types in Python. I just want to see if it’s a number, of some sort. The abstract base class numbers helps me do that. There are such classes for strings and files, I hear. Will go into learning more about them in detail later, as I actually write more Python. But at least I know what they are now. ** Part 3, Context Managers**\nAgain, Context Managers, sound like something really complex, but they are just a matter of writing and doing things in a certain manner.\nIt’s something like a Tiny Habit stack loop, I learnt in the Atomic Habits book, as I was building up new habits.\nWhen I do this, then I will do this immediately after. and when I am done, I will do that. Context Managers have a similar paradigm.\nWith this object (as this variable, optionally) I will run the __enter__ method then after, I will do stuff and when I am done, I will run the __exit__ method I can add the context manager protocol to my objects too, by impletementing the __enter__ and __exit__ methods in my classes They are used in a particular context, where you want to turn something on and then turn something off, before and after that context, thus Context Manager. I can set something up in my __enter__ method and then tear it down in my __exit__ method. This could be, for example, a network connection, a file, a redefinition of some sort, etc. The __enter__ method must return self if all has to work well. The __exit__ block, takes four arguments, one for self, one for an error class, one for the object, and one for the address in memory, the traceback. I can use them to catch errors in the main body of my with block, and then decide what the appropriate way to deal with them is. A good example is using redirecting the print function’s output to a file, using a context manager. (The print function can write to a file, when I specify it as an output device like so print (\u0026quot;Hello there\u0026quot;, file=f) While I might be able to catch errors in the body of the context manager, I cannot if something happens during __enter__. just something to be aware of. Contextlib is a library of context managers, Python already provides us.\nimport contextlib contextlib.redirect_stdout/err will redirect stuff from the default output (the screen) to whereever else you want it to. ** Part 4, Properties and Descriptors **\nA property is an attribute, that acts like getters/setters in other languages. It uses methods to set other attributes in the class (within the bounds we set). For e.g. a .temp property that will let you set temperatures, but only in the range you specify. not below 18C and not above 25C. set by putting @property atop a getter function (let’s say temp) and then defining the setter properties in an identically named temp function again but decorated with @function_name.setter; in our case @temp.setter the whole actual way to do it is like a contortionist twisting into a pretzel shape. Getting fluent with this will take time and practice. it basically (to my mind) is like me giving someone something, and that someone goes and magician like, does something marvellous with that something, instead of just storing it in their pocket. it looks like assigning data to an attribute, but behind the scenes there are methods, just waiting to weave spells on said data. When I take a property out of a class and abstact it, so that it can be used by many classes, it’s called a descriptor. (kinda like abstracting functions out of program files and into modules) To kinda formally state, a descriptor is a class whose instances are supposed to be class attributes in other classes. To fit the descriptor protocol, a descriptor class needs to implement… a __get__(self, host_instance, host_class) method with a corresponding __set__(self, host_instance, new_value_to_set) method These are class specific. As in, the descriptor is shared amongst all the instances it is used in. To get instance specific descriptors, you set the value that you are changing to be assigned as a dictionary using the host instance as the key and the value, as the value. (More contorting!) and then return the value of the [host_instance] value. Definitely tons of practice needed with this. Not used much, in day to day work, but used heavily behind the scenes by Python itself for its object system. The methods, Python classes have, are plain old functions, with descriptors (in conjunction with weak referenced elements) applied to them. The more I dive into all of this, the more Python feels less magical and more like the work of thousands of hard working atomic elements. And I think, I like this better. That everything complex, is actually lots of simple pieces, working together in concert. ** Part 5, Advanced Topics **\nThe only thing I can write here, is that Reuven goes deep into hijacking how Python creates classes and then using them for our own customised ends. How to create my own custom __new__ method, my own custom __init__ method, my own custom type of object, create my own class with a metaclass… Never going to use this, unless I am writing the next Django or something, and even then I doubt, these would be needed 😂 But this was so much fun to learn! Read all about my Python Objects journey here\n","date":"25 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-017-python-advanced-objects-done/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 017 - Python, Advanced Objects, Done!","type":"work"},{"content":"","date":"25 juillet 2020","externalUrl":null,"permalink":"/tags/pythonoop/","section":"Tags","summary":"","title":"Pythonoop","type":"tags"},{"content":"Started up with Python Objects today.\nThis seems like a long, hard one.\nHere’s hoping I learn lots.\nKnowing Reuven, I know I will.\nNotes # Part 1, Advanced Methods.\nThis section focuses on the dunder methods in Python.\nBy default objects are not equal to other objects even they they are from the same class, with the same attributes and methods.\nWe could implement our own equals method though. The point being, we need to be intentional and methodical, when we design and implement our classses Static methods are plain old functions that I write in my class for use by both the class and the instance. Could be used to clean up input or similar such utility functions. I create them by putting a @staticmethod decorator atop my method.\nClass methods are those that are meant for use by only the class. I can call them from my instances, but they act on the class. I create them by using the @classmethod atop my method. For clarity, the first variable is now written as cls instead of self.\nPart 2, Inheritance.\nMRO, Method Resolution Order. I can do an classname.__mro__ to see how Python goes about looking for methods upwards, specially if I’m inheriting from multiple objects. Running help on an object also lists the MRO of its methods. Best to explicity inherit from all parent classes, when inheriting from multiple classes. We can use the classname.__bases__ to check for the classes parents. A mixin is a class, we can inherit from (probably in addition to and before our parent class), that just adds functionality to our class. Does nothing sematically / organizationally to our objects or classes. The mixin must come first. Adding an __ before an attribute, signifies that it is not to be touched. A little security by obscurity too. Nothing’s stopping me from actually going and changing things up. It’s just a notifier to people with common sense that such stuff ought not to be tampered with. The main reason though is to prevent conflict between attribute names. Learning / Feedback/ Experiences from doing exercises # This course feels like the O’Reilly cookbooks in video form. The first section takes all the operators, I take for granted in Python and then shows me how to implement them with my own classes how do I get len to work on my object? or how do I implement the == operator in my classes? etc. etc. Starting with the last one and this one, have given up on exercises and just taking notes for now. As soon as I finish the run, I will be then going on an exercise binge with these pending exercises as well as Reuven’s Python Workout. The execption being, if I run into a topic that is really confusing, then I will attempt the exercises to drill the idea immediately into my head. Obligatory Reuven plug, since I started up a new course :) Reuven is an awesome teacher. He takes the time, to explain stuff in painstaking detail, leaving nothing as an “exercise to the reader”. All of these courses, so far have been worth every single penny I spent on them. Read all about my Python Objects journey here\n","date":"24 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-016-python-advanced-objects/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 016 - Python, Advanced Objects.","type":"work"},{"content":"Delving deeper into Python functions and learning more about them, using Reuven Lerner’s Advanced Python Functions Course\nNotes # The co_* series of attributes inside the __code__ attribute inside most functions gives a wealth of information about a function. For example, looking up the argcount attribute for some function hello, with hello.__code__.co_argcount will give us the number of arguments hello takes. And doing a hello.__code__.co_varnames will give us a tuple of all the local variables in a function hello.__code__.co_code contains the compiled bytecode for the function. Importing the disassembler import dis and running it on the bytecode, dis.dis(hello) will show us what’s in there. hello.__code__.co_flags keeps a track of whether the function has * arguments or not via a binary switch. (It holds many parameters, one of which is the on/off switch for *args) if said switch is set, the function checks for such arguments at runtime and turns them into a tuple to process. they are set for *args via the hello.__code__co_argcount switch (0/1) and for keyword arguments with the hello.__code__.co_kwonlyargcount switch. the __defaults__ attribute keeps all the functions default variable values. If I don’t supply a value to some parameter, the function will look in here, to see if a default value exists. hello.__defaults__ could hold a last name default, for example, if I want my hello function to work even if no last name was supplied, and it actually expected a full name. do not use mutable defaults. an empty list or dictionary for example. set the default to None first in such case and then create the list when the function runs at runtime. The last thing I learnt about were nested functions. I can nest them two/three/as many levels deep as I wish. Practically, most folks do two or three. When an inner function takes the variables of its enclosure and does something with it and returns stuff…? those kinds of functions are called closures. Learning / Feedback/ Experiences from doing exercises # The course so far is Reuven making simple functions and then breaking them down and explaining functionality in painstaking detail. Reuven is an awesome teacher! I would gush about him every post, but then it would get too much 😂. So once per course is good I kept looking at the disassembled code and wondering, what language it was. I still don’t know. My ‘educated’ guess is that it is a level of standard pseudo-assembly code for some phantom standardised processor. Once I had that mental model in mind though, all of it started making a lot more sense. This brought memories of Z80 assembly, I learnt in the mid 90s This was fun to do! Onwards to Advanced Objects! Read all about my Python Functions journey here\n","date":"24 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-015-python-advanced-functions-done/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 015 - Python, Advanced Functions, Done!","type":"work"},{"content":"","date":"24 juillet 2020","externalUrl":null,"permalink":"/tags/pythonfunctions/","section":"Tags","summary":"","title":"Pythonfunctions","type":"tags"},{"content":"Notes and experiences for yesterday and today.\nI ‘wasted’ a lot of time, again, struggling with exercises yesterday and ended up being too zombied to even write the summary post.\nHave been much smarter about it today.\nStopped after about 30 mins and copied and tried to understand the solution.\nNotes # List of Dictionaries\nJust more convenient than a list of lists, not particularly faster Make it more flexible. Dictionary of dictionaries\nThink beforehand of what your keys are going to be. Looking in them, faster than lists The tradeoff is more memory usage Dictionary of Lists\nWorks when you need disparate elements to work with later. Those can be stored as dictionary values, in a list form. Part 3\nDecimals\nTo have something sane between integers and crazy floats. I import the Decimal class and then create objects, like so from decimal import Decimal a = Decimal(\u0026#39;0.1\u0026#39;) b = Decimal(\u0026#39;0.2\u0026#39;) I create them from strings not floats, just like I would int strings. It has various methods I can call on the Decimal object. Stuff like getcontext with has a method to set the precision of units after the decimal point. Helpful if you need precision at a certain level. Named Tuples\nA very handy way of calling values in a tuple by sensible names, just like dictionaries Very handy instead of heavyweight dictionaries. Create them like so from collections import namedtuple Person = namedtuple(\u0026#39;Person\u0026#39;, [\u0026#39;first\u0026#39;, \u0026#39;last\u0026#39;, \u0026#39;age\u0026#39;]) me = Person(\u0026#39;Jason\u0026#39;, \u0026#39;Braganza\u0026#39;, 42) Doing a me.first will get me Jason, just like a dictionary. I can still refer to the tuples with the numeric indices. I can do a ._replace to replace values, if I want to. me._replace(first ='Mario'). It just returns a new object with the same name, which I can choose to catch in a new variable. Better for readability. Basic uses. The moment I want to twiddle with it too much, I know I should just make my own classes defaultdict\nA variation/improvement on the normal dictionary. We want a dictionary, with default values. When I check for the presence of a key, if it does not exist it’ll get created with a default value. We give it a function or a class, that will run, be called everytime a key does not exist. So I could pass it basic primitives, like a list with no entries and it will return an empty list for a value everytime, there is not one. Or saying int, in which case it will create a key with 0 for a value Create them like so from collections import defaultdict d = defaultdict(int) So now when I do d['a'], it well check for key a. If it does not exist, it will create it, and give it a value of 0 by running the int function with no arguments. I can use any function or callable, as long as it has no arguments. OrderedDict\nNo need to use it anymore But handy in case I am looking at old code. Regular dictionaries order stuff chronolgically as of Python 3.7. Which is what ordered dictionaries used to do. Counter\nfrom collections import Counter if I pass an Counter dictionary an iterable, it will create a dictionary with the occurrence of each element. if I go c = Counter[10, 10, 20, 50, 60, 60, 80, 80, 80, 90'], then I get a dictionary like Counter({10: 2, 20: 1, 50: 1, 60: 2, 80: 3, 90: 1}) I can also do a most common method to get the most frequently used elements. c.most_common() Enums\nfrom enum import Enum Create ’em like class ColorEnum(Enum) Red = 1 Blue = 2 Green = 3 Matches symbolic labels / names to numeric values. If a = ColorEnum.Red and b=ColorEnum.Red then they would both be equal. Learning / Feedback/ Experiences from doing exercises # Reuven keeps harping on the fact, that I need to think things through. Is this how you want to build things? What are the ramifications? What if you want to change up things or if things are expected to grow exponentially in the future? Think! Be itentional. Design accordingly. Caught myself frequently initalising a total in a loop and then wondering why I would not get the actual total :) Now my approach, kinda matches what Reuven does. Which means, I am beginning to write some sane code :) Finished with this course. And on to the next one. Planning, building in margin and working at it a little bit everyday helping a lot! Read all about my Python advanced data structures journey here.\n","date":"22 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-013-day-14-python-advanced-data-structures-done/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 013, Day 14 - Python, Advanced Data Structures, Done!","type":"work"},{"content":"","date":"22 juillet 2020","externalUrl":null,"permalink":"/tags/python-advanced-python-data-structures/","section":"Tags","summary":"","title":"Python-Advanced-Python-Data-Structures","type":"tags"},{"content":"Ok! Had a nice refreshing break, yesterday being Sunday.\nBack to work today!\nIf today’s notes, feel a little light, that’s because I was struggling with exercises.\nNotes # Part 2\nA lightweight solution to classes, if I am just combining all sorts of data structures is the built-in collections. Some of them could be List of Lists List of Tuples List of Dictionaries Dictionary of Dictionaries Dictionary of Lists Mostly use them to solve tricky issues. If I find myself using lots of functions, just to deal with these structures, I am better off using classes. These structures also lend themselves to being converted into classes. Sometimes it’s just a matter of adding a few methods, et voilà, I have a class! Lists of lists\nAs simple to create as l = [[1,3,2],[4,5,6],[7,8,9]] If I do a l[0], I’ll get the first element, the list [1,3,2 To get at the elements inside that list, I can go l[0][2] which will give me the number, 3. Behind the scenes, l.__getitem__(0).__getitem__(2) We can either work with them with indices like up above, or iterate over them, with for loops or comprehensions Better to use lists of tuples, if I am dealing with mixed types, specially those that are not apt to change, like records of some sort. Something like a list of details about movies. Learning / Feedback/ Experiences from doing exercises # Learning to think atomically. Learning to break down each exercise into pieces and then learning to organise them in a manner, that I can solve it, step by step. What hints do Reuven’s results show? What should I compare first? What will be the aftermath? and so on. Gave up an exercise after two hours of trying. After peeking at the solution I realised that it was not because of something I forgot or did not practice, but once again, because of something I did not know. in this case that there are set operators to use between two iterator objects.instead of crazily stepping through everything like I did below, I could’ve just created a union list run through them. Just goes to show, there is lots for me to learn. And that there is a lot of tacit knowledge out there. And this I will only be able to figure out by writing lots of code! Also (note to self), time your self and be ok with giving up and looking at the solution. I seem to keep thinking that I am wrong or am missing something. Never the fact, that it might be something that I do not know. I am now strictly going to give myself 30 minutes per exercise and then move on. Lots of mistakes as usual. Wrong indentation, giving weird results. Read all about my Python advanced data structures journey here\n","date":"20 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-012-python-advanced-data-structures-continued/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 012 - Python, Advanced Data Structures continued","type":"work"},{"content":"Started with a new Reuven Lerner Course, on Advanced Data Structures..\nAiming to comfortably finish this in a week.\nNotes and experiences, follow.\nThe course is three parts.\nPart 1 - Deep dive into the common data structures Part 2 - Combining Data Structures. Lists of lists, Dicts of lists, Tuples of Lists and so forth. How far can I go without classes? Or how can I enhance my classes with this approach? Part 3 - Complex data structures, that come with the Python Standard Library. The Collections module, Weak references etc. Notes # Part 1\nThe id of a variable shows me where the object in refers to, is located in memory.\nIf x=5 then the id(x) will point to where it’s object, here the number 5, is located in memory. When I assign a variable to another, what I actually do is assign the new variable to the same objects address. That is all. When I do x = y, then y will point to 5 too, independent of x. If I set x to something else later, y is not going to follow x. Instead it steadfastly points to 5. A simple way to say this is x is y, where I am not checking for equality, but rather testing the fact, that both of them point to the same location in memory, or not. I can use sys.getsizeof() to find the size of an object in memory. (how much memory it uses), but it’s a tricky beast. For e.g. when it shows me the size of a list, it shows me the size of the list object. Not the size of the elements it contains. To get that, I need to go check the size of its elements one by one. A singleton object (not many in Python) is an object that every time you create a new instance of, from the parent class, it always points back to the same instance. None is an example in Python. Better to create a list using square brackets, rather than assigning them via a string. x = ['a','b','c','d'] works better than going x = list('abcd'). This obviously matters upon what you are doing and if that is possible to do or not. I can tuple-unpack-split a string in various ways. If I go, a, b, *c = s.split[] it will get the first split item in a, the next one in b, and the rest will be a list in c. But if I want the first and last elements for example and don’t care about the stuff in the middle, I can also go, a, *b, c = s.split(). I need to play with this. Just realised I could’ve solved a lot of exercises I did in the past, more elegantly if I knew this then. If I access an element in a sequence via its index, I will get the element back along with the elements type, but if I slice a sequence to get just one element back, I get a single element of the sequence’s type. Very nifty! For example if I access s[0] in the list ['jason', 'braganza'], then I will get a string jason back. But if I slice and get just the first element with a s[:1] (get upto, but not including 1), I get a single element list, ['jason'] back. If I look up a key z in a dictionary d with a d[z] and it does not exist, then I get a KeyError. If I want to check keys without noise, I use the get method on a dictionary. If the key exists, the value is returned. If not None comes back. I can set keys similarly with the setdefault key if I want to set keys safely. If I just do d[z] = 100 and z already existed, its value would have gotten trampled and set to 1000. But if I do the samething with a d.setdefault(z, 100) then it sets it to 100 only if the key does not exist. If it does, it just returns the old existing value. No harm, no foul. If I have two dictionaries and I want the contents of one in the other, then I use the update method. For e.g., I have dictionary a and dictionary b, so I do a.update(b) and everything from b flows into a. If there is overlap in the keys, then the values get trampled and overwritten. I normally cannot add dictionaries, lists, or other sets to my sets (no unhashable types allowed), I can freeze a set with frozenset, which makes it hashable and then add it to my set. Learning / Feedback/ Experiences from doing exercises # Reuven makes Python sound like a cute animated bear. ‘Python notices and says “Oh, you’re using 256. I’ve aleady got that. Don’t create a new object for that!”’ I wish my interpreter was as helpful 😂 This course is a lot less structured than the basic courses. It approaches you from the point of view, that you know stuff, you can read and write Python, you have a modicum of intelligence, so here’s a really juicy grab bag of interesting stuff about all the basics you learnt earlier. It’s best to always use f-strings, but if you need to eke performance, can you figure out, what kind of strings are the best? (spoiler, benchmark it) While Python lists are expandable, the C structures underyling it are fixed. How does Python let you have flexible, expandable lists then? And so on and so forth. So far, this has been fascinating. Read all about my Python advanced data structures journey here\n","date":"18 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-011-python-advanced-data-structures/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 011 - Python, Advanced Data Structures","type":"work"},{"content":"Today was hard!\nNotes # ‘*args’\nway to get multiple arguments without having to assign placeholders for them it scoops up all the arguments and gives it to the function in a tuple. I could then loop over it with for. I just put * in front of one of my placholders et voilà, def example_func(*catch_everything) I can define placeholders to catch specific arguments, but those need to be before my ‘*args’. Edge Case: I could have my arguments in a list/tuple already. I can just add the structure with a * in front of it and Python will unpack it for me. If I have a list, catch_me_if_you_can=[1,2,4] then I can pass the elements individually, as arguments with a def example_func(*[catch_me_if_you_can]) Another kinda frequent edge case: ‘*args’ catches everything that is unassigned. so if i have something with a default value, it will get trampled by the data from my args. Best thing to do is to set the default after the ‘*args’ like so, example_func(a, *args, b=10) Keyword Arguments\nNormally in the form of name = value Kinda like addressing lists vs dictionaries. Where instead of an index, I can now call an argument with a name. So I can go def name(FirstName='', LastName='') and then put in stuff in whatever order I want to like name(LastName='Brontë', FirstName='Emily'. Pretty handy! Try not to mix and match positional and keyword arguments. Python looks for positional arguments first, then keyword arguments. So if you have them, then the positional arguments have to come first! ‘**kwargs’\nthese scoop up keywords arguments into a dictionary. I can do everything with this, just like any other dictionary I just put * in front of one of my placholders et voilà encore, def example_func(**catch_everything) Combining Arguments\nArguments in decreasing order. Stick to the order as far as possible. mandatory parameters (no defaults) optional parameters (with defaults) *args **kwargs (with and without defaults) Use them for different kinds of input Variable scopes\nJust because I have indentation, with an if or an else or a for, does not mean that I change a variable’s scope. Variables within those indented blocks could still be global, or the scope of the thing above The slight exception is the variable within comprehensions. Variables inside them, have their own private scope The scope changes, mainly, when we define functions. Generally … If I am in a function, I’m in a local scope If I am out of it, I’m in a global scope with some exceptions So always think, am I in a function body … or not? (excepting comprehensions) When Python looks for variable values it looks in the LEGB sequence. (left to right). Local (starts here if I’m in a function) Enclosing Global (starts here if I’m not in a function, rather in the main body of the program) Built-in The globals function will have all the global variables for the program. It’s a dict with variable names as keys and the variable assignments as values The locals function will have all the local variables for a function in the program, when it runs. It’s also a dict with variable names as keys and the variable assignments as values or I could also look at the function_name.code.co_varnames to peek at the local stuff Parameters to a function are also local variables. I should define my local variables, before I use them in a function, or I get an UnboundLocalError If I want to use and modify a global variable in a function, I should declare it at the beginning of my function. For example, if I have a global variable x, and I want to use it in a function, then I say global x in the beginning of the function. I can mutate elements of global variable, if they are mutable structures. As in, I cannot change list A to another set of entries, but I can append to list A, or delete items from list A. As long as you are not assigning to a variable, rather using object methods, you should be ok. The built-ins scope, houses many things that are needed by Python, but are not reserved keywords. Stuff like list. I can use it to create lists, but it’s not reserved. I can redefine it if I want to (or more commonly redefine it by mistake) This feels like one of the few places, Python allows me to shoot myself in the foot. Do a dir(__builtins__) and review the names every now and then, and don’t use them in your code. Kinda Advanced Stuff\nWhile I said, they were verbs, functions can alse be nouns. I can just pass them as objects to other functions or elsewhere. I can pass a function as an argument as in the case of sorted(someIterableofPositiveNegativeNumbers, key=abs) where I am passing the abs function as a keyword to the sorted function, which then uses abs to get the absolute values of the numbers first and then sorts them according to those values. I can collect arguments for the inner functions I call with *args and **kwargs and then pass to them again with *args and **kwargs. I can also take some data as an argument along with a function and apply that function to that data. Like I did above. The main function I create acts like some glue program. This process of applying function to data, is called mapping and the functions I create to do this are map functions. Python has a built in map function. I can create functions, plop them into a dictionary and then call them as needed in my actual function, by accessing the dictionary keys and supplying arguements. This approach is called a dispatch table Learning / Feedback/ Experiences from doing exercises # Getting used to the way, Python behaves. And beginning to love its consistency for the most part. I write slow, step by step code. while it works, Reuven’s solutions are short and make me go, oh why did I not think of that? Maybe optimised thinking will come with time? I have to use Python tutor a lot to get what is actually happening. I’ve learnt to just dive in blind when begining to write programs. The more I think about stuff, the more I feel, like I can’t do this. So I just start. And build it line by line, error by error. And more often than not, it solves it self. Optimised solutions present themselves after I have the rough and ready solution done. “Aah! I could’ve written it this way” And I am done with the introduction to functions! Hurrah! This course stretched me a bit, and showed me I still have a ways to go. Read all about my Python functions journey here\n","date":"17 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-010-python-functions-basics-done/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 010 - Python Functions, Basics Done!","type":"work"},{"content":"Started up with learning about Python function basics, today. Notes follow. Using the Lerner pool of wisdom, as usual.\nWhy do we need functions?\nDRY (Don’t Repeat Yourself), because we can take stuff that is repeatable, assign it a nickname and just call that nickname over and over, instead of tediously writing all that stuff over and over and over If want to modify something, I can just call it (by the nickname) and then add my little spice to it. Like I have the recipe to an omlette written down somewhere, I can then just add a little note with secret ingredients at the bottom of that recipe to create a better or a different omlette. Functions are objects.\nWe can think of them as verbs Parentheses in Python (at the end of functions) basically mean, I want to execute, this here thing, on the left\nI can run help on a function to get some information about it.\nhelp(str.upper)\nWe don’t tack parentheses on the function, when I am lookif for its help, because I don’t want to run the darned thing. Creating/Defining a function\nWe define a function using the def keyword. It’s followed by the name you want to call it by, followed by parantheses terminated by a colon def hello(): This is actually a two step thing, even though I’ve always thought of it as one. first, I create a function object. then, I assign it a name. Functions in Python (unlike other languages), have the same name space as the rest of our Python program. I cannot have a function called x and also a variable called x Returning results\nSimilar to math functions, even Python functions return values after running them The default is None, unless you actually, explicity tell the function to return something If you want to catch the results of what you are doing with the function, remember to return it. A function can return whatever you want. statements, values, other functions etc. Which is good and all, but remember to do this with intent. I ought to think about what I want to return and document it well If I am returning multiple values of varying types, it comes back as a tuple. Not as different objects. I need to unpack them and assign them to multiple values explicity Documenting Functions\nThe help function needs something to read and tell the user about what our functions do. Ergo … Use docstrings (Documentation Strings) to do it. What are docstrings? If the first line in a function is a string, then that string is seen by the help system as a docstring and used for documentation. Use triple quotes around the string. I can have multiple lines in there The convention is to document what a function receives (the input), what it returns (the output) and what it modifies. def hello(): \u0026#34;\u0026#34;\u0026#34;This is it! The docstring! This will help me figure out what the hello function does! or more seriously expects: No arguments modifies: Nothing returns: A friendly greeting \u0026#34;\u0026#34;\u0026#34; return \u0026#39;Hello, hello :) **Arguments** Functions need stuff to work with.\nWe supply them using arguments.\nJust a fancy name for the data we pass along to the function.\nE.g. If a function returns a fancy format of our name, there must be some mechanism to pass our name across to the function. Arguments are how we do it. We don’t actually argue with the programe :P\nA function can take any number of arguments. We just put them between the parentheses, seperated by commas\nPositional Arguments\ndef hello(first, second): print(f\u0026#39;Hello, {first} and {last}\u0026#39;) In the code above, I can call the function with hello('Tyche','Hestia') and it will assign Tyche to first and Hestia to second, because I typed them in that order. These are called positional arguments When I define a number of arguments, I need to pass all the arguments along. I can’t make space for two and pass only one or none. I can supply defaults, so that if the user does not supply all the arguments, the default is used in its place If some arguments cannot have defaults and are a must, they must come before the ones that are optional and can have defaults. How does Python know, how many to expect? When Python defines the function, it records the definition and makes a note of what it needs to run the function properly If I look at the guts of the hello function with a hello.__code__.co_argcount it’ll tell me, it has recorded two. If I supply defaults, they are recorded in a seperate place called hello.__defaults__ and it supplies the requisite information, so the argcount always stays at the required number of arguments A little dazed today, so calling it quits early.\nLearning / Feedback/ Experiences from doing exercises # I keep looking for elegant, one statement like solution to problems and get frustrated. Reuven then shows up with a brutally efficient solution that has four if statements. I should remember to be more workmanlike, before I turn craftsman Read all about my Python functions journey here\n","date":"16 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-009-python-functions-basics/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 009 - Python Functions, Basics","type":"work"},{"content":"This was an amazing run! Learnt lots.\nDone with the basics course.\nWoohoo!\nNotes # With lists\nNot pythonic to mix types can iterate, slice and dice, search, get lengths, transmute them (for e.g. reverse items in them) just like strings can have lists of lists! lists are mutable, unlike strings. can change items/elements of a list If i create a list from another list, the new list items reference the old list items if i want to copy elements from a list rather than reference them, I’ll go newlist = oldlist[:] which will copy the elements from the old list into the new one, rather than create references to the old ones Realise that there is a difference between changing the values of a variable and between changing elements of a list. When I do x = 2 and y = x and then change x to be x = 3, remember that the value of y does not become 3. y continues to point to the original location in memory which holds 2. What I did was to break x’s connection to that value and assign to another value in another location On the other hand, when I do x = ['jane', 'jill', 'mary'] and then create a copy with y = x and then change x[0]='edith', what I do in this case is change the actual element. The references to that object in momory stay unchanged. Which is why y[0], which holds references to the same object, will also reflect the change to edith. Finally if I go, x = ['athena', 'diana', 'aphrodite'], now we’re back to the assignment. x will point to this new list while y points to the old one. This distinction between changes in assignment vs changes to content is very important, when dealing with mutable/changeable data types like lists Append something to a list with .append - list.append(something, something else) Heuristic, when a method on a mutable data type, changes data, in returns None So I should just go mylist.append('blah') and stuff will be done If go mylist = mylist.append('blah') (which I am very apt to do) the method will change the list, then return None and that None will get assigned to mylist, In effect, erasing the list and causing unnecessary heartache. So, be careful, very careful. Not careless, like Bond, James Bond. += or .extend takes an iterable on the right. picks each element. and then assigns them singly to the list on the left. Append can take only one item. If I want to add xyz as separate entries to mylist that has ['a','b','c'], append will just take it as a big lump and make ['a','b','c','xyz'] Instead I do a += mylist += 'xyz' or mylist.extend('xyz')will give me ['a','b','c','x','y','z'], which is what I wanted in the first place it will only work if there are iterables on the right. (strings, lists, dictionaries etc.) the insert method will let you insert something at a location in the list. Give it what you want, tell it where you want, and boom! mylist.insert('d', 3) will put d after abc, giving me ['a','b','c','d','x','y','z'] I can replace things in a list by giving it a location and telling it what to put in there. I could do mylist[0]='artemis' and the list will change to ['artemis','b','c','d','x','y','z'] I could also give it a slice along with a list of what to put in there. Doing mylist[1:2]=['josephine','lisbeth'] will now give me ['artemis','josephine','lisbeth','d','x','y','z'] if you add additional elements, than what you replace, Python will insert them, growing the list. Removing things from a list? the .pop method will pop off the last item in a list. If i give it a location, it will remove the item at that index location. mylist.pop(3) will remove d from mylist giving me ['artemis','josephine','lisbeth','x','y','z'] When I know what I want to remove, I just use the remove method instead of pop. mylist.remove('josephine') will remove poor Josephine leaving us with ['artemis','lisbeth','x','y','z'] If I’m not sure, I could check for the presence of an item before I remove it. Should prevent a program from barfing on me if that element isn’t there if \u0026#39;q\u0026#39; in mylist: mylist.remove(\u0026#39;q\u0026#39;) also the remove method only removes the first instance of something. Iterating and counting over lists? the for loop! I can use the enumerate function if I want numbered items out I can iterate over a slice. The range function is very list like in its behaviour. I can sort lists. same caveat as above. sort will change the list in place and return None. Don’t go assigning mylist = mylist.sort(). It won’t work A .sort(reverse=True) will sort in reverse sorting between mixed types in a list doesn’t work in Python 3 anymore. The types in a list, ought to be the same. Sorting list of lists works by comparing indices If I don’t want to change my original list, I can use the sorted function on the list. It works on most iterables, not just lists, while the list method is restricted to lists It returns a new sorted list, and keeps the original list intact. I can do sorted('something', reverse=True) will return a reversed list. I can str a list and list a string\nI can split a string into a list, either by single characters or by a delimiter (a ; or a , or space)\nsplit without an argument will cut out all white space I can join, strings and lists and stuff, but\njoin works only on a string. it’s a string method and that string generally is the glue, that will string what we give it, together ' '.join(['Hail','Caesar']) will join the list using that blank space I gave it. it works backwards, so that I can feed it any sequence in the end. a list, a tuple, a dictionary … all fair game Remember, it won’t work on numbers. It’ll fail. Tuples, are a kind of weird hybrid of strings and lists.\nLike a string, they are immutable\nLike a list, they can contain anything at all. crazyTuple = (1, 2, 4, 5) you create them by enclosing with () brackets. but that is just for you to know you are creating a tuple. I can just do crazyTuple = 1 2 3 4 5 and that creates a tuple just as well. I can do most everything with them just like strings and lists, slice, search, iterate blah blah Typically used to create structures. like bookdetails = ('title', 'author', 'pubdate', 'price'). you know what to expect, once you see definition. Once we figure that [0] is the title, it normall will be the same for the other books too. Behind the scenes in Python, function arguments are passed as tuples. Note:* If elements in my tuple are mutable (like a list), I can change their elements, like appending or deleting items in the list. The tuple however is immutable. I cannot delete/modify the list item as a whole. use extend if you want to append to a list in a tuple Since a tuple is immutable, it doesn’t have a sort method. I can however sort by using the sorted function which will return a sorted list of the elements of the tuple, whill leaving the original tuple untouched. Unpacking stuff\nIf my variables on the left, match up to the number of items in the structure on the right, x, y, z = (10, 20, 30) then they get assigned to each. x is assigned 10, y,20 and z,30. Dictionaries\nHash tables, hash maps in other languages While in a list, I have values of my choice, the index is always numeric. so item 0 is a cookie, item 1 is cookie-dough and so on, with a dictionary, I get to define the indexes too! I can now say endresult is a cookie, ingredient is cookie-dough and on and on while if you want to append to a list, you use an append method, if you want to add keys (user defined indexes), you just assign it to a dictionary with its corresponding value. So I can just add cookie_recipe[sugar]=100 to my cookie recipe dictionary above. if the key is already in there, it just gets updated with the new value. if not, the key and the value get added to the dictionary. Keys are unique. Values can repeat. But keys can exist only once in a dictionary I can use most immutable data types as keys. strings, integers, tuples that don’t contain mutable data like lists etc. I can use in to look for keys in a dictionary. 'sugar' in cookie_recipe The get method will look for a key for you. If it exists it will return the key, or if there isn’t, it returns None. I could even customise the none with a message. If i do d.get('somekey', 'No such key'), it will print “No such key” if the key isn’t found. The setdefault method will set a key in the dictionary along with the value, if it does not already exist in the dictionary. If it exists already, it will return the existing value. If I want to convert strings to numbers and want to do a sanity check (I would not want to convert text after all, Hello is not a number :P) then I can use the isdigit method on the string. It’s a string method to use on strings.\nSets, can be thought of as dictionaries without any values.\nEach value in a set can occur only once. create them by going myset = set() and then I can willy-nilly add values with myset.add(10) or myset.add(32). If I try adding same value twice, no dice. It is stored only once. Every value is unique I can use an iterable to add multiple items at once with the update method. I can pass a list for example, and it will add all the unique values to the list. myset.update([44, 777, 44, 56, 89, 777]) I cannot have mutable / changeable data as elements of set. No lists, no dicts etc. Strings, Numbers are ok While sets look like lists, they are unordered with no indexing. I can iterate over them, though. To look for something in a set, use the in operator To remove the item use the remove method I can do set operations. s1 - s2 will show me items that are unique to s1. (it removes the common elements between the sets) or vice versa the symmetric_difference method will show me unique elements from both sets. stripping off the common elements. s1.symmetric_difference(s2) to find if a set is a subset of another I could use the \u0026lt;\u0026gt;= operators. Is s2 a subset of s1? s2 \u0026lt; s1 I can combine sets (union) s1|s2 Or I can find the common elements with intersection s1 \u0026amp; s2 Learning / Feedback/ Experiences from doing exercises # Reuven keeps going, Alright? And I keep nodding my head here :) Still miss lots of stuff, writing code. Missing colons, no surrounding quotes, missing commas, so many commas … not converting strings to integers and then wondering how I get such large results from simple addition But I’m done! These were the basics, and I could run through them, but I did not realise I had so many gaps in my basics. As I keep saying Reuven is amazing. He points out the pitfalls and keeps reminding me of important issues and shows various methods to solve things, keeps encouraging me and I could go on and on. Lerner fan for life! Read all about my Python basics journey here.\n","date":"15 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-008-python-basics-lists-tuples-dictionaries-sets-and-done/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 008 - Python Basics, Lists, Tuples, Dictionaries, Sets and Done!","type":"work"},{"content":"","date":"15 juillet 2020","externalUrl":null,"permalink":"/tags/pythonbasics/","section":"Tags","summary":"","title":"Pythonbasics","type":"tags"},{"content":"Started with the Reuven Lerner, Intro Python:Fundamentals course today.\nMade surprising headway, even though today was crazily demanding with work and personal stuff.\nNotes # The difference between == and is If you want to see if two things are equal, use == like, is 2+2 == 4 If you want to know if two objects are the same thing. if they are just pointers to the same memory location, use is. The heuristic is, if you are checking for singleton values, something that there is only one thing of; then in Python, we use is. Use sparingly . Make sure you check mostly to see if things are the same object or practically to see if something is None mostly to check for the presence or absence of things. like x = None and then I go check if x is None … True / False heuristic in Python Nearly everything in Python is true except for False, None, 0 or anything empty (empty lists, dictionaries, etc.) Learnt how working with strings in reverse works if I want the last element in a string, I could reference it by calculating it’s length and lopping one off (since indexes start at 0), like with the string s = 'Halt! Who goes there?' I could access the last element by s[len(s)-1] or the last but one, with a s[len(s)-2]. This is made a lot more convenient by just dropping the len(s) stuff, just leaving the - numeral part - s[-1] or s[-2] This makes so much sense in my head now, if what I am doing is counting straight and then subtracting one. I should remember, things sometimes are simpler than they seem :)\nFor some reason, I always imagined, Python could see the length of my string, so why couldn’t there be a reverse string way of doing things like s.rev[0] that would just count backwards 😂 Strings are immutable. They can’t be changed. I can just process a copy and generate new ones, though. just realised that the f in f-strings stands for formatted strings, since when I write raw strings, I use an r for, duh, raw strings Slicing involves carving out a small contiguous part out of a larger string. The thing to note is that when I say s[0:4] it means upto, but not including 4 If I say s[0:100], slices are forgiving and give me upto the end of my small string, without throwing an error. Empty colons in slices imply endings. s[:10] means start from 0 and go up to 9. Or s[9:] means start at 9 and go upto the end. Ergo s[:] means from the beginning to the end. I can have step sizes to step over. The default, hidden size is 1. I can step, oh, say every three elements by append :3 to the end of my slice like so, s[0:20:3], basically [start\u0026#x1f51a;step size] I can also have negative step sizes which will give me the results in reverse. The most common one being -1, because the quickly reverses a string for me (commonly done). But it works with other step sizes too. A -2 will start counting backwards every other character from the end. A reverse slice begins with the end character and then beginning. So s[10:5:-1] to carve out a slice backwards. Sequences are strings, tuples and lists. They all can be sliced and diced and iterated upon. Heuristic, else in a for loop is to match stuff when I don’t encounter a break. the else part matches the for to form the for-else construct, even though the break is inside the for loop while loops are for when you don’t know the end of what you are looking for. there is not finite end. No 0 - 10 happening. You are just searching for something in an amorphous swamp. The swamp is vast, there is no way to say from this end of the swamp to that end.You only give up when you find what you are looking for, or when you decide it’s time to give up (some preset condition). make sure there is a counter that breaks stuff or I might loop forever Learning / Feedback/ Experiences from doing exercises # Realising why Python notebooks are used. Very, very, very, handy to quickly write prose and code at the same time. It fits my mental model of programming perfectly! I keep thinking strings and characters are English and forget to quote them! The number of NameErrors I get, is not funny. Thing that keeps biting me when I write or statments. I should remember to say if x='blah' or x='meh'. I keep writing if x='blah' or 'meh', which is wrong. I keep using a lot of superfluous variables. I should be more intentful. Instead of just printing an expression, I tend to figure out the expression, assign to a variable and then print it. Good for building, probably bad for optimal use. But I won’t worry about it too much now. Just something to improve on in the long term. Reuven is a painstakingly methodical teacher. If he’s so good in his videos, I am jealous of folks attending his live classes Read all about my Python basics journey here\n","date":"14 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-007-python-basics-variables-basic-data-types-strings-and-loops/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 007 - Python Basics, Variables, Basic Data Types, Strings and Loops","type":"work"},{"content":"I know I said, I’d start with the basics, Reuven, but please forgive me this once :)\nWill do the rest, bottom up :)\nHave started up with this, because I’m fascinated with how folks manage to build in so much functionality into short, easy to read statements.\nTo my mind, comprehensions are the pithy proverbs of the programming world.\nSo here goes …\nNotes # This style of writing code, comes from functional programming Functional Programming is another style of writing code It assumes that data is immutable. (Or at least it treats it as such) It does not change the originals I work with. (I assume this means that I always work on a copy or something) we work with sequences of data and create new ones based on the old ones (changing case of a sentence, comes to mind) There are a bunch of techniques/patterns/heuristics that’ll let me do that We can treat functions as data and pass them around as arguments to other functions. The functools module assists with writing such code Why code in such a manner? Some benefits include them being easier to read, easier to debug, shorter, more understandable. Distributed Computing / Multiprocessing across processors and cores/threads makes these techniques more relevant in this day and age My personal need is to write easy to read code, like when I see a well crafted list comprehension If I want to square a list of numbers, my current go to is to generate a new list, using a for loop. Comprehensions are a better way of doing this For loops are far when I want to execute something on each item of something iterable, like a list or a dictionary. when i want to have a statement happen If just want to transmute the elements of list into something else, change each element, like square them all above, then comprehensions are my friend Here’s a list comprehension to square a list of numbers from the list numbers. [one_number * one_number for one_number in numbers] The square brackets make it a list comprehension. If I want dictionary comprehensions, I would abut them with curly braces {}. And if I use (), I’ll get a generator expression (which I know only the bare basics about) For loops and comprehensions might look similar, but they really are different Note: whatever expression you use to generate output has to return something. like the square expression above . because what I want to do is catch all my results in a container. functions (like the print function) that return None as their result, cannot work here. They will display stuff, but store only None in our comprehension container :) I can also write the comprehesion over multiple lines (works because they are bounded by the list brackets here or bounded by other brackets elswhere) [one_number * one_number\tfor one_number in numbers] here with the breakdown of the lines, the first line becomes my output generator; the expression I want to use and the second line, the data I want to process. Much more readable this way learning / feedback/ experiences from doing exercises # Exercises today required a bit of head scratching and a bit of research, but were relatively simple I should keep in mind that the computer can go crazy too. I kept wondering why my code wouldn’t run and and kept banging my head for an hour. Even Rueven’s solution was what I did. Until I restarted my Jupyter note book and everything worked the way I expected. Should have a time limit on how much struggling I do. From the last week, it looks like I am a real sucker for pain otherwise. Half an hour tops and then go look up the solution. Have reached the second set of exercises and realised why Reuven told me to start with the basics. I failed with the second one in this set. I just know, there is a simple solution and I cannot seem to get it. This basically means … yes … that my foundations are creaky.\nNote to self, walk before you can run. By Jove, you should’ve learnt that by now! :)\nSo this is me, waving goodbye sorrowfully to comprehensions.\nWill start with the basic Python course tomorrow.\nBut I’ll be back soon enough, damn it!\nRead all about my comprehensions journey here\n","date":"13 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-006-starting-and-quitting-comprehensions/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 006 - Starting and Quitting Comprehensions","type":"work"},{"content":"Done with Reuven Lerner’s OOP basics\nNotes # len does the right thing across multiple types of objects. it counts characters in a string, elements in a list, and key-value pairs in a dictionary. how does it know how to do that? that is because len uses a magic method (methods that have a __ for a prefix and suffix) len uses the __len__ method which i can use in my own classes, to implement a len method for my classes If I choose to do so, I need to realise what those underlying methods expect to return and return the same type in my classes. __len__ expects to return integers, so when I implement it in my classes, I ought not to return a string. Once again Reuven strongly suggests using common sense :) same thing when i try to print something. it calls the magic method __str__ to do stuff. or if i try to do repr to check for raw representations, the __repr__ method is called. Python is filled with these methods which I can use to allow my classes to have standard Python like functionality. like a print(doggie) should give me details about the cute pup object i just created, if I have taken the time and attention to implement the __str__ or __repr__ methods most of these methods come with the base primitive class object which every class inherits from. so i get them for free. and then i can override them and customise them to what I want to show. people try standard methods on new objects. implementing them is much better than creating my own and asking people to use ’em. if both are equal or really similar, ok to just use only __repr__. later when I have experience and other needs, i can implement __str__ too learning / feedback/ experiences from doing exercises # Despite warning myself above, I went ahead and made the mistake of returning a whole lovely string, instead of an integer, when I tried to implement the len method on my class XD and then I forgot to add the f prefix to an f-string and wondered why it was not interpolating for nearly 30 mins Reuven has a wry sense of humour. In one of my exercises I get to create classes of animals for a zoo, with various attributes such as colour and legs and so forth. Then he has me put them in cages. After making me put 2 sheep in a cage with a wolf, he wonders if the legs of the sheep ought to be reduced or not XD The number of typos I am making is staggering. Missing colons, missing quotes, missing brackets. If this is Python, I shudder to think how I’d fare if I picked up a static language to learn XD Wasted another half an hour because I spelt colours with capitals like Black and then later looked for black and was tearing my hair out, because I knew there were black animals and why in tarnation, would Python not show me them XD Saw Reuven do nested comprehensions and now I want to do that too! it took him one well thought out line to do what I did in 2 multiline functions Final Words # This was amazing!\nI learnt so much about classes and the way they work.\nReuven has a very joyful pedagogy.\nI love him go hahahaha like Santa Claus.\nI love the fact that he makes mistakes.\nI love that for every problem, he poses, he has various approaches.\nHis fluency shines through every lesson.\nI got lucky with the Pycharm Humble Bundle.\nBut I loved this so much, that I am going to sign up for all the Lerner courses, I possibly can.\nBeginning with the basics.\nIf OOP is any indicator, the journey is going to be lots of fun.\nRead all about my OOP journey here\n","date":"12 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-005-magic-methods-and-winding-up-oop/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 005 - Magic Methods and Winding Up OOP","type":"work"},{"content":"Learnt about Class Attributes and Inheritance, today.\nNotes # The way we write functions/methods and define classes might look similar,\nclass CrazyTalk(object): and def how_now_brown_cow():\nThe way they behave/execute, though is wildly different.\nClasses run / spring to life as soon as the program launches.\nFunctions don’t, unless they are called.\nRealised that objects are containers.\nWhat you can do with the object depends on what is in it.\nDoes it hold a dictionary with various methods to modify it?\nDoes it just hold a bunch of text?\nReminds me of media formats as containers.\nA mp4 file is not just an mp4 file.\nThe video resolution could vary from one file to another.\nThe type of audio encoding could be different.\nIt could carry multiple streams of audio or video or other metadata.\nWhat you can do with the file or where you can play it, depends on what is inside it.\nSame with classes and objects.\nAny thing that we define inside a class, is an attribute. (methods, variables etc.) Reuven made a point of stressing this, so writing this down.\nIf I just define a variable and try to use it, I’ll get an UnboundLocalError. I need to use className.variable when I call it.\nSo I can just write a variable like so\nclass SomeClass(): crazy_var = \u0026#39;Muahahahaha\u0026#39; def __init__(self): print(SomeClass.crazy_var) and then call it with SomeClass.crazy_var or when I do it after I define __init__ then I can just directly define it as SomeClass.crazy_var (which sounds more logical to me), like so\nclass SomeClass(): def __init__(self): print(SomeClass.crazy_var) SomeClass.crazy_var= \u0026#39;Muahahahaha\u0026#39; A class attribute is associated with the class itself, while object attributes are associated with the objects that are created from the class.\nSo with car.wheels, the wheels are associated with the car class, but when I use car to create a Ferrari object, and it has Ferrari.white_wall_rims the rims are an instance attribute that belong to the Ferrari object / instance and not the car class it was made of.\nIf I ask for an object’s attribute and it isn’t there, then Python goes looking upwards to check if the class has it. In the previous point, if I go Ferrari.wheels it’ll work, because Python will check the Ferrari object and if there are no wheels in there, it’ll go check cars.\nName your attributes carefully.\nDon’t have the same names between class attributes and object attributes.\nUse your head!\nDon’t do that!\nWhen we create a class, that is identical to another with one or two teeny exceptions, when they are so similar that I base the new one on the old one — those new classe are said to be inheriting from the old one. They have an is-a relationship.\nFor e.g. a doggie is-a floofy animal.\nA teddy bear is-a floofy animal too.\nBoth of them inherit their floofiness from the floofy animal class.\nI can write that as class Doggie(FloofyAnimal):\nNote: Methods are attributes on a class. They are not attributes of the instance object.\nNote: If you have an __init__ method in your inherited class, the instance will not look for __init__ variables/details in the parent class.\n(it’s like this in Python, Java/C++ can get stuff from the parent / grandparent. this is so, because with Python, everything is a live object whereas with the other languages, the __init__ stuff are declarative rules with orders of precedence (a la CSS) and the class comes alive only after all the rules are parsed.)\nIf you do want to inherit something from the parents __init__, then you explictly get it by using super(). as in get it from the supervisor above, i guess? I’d add a line like this to my doggie class\nclass Doggie(FloofyAnimal): def __init__(self, name): super().__init__(name) And then it will pull the name from the Floofy Animal class if it’s in there.\nUse inheritance only when it makes sense. No need to go hog wild. learning / feedback/ experiences from doing exercises # Slowly getting the hang of list comprehensions. I should practice them more.\nBecause they are very easy to read later.\nJust that, I get very confused while writing them. Doing the exercises is slowly getting easier Reuven is very hands on, has tons of jokes, and makes tons of typos.\nI’ve gone from eyes glazed, looking at the his code and struggling to understand to yelling at the screen when he mistypes something :)\nShows that I am learning :) Python Tutor is very handy to see the the thousands of mistakes I make. Even that interface does not quite make me understand, but it gets me 80% of the way there.\n(like when a return statement of mine was nested in a loop instead of being out at the end of the for statement.) Read all about my OOP journey here\n","date":"11 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-004-class-attributes-and-inheritance/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 004 - Class Attributes and Inheritance","type":"work"},{"content":"Learnt about methods today.\nNotes follow …\nMy understanding about methods? They are functions in classes that help me manipulate the data the objects contain when they are created.\nI have been using something them subconsciously all along.\nThe __init__ method, that is called/run automatically every time an object is created.\nAha\nA nice way to unpack the .notation i use\nLet’s say I have a class SquareNumbers that has a function (method) ­— x2 — that will, you know, square a number.\nAnd then I create an object f with a number and call the square method on it.\nf = SquareNumbers(10) f.x2() What I am actually doing, when I call f.x2() can also be written as SquareNumbers.x2(f).\nI am sending a message x2 to the f object, and it will respond with however/whatever it is programmed to.\nWhen I define object variables in a class, I should refer to them with a self.variable when I define methods.\nI figure because each object can have it’s own set of values for those variables and I want Python to find them properly.\nAlso learnt this is not the case in most other languages.\nWith some languages, you set and get values of variables of the object, using even more explicit methods, call getters (accessors) and setters (mutators).\nThese are just fancy names for explicit methods to assign and then read data from the variables of a class.\nIn our example above, I would probably have a set_x function defined to set the value of x like f.set_x(20) (along with a corresponding get_x to read it)\nThis could also be because other programs have different categories of data (private, public) in classes, while Python does not.\nJust differences in language design philosophies, I guess.\nI can create an class, that can use objects created by other other classes.\nFor example, I can create a book class and then have several book objects.\nAnd then create a new bookshelf class, whose objects can take all my books and put them in a list/library of sorts\nThis kind of relationship is called a has-a relationship in programming parlance.\n(like my bookshelf has-a book on it)\nIt’s also called composition. I am composing a new class from other classes.\nI can do what I want with the list in the bookshelf.\nI could take their prices (if i added them) and then sum them up.\nI could take the titles and list them alphabetically, or by author.\nAha\nSo what is becoming clearer to me is that classes can take user needs, and express them naturally, while leaving the creation of these calculations and listings and sortings with the programming language primitives behind the scenes.\nFor my book shelf i could just go shelf.sort.title.alphabetical()\nOr if I have a new need tomorrow, hmm, like finding the total prices of all my books, I could just add a sum method to my bookshelf and I could go shelf.sum().\nIt basically makes my code, more human. More easy to understand. More natural.\nAnother thing that just occured is that I could swap out the primitives beneath the classes. If I find a faster, better way to sum up prices, I could just use that. While the way I would sum the books would still remain shelf.sum()\nDoing the exercises, I realise that I need to learn a lot more Python vocabulary.\nI somehow managed to gather a number of variables into a list.\nBut when I attempted to do it again, it threw an error.\nAnd that’s when I learnt I could extend a list.\nLots more practice needed!\nThe self thing bit me hard!\nI spent at least a 45 minutes trying to find out why my method could not find a variable, despite me defining it correctly. I should’ve obviously referred to it with self.variable!\nTime to call it a day.\nRead all about my OOP journey here\n","date":"10 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-003-methods/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 003 - Methods","type":"work"},{"content":"Did a few exercises today.\nThey were simple.\nCreate a few classes, change them, modify them, use a list as an attribute and so on.\nIn a couple of ways, this was just what I needed.\nOne, I had an extremely busy day at work, and so I did not have the brain power to do anything complex, so I needed the bar really low any way.\nAnd two, I’ve realised, that I have always tried to just read a book and then leap mountains. I don’t know why. I must be a sucker for pain. And then when stuff does not work, I sulk and get frustrated.\nEasing into hard topics like this, makes it more enjoyable for me and I learn better.\nThis is a meta skill, I should remember to use.\nCome to think of it, everything I have learnt recently, actually learnt, has been this way.\nI learnt Dvorak and touch typing, slowly, key by single key.\nI learnt to diet and lose weight, by tens of grammes in the beginning.\nSo, note to self.\nStart small.\nDo the work.\nShow up daily.\nRead all about my OOP journey here\n","date":"9 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-002-basic-exercises/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 002 - Basic Exercises","type":"work"},{"content":"Notes I’ve taken from the videos I watched, today. This is my attempt at Feynman-ing (below), what I learnt so far.\nClasses and Object Oriented Programming started to come together for me, when I saw Kushal using them.\nTo use my father’s carpentry analogy, I could in theory just hammer nails into wood to join them.\nBut to make a really strong joint, I could use other methods.\nI could screw pieces of wood together, which is markedly better than just nailing them.\nI could chisel wood and create a dovetail or mortise joint.\nSo it all comes down to understanding what I want to do and figuring out the best technique to get it done.\nLike I mentioned in the toot, I could in theory just kludge together all my primitives and create something.\nBut, if I want to create something beautiful and something that I (and others) can understand, I need to use a different method.\nObject Oriented Programming, is a popular one.\nObjects and Types (In Python) # We have objects and types/classes.\nWe can think of them like we do about cells in our body.\nPython for the most part is natively made of objects.\nNearly every primitive I have come across in Python is an object.\nStrings are objects and work a certain way / Skin cells work a certain way.\nDictionaries work a certain weay / Optical cells in the eye, work in an very specific manner.\nIntegers are objects and have their own ways of doing things, as do white blood corpuscles.\nObjects are a special type of something.\nA class makes objects.\nAn int class makes integers. A string class makes strings. And so on and so forth.\nWith Python even classes (the constructors) are objects.\nSo, there must be some kind of God / Creator thing that makes these primitives / originator classes.\nAnd there is.\nIt’s the type class.\nIt’s the base class, the bottom turtle, if you will.\nThe type class creates all these primitive classes, which we then use to create other objects for our use.\nThe type of the int (integer) class is type as is the type of the str (string) class.\nThey are all objects of type type.\nWhich basically, again to use a physical analogy means that type is the iron forge, which i then use to create factories, which i then use to fashion usable things.\nThe forge lets me create lug nuts and chassis’ and then I take all these, to create a car factory, which lets me make cars of different types and sizes, with varying amounts of power.\nThe forge lets me create some mixer, which i can then choose to setup different sorts of mixer factories. Some can make ice cream, some can make porridge.\ntype (the forge), creates the int class (the factory), which lets me create all sorts of integer numbers to play around with.\ntype (the forge), creates the dictionary class (the factory), which lets me store and sling data about in various ways.\nNote: This might not be true of other programming languages (for e.g. int might be a base primitive.)\nAttributes # Every class can have attributes (data, or methods to manipulate data).\nThose attribute themselves could be classes, having their own attributes.\nNow each of those takes memory.\nPython doesn’t gobble up all our memory however, because some (most?) objects share memory.\nRun dir on an object to get it’s attributes.\nFor example, I could do this on the str class to see what it has.\n\u0026gt;\u0026gt;\u0026gt; dir(str) [\u0026#39;__add__\u0026#39;, \u0026#39;__class__\u0026#39;, \u0026#39;__contains__\u0026#39;, \u0026#39;__delattr__\u0026#39;, \u0026#39;__dir__\u0026#39;, \u0026#39;__doc__\u0026#39;, \u0026#39;__eq__\u0026#39;, \u0026#39;__format__\u0026#39;, \u0026#39;__ge__\u0026#39;, \u0026#39;__getattribute__\u0026#39;, \u0026#39;__getitem__\u0026#39;, \u0026#39;__getnewargs__\u0026#39;, \u0026#39;__gt__\u0026#39;, \u0026#39;__hash__\u0026#39;, \u0026#39;__init__\u0026#39;, \u0026#39;__init_subclass__\u0026#39;, \u0026#39;__iter__\u0026#39;, \u0026#39;__le__\u0026#39;, \u0026#39;__len__\u0026#39;, \u0026#39;__lt__\u0026#39;, \u0026#39;__mod__\u0026#39;, \u0026#39;__mul__\u0026#39;, \u0026#39;__ne__\u0026#39;, \u0026#39;__new__\u0026#39;, \u0026#39;__reduce__\u0026#39;, \u0026#39;__reduce_ex__\u0026#39;, \u0026#39;__repr__\u0026#39;, \u0026#39;__rmod__\u0026#39;, \u0026#39;__rmul__\u0026#39;, \u0026#39;__setattr__\u0026#39;, \u0026#39;__sizeof__\u0026#39;, \u0026#39;__str__\u0026#39;, \u0026#39;__subclasshook__\u0026#39;, \u0026#39;capitalize\u0026#39;, \u0026#39;casefold\u0026#39;, \u0026#39;center\u0026#39;, \u0026#39;count\u0026#39;, \u0026#39;encode\u0026#39;, \u0026#39;endswith\u0026#39;, \u0026#39;expandtabs\u0026#39;, \u0026#39;find\u0026#39;, \u0026#39;format\u0026#39;, \u0026#39;format_map\u0026#39;, \u0026#39;index\u0026#39;, \u0026#39;isalnum\u0026#39;, \u0026#39;isalpha\u0026#39;, \u0026#39;isascii\u0026#39;, \u0026#39;isdecimal\u0026#39;, \u0026#39;isdigit\u0026#39;, \u0026#39;isidentifier\u0026#39;, \u0026#39;islower\u0026#39;, \u0026#39;isnumeric\u0026#39;, \u0026#39;isprintable\u0026#39;, \u0026#39;isspace\u0026#39;, \u0026#39;istitle\u0026#39;, \u0026#39;isupper\u0026#39;, \u0026#39;join\u0026#39;, \u0026#39;ljust\u0026#39;, \u0026#39;lower\u0026#39;, \u0026#39;lstrip\u0026#39;, \u0026#39;maketrans\u0026#39;, \u0026#39;partition\u0026#39;, \u0026#39;replace\u0026#39;, \u0026#39;rfind\u0026#39;, \u0026#39;rindex\u0026#39;, \u0026#39;rjust\u0026#39;, \u0026#39;rpartition\u0026#39;, \u0026#39;rsplit\u0026#39;, \u0026#39;rstrip\u0026#39;, \u0026#39;split\u0026#39;, \u0026#39;splitlines\u0026#39;, \u0026#39;startswith\u0026#39;, \u0026#39;strip\u0026#39;, \u0026#39;swapcase\u0026#39;, \u0026#39;title\u0026#39;, \u0026#39;translate\u0026#39;, \u0026#39;upper\u0026#39;, \u0026#39;zfill\u0026#39;] I spy with my little eye, that any string object lets itself be split or joined or lets its case be altered and much, much more!\nI can go into any object I want (with few exceptions) and change its attributes!\nFor example, I type os.sep to get the path separator. (on a linux machine it’s / and on windows it’d be \\ and if python ever ran on classic Mac os I guess it’d be :\nI can just change os.sep to be ! or hahaha or whatever i want!\nOr I could just add whatever attribute I want to any object!\nIn short, I can set and get attributes on any object I want!\nSounds pretty free-ing! Will have to see what this means in practice!\nAha\nThe inbuilt functions that I have learnt are not the norm.\nMost code is written in classes and functions are available as methods of those classes.\nRuby natively works this way.\nPython pragmatically, has created some functions as primitives.\n(One possible reason could be, for example, rather than have a len method on every in built class, they musta thought it easier to create a primitive len function that worked on different classes and data types)\nIn real life (and across programming languages) I should mostly be looking at object.method(), for e.g. some_list.pop()\nIf I want to look at how to manipulate something, the general heuristic is to look at methods first. Does an object support manipulating itself through itself? After all, it knows itself best! :)\nIf I want to know what methods an object supports, I can of course call dir on it, but a better cleaner way is to call help on it. (help(list)). It shows, more clearly, the methods an object supports.\nWhy Classes # Do I need to create classes?\nOf course not, I have been creating programs without them all these months.\nA couple of reasons I’d create a class,\nTo stop kludginess. I don’t to expose a list of dictionaries, that contain more dictionaries that have lists as their values. better to abstract them away from the user (future me) and present simpler interfaces. I love to write well crafted prose. Classes represent complete sentences in human language. Nouns and verbs amounting to a sentence that makes sense and is well crafted. How do i create a class # Aha\nJust realised that when I create a class, I am creating a new type of primitive for myself.\nMy own data type!\nI can create my own numbering system if i want to!\nMuahahahahahahaha\n(comes back to reality)\nclass somethingsomething(object): pass That is all I need. Just to say class, create a class with this here name! And *Abracadabra-Alakazoom*, Python goes ahead and creates a new class for us! As I wrote above, this is a factory, to create new somethingsomething objects.\nI can do that by just assigning it a name. Like Iron man summoning his suit out of thin air.\nsomethingblue = somethingsomething() And boom! The object `somethingblue` materialises! This is just a blank template, of course.\nI cannot do much with this. (Right now, I don’t even know, what I can imbue this with, or use it for :P)\nSo I guess, the rest of the course will probably deal with how to make classes work and function the way I want them to.\nI can add attributes to my classes just by declaring them.\nsomethingblue.color=\u0026#39;sky\u0026#39; or\nsomethingblue.liquid=\u0026#39;ocean\u0026#39; or\nsomethingblue.code=0x0000FF And then i could `dir(somethingblue)` and it will give me them attributes, along with a list of everything it has inherited from the parent class (here the `type` class) A neater way of looking at only what I defined, is to do vars(somethingblue)\nAha\nHeuristic - While i can add attributes willy-nilly to any object I want to, it’s bad form.\nThe idea being that the factory (the class) should ideally provide a set of default attributes and values, so that not too much monkeying is required.\nThis process/template of assigning sane attributes is called a constructor.\nThe way we create a class is two fold (very Smalltalk-esque)\nI create a class. I add its attributes. So when Python goes to create an object of the class, it does it like quite similarly\nit creates as new object when i say object = class_whatever(), using the __new__ method it then goes looking to see if there is an __init__ method in the class, and if it exists, then to use that to setup the default attributes it uses the self (by convention) argument, to assign those attributes to the object. (I am applying shampoo to mine own self) and then assigns it to the variable that’s supposed to catch the instance.\n(I always somehow assumed it was the other way around. A variable in memory was assigned and then created like a building. This is more nature like. Stuff grows and then is assigned a name)\nI can absolutely go do what I want, assign attributes however, but if I want to stay sane, I’d rather follow convention And that’s about all I studied today.\nFollow along the my Python OOP train here.\nP.S. The Feynman Method.\n","date":"8 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-001-beginning-with-classes/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 001 - Beginning With Classes","type":"work"},{"content":"How do I begin this post?\nBy simply beginning :) Again!\nThis probably is the fourth (or is it fifth) time, I’ll be attempting to learn how to program.\nAnd probably the same number of attempts at #100DaysOfCode.\nI did 47 days last time and 37 days before that.\nI will try my utmost to go the distance this time.\nBecause even if I didn’t complete a full run, I still learnt tonnes from all my previous efforts.\nI do have a beginner’s grasp of Python.\nAnd I hope get even better, much better, this time.\nWhat am I going to do?\nWell, I want to do Miguel Grinberg’s Flask Course, but as I stumbled through it the last time, and when I read other folks’ code, I realised that I need to get much better at understanding Object Oriented Programming.\nSo that’ll be the focus now.\nAnd Reuven Lerner’s OOP Course is what is going to help me.\nSo here I set sail again …\nNow, bring me that horizon!\n","date":"8 juillet 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-000-begin-again/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 000 - Begin Again","type":"work"},{"content":"","date":"7 juillet 2020","externalUrl":null,"permalink":"/tags/%2330daysofemacs/","section":"Tags","summary":"","title":"#30DaysOfEmacs","type":"tags"},{"content":"Unlike #100DaysOfCode, I am not quite giving up on Emacs.\nRather that it has turned out to be a habit that has fit in, quite well, and I don’t need this accountability any more.\nI use it for most of my prose (not code, yet.)\nThis post, is in fact, written in Emacs :)\nI have not gained any modicum of knowledge by any means.\nBut I have enough muscle memory and immersion, to make sure I will continue using Emacs for most writing I do.\nFinding Jason Blevins’ Markdown Mode was what did it for me.\nI did not realise, I wrote as much Markdown as I did :)\nI can move about, write, save, edit, and preview Markdown and prose.\nThis is enough to turn it into a daily driver for me.\nThe next steps now are to get more fluent in Emacs and then slowly explore all the other things I can do with it … Writing code, corralling files, and using it as an organiser!\n","date":"7 juillet 2020","externalUrl":null,"permalink":"/work/emacs-final-day/","section":"Work","summary":"","title":"Emacs, Final Day!","type":"work"},{"content":"In a world where Atomic Habits, did not exist, I’d call Tiny Habits the best book on behavioural change and habit building.\nOr maybe, I am biased because I read James Clear’s book first.\nJust like Cal Newport took Anders Ericsson’s work and ran with it; so did James build on BJ Fogg’s.\nTiny Habits is lovely, has pretty tables and is a lovely engaging read.\nIf you want to change your behaviour, you simply cannot go wrong by learning from the man, who has taught many of our modern day influencers like Ramit Sethi or Instagram founder, Mike Kreiger.\n","date":"6 juillet 2020","externalUrl":null,"permalink":"/personal/tiny-habits/","section":"Personal","summary":"","title":"Tiny Habits","type":"personal"},{"content":"Practiced moving around with the Emacs keys for 30 mins\n","date":"2 juillet 2020","externalUrl":null,"permalink":"/work/emacs-day-05/","section":"Work","summary":"","title":"Emacs, Day 05","type":"work"},{"content":"Learnt all about movement and search today.\n","date":"1 juillet 2020","externalUrl":null,"permalink":"/work/emacs-day-04/","section":"Work","summary":"","title":"Emacs, Day 04","type":"work"},{"content":"Too tired, so just worked my way through the Anki deck for a bit today.\n","date":"30 juin 2020","externalUrl":null,"permalink":"/work/emacs-day-03/","section":"Work","summary":"","title":"Emacs, Day 03","type":"work"},{"content":"Had an extremely busy day with studies today, so could not spend time learning much Emacs.\nDecided to do a little bit of plucking the low hanging fruit and customising Emacs a bit to my liking.\nI created an init.el file in the emacs.d folder in my home directory, to add all my custom stuff into.\nAdding Package Managers # Yesterday, I had learnt, that I could install additional functionality by downloading extra Emacs packages from the GNU repo at ELPA.\nBut since the FSF requires the authors to fork over their copyrights to them, (and most authors being justifiably, unwilling), most packages are found at third party package sites, like MELPA and the now discontinued Marmalade.\nSo I added this little snippet to my init.el to add the repos to my Emacs.\n(setq package-archives \u0026#39;((\u0026#34;gnu\u0026#34; . \u0026#34;http://elpa.gnu.org/packages/\u0026#34;) (\u0026#34;melpa\u0026#34; . \u0026#34;http://melpa.milkbox.net/packages/\u0026#34;))) and then restarted my Emacs, for it to see the new repos.[^1] And that led me to,\nMarkdown Mode # I realised that, the best way for me to learn Emacs, would be to write in Emacs.\nAnd I write, most of what I write, in Markdown.\nI had also learnt that Emacs has modes, which basically adapt Emacs and related shortcuts to the task at hand.\nI went looking to see if there was something that would help me write Markdown more easily and found Jason Blevins’ excellent Markdown Mode for Emacs. 1\nSince I had MELPA configured, it took only a few seconds to get Markdown mode installed.\nAll I had to do was M-x package-install RET markdown-mode RET\n(that is, mash the ALT-x keys, then type package-install, hit the return/enter key, then type markdown-mode followed by another return.)\nMore details on installation and usage at the Markdown Mode site.\nA couple of minutes with it and I’m blown away.\nI’ve heard of people switching to Emacs to use the excellent Org Mode, for taking notes and task organisation.\nI am a convert to Emacs for Jason’s Markdown Mode.\nAnd then to round up the day, I also installed the Ayu theme, because I love it and use it everywhere I possibly can :) 2\nMore tomorrow!\nExcellent choice of name, Jason! High Five!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nBeen a fan, ever since I saw it in a Corey Schafer video.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"29 juin 2020","externalUrl":null,"permalink":"/work/emacs-day-02/","section":"Work","summary":"","title":"Emacs, Day 02","type":"work"},{"content":"Slowly making my way through the Mastering Emacs book.\nThings I did / learnt today …\nLearnt that if I want to run Emacs all over the place (like I do), then the best thing to do is to have Emacs, running as a daemon in the background. So I did that via the handy systemd instructions, on this page. And that Emacs has a kitchen sink’s worth of commands. And that Emacs commands are like playing chords on the guitar or piano. You just hit a few of them in a sequence to get the desired sound (or action in this case) C-g, the Control and the G keys get me out of a jam, if I am stuck. Found Jess Hamrick’s really useful post, on moving about and buffers and frames and stuff. Got myself a basic emacs Anki deck. And I learnt how to move about. All in all, a pretty good day.\nFollow my Emacs journey here\n","date":"28 juin 2020","externalUrl":null,"permalink":"/work/emacs-day-01/","section":"Work","summary":"","title":"Emacs, Day 01","type":"work"},{"content":"Life is really kicking my butt right now.\nAnd the 12th studies are not making it any easier.\nSo am temporarily giving up on A Hundred Days of Code, again.\nHopefully, I will have the time to give Python, in a month.\nIn the meanwhile, with the limited time I do have, I’d like to learn me some Emacs.\nWill write about it everyday.\n","date":"27 juin 2020","externalUrl":null,"permalink":"/work/premature-end-to-a-hundred-days-of-code-welcome-to-a-month-of-emacs/","section":"Work","summary":"","title":"Premature end to a Hundred Days of Code. Welcome to A Month of Emacs","type":"work"},{"content":" It’s an Audible Original.\nAnd it’s “free”, if you are an Audible member.\nA look into what Empire means today.\nIt’s a series of engaging podcast episodes on what being a part of the British Empire meant/means for its subjects and its descendants, with stories from across the globe.\nMy only quibble being they did not go deep enough.\nThe people being interviewed are mostly, subject descendants of British origin (and not as I would expect, an actual survivor from the partition or someone here in India, or Somali coast or Sierra Leone.)\nNo one knows much of the aftermath of Partion and there’s a lovely little story, tightly told that illustrates the horrors of the period.\nSomalia was used, abused, robbed of all they had and then left to find for itself.\nBunce Island, in Sierra Leone was home to a slaver’s bay, where the island hosted a prison for the captured natives who were branded and sold as slaves and a golf course for the gora sahibs.\nWhat struck me (from the interviews and some of the reviews) is that the British have no clue of the generational ramifications of their actions.\nThey think that enough time has passed by, it’s all water under the bridge and we ought to have picked ourselves by our bootstraps by now.\nI realise why Tharoor demanded reparations.\nAt about three hours, it’s well worth a listen.\n","date":"20 juin 2020","externalUrl":null,"permalink":"/personal/we-need-to-talk-about-the-british-empire/","section":"Personal","summary":"","title":"We Need To Talk About the British Empire","type":"personal"},{"content":"","date":"18 juin 2020","externalUrl":null,"permalink":"/tags/flask/","section":"Tags","summary":"","title":"Flask","type":"tags"},{"content":"Lost a friend to the virus last night.\nAnd a shit-ton of personal issues have cropped up at the same time.\nNeed to go handle and process all of this.\nWill be back, when I am back.\n","date":"18 juin 2020","externalUrl":null,"permalink":"/personal/hiatus/","section":"Personal","summary":"","title":"Hiatus!","type":"personal"},{"content":"Just the two popular ones here …\nDickens writes such fluid prose here, I would quote the whole book.\nIt was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way\u0026ndash;in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only.\nIt is a far, far better thing that I do, than I have ever done; it is a far, far better rest that I go to than I have ever known.\n","date":"17 juin 2020","externalUrl":null,"permalink":"/reading/a-tale-of-two-cities/","section":"Reading","summary":"","title":"A Tale of Two Cities","type":"reading"},{"content":"Follow my whole plodding, Flask journey here.\nCrashed and burned even harder today.\nTried to retrace my steps and did all the exercises again.\nI reached, once more, all the way upto the forms chapter and it just does not work. Now it won’t even display my login page.\nWas it worth doing?\nOh yes.\nI gained a much better understanding of how Flask works, of what is required where.\nWill work once more at the login page tomorrow.\n","date":"17 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-047/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 047","type":"work"},{"content":"Follow my whole plodding flask journey here..\nAm still stuck at where I was yesterday.\nBut made a tiny bit of progress.\nYesterday, it would not even submit the form.\nAnd now I got it to do that.\nHow? I had forgotten to close the form tag.\nNow while I see that it is posting perfectly in the terminal, I cannot get it to reply with a message saying that I indeed have logged in.\nWill start watching the videos again tomorrow, to see if I have missed something.\nOne thing that I am doing different from the course, is that I am using the new style f-strings, while the course uses a slightly older style.\nCould it be, that some flask module might not like it?\nWill work at it tomorrow and write down, what I figure out.\n","date":"16 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-046/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 046","type":"work"},{"content":"Follow my whole plodding journey here.\nWrote a basic login form today.\nShort story short, it shows up, but it does not respond like Miguel shows in the course. It justs sits there … staring back at me … like an obstinate goat.\nWill go spelunking into what I could have done wrong, tomorrow.\nLearnt about adding routes and creating views and making templates.\nThoroughly confused though.\nWhile I am dumbly following instructions right now, what I don’t get, is what do I need to write first? It all seems very circular to me.\nWhat comes first? The route, the form, the template, the chicken or the egg?\nHopefully, I will gain clarity as I progress.\n","date":"15 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-045/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 045","type":"work"},{"content":"If you want a picture of the future, imagine a boot stamping on a human face … forever.\nThat, probably is the quotable line, I found.\nThe book’s terrible, and I hated the story (too bleak, too dystopian).\nThe only reason for its popularity is that events in real life, are proving Orwell right.\n","date":"13 juin 2020","externalUrl":null,"permalink":"/personal/orwells-1984/","section":"Personal","summary":"","title":"Orwell’s 1984","type":"personal"},{"content":"Continuing the Flask course.\nLearnt about seperation of concerns today.\nTo me that means that I should try to keep related things together and disparate stuff apart.\nCase in point, we1 created a seperate file config.py to store the variables about the program in. And then to kind of secure it even more, instead of hardcoding the password in the file, it now looks for an environment variable, which I need to set before running the program.\nAnother example was when we created a seperate file to process input (for our logins) and then put all the login, password etc. fields in there. This feels good. Feels like I am learning best practices and good habits already.\nThe file I created to process login input, is called a form (as in fill in this form? guess so) and uses the WTForms package to do the heavy lifting.\nAnd that was where I learnt my next bit. Not only is Flask, made of modular pieces, it also has an ecosystem of various other modules (called flask extensions) that give it extra functionality, oomph and power.2\nAnd here’s where I called it a day.\nWho we? Why, Miguel the instructor and me, of course XD\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nWTForms is an example\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-044/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 044","type":"work"},{"content":"In my youth, I came across the work of [Robin Williams][rw].\nNo, [not that one.][rwa]\nShe introduced me to the beauty of [CRAP][crap].\nAnd the fact that the PC is not a typewriter.\nBut most of all, she introducted me to the [beauty of type][tndtb] and [design][tnddb]\nFonts, and line spacing and kerning and everything else lovely, about the written word.\nAnd now if you want all that wisdom distilled, into a short, opinionated, beautiful web series, look no further than Matthew Butterick’s, [Practical Typography][pt].\nThe content is freely given, and the book is [reader supported][rs]\nWhat is typography?\nWhat is type composition?\nHow do you format text?\nAre there two spaces after a line? Or one?\nWhat are the best fonts to use, instead of tired old Times New Roman?\nHow do you layout your page for a letterhead? a research document? a presentation? a résumé?\nAnd why in God’s name, does typography even matter? Isn’t print dead?\nAnswers to these, and many more questions in the book.\nIf you want your prose to look polished, you owe it to yourself to read it. [rw]: https://www.peachpit.com/authors/bio/e26dd8f0-52aa-4ce5-9852-28f3fa1e3417 [rwa]: https://en.wikipedia.org/wiki/Robin_Williams [crap]: https://vwo.com/blog/crap-design-principles/ [tndtb]: https://www.goodreads.com/book/show/41601.The_Non_Designer_s_Type_Book [tnddb]: https://www.goodreads.com/book/show/23846768-the-non-designer-s-design-book [pt]: https://practicaltypography.com/ [rs]: https://practicaltypography.com/how-to-pay-for-this-book.html\n","date":"12 juin 2020","externalUrl":null,"permalink":"/reading/buttericks-practical-typography/","section":"Reading","summary":"","title":"Butterick’s Practical Typography","type":"reading"},{"content":"Continuing with the Flask course.\nToday I learnt about how to loop, using Jinja loop blocks.\nThe syntax is slowly becoming clear to me.\nEverything python related in enclosed is {% … %} blocks, except for variables which use their own {{ … }} syntax.\nWhat I am still confused on is the relationship between the various files, I am writing. There is html and then there are templates and there are python files themselves. Hopefully that will get clearer in the days to come.\nMy naïve understanding, right now, is\nSome native python code is mainly for launching and running the app. The html templates pull data from … The flask python code I write (the routes file, as of now). I also learnt how to extend templates. I created a base template that basically contains the header and the title, which will now be used by every new webpage I build. Right now, it’s just the home page.\nI can see a footer or header or some such persistent element that needs to be on every page, that can be created once and then extended multiple times.\nMore, tomorrow …\nP.S. Looking at that finished app, and knowing my extremely rudimentary Python skills, I feel like an apprentice mason, hammer and a chisel in hand, wondering, how in heck, am I going to carve David?\n","date":"12 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-043/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 043","type":"work"},{"content":"Word for word, the most epigramatic book I have read.\nShort, sweet and beautiful words and lines and dialogue.\nHere’s a few.\nThe books that the world calls immoral are books that show the world its own shame.\nExperience is merely the name men gave to their mistakes.\nNowadays people know the price of everything and the value of nothing.\nChildren begin by loving their parents; as they grow older they judge them; sometimes they forgive them.\nNothing can cure the soul but the senses, just as nothing can cure the senses but the soul.\nThere is no such thing as a moral or an immoral book.\nBooks are well written, or badly written. That is all.\nMan is many things, but he is not rational.\nPeople are very fond of giving away what they need most themselves. It is what I call the depth of generosity.\nWe can have in life but one great experience at best, and the secret of life is to reproduce that experience as often as possible.\nWe live in an age that reads too much to be wise, and that thinks too much to be beautiful.\n","date":"12 juin 2020","externalUrl":null,"permalink":"/reading/the-picture-of-dorian-gray/","section":"Reading","summary":"","title":"The Picture of Dorian Gray","type":"reading"},{"content":"Second day with the Flask course.\nBeginning to realise that Flask is not a monolithic thing, but consists of a lot of moving parts.\nLooking forward to learning what they are as I progress along.\nToday I learnt how to set my Flask variable, and create an environment, so that I can run Flask consistently without problems.\nMiguel also teaches a simple, yet effective way to combat yak shaving.\nYou know, where all you want is one simple thing, but then that depends on that other thing, which reminds you that you need that third thing and the next thing you know, you’re at the zoo, shaving a yak, all so you can wax your car.\nJust don’t do that other thing.\nFocus on what you are doing.\nIf there is something you need, use a dummy. Mock something up.\nThis is a very real, meta lesson, that I’ll carry with me for the rest of my days.\nSo I learnt how to return a web page.\nAnd that got tiring really quickly.\nWhich is when Miguel introduced me to templates.\nAnd I realise why they are needed.\nI created a basic template and also learnt about conditionals in the templating language, Jinja and then I called a stop to the day.\nMore to follow tomorrow.\n","date":"11 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-042/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 042","type":"work"},{"content":"Started to very slowly do the Mega Flask Tutorial.\nThis real world project-cum-tutorial, should let me learn more real-world-esque Python and expand beyond the tiny vocabulary, I have.\nSetup my environment today and created a baby flask app.\nEven that had something to teach me.\nI could not quite wrap my head around decorators, the first time I read about them and this tiny app uses routes in the form of decorators.\nWhich meant, I had to go read about them and understand them first.\nRoutes are paths.\nAnd decorators are something (a function/class) that take your existing code and enclose it, whilst giving it extra functionality.\nIn my case, my code just printed a line.\nAnd the route decorators, in my case, took that code and assigned it to a web page of my choosing.\nRight now the home page is assigned to that line.\nAnd if I choose to, I could assign any other url to that same line.\nThis was hard, but fun.\nLooking to do more of this slow steady work over the coming weeks.\n","date":"10 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-041/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 041","type":"work"},{"content":"Done with the Talk Python course.\nAnd now to shift to low intensity Python learning while I ramp up studies for the 12th exams.\nWill probably learn Flask with Miguel Grinberg.\n","date":"9 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-040/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 040","type":"work"},{"content":"More muddling, more plodding\n","date":"8 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-039/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 039","type":"work"},{"content":"Does not feel like I did anything today.\nBut I know my plodding will pay off.\n","date":"6 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-038/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 038","type":"work"},{"content":"Decided to reread the old stories I had read in my childhood.\nStarted with Ben–Hur.\nYou might know the movie, more the book.\nAdventure, slave galleys, a love triangle, and of course really well written historical fiction.\nLoved it so much that I went and got the rest of Lew Wallace’s fiction.\nThe rains are going to be so much more enjoyable :)\n","date":"6 juin 2020","externalUrl":null,"permalink":"/reading/ben-hur/","section":"Reading","summary":"","title":"Ben Hur","type":"reading"},{"content":" It calls itself, an eco thriller.\nBut that is selling the series short.\nIt’s a lush, beautiful soundscape.\nThe forests still ring in my ears.\nThe drums still thump.\nThe future is chilly and industrial.\nThe writing and the dialogue are crisp.\nAnd most importantly, it has an all woman cast.\nAnd that is all I am willing to share.\nFind the podcast here. It says episodes available indefinitely.\nSo go have fun!\nI binged it. I’m sure you will too.\n","date":"5 juin 2020","externalUrl":null,"permalink":"/personal/forest-404/","section":"Personal","summary":"","title":"Forest 404","type":"personal"},{"content":"More learning.\nDid about an hour today.\nTried figuring out how to read in a csv manually.\n(and then, he thanks God for libraries)\nWill keep chugging away at this.\n","date":"5 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-037/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 037","type":"work"},{"content":"While the storm passed us by, it bought upon us a day of no power.\nSo I just deciced to make the most of it and read a book, I’ve wanted to, for quite a while.\nFinished Jon Stokes’, “Inside the Machine”.\nThis book is like a 5000 feet, overview on how the CPU inside a computer works.\nIf you’re curious like me, and don’t want to delve into the nitty-gritties of Computer Science, this is just the book for you.\nStarting with a fictional CPU and then racing through the Intel/AMD (x86, IA-64, x86-64) and AIM (Apple, IBM, Motorala - PowerPC) line of CPUs, this is a wonderful exposition of how the brains in your computer work.\n(spoiler, they are really dumb and plenty fast!)\nThis was a wonderful, wonderful, book!\nI cannot wait for the new edition to arrive!\n","date":"5 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-036/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 036","type":"work"},{"content":"","date":"5 juin 2020","externalUrl":null,"permalink":"/tags/br-notes/","section":"Tags","summary":"","title":"Br-Notes","type":"tags"},{"content":"Nothing much done today.\nBut I am learning to pace myself and say stop :)\nLearnt some, about finding the absolute path of a file.\nAnyhoo, nothing much I can do.\nA gigantic, storm’s a-comin’!\nTime to batten down the hatches.\n","date":"3 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-035/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 035","type":"work"},{"content":"Ok, back from hiatus, much earlier than expected :)\nNeed to take care not to burn myself out now.\nI need to do this slowly.\nDone with a tiny program, Kushal asked me to write.\nIf you download a log from the DGPLUG log archive and then run the program and give it the filename, it’ll spit out a list of how many nicks, spoke how many words.\nThe code is here, Gitlab and Github\nI’ve written this program before, and this time I wanted to use Regular Expressions in the program.\nI went and learnt Regex.\nAnd then came and found out all I needed, was such a teensy bit of what I learnt XD\nHowever, the combination of Python and Regular Expressions is quite compelling to me.\nAnd I have a ton of more important work, suddenly.\nSo the plan, now going forward is to first finish up the Talk Python course and then to practice Python and Regex, until I am comfortable.\nIf I feel like writing something whimsical in the middle, I sure will.\nThe important part, I realise, is to do this slowly and steadily.\nI commit to working two hours a day, five days a week.\nNo use burning myself out again.\nP.S. Forgot to add, that the hundred days of code for me, is now a hundred and sixteen days :)\n","date":"2 juin 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-034/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 034","type":"work"},{"content":"Help the folks, who need your help the most at this hour!\nDonate to Goonj, to help our daily wage earners and labourers.\nclick to embiggen\n…\nI said to him: “Mr. Muir, someone told me you did not approve of the word ‘hike.’ Is that so?” His blue eyes flashed, and with his Scotch accent he replied: “I don\u0026rsquo;t like either the word or the thing. People ought to saunter in the mountains - not hike!”\n“Do you know the origin of that word ‘saunter?’ It’s a beautiful word. Away back in the Middle Ages people used to go on pilgrimages to the Holy Land, and when people in the villages through which they passed asked where they were going, they would reply, ‘A la sainte terre,’ ‘To the Holy Land.’ And so they became known as sainte-terre-ers or saunterers. Now these mountains are our Holy Land, and we ought to saunter through them reverently, not ‘hike’ through them.”\n— John Muir, A Parable of Sauntering\nP.S. Subscribe to my mailing list! Forward these to your friends and get them to subscribe! P.P.S. Feed my insatiable reading habit.\nP.P.P.S. The newsletters will now take a short holiday for about a month. Will see you soon!\n","date":"25 mai 2020","externalUrl":null,"permalink":"/personal/mountains-holy-lands/","section":"Personal","summary":"","title":"Mountains, Holy Lands!","type":"personal"},{"content":"","date":"25 mai 2020","externalUrl":null,"permalink":"/tags/qotd/","section":"Tags","summary":"","title":"Qotd","type":"tags"},{"content":"The blog will be silent for a month or so. I need to focus on a couple of other things.\nWill be back soon.\n~\n","date":"23 mai 2020","externalUrl":null,"permalink":"/personal/the-blog-takes-a-short-hiatus/","section":"Personal","summary":"","title":"The Blog Takes a Short Hiatus","type":"personal"},{"content":"I fell sick, and now I seem to have personal issues because of quarantine.\nSo a bit of hiatus. But I’m not abandoning it this time.\nWill add all the days I missed and keep going, once I am back.\nWhich I really hope, is soon.\n","date":"22 mai 2020","externalUrl":null,"permalink":"/personal/short-hiatus-on-a-hundred-days-of-code/","section":"Personal","summary":"","title":"Short Hiatus on A Hundred Days of Code","type":"personal"},{"content":"","date":"19 mai 2020","externalUrl":null,"permalink":"/tags/mosh/","section":"Tags","summary":"","title":"Mosh","type":"tags"},{"content":" Install Mosh on both ends allow udp access for mosh on the server (the example is for the ufw firewall) sudo ufw allow 60000:61000/udp connect like normal. if using a different port do this mosh user@domain.com --ssh=\u0026#34;ssh -p 2222\u0026#34; ","date":"19 mai 2020","externalUrl":null,"permalink":"/work/mosh-install-checklist/","section":"Work","summary":"","title":"Mosh Install Checklist","type":"work"},{"content":"Help the folks, who need your help the most at this hour!\nDonate to Goonj, to help our daily wage earners and labourers.\nclick to embiggen\nA young boy became a monk.\nHe dreamed of enlightenment and of learning great things.\nWhen he got to the monastery he was told that each morning he had to chop wood for the monks fires and then carry water up to the monastery for ablutions and the kitchen.\nHe attended prayers and meditation, but the teaching he was given was rather sparse.\nOne day he was told to take some tea to the Abbot in his chambers.\nHe did so and the Abbot saw he looked sad and asked him why.\nHe replied every day all I do is chop wood and carry water.\nI want to learn.\nI want to understand things.\nI want to be great one day, like you.\nThe Abbot gestured to the scrolls on shelves lining the walls. He said,\n‘When I started I was like you. Every day I would chop wood and carry water.\nLike you I understood that someone had to do these things, but like you I wanted to move forward.\nEventually I did.\nI read all of the scrolls, I met with Kings and and gave council.\nI became the Abbot.\nNow, I understand that the key to everything is that everything is chopping wood and carrying water, and that if one does everything mindfully then it is all the same.’\nI don’t know, where I got this story from. Probably one of Anthony De Mello’s books.\n","date":"18 mai 2020","externalUrl":null,"permalink":"/personal/chop-wood-carry-water/","section":"Personal","summary":"","title":"Chop Wood, Carry Water","type":"personal"},{"content":"Done with an introductory Regular Expressions book.\nPicked up an advanced one.\nMy physio used keep to telling me, that we needed to loosen and pry my hips open to expand my range of motion.\nThese past few days have been the same, with respect to pattern matching using Regular Expressions. These lessons have been prying my brain open to a new way of thinking about words and characters.\nFrom the way things are going, I think I will be spending the better part of next week on Regular Expressions too.\nIt’s still hard work, but it’s getting to be enjoyable hard work now.\nI need to pace myself better and slow down.\nI burnt myself out this week.\nOnwards …\n","date":"16 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-033/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 033","type":"work"},{"content":"Done with Introducing Regular Expressions, by Michael Fitzgerald.\nThe subtitle, of the book says it all.\nUnraveling Regular Expressions, Step-by-Step\nMichael is a funny, patient and pithy author.\nThe book breaks down the basics of Regular Expressions into its components and then walks through explaining them in examples, line by painstaking line.\nAny book that uses Coleridge to teach me Regular Expressions is awesome, so I’m biased :)\nDefinitely worth a read if you are brand new to the powerful world of RegEx.\n","date":"16 mai 2020","externalUrl":null,"permalink":"/work/introducing-regular-expressions/","section":"Work","summary":"","title":"Introducing Regular Expressions","type":"work"},{"content":"Did this short course to get myself upto speed with Regular Expressions, since the books I was trying to read were not quite doing it for me.\nIt’s short, sweet and extremely thorough.\nAfter this I don’t quite know regex, but I’m no longer lost at sea.\nI’ve now picked up a book and I get what they are talking about now.\nThe book and lots of practice, should get me to where I want to be with Regular Expressions.\nI’m sweating this, because I’ve realised, this is an important skill, I need to have.\n","date":"15 mai 2020","externalUrl":null,"permalink":"/personal/python-regular-expressions-real-world-projects/","section":"Personal","summary":"","title":"Python Regular Expressions - Real World Projects","type":"personal"},{"content":"Done with the Regular Expressions videos I was watching.\nNow switched to a book. Hope I am done by tomorrow, so I can get on with what I actually want to do!\n","date":"15 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-032/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 032","type":"work"},{"content":"Only managed a half hour of learning regex.\nThe day seems to have gone to the dogs.\nHope to do better tomorrow!\n","date":"14 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-031/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 031","type":"work"},{"content":"Pleased as punch, with my Miniflux instance.\nRSS, is how I catch up with everything newsy and techy and with what people I want to hear from, have to say.\nI love it.\nI did face one teensy issue with it though.\nEvery time I rebooted my machine, the Miniflux service would fail to start.\nI would just manually do a systemctl restart miniflux and it would start right up, with that innocent doggy face.\nimage courtesy, Beverly \u0026amp; Pack, on Flickr\nThe last few days however, it’s been niggling me no end, because I have been rebooting the box ever so often.\nOnly when I go check up on RSS, at the end of the day or in the morning, do I realise something’s off.\nSo I checked up on Miniflux today, with a systemctl status miniflux\nAnd I saw,\nMay 14 04:52:40 minmachine miniflux[706]: [FATAL] You must run the SQL migrations, the database schema is not up to date: current=v0 expected=v28 That did not sound right.\nI religiously do a migrations step, every time it’s needed.\nAnd then the penny dropped.\nThe current version of the schema, according to the error, was v0\nThat was not at all in line, with what I used to see, whenever I migrated.\nIt used to run from v25 to v26 to whatever. (These are not the actual numbers, I’m just pulling them out of my ass :P)\nNot v0\nIt struck me that Miniflux might be starting up, before the database it uses, does.\nSo I just modified my Miniflux systemd script1 to startup after the database.\nLike so …\n[Unit] Description=Miniflux Service Requires=postgresql.service After=network-online.target postgresql.service Disable service, enable service, reboot system to check if all is well, and all that jazz …\nAnd et voilà! Problem solved!\nMiniflux and me, sitting in a tree … h-a-p-p-i-e-e!\nI use the helpful script miniflux.service from the docs.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"14 mai 2020","externalUrl":null,"permalink":"/work/miniflux-service-fails-to-start-at-boot/","section":"Work","summary":"","title":"Miniflux Service Fails to Start at Boot","type":"work"},{"content":"Did not have much time to study today.\nWas busy putting out fires at work.\nSpent an hour learning Regular Expressions though.\n","date":"13 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-030/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 030","type":"work"},{"content":"Awfully proud of myself today.\nI wrote little program to scratch an itch, I had.\nIt’s still rough, but it does what I want it to, and that makes me happpy.\nI go to Poetry Foundations’ Poem of the Day ever so often to catch a poem.\nAnd I wondered, what if the daily poem showed up in my RSS reader everyday?\nI searched and unfortunately couldn’t find a feed.\nSo I did the next best thing.\nArmed with my newly acquired, Python knowledge, I set out to see if I could just get a link to a new poem daily.\nAnd what I ended up doing was writing a program, that scraped the webpage metadata for the date, compared it to today and if it was, created a baby xml feed for me, that I have now put into my reader.\nIt’s a blank entry. The title takes me to the poem foundations page, so I don’t miss a day.\nI put the program on my linode and then scheduled a cron job that runs the script once a day and moves the xml file to the appropriate place.\nToday’s run was brilliant. Let’s see if it holds up tomorrow.\nRight now it just overwrites the current item, since that is all I need.\nBut I could also look at building a list of daily items, if I so desire, later.\nI need to just show up every day, for this positive ratchet to continue.\nLike Seth says,\nThe hard part is “steady.”\nAnyone can go slow. It takes a special kind of commitment to do it steadily, drip after drip, until you get to where you\u0026rsquo;re going.\nThe code as usual, is here on Gitlab and Github1\nI still have to document it. But I will save all that for another day. More practice to do!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"12 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-029/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 029","type":"work"},{"content":"This probably will be a few days of bike shedding.\nI finally came up with a problem, I want to solve for myself and then realised, I don’t know enough command line fu to integrate my stuff with my operating system, the way I like.\nSo I am going to spend time, learning how to use the bash shell.\nBeen searching, copying and modifying scripts for far too long now.\nBest to get this skill in my kitty as soon as I can possibly learn it.\nP.S. Learnt enough in a marathon 12 hour session to be dangerous, to know what I want and look it up.\n","date":"11 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-028/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 028","type":"work"},{"content":" Help the folks, who need your help the most at this hour! # Donate to Goonj to help our daily wage earners and labourers. # click to embiggen\nThe time will come\nwhen, with elation,\nyou will greet yourself arriving\nat your own door, in your own mirror,\nand each will smile at the other’s welcome,\nand say, sit here. Eat.\nYou will love again the stranger who was your self.\nGive wine. Give bread. Give back your heart\nto itself, to the stranger who has loved you\nall your life, whom you ignored\nfor another, who knows you by heart.\nTake down the love letters from the bookshelf,\nthe photographs, the desperate notes,\npeel your own image from the mirror.\nSit. Feast on your life.\n— Derek Walcott, Love after love.\nPair with these beautiful odes to the poem and the poet.\nP.S. Subscribe to my mailing list!\nForward these to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"11 mai 2020","externalUrl":null,"permalink":"/personal/reflection/","section":"Personal","summary":"","title":"Reflection","type":"personal"},{"content":"Realised that while I do know rough and tumble basic Python, I have a long way to go before I can do things or even understand things.\nHalf of my frustration writing, is because I cannot do the things, I want to do, and I struggle along and by the time, some generous friend shows me or I find the answer on the net, I realise that I don’t know this part of Python at all!\nI have a vocabulary problem. I know to talk like a child, not communicate like an adult.\nSo I have decided (let’s see how this pans out) to spend Saturdays learning something new about Python. Do some deep work.\nProbably once I know enough this time could be spent working deeply on a project.\nThe realisation is that I need to do both, study as well as practice to learn as fast as I can.\nTo that end, I went and learnt about classes in Python today.\nI used David Blaikie’s Python Beyond The Basics - Object Oriented Programming to get up to speed.\nThis was an excellent, class on the basics of classes and their implementation in Python.\nI can honestly say, I know a lot more about reading and understanding Python code now that I have been through this class.\nClasses, the Three Pillars, Subclasses, Exceptions, Debugging … all the basics are there.\nNow, to put this knowledge to good use, in the coming weeks.\n","date":"9 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-027-python-beyond-the-basics-object-oriented-programming/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 027 (Python Beyond The Basics - Object Oriented Programming)","type":"work"},{"content":"","date":"9 mai 2020","externalUrl":null,"permalink":"/tags/learning-resources/","section":"Tags","summary":"","title":"Learning-Resources","type":"tags"},{"content":"With my area in near-quarantine, I was too busy rushing around, making sure family was ok.\nHad a lot of patches of free time, in the middle of things though.\nSo I decided to read about algorithms.\nI know I need a good base in the future, and knowing about the turtles that underlie my new world.\nI decided to start small, and picked up Grokking Algorithms.\nI loved it.\nIt taught me about the big low hanging basic problems that folks need to solve using computers and the patterns / recipes / algorithms we use to solve it.\nProblems like how to sort stuff (selection sort, quicksort) And how we can break down a big problem into a set of similar problems that get smaller and smaller and solving them all using a single solution from the inside of the problem onion, outwards, or from the smallest Matryoshka doll to the largest. (recursion)\nAnd how lists function and how to find the most efficient way to get from point A to point B.\nIt covers a set of the basic algorithms in use today and has plenty of pointers to more efficient ways of how things are done in the real world and also where to find more advanced problems.\nIt’s engaging, teaches its points with stories and pictures and has exercises to ensure you are paying attention.\nI loved it.\nI loved it so much, I finished it in a day :)\nIf you are just beginning and you want an easy way to understand what all this computer stuff is made of, this is a very good book.\n","date":"8 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-026/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 026 (Grokking Algorithms)","type":"work"},{"content":"To get over the hump of just blindly following videos, and after some talking over with Kushal, we got to me solving problems that he would gimme.\nSo now I can alternate between a regular path and real world practice.\nThe first couple were about using psutil to do various things.\nThe first one would give me back my CPU and memory usage, while the other one gives me what programs are using the network on which ports.\nThis was fun to do!\nCode’s here on Gitlab (1, 2) and on Github (1, 2)\n","date":"7 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-025/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 025","type":"work"},{"content":"Done with a new app!\nThis one is a small app that searches for some text you want, through a folder full of files. I learnt\nabout try / except blocks. this was necessary to catch non text files. learnt about recursive programming. I understand it in principle now. I need more practice. learnt about generators. This too, I get in principle, but need lots more practice. Code’s here on Gitlab and on Github.\n","date":"6 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-024/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 024","type":"work"},{"content":"Did a lot of work today.\nStruggling to understand how to use generators.\n","date":"5 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-023/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 023","type":"work"},{"content":"This probably should be my final day of doing nothing.\nAm stretching to finish up something, so that I can then give more time to this #100DaysOfCode endeavour.\nWish me luck.\nThe #100DaysOfCode stretches A Hundred and Five!\n","date":"4 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-022/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 022","type":"work"},{"content":" Help the folks, who need your help the most at this hour! # Donate to Goonj to help our daily wage earners and labourers. # Meghalaya In the vast abyss before time, self\nis not, and soul commingles\nwith mist, and rock, and light. In time,\nsoul brings the misty self to be.\nThen slow time hardens self to stone\nwhile ever lightening the soul,\ntill soul can loose its hold of self and both are free and can return\nto vastness and dissolve in light,\nthe long light after time.\n— Ursula K. Le Guin, How It Seems to Me\nRead more about this beautiful poem on Brain Pickings.\nP.S. Subscribe to my [mailing list][1]! Forward these to your friends and get them to subscribe! P.P.S. Feed my [insatiable reading habit][2]. ","date":"4 mai 2020","externalUrl":null,"permalink":"/personal/vastness/","section":"Personal","summary":"","title":"Vastness","type":"personal"},{"content":"Still busy with life.\nTaking tomorrow off too\nA Hundred and Four!\n","date":"2 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-020-021/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 020 \u0026 Day 021","type":"work"},{"content":"Life got in the way.\nToo much work.\nSo a hundred and two days to do!\n","date":"1 mai 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-019/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 019","type":"work"},{"content":"Started up with a new app. Let’s see how this one goes.\n","date":"30 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-018/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 018","type":"work"},{"content":"I have been wanting to switch careers to programming for a long time now.\nJust that juggling a part time job, home work, and a broken back, always kept me from somehow giving it the time, that that I needed.\nIt has been two years now.\nMy lowest ebb, was September last year, when I caught a really nasty bug, was laid up in bed, for nearly a month and then checked myself into a hospital because I thought I was having a heart attack.1\nIn the meanwhile, people have learnt stuff, gotten careers and rocketed up their charts while I sit here spinning my wheels.\nOr at least I used to think, I was spinning my wheels, until this month.\nIn my head, I used to be like, why is this so hard for me?\nI write this, to remind myself from getting discouraged.\nTo remind myself of the progress I made, even if it hasn’t been much yet.\nTo show my future self, that past Jason, was not a fat slob.\nHe worked his ass off. And he was resilient.\nI write this, because I had a few hard days again, but this time I don’t want to slide into a pit of despair once more.\nThe first thing, I reminded myself, was that everybody’s journey is different.\nWith my physical problems, it has not been easy to focus.\nI have to juggle a ton of things, as a husband, son, consultant, patient and student.\nAnd while it may seem all dark and gloomy, I was surrounded by incredibly loving and helpful people, which has made my journey, a lot easier than it would have been without them. My wife, my mother, my friends … all pillars of support!\nSo the pace I am at, might be much slower than other people, but it reminded me of something my physio said to me when I was sure, I would never be able to run more than 2 minutes straight.\nYou might be slow.\nYou might be fat.\nYou might be in pain.\nBut you will be better much sooner than other folks I know. Because you are doing it.\nWhile the rest are still sitting on their asses, moaning.\nThe second thing I did, was to take stock of how far, I have actually come.\nYes, I am not as financially well off as I would like to be.\nYes, life has kicked me in the nuts, more times, than I would like to count.\nBut I dug myself out of poverty.\nI am working myself to the best shape of my life.\nI could barely walk two years ago, and now I am practically running.\nI am steadily inching to being my weight in my early twenties (while being much fitter than I was then)\nSo the problem is not me.\nIt might take time.\nBut I can do this.\nAnd as I am doing this second public round of a hundred days of code, I realise all I have to do is to have no shame about my speed (or my abilities), and be resiient and persistent.\nAnd to remind me about just how far I have come, I write this down.\nI started nearly three years ago. I wasted a year, spinning my wheels.\nAnd then I found Kushal and DGPLUG. A more supportive mentor and a more welcoming community, I hadn’t experienced in my life. I am still learning from them. And they still teach me with unending patience. If you are ever on IRC, just come say hi on the #learnandteach channel on Freenode. I started learning the basics from a kids book, because the big ones were confusing.\nI tried learning python after that, but I failed.\nI tried lots of books, and online sites, but I just could not get it.\nI realised that just learn the syntax and go, does not do a thing in my brain.\nOr the excellent Python for You and Me would have been just the ticket.\nThen I realised that maybe learning more basics would help.\nAnd that this was not something I could learn in a few weeks or months.\nSo I studied the raw basics of computer science, so I could understand, what was what.\nAnd then I understood some.\nI then took my time and read the biggest non fiction book I ever read in my life. The Lutz Python Book. And I understood some more.\nI went and watched a series of videos by some kid on youtube.\nAnd I understood some more.\nJust doing all this took the better part of a year and a half.\nNow here I am.\nOn the cusp of a moment, when I think the dam might break.\nBecause things make sense faster now.\nI can read what other people write and actually understand.\nI can think for myself and write short programs.\nI can understand what the other folks teach and get it.\nFrom here on, it seems just like a matter of loads of practice.\nI write this though, to remind myself, that if this moment is not to be, then I needn’t worry.\nI can see how far I have come.\nI will do this.\nAll I need to be is shameless in my learning, patient in my attitude, and resilient in my mind.\nP.S. I realised all this was inspired by an old Aurelius quote,\n“True good fortune is what you make for yourself. Good fortune: good character, good intentions and good actions.”\nSpoiler. It wasn’t. Just an enlarged spleen acting up due to complications from the bug. Still serious. Just not a heart attack :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"29 avril 2020","externalUrl":null,"permalink":"/work/the-long-road-i-took-to-learn-basic-python/","section":"Work","summary":"","title":"The Long Road I took to Learn Basic Python","type":"work"},{"content":"Finally done with the program!\nIt’s a tiny little game.\nYou’re a wizard battling monsters in a forest.\nThis was really difficult for me to write and understand.\nBut I kinda do now, and am better off for it.\nTotally worth the slog.\nI learnt,\nthe basics of object oriented programming how to write classes how to inherit classes the basics of polymorphism I’d heard of programming ‘paradigms’ before.\nOOP was one of the most bandied about terms I’d heard.\nAnd now that I am slowly understanding stuff, it seems more and more to me, that most stuff is nothing fancy.\nIt’s just a name. It’s just a name, so that you can convey a lot of information to others in just a few words.\nAnd I realise that all these holy wars over paradigms and languages and editors are all just a fool’s errand.\nThey’re recipes to make stuff.\nThey are patterns you can use.\nThey are tools you can use to bring forth your imagination into being.\nThere are no better or worse languages, paradigms, tools or what have you.1 There is just this thing. And there is that thing. And there is another thing.\nChoose what fits you, your mental model and what you think is best for the work you are trying to do, and the people you have to work with.\nIt’s mostly just common sense.\nThe code’s here at Gitlab and Github.\nI’m sure, there could be stuff that is objectively flawed, but that pales into insignificance over the flame wars I’ve read all these years.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"29 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-017/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 017","type":"work"},{"content":"Slogged a lot. Got confused a lot. Packing up for the day.\n","date":"28 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-016/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 016","type":"work"},{"content":"Started up with a new app.\nTrying to follow along and write independently as I watch the videos.\n","date":"27 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-015/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 015","type":"work"},{"content":" Help the folks, who need your help the most at this hour! # Donate to Goonj to help our daily wage earners and labourers. # Dawki, Meghalaya “I have often wondered whether especially those days when we are forced to remain idle are not precisely the days spent in the most profound activity. Whether our actions themselves, even if they do not take place until later, are nothing more than the last reverberations of a vast movement that occurs within us during idle days. In any case, it is very important to be idle with confidence, with devotion, possibly even with joy. The days when even our hands do not stir are so exceptionally quiet that it is hardly possible to raise them without hearing a whole lot.”\n— Rainer Maria Rilke\nPair with, The Art and Science of Doing Nothing.\n","date":"27 avril 2020","externalUrl":null,"permalink":"/personal/idleness-is-a-virtue/","section":"Personal","summary":"","title":"Idleness is a Virtue","type":"personal"},{"content":"Had time, so finished up the app! Hurrah!\nOk, so this makes up for one of my missed days, so I have to do a hundred and one only.\nRunning the app, downloads some lolcat images from the net, saves them to a folder and then opens up the folder for you to enjoy :)\nThe last app taught me how to download text over the internet.\nThis one\ntaught me to download binary data (images in our program) learnt how to detect what operating system runs on my computer learnt how to reach out to the operating systems shell and run commands The amount of modules that I am now being exposed to is a bit dizzying.\nA long term plan, would be to look at the more common ones and study them in depth.1\nThe code’s over at Gitlab and Github.\nI had lots of fun. Onwards!\nKushal has long suggested, I do this.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"26 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-014/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 014","type":"work"},{"content":"The program is almost done.\nHad lots of fun.\nToday was the first time, I went over a huge, run – see error – fix error – run again loop. Drove me absolutely batty.\nI managed to get it all up and running.\nDocumentation pending.\nHope to have it all neatly tied with a bow, tomorrow.\n","date":"26 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-013/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 013","type":"work"},{"content":"Started up with a new program.\nWhile the last one dealt with working with text on the internet, this one deals with binary data.\nThe point to go get some images (lolcats) in my case, download them to a folder and display them.\nWatched all the videos today.\nMore tomorrow.\n","date":"25 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-012/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 012","type":"work"},{"content":"Ok the weather app is done.\nEr, only it’s not the weather app anymore, it’s just a temperature app.\nThe program was meant to pull all sorts of details from Wunderground and apparently the site has changed into a different, more complicated (to me) web page.\nI did not want to spend all my time, futzing with CSS.\nSo I figured out how to just pull out the place name and the temperature and display it.\nThings I learnt,\nHow to use Requests and Beautiful Soup to scrape and parse web pages. Practiced my documentation skills a bit. Learnt to fend for myself. The code’s on Gitlab and Github.\n","date":"24 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-011/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 011","type":"work"},{"content":"Working on the get tempature / mini weather app.\nLearnt about type hints.(I intuitively needed this feature as I kept dotting in my editor waiting for stuff to pop up :P glad to know such a thing exists and Python supports it.) Learnt about named tuples. I love anything that will let me name things the way I want. Learnt about sanitising text that we extract from a web page; stripping white space and new lines and crazy characters and what not. Grateful for the batteries included nature of Python. Well, not necessarily batteries included as much as batteries available on demand. Batteries of all shapes and sizes at that. I can only imagine what writing such a program from scratch must involve. To all the generous people, making modules and libraries available to use freely, and to the infrastructure that delivers it, you folk have my undying gratitude. ","date":"23 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-010/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 010","type":"work"},{"content":"Study Less, Study Smart, Marty Lobdell\nThe book is the text form of this youtube video.\nI bought the book as a thank you. (and because I did not want to watch an hour long video everytime I needed something.) It summarises into one, tiny package, what I took years and books to learn\n","date":"23 avril 2020","externalUrl":null,"permalink":"/personal/study-less-study-smart-marty-lobdell/","section":"Personal","summary":"","title":"Study Less, Study Smart, Marty Lobdell","type":"personal"},{"content":" Stillness is the Key, Ryan Holiday # This is the fitting conclusion to Ryan’s Stoic trilogy. (The Obstacle is the Way and Ego is the Enemy, being the other two)\nMust read! Quick Read.\nStillness, intention, doing the work with deliberation, and focus; the book delves through it all in a beautiful manner.\nPassages I loved …\n“Wrestle with big questions. Wrestle with big ideas. Treat your brain like the muscle that it is. Get stronger through resistance and exposure and training.”\nand\n“Always think about what you’re really being asked to give. Because the answer is often a piece of your life, usually in exchange for something you don’t even want. Remember, that’s what time is. It’s your life, it’s your flesh and blood, that you can never get back.\nIn every situation ask:\nWhat is it?\nWhy does it matter?\nDo I need it?\nDo I want it?\nWhat are the hidden costs?\nWill I look back from the distant future and be glad I did it?\nIf I never knew about it at all—if the request was lost in the mail, if they hadn’t been able to pin me down to ask me—would I even notice that I missed out?\nWhen we know what to say no to, we can say yes to the things that matter.”\n","date":"23 avril 2020","externalUrl":null,"permalink":"/reading/stillness-is-the-key-ryan-holiday/","section":"Reading","summary":"","title":"Stillness is the Key, Ryan Holiday","type":"reading"},{"content":"Cooking along on the weather project.\nManaged to pull down a web page, put it into a object, return in and then create some ‘soup’ out of it.\nIt handily lets me inspect a lot of stuff, but finding what I want seems to be confusing.\nBrains are mush right now.\nWill give it another go, tomorrow.\n","date":"22 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-009/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 009","type":"work"},{"content":"No work done today.\nMom’s area got quarantined in a total lockdown, so was busy there most of the day.\nHundred and one, turns to a hundred and two.\n","date":"21 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-008/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 008","type":"work"},{"content":"Started up with a weather app today.\nIt is supposed to scrape the weather from Weather Underground, parse it a bit and then give you the weather.\nMade the template of the app.\nFor some reason requests does not seem to be recognised in VSCode.\nWill do more tomorrow.\n","date":"20 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-007/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 007","type":"work"},{"content":" Help the folks, who need your help the most at this hour! # Donate to Goonj to help our daily wage earners and labourers. # “The tragedy of life is not that it ends so soon, but that we wait so long to begin it.”\n— W.M. Lewis\n","date":"20 avril 2020","externalUrl":null,"permalink":"/personal/why-wait/","section":"Personal","summary":"","title":"Why Wait?","type":"personal"},{"content":"Journal progam done!\nYay! Find the code over at Gitlab or Github.\nThe program is a lot more basic than I expected.\nIt does not let me keep multiple journals :)\nBut I’m happy with what I learnt.\nHow to put together a program How to use modules Found a little extension in VSCode, called VSCode autoDocstring, that makes typing in docstrings a breeze. Oh, I learnt about docstrings, to help document what I am doing. And brushed up on the basics, loops, conditionals, etc. Here’s to more happy programming.\n","date":"19 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-006/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 006","type":"work"},{"content":"Still working on the journal program.\nBut made significant progress today.\nLearnt how to read and write from files (lots more practice required) Learnt how to pass variables around between modules, that are spread across files (still find it confusing. guess that’ll ease with practice) Learnt what all that __name__ stuff is all about. (pretty simple actually. if main is not my name, i refuse to run. you call me in vain1) And finally, learnt what docstrings are. They’re basically bread crumbs I leave for myself and other folks reading the code, to figure out, for example, what a function does, what input it expects, what output it’ll poop out and all that jazz. Basically, documentation for programmers, by programmers. Once I document my code up tomorrow, I will be done. Here’s to more productive days!\nWell, not vain really :) the other use case is to import this file into others\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"18 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-005/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 005","type":"work"},{"content":"After a series of disasters in the kitchen today, I fear my hundred days of code is going to turn into a hundred and one days of code.\nMy box of new eggs shattered on the floor. My box of old eggs turned out rancid and extremely foul smelling. I had to clean up the whole sordid mess. Not before I boiled a few of the old ones. Now I have a smelly cooker too. The house smells of rotten eggs. My wife is about to puke. I have rotten egg on my hands literally (and on my face, metaphorically). Oh, and the chicken is on the stove, burning.\nPutting out all these fires is too much for me, today.\nSo I am cutting myself some slack, giving myself some grace, goofing off on irc and going to bed.\nTomorrow is another day.\n","date":"17 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-004/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 004","type":"work"},{"content":"Still on the Journal program.\nLearnt how to split functionality between files, so that I don’t have a giant hodge-podge of code.\nRan out of time. File I/O tomorrow, I guess\n","date":"16 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-003/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 003","type":"work"},{"content":"Creating a small personal journal program.\nDay 2 and I have already switched allegiances :)\nDecided to do the TalkPython Jumstart Course, since I wanted to get my hands dirty and mind working with real world-ish problems.\nStarted with App 4, that deals with building a small journal app.\nIn one hour, I managed to create the bones of the app.\nI can read, write and exit the app.\nI learnt how to sanitise input, so that erroneous input does not crash the app.\nI kept pausing the video and then trying to code it up myself and then seeing if my stuff matched up to what was being shown.\nFor the most part, it did.\nWas happy to see that. It affirmed that I had a good grasp of the basics.\nWill work tomorrow on persistence.\nSave my work to a file, and then read it in.\n","date":"15 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-002/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 002","type":"work"},{"content":"Yak Shaving day.\nSetup VS Code.\nCleaned my repos.\nSetup Python.\nHopefully, tomorrow is better!\n","date":"14 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-001/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 001","type":"work"},{"content":"","date":"14 avril 2020","externalUrl":null,"permalink":"/tags/goals/","section":"Tags","summary":"","title":"Goals","type":"tags"},{"content":"Well, life caught up with me again.\nAnd so, ridiculous as it may sound, I’m starting over, again!\nAn hour a day.\nFor a hundred days.\nI did 37 days last time.\nHere’s to a hundred and lots more learning this time.\nContinuing with the Talk Python, #100DaysOfCode in Python.\nWill do it at my pace.\nAnd mix and match other little programs and challenges as I come across them.\nWish me luck!\n","date":"14 avril 2020","externalUrl":null,"permalink":"/work/a-hundred-days-of-code-day-000/","section":"Work","summary":"","title":"A Hundred Days of Code, Day 000","type":"work"},{"content":" Help the folks, who need your help the most at this hour! # Donate to Goonj to help our daily wage earners and labourers. # Bee \u0026amp; Flower “The lovely flowers embarrass me,\nThey make me regret I am not a bee.”\n— Emily Dickinson\n“Place a beehive on my grave\nAnd let the honey soak through.\nWhen I’m dead and gone,\nThat’s what I want from you.\nThe streets of heaven are gold and sunny,\nBut I’ll stick with my plot and a pot of honey.\nPlace a beehive on my grave\nAnd let the honey soak through.”\n— Sue Monk Kidd, The Secret Life of Bees\nor if you’d prefer a lighter quote …\n“It was my uncle who taught me about the birds and the bees. He sat me down one day and said, ‘Remember this, George, the birds fuck the bees.’ Then he told me he once banged a girl so hard her freckles came off.”\n— George Carlin, Brain Droppings\n","date":"13 avril 2020","externalUrl":null,"permalink":"/personal/on-bees/","section":"Personal","summary":"","title":"On Bees","type":"personal"},{"content":" Help the folks, who need your help the most at this hour! # Donate to Goonj to help our daily wage earners and labourers. # Mawlynnong, Meghalaya “We need to feel a little bit lost somewhere, physically or intellectually, at least once a day.”\n— Nassim Nicholas Taleb\n(spiritually too! - me)\n","date":"6 avril 2020","externalUrl":null,"permalink":"/personal/get-lost-to-find-yourself/","section":"Personal","summary":"","title":"Get Lost to Find Yourself","type":"personal"},{"content":" The Dawki, in Meghalaya “All of life is about ending up somewhere you didn’t expect, and learning to just be happy with it.”\n— Lauren Oliver, Vanishing Girls\n","date":"30 mars 2020","externalUrl":null,"permalink":"/personal/being-happy-with-life/","section":"Personal","summary":"","title":"Being Happy With Life","type":"personal"},{"content":"Ryan Holiday, writes about a question, he purports will change your reading life.\nAnd this was somehow surprising to me, because as a bookworm, I have been slipping this question (or a variant of it) into casual conversations with folks all my life.\nIf I need my reading queue to be always full, I need to always be closing :)\nAnd since it has helped me so much, it’s only fair, I share it with you :)\nHere’s Ryan,\nEvery time I would meet a successful or important person I admired, I would ask them:\nWhat’s a book that changed your life?\nAnd then I would read that book.\n[…]\nWhich books should I read? Should I read books about physics or books about history or books about self-improvement? And even if I knew the genre I preferred, which authors should I read and why? Should I read new books or old books? The books getting rave reviews or the classics or the ones on the featured table in the front of the store?\nI didn’t know.\nIf a book changed someone’s life — whatever the topic or style — it was probably worth the investment. If it changed them, I thought, it might at least help me.\nThis style of reading, might appear chaotic.\nBut in my experience, it has brought me the best books with the best lessons, at just the right time.\nWhen I was neck deep in debt, I learnt about money, because I asked people who were good with theirs, on how they did it and what they read.\nI learnt about computers, because my vocational teacher at the time (I was learning to fix televisions) thought it apt to shove copies of Tim Ramteke’s Networks, Malvino’s Digital Electronics and Jon Stoke’s Inside the Machine into my greedy little hands. (really expensive books which were way beyond my means.\nI went in there to learn to fix televisions and came out learning to fix computer hardware.\nI went to my grandpa to learn religion and he taught me the value of being open to good, universal values across all faiths, by giving me copies of both the Bible and the Upanishads. (It’s another matter that I haven’t learnt a thing from either set of books :P but I’ve learnt that kindness, being good, doing good, is universal)\nI looked online to see how people dealt with unbearable stress and grief, and I learnt about the stoicism of Marcus Aurelius and Seneca.\nI wanted to have an intentional outlook to life, and I found Shane and his mental models, and through him I found Munger and Taleb.\nEach of those moments and authors and books, I listed above, changed my life in fundamental ways, moulding me into what I am today.\nIt did not matter if the book was contemporary or ancient. (actually, the older the better)\nAnd that brings me to another part of the post I love. To make the ancients and the dead greats your teachers and confidants!\nHere’s old man Munger himself,\nI think you learn economics better if you make Adam Smith your friend. That sounds funny, making friends among the eminent dead, but if you go through life making friends with the eminent dead who had the right ideas, I think it will work better in life and work better in education. It\u0026rsquo;s way better than just being given the basic concepts.\nAnd here’s Ryan,\nWe should seek out the literature that has shaped the people we admire and respect — we can cut down even on the discovery costs of looking for those books. They’ve given us a shortcut to the treasure map.\nEverybody seems to want a mentor. Meanwhile, they’re passing up the opportunity to learn directly from the people who taught the people you aspire to be like. When someone like John McCain spends his whole life raving about For Whom The Bell Tolls, why would you not check it out? Clearly, it got him through some shit. Peter Thiel credits Rene Girard and Things Hidden Since The Foundation Of The World with shaping his worldview. Clearly, it’s made him some money—you’re not going to pick that up? Angela Merkel—Forbes’ number 1 most powerful women twelve of the last thirteen years—lists Leo Tolstoy’s Anna Karenina and Fyodor Dostoyevsky’s The Brothers Karamazov as her favorite reads. Add them to the list!\nAnd of course, the ancients had already figured this out :)\nSeneca writes,\nCherish some man of high character, and keep him ever before your eyes, living as if he were watching you, and ordering all your actions as if he beheld them. […]\nWe can get rid of most sins, if we have a witness who stands near us when we are likely to go wrong. The soul should have someone whom it can respect, – one by whose authority it may make even its inner shrine more hallowed. Happy is the man who can make others better, not merely when he is in their company, but even when he is in their thoughts!\nChoose therefore a Cato; or, if Cato seems too severe a model, choose some Laelius, a gentler spirit. Choose a master whose life, conversation, and soul-expressing face have satisfied you; picture him always to yourself as your protector or your pattern. For we must indeed have someone according to whom we may regulate our characters; you can never straighten that which is crooked unless you use a ruler.\nSo, go on then.\nAsk folks what books changed their lives.\nAnd then go read them and be transformed!\n","date":"23 mars 2020","externalUrl":null,"permalink":"/personal/ryan-holidays-question-to-change-your-reading-life/","section":"Personal","summary":"","title":"Ryan Holiday’s Question to Change Your Reading Life","type":"personal"},{"content":"This week’s message is stolen, lock stock and barrel from an old Austin Kleon post.\nI’ve often wanted to riff off this message, ever since I read it in his book and it changed my life.\nBut it is perfect and short as it is.\nLots of people want to be the noun without doing the verb. They want the job title without the work.\n“Forget about being a Writer,” says novelist Ann Packer. “Follow the impulse to write.”\nLet go of the thing that you’re trying to be (the noun), and focus on the actual work you need to be doing (the verb).\nDoing the verb will take you someplace further and far more interesting than just wanting the noun.\nHat tip to this awesome Ryan Holiday post, which sent me to Austin’s delightful post.\nRyan’s post spoke to what you’d feel like, once you gotten it all. (spoiler alert: nothing at all)\nWhich is why you need to know your enough.\nQuoting a quote from the post,\nThere is a story I wrote about in Stillness is the Key in which Kurt Vonnegut and Joseph Heller, the authors of Slaughterhouse Five and Catch-22, respectively, were once at a fancy party in New York. As they stood in the home of some billionaire, Vonnegut needled his friend.\n“Joe,” he said, “how does it feel that our host only yesterday may have made more money than your novel has earned in its entire history?”\n“I’ve got something he can never have,” Heller replied.\n“And what on earth could that be?” Vonnegut asked.\n“The knowledge that I’ve got enough.”\nEnough.\nThis is actually the best place to work from, to live from.\nI agree.\nAs I age, I’m kind of falling in love with the craftsman’s approach.\nThe work, the process, the action, the doing, the joy of discovery, the building of grit; all of this is the reward.\nAnd to me, that is enough.\n","date":"16 mars 2020","externalUrl":null,"permalink":"/personal/doing-the-verb-is-enough/","section":"Personal","summary":"","title":"Doing the Verb, is Enough","type":"personal"},{"content":"This is a short, punch-to-the-gut Seth post.\nSo I am just stealing it wholesale, for you and me. (mostly for me :))\nWhen you bought your first smartphone, did you know you would spend more than 1,000 hours a year looking at it?\nMonths later, can you remember how you spent those hours?\nWhen you upgraded to a new smartphone, so you could spend more hours on it, did you think about how you had spent so much of your ‘free’ time the year before?\nIf we wasted money the way we waste time, we’d all be bankrupt.\nPair with, How to Stop Checking Your (My) Phone.\nP.S. Subscribe to my mailing list!\nForward these to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"9 mars 2020","externalUrl":null,"permalink":"/personal/wasting-time/","section":"Personal","summary":"","title":"Wasting Time","type":"personal"},{"content":" I found this image on Austin Kleon’s blog a few days ago, and it set me to thinking about these newsletters of mine.\nI would love to think of them, the same way.\nThey are free, but definitely not cheap :)\nNot to toot my own horn, but for all their recent brevity, it still is a process that involves a lot of reading, and thinking and curating and writing. (and a whole lot of slogging)\nSo yes, in that sense, it’s an expensive labour of love.\nI’d like to think of it as something more than free, definitely not cheap but a gift, my gift to you.\nLike Seth writes,\nA gift costs the giver something real. It might be cash (enough that we feel the pinch) but more likely it involves a sacrifice or a risk or an emotional exposure. A true gift is a heartfelt connection, something that changes both the giver and the recipient.\nSo true! It works because you accept my gift with grace.\nLike our traditional “Namaste” or the Zulu, “Sawubona”, you truly see me.\nYou acknowledge me and give of your time and your attention and your insight.\nAnd most importantly, you push me to do more.\nMore Seth,\nThe key is that the gift must be freely and gladly accepted. Sending someone a gift over the transom isn\u0026rsquo;t a gift, it’s marketing. Gifts have to be truly given, not given in anticipation of a repayment. True gifts are part of being in a community (willingly paying taxes for a school you will never again send your grown kids to) and part of being an artist (because the giving motivates you to do ever better work).\nPlus, giving a gift feels good.\nYes, it does. And I’m grateful you choose to love this craft of mine.\n","date":"2 mars 2020","externalUrl":null,"permalink":"/work/free-not-cheap/","section":"Work","summary":"","title":"Free! Not Cheap.","type":"work"},{"content":" image courtesy, Suzy Hazelwood\nAustin Kleon, quoting Octavia Butler on reading more than a book at a time.\nI generally have four or five books open around the house—I live alone; I can do this—and they are not books on the same subject. They don’t relate to each other in any particular way, and the ideas they present bounce off one another. And I like this effect. I also listen to audio-books, and I’ll go out for my morning walk with tapes from two very different audio-books, and let those ideas bounce off each other, simmer, reproduce in some odd way, so that I come up with ideas that I might not have come up with if I had simply stuck to one book until I was done with it and then gone and picked up another.\nRyan Holiday meanwhile, extols the virtues of reading a page a day, books.\nAlthough I certainly read on some days more than others, I work hard to make sure I read something everyday.\nThat means I am spending time each day with whatever book I am trying to get through, but it means I spend time, daily, with a few specific books (and authors) that I benefit from each time I pick them up. Which is why I am sending this special Reading List Email with some recommendations of books (and sites) I try to look at every single morning.\nA Calendar of Wisdom by Leo Tolstoy\nTolstoy believed his most essential work was not his novels but his daily read, A Calendar of Wisdom. As Tolstoy wrote in his diary, the continual study of one text, reading one page at the start of each day, was critical to personal growth. “Daily study,” Tolstoy wrote in 1884, is “necessary for all people.” So Tolstoy dreamed of creating a book comprised of “a wise thought for every day of the year, from the greatest philosophers of all times and all people…Epictetus, Marcus Aurelius, Lao-Tzu, Buddha, Pascal.” As he wrote to his assistant, “I know that it gives one great inner force, calmness, and happiness to communicate with such great thinkers as Socrates, Epictetus, Arnold, Parker… They tell us about what is most important for humanity, about the meaning of life and about virtue.” It would take seventeen years for this book to be published, then ninety-three more for the English translation, titled A Calendar of Wisdom.\nThe Daily Stoic by Ryan Holiday and Stephen Hanselman\nOf course, I don’t actually read my own book each morning, but I did design that book to mimic a ritual I have, which is to pick up and read one passage from the Stoics each morning. Seneca, Marcus Aurelius, Epictetus, I want to put something from them in my brain each morning. Unfortunately, there was no book that put them all together until we made The Daily Stoic (which has now sold 500,000 copies and is translated in more than 30 languages). We also put out an email version (and a podcast) for DailyStoic.com that has continued the same service. More than 250,000 people check in with these texts this morning because it’s important. You want to start your day off with wisdom and when it comes to wisdom, there is nobody better than the Stoics.\nAmongst other things Ryan also recommends James Clear’s, 3-2-1 Thursday \u0026amp; Maria Popova’s, Brain Pickings.\n","date":"24 février 2020","externalUrl":null,"permalink":"/personal/some-words-on-reading/","section":"Personal","summary":"","title":"Some Words on Reading","type":"personal"},{"content":" A Life in Parts, Bryan Cranston # fun read\nwhen a working actor, tells their story, it’s always a treat.\nwhen a working actor, who struck it big, tells their story, it’s a roller coaster :)\nBryan has fun with the book; there are tales that appear so real, until he yanks the rug, telling you it wasn’t. And there are passages that are unbelievable, but true.\nLoved this passage in the book …\nEarly in my career, I was always hustling. Doing commercials, guest-starring, auditioning like crazy. I was making a decent living, but I confided to Robin that I felt I was stuck in junior varsity. I wondered if I had plateaued. Ever thoughtful, my wife gave me the gift of private sessions with a self-help guy named Breck Costin, who was really wonderful with actors and other creative people.\nBreck suggested that I focus on process rather than outcome. I wasn’t going to the audition to get anything: a job or money or validation. I wasn’t going to compete with the other guys.\nI was going to give something.\nI wasn’t there to get a job. I was there to do a job. Simple as that. I was there to give a performance. If I attached to the outcome, I was setting myself up to expect, and thus to fail. My job was to focus on character. My job was to be interesting. My job was to be compelling. Take some chances. Serve the text. Enjoy the process.\n","date":"17 février 2020","externalUrl":null,"permalink":"/reading/a-life-in-parts-bryan-cranston/","section":"Reading","summary":"","title":"A Life in Parts, Bryan Cranston","type":"reading"},{"content":" In the silent forest, somewher in Meghalaya I have lost my illusions, I have drowned in your words\nI have left my confusion to a cynical world\nI am throwing myself at things I don\u0026rsquo;t understand\nDiscover enlightenment holding your hand\nYou are …\nSo beautiful!\n","date":"17 février 2020","externalUrl":null,"permalink":"/personal/you-make-me-feel-so-beautiful/","section":"Personal","summary":"","title":"You Make Me Feel, So Beautiful!","type":"personal"},{"content":"The fastest way to raise your level of performance:\nCut your number of commitments in half. # — via James Clear’s latest 3–2–1 missive\nJack Butcher puts it even more eloquently …\nDo! # P.S. Subscribe to my mailing list!\nForward these to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"10 février 2020","externalUrl":null,"permalink":"/personal/the-fastest-way-to-raise-your-level-of-performance/","section":"Personal","summary":"","title":"The Fastest Way to Raise Your Level of Performance","type":"personal"},{"content":" Outside my window When I am among the trees,\nespecially the willows and the honey locust,\nequally the beech, the oaks and the pines,\nthey give off such hints of gladness.\nI would almost say that they save me, and daily.\nI am so distant from the hope of myself,\nin which I have goodness, and discernment,\nand never hurry through the world\nbut walk slowly, and bow often.\nAround me the trees stir in their leaves\nand call out, “Stay awhile.”\nThe light flows from their branches.\nAnd they call again, “It’s simple,” they say,\n“and you too have come\ninto the world to do this, to go easy, to be filled\nwith light, and to shine.”\n— Mary Oliver\n","date":"8 février 2020","externalUrl":null,"permalink":"/personal/when-i-am-among-the-trees/","section":"Personal","summary":"","title":"When I Am Among the Trees","type":"personal"},{"content":"","date":"3 février 2020","externalUrl":null,"permalink":"/tags/inspiration/","section":"Tags","summary":"","title":"Inspiration","type":"tags"},{"content":"Ryan Holiday writes about 11 expressions that you will help you with life.\nI have always used Memento Mori and Amor Fati.\nThis list has several more!\nFestina Lente Carpe Diem Fac, si facis Quidvis recte factum quamvis humile praeclarum Semper Fidelis (Always Faithful) Per Angusta Ad Augusta Amor fati Fatum Ingenium Est Semper Anticus Vivere Militare Est Memento Mori Go on, read about what they mean and how they can change you.\n","date":"3 février 2020","externalUrl":null,"permalink":"/personal/rules-for-life/","section":"Personal","summary":"","title":"Rules for Life","type":"personal"},{"content":" via Vishal Khandelwal\nVishal has a lovely article, on the shortness of life, over at Safal Niveshak.\nThat is where I stole the beautiful picture above from. (you can click the pic for a larger version.)\n“So you must match time’s swiftness with your speed in using it, and you must drink quickly as though from a rapid stream that will not always flow.”\n—Seneca\n“Twenty years from now you will be more disappointed by the things that you didn’t do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover.”\n—Mark Twain\n“You live as if you were destined to live forever, no thought of your frailty ever enters your head, of how much time has already gone by you take no heed. You squander time as if you drew from a full and abundant supply, though all the while that day which you bestow on some person or thing is perhaps your last.”\n—Seneca\n","date":"27 janvier 2020","externalUrl":null,"permalink":"/personal/life-is-short/","section":"Personal","summary":"","title":"Life is Short","type":"personal"},{"content":"In the vein of the old zen koan about enlightenment or Seth’s drip by drip approach to affecting change in the world, James Clear offers a simple 3 step process to becoming a writer (or painter, or programmer, or guitarist, weight loss person, or gymnast.)\nPublish on a schedule. Consistency develops ability. Share your writing publicly. Writing is a magnet. It attracts like-minded people. Write about what fascinates you. You don\u0026rsquo;t need to be an expert. Curiosity leads to expertise. It’s simple.\nIt’s not easy :)\nWalking the path as I have, I can attest to both, its difficulty as well as its efficacy :)\nP.S. Subscribe to my mailing list!\nForward these to your friends and get them to subscribe! P.P.S. Feed my insatiable reading habit.\n","date":"20 janvier 2020","externalUrl":null,"permalink":"/personal/want-to-write-heres-a-simple-3-step-process/","section":"Personal","summary":"","title":"Want to Write? Here’s a Simple 3 Step Process","type":"personal"},{"content":"In the run up to exams in a few months, my life has turned super busy again.\nSo once again, I turn to wiser people and the things that inspire me, to keep my writing habit going :)\nLet’s start with Ryan Holiday.\nIn his post, Ryan Holiday Picks 20 Books to Help You Live Better in 2020, he concludes with a sage paragraph on the benefits of re reading books that matter.\nWhen I wrapped up my list of books last year, I made one final recommendation that I will repeat this year. Whether you read any of the books above or not — this year or next year — I do think you would be vastly improved by the experience of picking three or four titles that have had a big impact on you in the past and commit to reading them again. Seneca talked about the need to “linger among a limited number of master thinkers, and digest their works, if you would derive ideas which shall win firm hold in your mind.”\nAnd no matter how many times you read a certain book, you never read the exact same book twice because you change from one reading to the next. So this year, go reread To Kill A Mockingbird. Give The Odyssey another chance. Sit with a few chapters from the 48 Laws of Power. See how these books have stood the test of time, and see how your perspective differs from when you read them last.\nP.S. Subscribe to my mailing list!\nForward these to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\n","date":"16 janvier 2020","externalUrl":null,"permalink":"/personal/reread-books/","section":"Personal","summary":"","title":"Reread Books","type":"personal"},{"content":"Want to know what I was up to, with my reading last year?\nThe whole big list is here.\nI read in November and December too, but some books you just … cannot :)\nvia the ever creative, Tom Gauld\nIf you want to see the books I read over and over again, every single year, here is my Lindy list.\nI hope to learn more, enjoy more, read more this year.\nI got so much more out of my books this year, by being more mindful as I read.\nI enjoyed my pulp and my crass fiction too :)\nI owe some of you kind folk, loads of gratitude.\nI started the [feed my reading, list][4] on a lark and some of you have actually gone and bought me books :)\nThis probably is the kindest thing, people have done for me and I internally squeal with glee, every time a book comes home.\nFrom Rumi, to Computer Science Problems, to Market Cycles, to communicating well using drawing … you have indulged my every whim.\nThank you, thank you, thank you.\nI start, as I usually do with the Lindy list and then lets see what the New Year holds.\nI hope something from that list catches your fancy and you do read this year.\nBecause like Gaiman says,\nBooks are the way that we communicate with the dead. The way that we learn lessons from those who are no longer with us, that humanity has built on itself, progressed, made knowledge incremental rather than something that has to be relearned, over and over. There are tales that are older than most countries, tales that have long outlasted the cultures and the buildings in which they were first told.\nEinstein does one better,\n“If you want your children to be intelligent, read them fairy tales. If you want them to be more intelligent, read them more fairy tales.”\nI wish you, Happy Reading! :)\n","date":"6 janvier 2020","externalUrl":null,"permalink":"/reading/books-i-read-in-2019/","section":"Reading","summary":"","title":"Books I Read in 2019.","type":"reading"},{"content":"As much as I love books, I also like to read blogs, and listen to podcasts.\nSo here is the year end, most popular, best of stuff that some of the places I frequent, have shared.\nAnd in turn, I share it with you, to help you get a good jumpstart to the new year :)\nFor times, when you just want to veg out, the Ars TV Guide should have you covered, at least for January\nLet’s start with Austin Kleon, in Your output depends on your input:\nProblems of output are problems of input.\nThese amazing curated playlists are just a feedback loop. They’ll tell you what to listen to next week based on what you listened to last week. And because they’re a feedback loop, they won’t show you anything new or interesting.1 So what you need to do, if you really want to broaden your horizons as a listener, is to get exposed to new things. Pick somebody. It doesn’t have to be me…. Find somebody who you trust as a guide, and let them open your ears to these new experiences.\nIf you do that, you will be rewarded infinitely …\nAnd here is Austin’s list of books he read in 2019.\n(I just started reading Range.)\nTo get your finances in order, it always helps to stick with the basics. Subra has a list of sensible suggestions to get stuff, ship shape.\nI love Tim Urban’s ginormously long posts, like this one on SpaceX’s Big Fucking Rocket.\nBut what I really love about Tim this year, is that he’s started with a ginormously long series.\nIt’s called The Story of Us and it’s about, well, us.\nFrom how consciousness evolved in us humans to how our animal brain still shapes our collective actions, this series has it all!\nRead it all here. Definitely worth your time.\nTim Ferriss has started a series within his podcast, called Books I’ve Loved.\nShort little episodes, from people, I love reading.\nTim kicks it off himself, here.\nSeth Godin and Esther Perel share an episode. (I loved Thinking in Bets, a Seth recommendation)\nLeo Babauta, the man who practically gives away darn near everything he creates and helped me find calm, celebrates a decade of writing on Zen Habits.\nHis list of posts are at the bottom of the page.\nI personally loved, Working with the Heartbreaking Feeling That Something is Wrong with You.\nDerek Sivers, argues Your year changes when your life changes.\nIf my post summarising James Clear’s Atomic Habits didn’t do it for you, then Ryan Holiday does a much better job with How to Develop Better Habits in 2020.\nDaily Stoic has their best of the best up.\nI loved You Have The Power To Straighten Your Back.\nThe Art of Manliness has a post on the highlights that made up their year.\nI’m a big fan of all their Fireside posts.\nOn to the man who made me fall in love with learning, Scott Young.\nHe too had long guides this year, alongside all his other learning endeavours.\nFind them all here.\nFarnam Street were their usual incredible selves this year.\nI am happy I live in a time when something like this exists.\nShane’s annual letters now rival Warren Buffett’s for their clarity of thought.\nThe podcast is a treat, I always look forward to. I loved the Kahneman episode.\nAnd this years posts, somehow resonated with more depth, for me.\nHow Not to Be Stupid is one such example.\nI’ll close with two people, who I cannot pick any favourites out of.\nIf you can, read all of Neil Gaiman’s tumblr.\nThe man is kind, patient, wise, and has incredible advice.\nAnd finally, read Maria Popova.\nI credit her, (after my dad) with opening my eyes to everything in life.\nArt. Beauty. Tolerance. Kindness. Poetry.\nName it, and she beautifully explains it.\nShe has a best of, page, but seriously, you owe it to yourself, to just subscribe to her blog.\nAnd with that, I bid you good bye for now.\nSee you warm folk, next year :)\nP.S. Subscribe to my mailing list! Forward these to your friends and get them to subscribe!\nP.P.S. Feed my insatiable reading habit.\nYes, I get the irony of quoting this in my curated list :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 décembre 2019","externalUrl":null,"permalink":"/personal/year-end-reading-for-a-better-you/","section":"Personal","summary":"","title":"Year End Reading For a Better You","type":"personal"},{"content":"Finished up all the video watching.\nWill start with tiny projects, an hour at a time tomorrow onwards.\nToday I learnt about,\nbasics of databases in Python with SQLite3 data visualisation uisng Plotly full stack webapps with Anvil (did not quite grok this) creating a small inventory app accessing and driving databases with SQLAlchemy building basic gui apps using Gooey using JSON apis Will obviously be rehashing and revisiting all I saw and read and learnt over the next sixty odd days.\n","date":"27 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-037-videos-final-day/","section":"Work","summary":"","title":"#100DaysOfCode, Day 037 – Videos, final day","type":"work"},{"content":"Think the plan is to do another mini marathon over the holidays and finish watching the course videos too.\nBecause I need to pick up studies for my adult school too. 3 subjects to cover.\nSo probably will finish watcing all the videos over the next two days and then start dedicating a hobby hour every day to actually write and practice the projects.\nNow that I can actually write code, it has turned into an enjoyable activity.\nI can now turn the rest of my focus to studies so that I can finish those exams in April.\nAn hour or two a day with Python should definitely get me fluent, I think. Let’s see.\nToday I learnt\nHow to programmatically use the Twitter API How to programmatically access the Github API How to send emails using smtplib Do copy and paste using Pyperclip Do basic Excel automation using openpyxl Drive web tasks using Selenium the basics of Flask Good day, methinks.\nLots more to learn tomorrow.\n","date":"26 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-036-videos-again/","section":"Work","summary":"","title":"#100DaysOfCode, Day 036 – Videos again","type":"work"},{"content":"Sandra Fabiani …\nWarmth is a fire place in winter.\nWarmth is the love of your family and friends.\nWarmth is compassion end empathy.\nWarmth is a smile and kindness from strangers.\nWarmth is a hug when we are feeling bad.\nWarmth is kind words when you are doubting yourself.\nMonica Lewinsky …\nSoul connecting hugs …\nBen Stiller …\nFireplaces, hearths, wood. Everything I didn’t experience growing up […]\nAlso puppies and Xmas music\nCaitlin Geghan …\nMy dad’s last letter to me—words of encouragement \u0026amp; love, handed to me after he passed for our first Christmas without him. (Amazing how a single paragraph of love can push you through the hardest days. I reread it whenever I need his long-armed hugs.)\nSarah Hajar …\nWarmth is \u0026ldquo;Sabrina\u0026rsquo;s Scarf\u0026rdquo;\nDecember 2014. Amman. On a bus. Ready to move on. A little girl appeared. Our guide called to us. \u0026ldquo;Anyone has extra scarf for this girl. She is from the Syrian refugee camp.\u0026rdquo; My sister Sabrina took off hers.\nMelinda Beatty …\nThe smell of cinnamon. The color orange. Coffee. Fresh bread. Low ceilings with dark, oak beams. Roger Burks …\nFor me, warmth is togetherness. Shelter in family \u0026amp; friends. A feeling that, no matter what else is happening or what troubles await, that particular moment is safe, sacred \u0026amp; shareable. It\u0026rsquo;s a sense of care that endures. […]\nTina Knuth …\nAs a homeless single teen mother in November of 1981, Friends shared an apartment. 5 adults and three children under age 4. We kept everyone fed (barely) and were warm for that winter. Life sucked badly, but the apartment became our stronghold for 6 months.\nKit …\nI grew up poor, our parents only let us turn the heat on when family visited on holidays. When I moved out I fell in love with cast iron radiators. They make strange noises and when I use them I get the sense my grandma is about to arrive for dinner.\n“What reminds you of warmth?” # What reminds you of warmth?\nCalling on your words/thoughts for both inspiration and inclusion in a special Twitter story I\u0026#39;m writing for UNHCR \u0026amp; @TwitterForGood to support Syrian @refugees this winter.\nReply to this tweet with #KnitForRefugees.\n\u0026mdash; Neil Gaiman (@neilhimself) November 20, 2019 That was the question [Neil Gaiman][1], posed to his twitter followers, hoping to crowdsource the best thoughts into a short poem to help the [UNHCR][11] with their ***[appeal to help Syrian refugees survive the freezing winter, far from home.][12]*** Easy peasy. How hard could it be?\nIt was only ridiculously difficult, as it turned out.\nThe tweet went viral and Gaiman found himself facing twenty five thousand words worth of replies.\nAnd from there, he wove a poem of beauty.\nI quote it, in its entirety here.\nvia The Guardian\nWhat You Need to be Warm by Neil Gaiman\nA baked potato of a winter’s night to wrap your hands around or burn your mouth.\nA blanket knitted by your mother’s cunning fingers. Or your grandmother’s. A smile, a touch, trust, as you walk in from the snow\nor return to it, the tips of your ears pricked pink and frozen.\nThe tink tink tink of iron radiators waking in an old house.\nTo surface from dreams in a bed, burrowed beneath blankets and comforters, the change of state from cold to warm is all that matters, and you think\njust one more minute snuggled here before you face the chill. Just one.\nPlaces we slept as children: they warm us in the memory.\nWe travel to an inside from the outside. To the orange flames of the fireplace\nor the wood burning in the stove. Breath-ice on the inside of windows,\nto be scratched off with a fingernail, melted with a whole hand.\nFrost on the ground that stays in the shadows, waiting for us.\nWear a scarf. Wear a coat. Wear a sweater. Wear socks. Wear thick gloves.\nAn infant as she sleeps between us. A tumble of dogs,\na kindle of cats and kittens. Come inside. You’re safe now.\nA kettle boiling at the stove. Your family or friends are there. They smile.\nCocoa or chocolate, tea or coffee, soup or toddy, what you know you need.\nA heat exchange, they give it to you, you take the mug\nand start to thaw. While outside, for some of us, the journey began\nas we walked away from our grandparents’ houses\naway from the places we knew as children: changes of state and state and state,\nto stumble across a stony desert, or to brave the deep waters,\nwhile food and friends, home, a bed, even a blanket become just memories.\nSometimes it only takes a stranger, in a dark place,\nto hold out a badly knitted scarf, to offer a kind word, to say\nwe have the right to be here, to make us warm in the coldest season.\nYou have the right to be here.\nSo, on this Christmas day, I wish you all warmth!\nI wish we be kinder, and more inclusive.\nI wish we be more generous.\nI pray that we start with the Man in the Mirror.\nI pray for more warmth :)\nAnd if you do need reminding, just look at the replies to Neil’s question.\nMerry Christmas, all you warm and gorgeous people!\nAnd a Happy New Year!\n","date":"26 décembre 2019","externalUrl":null,"permalink":"/personal/i-wish-you-warmth/","section":"Personal","summary":"","title":"I Wish You Warmth!","type":"personal"},{"content":"Did a quick video lesson on how to use Uplink. Did not quite understand the whys and the wherefores, but it turns APIs into Python classes.\nI need to study this in more detail later.\nMerry Christmas, folks! :)\n","date":"25 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-035-watched-videos/","section":"Work","summary":"","title":"#100DaysOfCode, Day 035 – Watched Videos","type":"work"},{"content":"Watched videos\nOn how to process CSV data how to procoss JSON in Python how to consume HTTP services in Python how to scrape web pages with Beautiful Soup 4. how to profile a Python program using the cprofile module and finally how to parse RSS feeds using Feedparser. Seems like the Python learning flywheel is slowly gaining momentum.\n","date":"24 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-034-watched-videos/","section":"Work","summary":"","title":"#100DaysOfCode, Day 034 – Watched Videos","type":"work"},{"content":"Since I am still in consumption, holiday, non work, mode, decided to finally dust off and read the final paperback Python textbook, I had.\nFluent Python is a must read, and an an awesome addition to the beginner to intermediate programmer’s arsenal.\nLuciano has a clear voice, definite opinions and a huge amount of experience.\nBesides the actual content, he links to a wide range of resources, from articles, blog posts, and mailing list entries to videos on the web. Enough to keep you busy for months on end.\nDefinitely someone worth paying attention to and learning from.\nBest to tackle this book, once you know the basics and have some working knowledge of writing code.\nAnd then best to keep returning to the book every six months to a year or so.\nI know I will.\n","date":"23 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-days-030-031-032-033-read-fluent-python/","section":"Work","summary":"","title":"#100DaysOfCode, Days 030, 031, 032 \u0026 033 – Read Fluent Python","type":"work"},{"content":"… which basically boils down to, use the shortcuts and the batteries and all the toppings that Python provides you.\nI need to go look at the standard library, when I can to get better at this.\n","date":"19 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-029-watched-videos-on-writing-pythonic-code/","section":"Work","summary":"","title":"#100DaysOfCode, Day 029 – Watched Videos on Writing Pythonic Code","type":"work"},{"content":"Watched videos about logging in Python, using the Logbook package.\nAlso speed read this behemoth.\nAwesome book!\n","date":"18 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-028-watched-videos-on-logging/","section":"Work","summary":"","title":"#100DaysOfCode, Day 028 – Watched Videos on Logging","type":"work"},{"content":"","date":"18 décembre 2019","externalUrl":null,"permalink":"/tags/%23100daysofpython/","section":"Tags","summary":"","title":"#100DaysOfPython","type":"tags"},{"content":"Leart a litle bit of how Regex is done in Python.\nReally wish I could get to code.\nOnly a few days more …\n","date":"17 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-027-watched-videos-on-regular-expressions/","section":"Work","summary":"","title":"#100DaysOfCode, Day 027 – Watched Videos on Regular Expressions","type":"work"},{"content":"Life has suddenly turned a little topsy turvy at work.\nNo time to work at stuff.\nKeeping up my #100DaysOfCode streak by watching the course videos.\nLearnt about the Itertools module, learnt decorators and error handling.\nP.S.\nAdding these posts back to the planet, because more than a couple of you, kind folk, have been missing me.\n","date":"16 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-days-024-025-026-watched-videos/","section":"Work","summary":"","title":"#100DaysOfCode, Days 024, 025 \u0026 026 – Watched Videos","type":"work"},{"content":"Was at the doc, unexpectedly most of the day today.\nSo could not do much.\nDecided to familiarise myself with the basics of SQL by watching this series.\n","date":"13 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-023-corey-schafer-sql-video-sprint/","section":"Work","summary":"","title":"#100DaysOfCode, Day 023 – Corey Schafer SQL Video Sprint","type":"work"},{"content":"","date":"13 décembre 2019","externalUrl":null,"permalink":"/tags/sql/","section":"Tags","summary":"","title":"Sql","type":"tags"},{"content":"My brain is too scattered, so here are a few scattered thoughts on writing and why I write.\nOn the why? # Writing, to me, is cathartic exercise.\nIt acts like a pressure release valve.\nIt makes me calmer.\nThe very act of writing clarifies my thoughts, and helps sharpen my mind.\nIt gives me distance from my thoughts, makes me more objective.\nIt helps me learn better.\nAs I was learning Maths last year, the teacher constantly reminded me that learning, true learing and understanding, comes from written practice. Knowledge, he’d say flows upwards, through the pen to your fingers, through your brain and into your mind.\nOn how often? # Should you write regularly?\nThrice a day? Once every day? Once a week?\nThat does not matter.\nThe point is that you do write.\nOften.\nAnd to a rhythm, you find comfortable.\nWe need a routine.\nTim Ferriss on getting back to basics.\nbut without a regular writing practice, books eventually became terrifying. It was like committing to an Ironman every few years without doing any training in between. Even if you can muscle things on game day, and even if the outcome looks great from the outside, the lead-up and the internal experience are likely to be anxiety-ridden and unpleasant.\nAll because I stopped blogging.\nPrivate journaling is a step in the right direction, but it’s not a replacement. I need to face the squirmy discomfort that comes both before and after publishing. So…\nI’m getting back in the writing game, and I’m going to publish something on this blog at least once per week.\n[…]\nI hope that some of the writing will be decent, but a lot of it will be worth taking behind the barn and shooting in the head. Some of it will be long (e.g., unpublished chapters from secret book projects), and some of it will be short (e.g., terrible haiku out of desperation). As long as I publish something — anything — once a week, it doesn’t matter.\nOn writer’s block # Thing you will get stuck? I assure you, you will. :)\nI do, all the time.\nThis post was supposed to be an quickie.\nAnd forty five minutes two hours later, I am still trying to grasp at what exactly I want to share.\nThe best way out, is through.\nPower through the block.\nThe Daily Stoic, has sage, stoic advice.\nWhat about when a writer gets stuck? What about when the words don’t seem to come? John Avlon, the Editor-in-Chief of the Daily Beast described writer’s block as “getting stuck in a desert, a nightmare.” Similarly, Esquire writer Cal Fussman has said this on his ten year war with writer’s block on a particular article: “On the sunniest day of summer the fact that I couldn’t write that piece hung over me like a dark cloud.”\nThe first key is simple: Do not despair. As Marcus Aurelius wrote to himself as consolation: “Not to feel exasperated or defeated or despondent because your days aren’t packed with wise and moral actions. But to get back up when you fail, to celebrate behaving like a human—however imperfectly—and fully embrace the pursuit you’ve embarked on.” Marcus talked a lot about rhythm, about how important it is to return to it, to stick with it.\nAgain, this is why routine matters so much.\nSo you build a habit and a routine to write no matter what—that’s how you overcome writer’s block. John Avlon who we mentioned earlier has said that “writing is a muscle: it gets stronger the more you use it. If you let yourself fall out of the habit, it can be hard to get back in form.” Same goes for author Jeff Goins: “What do I do when I feel blocked? I write through the block.” How would you get rid of runner’s block or talker’s block? By doing those very things.\nOf course it’s not just about putting your ass in the chair. The Stoic advocate and bestselling author Tim Ferriss has talked about how his routine involves just “two crappy pages a day.” The goal is just to make progress, anything more ambitious can be intimidating or cause paralyzing anxiety. But those pages add up and eventually crappy pages can be polished and refined in editing.\nBeing disciplined and establishing a routine can help you beat writer’s block, but the bigger lesson is this: Creating a habit and a routine is true for just about any profession and any desire to live a better life. Routine and habit are the only way to do it. You can’t just randomly improve. You don’t do great work or make great decisions on accident—not, by definition, with regularity anyway.\nRoutine is everything. In writing, philosophy and in life.\nLike Seth says\nStreaks are their own reward.\nStreaks create internal pressure that keeps streaks going.\nStreaks require commitment at first, but then the commitment turns into a practice, and the practice into a habit.\nRead my summary of Atomic Habits, to help you build sustainable routines.\nIf you need more detail, go buy the book. I promise you it’ll be the best two hundred bucks, you will ever spend.\nWriting is work # I used to think, that I could write whatever, I wanted, quite easily.\nMy language is fairly good. I have a decent vocabulary.\nHow hard could it be?\nBut now, after years of writing, it still hasn’t gotten easier much.\nIt might be easy for other folk, but I still struggle, every time, I put pen to paper.\nOne thing to note though, if I keep to my rhythm, the flow stays and the words come easier.\nSo all I need do, is to just keep swimming writing.\nSusan Fowler agrees. This is her, reflecting on her writing.\nBecoming a Better Writer (and Writing a LOT)\nThis year was transformative for me as far as my writing skills are concerned. I got to the point where I can now sit down and knock out 3000-5000 good words in one sitting, even when completely exhausted at the end of a long workday. My day job as an editor made all the difference here: since I’m so used to thinking of writing and editing as work, I no longer get writer’s block and writing has lost most of its mythical quality (which is a good thing, as far as I’m concerned). In addition to finishing my memoir, I also wrote a couple of pieces for the Times, two novels (which I am currently revising), and one very joyful screenplay.\nWriting Isn’t Magic; It’s Hard Work I used to struggle to get my thoughts onto the page because the first time I put them down, they were complete crap. The second time I put them down, they were also crap. And the third time. And the fourth time. And the fifth time. But each time, what I was writing got a little bit better, and eventually I realized that by approximately the fiftieth time I revised something, I’d have something really good; therefore, if I wanted to write something worth reading, all I had to do was put in the time and effort to revise it enough times. This is a general lesson that I think applies to most things: if you want to get better at something, you have to do it over and over and over again and incrementally improve with each new try; given enough time, you can take something from crap to good (and maybe even to great).\nBut in the end, it’s worth it.\nYou’ll become calmer, more objective, more kind, more thoughtful.\nYou’ll become as immortal as you’d ever be, with your words carrying your thoughts after you are gone. Like Sam says,\nThat’s what death is, isn’t it?\nForgetting. Being Forgotten.\nIf we forget where we’ve been, and what we’ve done, we’re not men anymore, just animals.\nWriting gives me, us, our humanity!\nAnd so, I write.\nP.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\n","date":"13 décembre 2019","externalUrl":null,"permalink":"/personal/on-writing-as-a-discipline-a-practice/","section":"Personal","summary":"","title":"On Writing as a Discipline, a Practice","type":"personal"},{"content":"Am done with the Corey Python Playlist.\nThis is what, me and my battered brain feel like.\nimage, courtesy Quora\nFlash, Django, Matplotlib, best practices, all done and dusted.\nGetting back to actually writing code, tomorrow onwards.\nCorey’s tutorials are extremely helpful.\nThey helped gain an understanding of Python, that I never thought I could, in a timeframe, I never expected. (even without the crazy binging, this is at most a month of video; and this could probably be the best investement, you could make, if you are a beginner like me.)\nAnd obviously, I have only watched the videos.\nI have hopefully understood most of them to some degree.\nMastery obviously will come with practice.\n127 of 127, done!\n","date":"12 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-022-corey-schafer-python-video-marathon/","section":"Work","summary":"","title":"#100DaysOfCode, Day 022 – Corey Schafer Python Video Marathon","type":"work"},{"content":"Passed the halfway mark today in the Corey marathon, today.\nLearnt about testing my code, image manipulation, using pipenv, and some really cool Python movie trivia.\nIn the middle of the flask series now, and my brains have melted.\nWill pick up tomorrow.\n70 of 127, done.\n","date":"11 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-021-corey-schafer-python-video-marathon/","section":"Work","summary":"","title":"#100DaysOfCode, Day 021 – Corey Schafer Python Video Marathon","type":"work"},{"content":"Only a few more videos done on the Corey run.\nBut those were important ones.\nI finally got classes. Like got, got them.\nAnd I learnt about subclasses and dunder methods and decorators and getters and setters and all that jazz.\nAnd I understood it all.\nAnd now when I sit to code or read other people’s code, it won’t be as frustrating.\nAnd the more I watch and practice and read code, the more I seem to understand. Python seems to be slowly getting into my muscle memory.\nA dam seems to have broken.\nI don’t struggle as much.\n(That could also mean, I am not reading complicated code yet :P)\n49 of 127, done.\n","date":"10 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-days-019-020-corey-schafer-python-video-marathon/","section":"Work","summary":"","title":"#100DaysOfCode, Days 019 \u0026 020 – Corey Schafer Python Video Marathon","type":"work"},{"content":"Riffing off a quote in last week’s newsletter,\nMake any behaviour you want to encourage easier to do, and any behaviour you want to discourage harder to do.\nHow to Be Unhappy: # stay inside all day move as little as possible spend more than you earn take yourself (and life) too seriously look for reasons why things won’t work always consume, never contribute resent the lucky and successful never say hello first be unreliable Invert for happiness: # get outside each day move: walk, exercise, dance spend less than you earn view life as play be the one who looks for solutions develop a bias to contribute and create learn from the lucky and successful be the first to say hello be reliable I stole this from James Clear’s 3–2–1 newsletter.\nYou should subscribe. They are short, pithy and awesome!\nP.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\n","date":"9 décembre 2019","externalUrl":null,"permalink":"/personal/how-to-be-unhappy-or-happy/","section":"Personal","summary":"","title":"How to be Unhappy (Or Happy!)","type":"personal"},{"content":"Chugging through.\nThe weekend’s been busy with health stuff.\nBut did watch a few videos.\n39 of 127, done.\n","date":"8 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-days-017-018-corey-schafer-python-video-marathon/","section":"Work","summary":"","title":"#100DaysOfCode, Days 017 \u0026 018 – Corey Schafer Python Video Marathon","type":"work"},{"content":"Changing the feed for the planet, so i don’t flood it with my daily python updates.\nIf you want to keep up with programming specific stuff, the feed is here.\nAnd if you want to read all the madness, this is the site feed.\n","date":"8 décembre 2019","externalUrl":null,"permalink":"/personal/moving-python-planet-feed-test-post/","section":"Personal","summary":"","title":"Moving Python Planet Feed, Test Post.","type":"personal"},{"content":"Had decided to play hookey and start up another personal mini project.\nBut went down the rabbit hole of how to set up arguments.\nAnd everytime I research something Python related, I end up with one of Corey Schafer’s videos.\nSo I decided to run through his entire Python playlist over the next few days. Will try to do this quickly, skipping over the parts I do know.\n22 out of 127 videos done.\n","date":"6 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-016-corey-schafer-python-video-marathon/","section":"Work","summary":"","title":"#100DaysOfCode, Day 016 – Corey Schafer Python Video Marathon","type":"work"},{"content":"Finally got the program done!\nI wanted to write a program that would just get the latest comic from turnoff.us and save the picture to a file.\nIn the course of writing this little program,\nI learnt about the basics of context handlers I learnt about the os module in Python I learnt how to scrape a web page using requests, beautiful soup and feedparser. (I was going to originally scrape the web page, but then realised that processing the rss feed would be more efficient. I think it’ll also help me extend/improve the program better, later. It helped me practice, slicing and dicing Python lists and dictionaries and getting data out of them. I learnt how to write and save files to disk. This was really fun to do.\nI see a million ways to take this dinky, little program forward. It could do the whole site for example or download only after comparing the state of the rss feed and fetching new entries etc. It has no error handling at all currently, and I prefer to have very safe, very conservative programs as a user. So lots of work to do. I leave all this for a later date though, while I now forge ahead with my #100DaysOfCode journey.\nGetting back to the challenges of the course itself, tomorrow onwards.\n","date":"5 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-015-quick-and-dirty-web-page-download/","section":"Work","summary":"","title":"#100DaysOfCode, Day 015 – Quick and Dirty Web Page Download","type":"work"},{"content":"Did a video session again today, since I came back late from the doc.\nWatched videos about building a small d\u0026amp;d game, using classes.\nThis was fun :)\nWorking on the challenge will be exciting.\nAnd then some more on list comprehensions and generators.\nI had one aha, about tools as I watched this.\nThe instructor used a regular expression to process a list and that little line, cut down his code by lots.\nThat made me realise that programming is simply picking up the right tool for the job, and that there are a plethora, to do the work you need to do. One is not necessarily better than the other, just that some are better suited to the job at hand, than others.\nRevised how list comprehensions and generators work.\nAnd like a dork, I just realised that the operative thing is comprehension. You write in a comprehensive way to build some sort of collection. A list comprehension to write lists, a dictionary comprehension to build a dictionary, a generator comprehension to … well, you get the idea :)\nThis is all I got for today.\nWill work more tomorrow.\n","date":"4 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-014-classes-list-comprehensions-and-generators/","section":"Work","summary":"","title":"#100DaysOfCode, Day 014 – Classes, List Comprehensions and Generators","type":"work"},{"content":"Watched the video on the upcoming challenge to learn testing code.\nSounds challenging.\nThere are classes and decorators, which I have not worked with, but just read about.\nWill see how it goes.\nThe idea of test driven development though, seems right up my alley.\n","date":"3 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-013-test-code-using-pytest/","section":"Work","summary":"","title":"#100DaysOfCode, Day 013 – Test code using Pytest","type":"work"},{"content":"Extremely tight and busy day today.\nBut still made the time to watch the videos for the next challenge in the course.\nAs a matter of fact, I think this is what I should do.\nIf I am in office, I ought to watch videos.\nAnd spend the time at home when I can coding.\nWhat videos?\nThe next little project they have involves data structure basics.\nSo today’s videos took me through lists and tuples and dictionaries.\nAnd with this, I call it a day.\n","date":"2 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-012-data-structures-video-refresher/","section":"Work","summary":"","title":"#100DaysOfCode, Day 012 – Data Structures Video Refresher","type":"work"},{"content":"As I battle my physical demons, the newsletter will probably be on this slightly off cadence as I struggle mightily throughout the week, thinking about what to write, failing and then at the last minute panicking and sharing a short snippet of something I love and enjoy.\nI hope you do too :)\nSo where was I? Oh yea, my favourite personal development, web researcher, Mr. Barker has this to share on what the issue is with our minds and how we can all gain some perspective and a bit more happiness by not checking our phones ever so often.\nFrom How To Stop Checking Your Phone: 4 Secrets From Research,\nWe’re not looking at the problem correctly. For starters:\nYou do not have a short attention span.\nWe have a “mind control” problem. But it’s not other people’s ability to control your mind. It’s your own.\nWe spend so much time trying to get others attention yet the true determinant of our happiness is where we direct our own.\nSo what do we do? Throw our phones in a wood chipper?\nWell, I wouldn’t :) So what do we do?\nWe gain Attentional Control.\nBy strengthening the part of our brains called the Prefrontal Cortex (hereinafter referred to as the PFC), our thinking brain against the onslaughts of our lizard brain.\nHere’s his 4 step plan in a nutshell.\n1. Get your sleep. Get your exercise. Be healthy. # No sleep. PFC weak. That simple.\nEven one round of exercise will improve your PFC strength.\n2. Control your context. # Basically, what’s around you?\nHow is it that the phone slips into your hand and your thumbs go scrolling without you even realising it?\nFor me, I am a tech news junkie.\nSo if I am in a queue, or on the potty, or going to bed, I read!\nAnd to fix that, I now rely on a simple trick I learnt in Atomic Habits.\nMake any behaviour you want to encourage easier to do, and any behaviour you want to discourage harder to do.\nSo now, the news apps are not easily accessible, twitter is no longer installed, there are no notifications, and I have to type a complicated password to unlock the phone.\nI am pleased to report, that while I am not completely cured, my consumption has dropped significantly.\n3. Mindfulness # Well, this is my good habit!\nApparently it’s a good habit everyone should have.\nBecause, it is a superstrengthener of your PFC!\nI even wrote a whole blog post about it.\nNeed I say more?\nWell, I think Eric’s being a little sneaky here. When I look up, I see changes to mind, body and soul.\nSo in an even smaller nutshell, what he actually aims at is\n4. Be the change, you want to see in yourself! # Once again, this is an idea I read in Atomic Habits.\nThe best way to sustain and build a habit?\nBy deciding that this is what I am like.\nI hate exercise and physio, but I do it.\nWhy? Because I am a man with a broken back, who has learnt his lesson and wants to be healthy and pain free, and who exercises in order to stay that way.\nI don’t stress about smoking.\nWhy? Because I am not a person who wants to ruin his life by being a smoker.\nVegetarians don’t stress about eating meat.\nWhy? Because they just don’t eat meat.\nI decide, who I want to be :)\nLike the old bon mot goes, It’s simple, not easy.\nAnd it’s worth it.\n","date":"2 décembre 2019","externalUrl":null,"permalink":"/personal/how-to-stop-checking-your-my-phone/","section":"Personal","summary":"","title":"How to Stop Checking Your (My) Phone","type":"personal"},{"content":"Watched another Corey Schafer video on how to scrape web pages.\nThought that would be handy in my image from a web page download project.\nCorey’s an awesome teacher. The video was fun and it taught me lots.\nThen started hacking away at my little project.\nAnd then realised that the site has rss feeds.\nI could just process them instead of scraping a page.\nWent looking for a quick way to do that.\nFound the Universal Feed Parser.\nGot the rss feed and am now playing with it.\nThat is all I had time for today.\nBut I learnt lots.\nWill probably get back to the project on Wednesday.\nOffice beckons for the next two days.\nHope to keep up the streak by doing something productive though.\nToday was fun!\nToday was also the day, I realised, I actually love coding.\nI have no clue how 4 hours passed me by!\n","date":"1 décembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-011-quick-and-dirty-web-page-download/","section":"Work","summary":"","title":"#100DaysOfCode, Day 011 – Quick and Dirty Web Page Download","type":"work"},{"content":"Decided to take a break from the course, and do something for me.\nI want to check a site and download new content if any.\nThe day went sideways though.\nDid not quite do what I wanted.\nWatched a video on how to setup Visual Studio Code just the way I wanted.\nSo not quite all wasted.\n","date":"30 novembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-010-quick-and-dirty-web-page-download/","section":"Work","summary":"","title":"#100DaysOfCode, Day 010 – Quick and Dirty Web Page Download","type":"work"},{"content":"I cheated and peeked again at the solution :)\nAfter five days, I think I needed help.\nBut it was still a very good day.\nI learned lots.\nWhen I started this little project, I saw videos about defaultdicts and namedtuples and then kinda forgot that they would be of some use to me in my project itself.\nThat realisation came yesterday.\nLike they say, it happened very slowly and then all at once! I wrote up a quick workflow of how the program was supposed to work on paper.\nAnd then I had a decisison to make.\nDo I peek at the answer? or not?\nIn the end, I did.\nI wanted confirmation of my thought process, and realised that if I was going to figure out the code itself, this would take much, much longer.\nBesides, writing Python will come to me if I stick with this as I have been doing, so no guilt about copying code.\nThe instructors did solve the problem, exactly the way I envisioned it in my head :)\nAnd the code, to my inexperienced fingers was tricky. (I don’t know lambdas or expressions in general and the instructor uses them liberally; a dictionary expression to populate a dict and a lambda to sort a list) However I take small comfort in the fact, that I did, write one third of the code all by myself.\nJust goes to show, how little fluency I have with the language.\nBut still! I am happy I got my thinking straight :)\nOnwards!\n","date":"29 novembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-009-the-collections-module/","section":"Work","summary":"","title":"#100DaysOfCode, Day 009 – The Collections Module","type":"work"},{"content":"Finally feels like something is happening.\nDid two hours today.\nI don’t know if what I do is cheating, but I darn near print everything to see output and then iterate on the errors.\nI understood how to work with csv files and process them and why ordered dictionaries can be useful.\nI used that to process my csv file and read and print select fields.\nWill work on sorting them somehow and figure out frequency based on ratings tomorrow.\nPleased with myself. Today was a good day!\n","date":"28 novembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-008-the-collections-module/","section":"Work","summary":"","title":"#100DaysOfCode, Day 008 – The Collections Module","type":"work"},{"content":"I have been at this an hour daily for four days now.\nIt just is not clicking for me.\nOne thing is for sure, this Talk Python course is definitely going to take longer than a hundred days!\nI don’t know whether to be ashamed or proud.\nBest to be unashamedly persistent, I guess.\nMore work, tomorrow.\n","date":"27 novembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-days-005-006-and-007-the-collections-module/","section":"Work","summary":"","title":"#100DaysOfCode, Days 005, 006 and 007 – The Collections Module","type":"work"},{"content":"I have to learn to make time for reading and writing, which has slowed to a crawl ever since I am slowly getting back to life.\nHence these untimely letters.\nThis week, I present a little story I read when I was, oh, about ten years old.\nThirty years later, it still guides my actions and affirms my faith.\nIt has always given me a strange kind of freedom, when it comes to my how I go about life, encouraging me to do my best, and not to worry even if I stumble.\nIt planted the very powerful seed, that God if (s)he exists, is more loving than just.\nI just ought to be a good human.\nMalik, son of Dinar, was much upset about the profligate behaviour of a youth who lived next door to him. For a long time he took no action, hoping that someone else would intervene. But when the youth’s behaviour became intolerable, Malik went to him and insisted that he change his ways.\nThe youth calmly replied that he was a protégé of the sultan and so nobody could prevent him from living the way he wanted.\nSaid Malik, “I shall personally complain to the sultan.” Said the youth, “that will be quite useless, because the sultan will never change his mind about me.”\n“I shall then denounce you to Allah,” said Malik. “Allah,” said the youth, “is far too forgiving to condemn me.”\nMalik went away defeated. But after a while the youth’s reputation became so bad that there was a public outcry about it. Malik decided that it was his duty to reprimand him. As he was walking to the youth’s house, however, he heard a voice say to him, “Do not touch my friend. He is under my protection.” Malik was thrown into confusion by this and, when he was in the presence of the youth, did not know what to say.\nSaid the young man, “What have you come for now?” Said Malik, “I came to reprimand you. But on my way here a voice told me not to touch you, for you are under his protection.”\nThe profligate seemed stunned. “Did he call me his friend?” he asked. But by then Malik had already left his house. Years later, Malik met this man in Mecca. He had been so touched by the words of the voice that he had given up his possessions and become a wandering beggar.\n“I have come here in search of my Friend,” he said to Malik, and died.\nThis lovely parable is just one of many, in Anthony de Mello’s beautiful compendium of parables, The Song of the Bird.\nP.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\n","date":"25 novembre 2019","externalUrl":null,"permalink":"/personal/my-friend/","section":"Personal","summary":"","title":"My Friend","type":"personal"},{"content":"","date":"25 novembre 2019","externalUrl":null,"permalink":"/tags/parable/","section":"Tags","summary":"","title":"Parable","type":"tags"},{"content":"Decided to watch the videos for day 4 since I am a day behind.\nThe exercises look complicated, but the collections module looks like a real time saver.\nWill give it a go tomorrow.\n","date":"23 novembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-004-the-collections-module-201920/","section":"Work","summary":"","title":"#100DaysOfCode, Day 004 – The Collections Module","type":"work"},{"content":"Worked an hour for the past two days, exerting all of my python knowledge at the small project they gave me.\nTry as I might, I could not do it.\nSo looked at the solution.\nAnd realised, while it was all logical, I couldn’t for the life of me have written that code on my own.\nLong way to travel. Lots of work to do.\n","date":"23 novembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-days-002-003-dates-times/","section":"Work","summary":"","title":"#100DaysOfCode, Days 002 \u0026 003 – Dates \u0026 Times","type":"work"},{"content":"Watched videos for the tiny projects to do over the next two days.\nWe begin with a date/time project.\nPython has objects (primitives) to deal with dates and times.\nThey are part of the datetime module, which is part of the Python Standard Library.\nI learnt that I could add and subtract and otherwise modify dates, easily if my date data was in this format.\nWill play more with this tomorrow.\n","date":"20 novembre 2019","externalUrl":null,"permalink":"/work/100daysofcode-day-001-201920/","section":"Work","summary":"","title":"#100DaysOfCode, Day 001 – Dates \u0026 Times","type":"work"},{"content":"Ok, the last time I tried this, life got in my way.\nSecond time lucky?\nLast time, I crashed and burned.\nSo, to quote Rascal Flatts,\nOn your knees you look up\nDecide you\u0026rsquo;ve had enough\nYou get mad, you get strong\nWipe your hands, shake it off\nThen you stand.\n…\nEvery time you get up\nAnd get back in the race\nOne more small piece of you\nStarts to fall into place.\nSo, 100 Days of Code, #100DaysOfCode?\nLook here for the philosophy and the tactics (pretty simple, really.)\nAnd then I’m using Talk Python’s course to actually learn Python.\n33 odd little projects over a 100 days.\nHere I go …\n","date":"20 novembre 2019","externalUrl":null,"permalink":"/work/100-days-of-code-again/","section":"Work","summary":"","title":"100 Days of Code, Again","type":"work"},{"content":"Sorry, but not sorry about the lack of the weekly email yesterday :)\nThe phone is dead, the computer’s crashed and the net is not working.\nIn short, Murphy definitely has not left the building.\nBut if I am to be successful at what I do, if I aim to earn your trust, I need to show up :)\nTo quote Seth,\nShowing up on time, with a smile on your face is almost always more important than what you actually say or do.\nand this\n“I am here”\nShowing up matters more than ever, particularly if you promised you would.\nNot just showing up in person, but showing up emotionally, or with support, or with a resource that was inconvenient for you to produce.\nWe\u0026rsquo;re no longer judging you by what sort of widgets your factory makes. we’re judging you by what we can expect from you in the future.\nWhich is what today’s little mail is about.\nI am just writing this, so that I can say,\nI am here.\nI am showing up.\nAnd thank you all for reading my little screed.\nYou folks, are wonderful people :)\nP.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\n","date":"19 novembre 2019","externalUrl":null,"permalink":"/personal/i-am-here-trying-really-hard-to-show-up/","section":"Personal","summary":"","title":"I Am Here, (Trying Really Hard to Show Up)","type":"personal"},{"content":"Before we begin the festivities, here’s a small aside to the techheads who follow me and the tech muggles who care about privacy.\n(Which should actually be all of us, considering the various invasions of privacy happening)\nMy friend and mentor, Kushal writes short newsy notes on what goes on in that world. Why privacy matters and how the powers that be are stripmining our privacy and what we can do to protect it.\nGo, subscribe now!\nOctober # Alright, back to the music.\nAs you know, I spent most of last month cooped up in bed.\nWhat do I do if I am sick?\nI read :)\nSo this month is a big doozy :)\nCan’t Hurt Me, David Goggins\n(absolutely must read. Lindy read.\nMy second Lindy read in a month! I must be really lucky.\nI’ve been fascinated by David, ever since I read Living with a Seal.\nThis book reveals the mental mindset behind his superhuman feats.\nIf you’re wondering who David is, this will help.)\nThe 33 Marks of Maturity, Brett \u0026amp; Kate McKay\n(absolutely must read. Lindy read.\nthis book is short and packed with wisdom, about what it takes to be, well, mature.\nin the real adult mature sense.\nit reads like your dad or your older brother talking you through life’s truths)\nOur Magnificient Bastard Tongue, John McWhorter\n(must read. this was one of the best and funniest pieces of non fiction I have read in a while.\nif you are curious about why English is the way it is, this book provides a few answers.\nhere’s a quote, “German, Dutch, Swedish, and the gang are, by and large, variations on what happened to Proto-Germanic as it morphed along over three thousand years. They are ordinary rolls of the dice. English, however, is kinky. It has a predilection for dressing up like Welsh on lonely nights.”\nMcWhorter is funny, and insightful)\nThe Perpetual Beginner, Dave Isaacs\n(Music maestro Dave, has a lot of advice for folk like me;\nthe beginners who cannot seem to get over the beginning hump, the ones who do not yearn for mastery, just the ability to be fluent enough to translate what they hear in their head into notes on the guitar.\nworth a read.)\nThe Revelation Space Omnibus, Alastair Reynolds\n(fun read. this kept me good company as I lie in bed sick.\nit’s an awesome world to lose yourself in, taking you as it does across thousands of years of space and time.)\nChasm City Redemption Ark Absolution Gap Diamond Dogs, Turquoise Days The Prefect Retire Inspired, Chris Hogan\n(good read. another Dave Ramsey title.\nI reread this just to keep myself on track.\ni may not have money now, but i know what to do once I reinvent myself)\nThe Greatest Trade Ever, Gregory Zuckerman\n(the story of how John Paulson, saw the subprime bubble and made a killing.\nIf you liked The Big Short, you’ll like this.\nNot Michael Lewis level writing though)\nThe Odessa File, Frederick Forsyth\n(there’ll probably be a whole lot of Forsyth after this one.\nall of them, must reads.\nForsyth is the master of his genre. fuck that. he practically owns the genre.\nNazi war criminals have been hounded because of his fiction!\nand like Caro, he is the master of his craft.\nyou know how he develops his characters, you kinda know how it all works, but every new novel is still fun.\nand for me, I am on my umpteenth reread of his work.\nand I enjoy myself even now after all these years.)\nThe Deceiver, Frederick Forsyth\nAvenger, Frederick Forsyth\nThe Day of the Jackal, Frederick Forsyth\n(my first Forsyth novel)\nThe Fox, Frederick Forsyth\nThe Kill List, Frederick Forsyth\nThe Fist of God, Frederick Forsyth\nThe Afghan, Frederick Forsyth\nThe Cobra, Frederick Forsyth\nIcon, Frederick Forsyth\nThe Dogs of War, Frederick Forsyth\nThe Biafra Story, Frederick Forsyth\n(Forsyth at his journalistic best.\na beautiful, haunting, empathic recounting of the Nigeria-Biafra civil war from the Biafran point of view.)\nThe Outsider, Frederick Forsyth\n(lots of life stories compiled.\nnot quite an autobiography.\nmore like a drunk uncle telling awesome stories of his life.\n(all of which happen to be true, however fantastic they sound.))\nThe Proximity Principle, Ken Coleman\n(another book from the Dave Ramsey stable.\nmore common sense advice.\nthis time for your career.\nworth a read)\nForever and Ever, Amen, Randy Travis\n(it’s always sad, when you discover as you grow older, that your heroes are only human and your idols have feet of clay.\nI’ve listened to every Randy Travis album ever since my cousin brother gifted me Storms of Life all those years back.\nAnd it seems strange that for all I learnt about life from those songs, the baritone who sang them, did not.\nI learnt from those songs and became a man. Randy stayed a man child.\nIt’s a raw book. Randy lays his life bare.\nIt’s funny, poignant, cautionary and uplifting.\nAnd there’s the names and people parading through his life.\nI did not know the Terminator gave Randy fitness tips.\nOr that Dirty Dancing Swayze sang backup vocals for him.\ndefinitely worth a read if you are a country music fan.\nIt’s a portrait of a flawed life yes, but also a life filled with lots of love and friendship and music and devotion and faith.)\nThe Body, A Guide for Occupants, Bill Bryson\n(Bill is a guide. The best kind there is.\nHe tells it like it is. and tells it pithily and funnily.\nBe it the evolution of English, how our homes came to be, or just a history of everything, Bill has done it all.\nThis time he tackles a new frontier. The human body.\nFrom head to tail, err … toe, Bryson explores every part of the human body.\nAnd as usual it is exceedingly awesome.\nSample this, “Although Funk coined the term “vitamines,” and is thus often given credit for their discovery, most of the real work of determining the chemical nature of vitamins was done by others, in particular Sir Frederick Hopkins, who was awarded the Nobel Prize for his work in 1929—a fact that left Funk permanently in one.”\nYou will learn lots and laugh lots.\nGo read.)\nMorgan’s Run, Colleen McCullough\n(I don’t know why, but this is the one of the few pieces of modern fiction, I re–read a lot.\nProbably because Richard Morgan, the protaganist is a stoic hero.\nAnd I love the Stoics.\nIt’s all about how Australia and Norfolk Island (the focus of the story) got settled, by the riff raff England did not want.\nAbout how they struggled.\nAbout how they made the most of the very meagre natural resources at the time.\nI kept hoping against hope that she’d write a sequel, because I so wanted to know more about this part of history.\nIt’s a lovely read. A lose yourself in history book)\nP.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\n","date":"11 novembre 2019","externalUrl":null,"permalink":"/reading/books-ive-read-october-edition/","section":"Reading","summary":"","title":"Books I’ve Read, October Edition","type":"reading"},{"content":"From the celebratory post,\nOld proverb: “The best time to start a blog was 20 years ago. The second-best time is today.” :)\nThis is what I want for my blogs to become too.\nNot popular, but to have a long active life, full of stuff that inspires me and helps others.\n","date":"9 novembre 2019","externalUrl":null,"permalink":"/personal/inessential-turns-20/","section":"Personal","summary":"","title":"Inessential Turns 20!","type":"personal"},{"content":"Hello, folks!\nLet’s get this show back on the road, shall we?\nBefore we resume, I just want to thank you for all your notes of encouragement and good wishes.\nI still am not out of the woods, yet, but healthy enough to resume writing these littles notes :)\nSeptember # Everyday Millionaires, Chris Hogan\n(must read. but only for folks like me who are a little slow with money. it’s a typical Dave Ramsey book. short. to the point. all meat, no bones. lots of stories.\nthe book itself is an exploration of their study of 10,000 millionaires in the USA. no, she does not own a fancy penthouse. she is more likely to be a high school teacher in her early to mid fifties.)\nThe Veteran, Frederick Forsyth\n(must read. found my old copy and reread it.\nthis is a collection of 5 novellas of varying lengths, each with a twist you don’t see coming.\nThe Veteran is classic Forsyth.\nMy favourite, Whispering Wind, is Forsyth trying to do a L’Amour and coming within striking distance. Old western, time travel and reincarnation; this one has it all)\nMyths, Lies, and Half-Truths of Language Usage, John McWhorter\nThe Revelation Space Omnibus, Alastair Reynolds\nGalactic North Revelation Space P.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\n","date":"4 novembre 2019","externalUrl":null,"permalink":"/reading/books-ive-read-september-edition/","section":"Reading","summary":"","title":"Books I’ve Read, September Edition","type":"reading"},{"content":"If you are young, and I mentor you (or not), then this talk is a must watch.\nDon’t make the mistakes I have.\nSubra (as usual), fills his 10 minute at IIT Bombay, with wit and humour and wisdom.\n# ","date":"2 novembre 2019","externalUrl":null,"permalink":"/personal/investing-do-not-listen-to-your-parents/","section":"Personal","summary":"","title":"If You Want to Invest, Do Not Listen to Your Parents","type":"personal"},{"content":"","date":"2 novembre 2019","externalUrl":null,"permalink":"/tags/personal-finance/","section":"Tags","summary":"","title":"Personal Finance","type":"tags"},{"content":"Been really sick to do anything this past month.\nSlowly inching towards getting better.\nSo thought it would be a good idea to get my brain working, even if slowly.\nSafari on my Mac has finally turned into a burning pile of shit.\nNo extensions allowed.\nI hate this neglect of an awesome platform.\nAnd I hate that they are making it into something that nobody wants, except for some fat cat in an ivory tower.\nSo where was I? Oh yea, no extensions.\nWhich means no uBlock Origin.\nWhich basically means Safari for all its speed and efficiency is now as unusable as a dog turd.\nWhich made be remember the Banana Pi.\nIt was my feed server.\nAnd then I moved that to another machine.\nSo the Pi now is a Pi-Hole.\nBlocks most garbage.\nWorks pretty well.\nNot uBlock Origin well, but it is definitely a relief to just have something that can serve all my devices at the flick of a switch.\nLet’s see how this experiment goes.\n","date":"11 octobre 2019","externalUrl":null,"permalink":"/work/got-a-pi-hole-running/","section":"Work","summary":"","title":"Got a Pi Hole Running","type":"work"},{"content":"On a short break. The newsletter and the blogs are on a hiatus of sorts, for now.\nI have been sick awhile, so I am taking time off, to tend to myself.\nWill be back, hopefully soon :)\n","date":"7 octobre 2019","externalUrl":null,"permalink":"/personal/on-a-short-break/","section":"Personal","summary":"","title":"On a short break","type":"personal"},{"content":"The truth is, I think, […] for me inspiration comes from a bunch of places.\n(Counting on his fingers …) Desperation, deadlines …\nA lot of times, ideas will turn up while you are doing something else.\nAnd most of all, I think, ideas come from confluence.\nThey come from two things flowing together, they come, essentially from day-dreaming. It’s … it’s something I suspect that’s something that every human being does.\nWriters tend to train themselves to notice when they’ve had ideas. Not that they get anymore ideas or get inspired more than anyone else. We just notice. We notice when it happens, a little bit more.\nYou go,well, you know, everybody knows that if you get bitten by a werewolf, when the moon is full, you will turn into a wolf. You know that.\nAnd then there’s that moment when you’re sitting thinking, so what happens if a werewolf bites a goldfish?\nOr what if the werewolf sinks its fangs into a chair? And what if you’re sitting in that chair and the moonlight touches it? Slowly it starts feeling more and more wolfish and it growls and what about the … you know? And oh my god! Then you’d have to set it in the winter, cuz you’d need the snow for people to try and figure out why you’ve got chair leg marks in the snow. By the body. That has its throat ripped out.\nAnd suddenly, you have a story!\nThe whole video is funny, yet so full of wisdom.\nThe old url was: https://youtu.be/xPN7vDu9Rsk (doesn’t work any more)\nP.S. Subscribe to my mailing list! P.P.S. Feed my insatiable reading habit.\n","date":"30 septembre 2019","externalUrl":null,"permalink":"/personal/gaiman-on-writing/","section":"Personal","summary":"","title":"Gaiman on Writing","type":"personal"},{"content":"Something I learnt recently as I moved hosts for my Miniflux instance.\nI can just take all the variables I want (like feed refresh times, the base url or the address/port Miniflux listens on); and then stuff it into a config file and then launch miniflux like so …\nminiflux -c 'path/to/file'\nPretty handy!\nP.S. The entire list of variables is here.\n","date":"23 septembre 2019","externalUrl":null,"permalink":"/work/stuffing-variables-into-a-config-file-for-miniflux/","section":"Work","summary":"","title":"Stuffing variables into a config file for Miniflux","type":"work"},{"content":"August\nUltralearning, Scott H Young\n(must read.\nif you are looking to tackle something foundationally important, this book gives you one solid approach.\nit’s mostly common sense.\nbut common sense that is laid out in a really logical manner.\ni learnt to plan my project, that hard learning is normal, that failure is normal, and that persistence is a prerequisite.\nall critical things, since learning no longer “comes naturally” to me.)\nMemories, Lang Leav\n(must read)\nThe Universe of Us, Lang Leav\n(must read. Leav writes beautifully haunting poetry)\nDissent on Aadhaar, compilation, Reetika Khera (editor)\n(must read. this insightful, erudite read, tackles the various issues of Aadhaar on multiple levels, with multiple experts from various fields, voicing their concern.\nif you want to know, why Big Brother is Bad Business, why Aadhaar is a bad idea and what its fallout c(w)ould be, this is the book to read)\nLearning Python, Mark Lutz\n(this was a text book I needed to read to learn programming. loved it.)\nP.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\n","date":"23 septembre 2019","externalUrl":null,"permalink":"/reading/books-ive-read-august-edition/","section":"Reading","summary":"","title":"Books I’ve Read, August Edition","type":"reading"},{"content":"","date":"16 septembre 2019","externalUrl":null,"permalink":"/tags/mental-models/","section":"Tags","summary":"","title":"Mental Models","type":"tags"},{"content":"Peter Kaufman, editor of Poor Charlie’s Almanack, on why is it important to be a multidisciplinary thinker.\nBecause as the Japanese proverb says, ‘The frog in the well, knows nothing of the mighty ocean.’\nYou may know everything there is to know about your specialty, your silo, your “well”, but how are you going to make any good decisions in life …\nthe complex systems of life, the dynamic system of life …\nif all you know, is one well?\nHe then, talks about a sneaky shortcut on how he did it.\nSo I tried to learn what Munger calls, ‘the big ideas’ from all the different disciplines.\nRight up front I want to tell you what my trick was, because if you try to do it the way he did it, you don’t have enough time in your life to do it. It’s impossible. Because the fields are too big and the books are too thick. So my trick to learn the big ideas of science, biology, etc., was I found this science magazine called Discover Magazine. […]\nI found that this magazine every month had a really good interview with somebody from some aspect of science. Every month. And it was six or seven pages long. It was all in layperson’s terms. The person who was trying to get their ideas across would do so using good stories, clear language, and they would never fail to get all their big ideas into the interview. […]\nSo I discovered that on the Internet there were 12 years of Discover Magazine articles available in the archives. So I printed out 12 years times 12 months of these interviews. I had 144 of these interviews. And I put them in these big three ring binders. Filled up three big binders.\nAnd for the next six months I went to the coffee shop for an hour or two every morning and I read these. And I read them index fund style, which means I read them all. I didn’t pick and choose. This is the universe and I’m going to own the whole universe. I read every single one.\nNow I will tell you that out of 144 articles, if I’d have been selecting my reading material, I probably would have read about 14 of them. And the other 130? I would never in a million years read six pages on nanoparticles.\nGuess what I had at the end of six months? I had inside my head every single big idea from every single domain of science and biology. It only took me 6 months. And it wasn’t that hard because it was written in layperson’s terms.\nAnd really, what did I really get? Just like an index fund, I captured all the parabolic ideas that no one else has. And why doesn’t anybody else have these ideas? Because who in the world would read an interview on nanoparticles? And yet that’s where I got my best ideas. I would read some arcane subject and, oh my god, I saw, ‘That’s exactly how this works over here in biology.’ or ‘That’s exactly how this works over here in human nature.’ You have to know all these big ideas.\nAnd then in an extraordinary step of generous giving, he spends the rest of the talk, summing all he has learnt into the next 40 or so minutes.\nYou should go read the talk at Latticework Investing.\nEven better, you should go listen. Kaufman is a really engaging speaker.\nI hope you listen to this, every once in a while like I do.\nShane Parrish also merges Peter’s ideas with the Durants for an amazing post on the lessons of history.\nP.S. Subscribe to my mailing list!\nP.P.S. Feed my insatiable reading habit.\n","date":"16 septembre 2019","externalUrl":null,"permalink":"/personal/peter-kaufman-on-the-multidisciplinary-approach-to-thinking/","section":"Personal","summary":"","title":"Peter Kaufman on The Multidisciplinary Approach to Thinking","type":"personal"},{"content":" Ubi enim est thesaurus tuus, ibi est et cor tuum.\nFor where thy treasure is, there is thy heart also.\nYou’ve stood by me through thick and thin.\nWe’ve been through houses and hospitals and travails and travels around the world.\nWe finish each other’s thoughts and sentences, (much to Poo’s chagrin,)\nI don’t know what I’d do without you.\nTo quote a silly old country song,\nWhen my life is through,\nAnd the Angels ask me to recall\nThe thrill of it all, then I will tell them\nI remember you …\nI love you,\nI do,\nmore than I can tell you,\nmore than I ever did, eight years ago.\n","date":"10 septembre 2019","externalUrl":null,"permalink":"/personal/8/","section":"Personal","summary":"","title":"8","type":"personal"},{"content":" Pooja Singh! Now you understand\nJust why my head’s not bowed.\nI don’t shout or jump about\nOr have to talk real loud.\nWhen you see me passing,\nIt ought to make you proud.\nI say,\nIt’s in the click of my heels,\nThe bend of my hair,\nthe palm of my hand,\nThe need for my care.\n’Cause I’m a woman\nPhenomenally.\nPhenomenal woman,\nThat’s me.\n— Maya Angelou\n","date":"9 septembre 2019","externalUrl":null,"permalink":"/personal/phenomenal-woman/","section":"Personal","summary":"","title":"Phenomenal Woman","type":"personal"},{"content":"My dad was a carpenter.\nWell everyone called him that, but I know him for what he truly was.\nA craftsman.\nBe it his work with wood, or the little works of art and craft he made for us or his drawings in my book; everything he did, was slow, and measured, and full of deliberation and intention.\nWhich is why this episode struck such a chord with me.\nJocelyn articulates beautifully, exactly what my father did.\nI still remember his slight rankle, followed by this expression of sorrow, whenever I would rush him, tell him this much was good enough.\nThank God, he never listened to me.\nHe may not be here now, but everything he built, makes it like he is.\nIt’s a short delightful episode. Go listen.\nDefinitely worth your time and attention.\nEverything below the break are my paraphrased notes.\nCreativity and Efficiency, have absolutely nothing to do with each other.\nThe creative process actively resists efficiency.\nCreativity is messy and organic and full of (as it looks from the outside) friction, which is a little bit frustrating, because everything else in our lives keeps getting faster, easier, smoother, more efficient, more frictionless.\nWe have become more accustomed to a kind of effortless convenience.\nAsk and ye shall receive.\nSo there’s a really interesting tension here.\nBetween the pace of technology and the pace of creativity.\nWork is what we do by the hour. It begins and, if possible, we do it for money. Welding car bodies on an assembly line is work; washing dishes, computing taxes, walking the rounds in a psychiatric ward, picking asparagus–these are work.\nLabor, on the other hand, sets its own pace. We may get paid for it, but it’s harder to quantify… Writing a poem, raising a child, developing a new calculus, resolving a neurosis, invention in all forms — these are labors.\nWork is an intended activity that is accomplished through the will. A labor can be intended but only to the extent of doing the groundwork, or of not doing things that would clearly prevent the labor. Beyond that, labor has its own schedule.\n[…]\nThere is no technology, no time-saving device that can alter the rhythms of creative labor. When the worth of labor is expressed in terms of exchange value, therefore, creativity is automatically devalued every time there is an advance in the technology of work.\n— The Gift, Lewis Hyde\nAs technology makes everything more efficient, we tend to think that creativity should also become more efficient, that there must be a way to do creative work, that’s better, faster, more scalable … but is there?\nWhat’s more important?\nDoing all the things?\nOr enjoying all the things that you’re doing?\nCreativity resists efficiency.\nNo one can tell you how much time something should take, because creativity is not measurable on a time clock.\nIt’s not practical or efficient or objectively quantifiable.\nWhat it is, is deeply personal.\nNo one knows, how long it takes to make anything.\nWhich means, no one knows what pace your creative process should unfold at, except for you.\nAnd no one knows, what boundaries you need to setup to protect that process, but you.\nAnd no one knows, how much you should obsess about the details, or how far you should go, and when you should say, “This is enough!”‚ but you.\nRemarkable creative projects don’t come from efficiency.\nIf anything, they come from inefficiency.\nFrom doggedly ignoring all the rules, and saying,\n“I am going to devote an ungodly amount of time to this thing, that no one else thinks is important, but that I think is important.”\nGreat creative work comes from slowing down, when every one else is rushing around and saying,\n“I’m going to take my time and notice this thing, that everyone else is missing and really sit with it, and contemplate it and craft it to create something remarkable.\nActually, something that’s even more remarkable, because no one else would have taken the time.”\nSo the next time you feel stuck or rushed or judged for your “inefficiencies”, remember that they’re also your strength.\nBecause greater comes from working at your own pace.\nRemember to take your time.\nP.S. Also, remember to subscribe to the mailing list, if you haven’t already! :)\n","date":"2 septembre 2019","externalUrl":null,"permalink":"/personal/notes-from-jocelyn-k-gleis-podcast-episode-on-creativity-efficiency/","section":"Personal","summary":"","title":"Notes from Jocelyn K Glei’s Podcast Episode on Creativity \u0026 Efficiency","type":"personal"},{"content":" “So it is: we are not given a short life but we make it short, and we are not Ill-supplied but wasteful of it.”\n[…]\nAll things that are still to come lie in uncertainty; live straightway!”\n― Lucius Annæus Seneca, On the Shortness of Life\nThank you, for sharing my journey with me!\nP.S. Get your friends subscribe to the newsletter!\n","date":"26 août 2019","externalUrl":null,"permalink":"/personal/41/","section":"Personal","summary":"","title":"41","type":"personal"},{"content":"Did I need to read a fifteen hundred page book to learn Python?\nAt the end of fourteen hundred pages, I can safely assure you, I did not.\nIf you want to just solve your pressing issues or scratch your itch, or just plain get started with programming (and programming in Python specifically), I’d recommend starting with a simple, fast paced book, like Python for you and me, and then doing tons of practice.1\nMark Lutz, as he closes the book, himself laments that Python has gotten too big to hold in your head. And by doing so, has lost some of the simplicity and the joy and fun and the magic, Python held for the early adopters of the language.\nAnd yet, having said all this, boy, am I glad, I read the book.\nThis is a master class from a master.\nI may not have understood everything. I may have skimmed a chapter or two (Lutz assures me, it’s ok :P), but what this book has done to my mind, the furrows it has ploughed, will be with me forever.\nI have been trying to get into the book, multiple times since I bought it.\nIt took me a long time, before, as Mortimer Adler puts it, I could come to terms with the author.\nThe only reason I kept coming back, was because, Mark’s earnest teaching voice shines through, and I loved it, even if I did not quite get what he was saying in the beginning.\nAnd the reason I could get through it (and enjoy it) this time, because I decided to follow his advice and follow along on the computer.\nTo actually type in the code, and see what happens.\nYes, the book is big, yes, the concepts are repeated a couple of times, but as I progressed, I could feel him sweating the small stuff over and over, just so that I could understand things, so that I would not get scared away.\nTime and again, the book reassured me, that what was said, was not as complicated or hard as it read on the page.\nAnd that turned out to be true as I kept trying the examples out.\nWhile I still have a long way to go, before I can remotely be called fluent, I know this book will have a been a big reason, I will be.2\nThis book was last updated, oh, some six years ago, and yet unless Python decides to change radically, I dare say, the principles in here will stand the test of time.\nThis was a great read and will serve as an awesome reference on my Python journey.\nIf you are slightly kooky like me, and you want to know, why things are the way they are as you learn to program in Python, get this book.\nWhich is actually, what I am doing.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nBesides the practice, that is.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"25 août 2019","externalUrl":null,"permalink":"/work/learning-python/","section":"Work","summary":"","title":"Learning Python","type":"work"},{"content":"via Neil Gaiman\nchaot1k-daydreams asked: Hey, Mr. Gaiman, sorry to bother you. I just had a couple questions? I’m trying to become a better writer and write more, but I feel like I’m falling out of my own style when I write. I either write too much or too little, over-embellish or make it feel bland, and I’m not quite sure what I’m doing wrong by I feel like it’s both wrong and not what I want to write. I was hoping you might have some advice?\nWrite more.\nIt sounds a bit silly but that’s how you eventually find out what you sound like.\n","date":"24 août 2019","externalUrl":null,"permalink":"/personal/write-more/","section":"Personal","summary":"","title":"Write More","type":"personal"},{"content":"","date":"24 janvier 2019","externalUrl":null,"permalink":"/fr/tags/dgplug/","section":"Tags","summary":"","title":"Dgplug","type":"tags"},{"content":"","date":"24 janvier 2019","externalUrl":null,"permalink":"/fr/tags/french/","section":"Tags","summary":"","title":"French","type":"tags"},{"content":"The words to study are getting overwhelming now.\nJust hope this is temporary.\nLast week’s mnemonic tip is working wonders though.\nI am learning and remembering more words faster.\nAnd now I see why the app is not yet giving me lots of sentences.\nIt wants me to build up a core vocabulary.\nAnd the time I give it is not much.\nSo it will all come with time.\n(The way the words flow, in my head, is a bit easier now)\nI just need to be patient and keep at it.\n","date":"24 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-16/","section":"Personnalité","summary":"","title":"French, Week 16","type":"personal"},{"content":"","date":"24 janvier 2019","externalUrl":null,"permalink":"/fr/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":" 2019-08-21 # Started with the problem,\nNeed to take in an md file and then generate an html file.\nHint given, use a package from PyPI.\nDecided to use the Markdown package from PyPI.\nLooks good to me.\nWas advised to work off a branch while developing.\nThank God for friends who teach you good habits.\nLooking up how to do that in git now.\nWatched Git videos for about an hour.\nLearnt lots about branches. Giving up for today. it’s 8 in the eve and i am tired.\n2019-08-22 # Captain’s Log, Stardate something, something :P\nLet’s see what the day holds.\nFigured out how to read in a file. Figured out how to convert it. Figured out how to write to a file safely. Now gotta figure out how to write the same file name as the one i feed it. 11:44:24, went on a little rabbit hunt for how to type times in here :) 11:45:21, first time ever, that I’ve hit a flow state, doing Python 12:18:03, got it working, yea baby! 12:40:55, Kushal suggested corrections and improvements. getting to work on those later. 2018-08-23 # Captain’s Log, stardate, weekend on terra begins XD\n09:04, beginning with Kushal’s suggestions 09:38, beginning now. :) had a power cut End day. Nothing done. ","date":"23 août 2019","externalUrl":null,"permalink":"/personal/generating-markdown-from-html/","section":"Personal","summary":"","title":"Generating Markdown from HTML","type":"personal"},{"content":"Decided to pull the plug on the Do the Work blog.\nWhile I wanted to use it for my tiny, crazy, work in progress thoughts, I find that it was increasingly being subsumed by my new shiny Mastodon.\nAnd as the volume of things I write now scales up, I do not want another place to maintain.\nI’ve migrated all my posts here.\nWill use this blog for the long and medium stuff going forward. And the short, ooh shiny stuff is on my Mastodon account.\nRead the kooky struggle there, and if you want a social account that does not do evil things to you, get an account yourself.\nThank you for coming along :)\n","date":"23 août 2019","externalUrl":null,"permalink":"/work/au-revoir-dtw/","section":"Work","summary":"","title":"Au Revoir DTW","type":"work"},{"content":" 1. You take, this here list. # 2. Chew on it. # 3. And spit it out, just like a cow. # I reposted this, because I called comprehensions, expressions in the older post. Sorry!\n","date":"23 août 2019","externalUrl":null,"permalink":"/work/list-comprehensions-a-story-in-3-pictures/","section":"Work","summary":"","title":"List Comprehensions, A Story in 3 Pictures","type":"work"},{"content":"Ok, really thrilled today.\nPatting myself on the back.\nI finally managed to write a program all on my ownsome. Kushal gave me a toy problem and I went around, scratched my head, did a lot of searching, a lot more headbanging, even more mistakes and then finally managed to write this.\nAm happy because this is how I imagined myself learning in the first place.\nFiguring out a problem someone has and then figuring out how to help them.\nAlso happy, because this makes me more confident.\nHaving gotten over the hump of my first program, I now am looking forward to doing more, instead of being apprenhensive about how to do it.\nOnwards.\nP.S. The problem was to process a summer training log file and print out, how many words, each participant spoke.\nThe code’s here, if you want to see it.\n","date":"21 août 2019","externalUrl":null,"permalink":"/work/first-python-program/","section":"Work","summary":"","title":"First Python Program","type":"work"},{"content":"Seeing as you folks are reading my newsletter, I know I am preaching to the choir, but this article, summarises my thoughts on social media excellently!\nfrom the Art of Manliness,\nAt first, it wasn’t so bad. But then I started noticing that I wasn’t seeing all the updates from pages I followed on Facebook.\nCome to find out, Facebook started changing their News Feed algorithm so that only the content Facebook thought you’d be interested in the most showed up in your feed. Facebook claimed they were just trying to help users sift through the firehose of information being blasted at them. Critics argued Facebook was just trying to keep people more engaged on Facebook because that makes money for Facebook. And that they were trying to force pages to pay money for their content to show up in the News Feeds they had once shown up in organically.\nI was just ticked that I wasn’t seeing all the stuff from Facebook pages that I had deliberately opted into getting updates from.\nTwitter added changes to their algorithm that boosted tweets to the top of your timeline based on what they thought you’d want to see. Again, Twitter claimed they were trying to be helpful. Critics argued it was just a ploy for users to engage with and stay on Twitter longer (which makes Twitter more money).\nI was miffed some algorithm was deciding what I saw.\nand\nBesides the comments, there are those other little signals on social media that can end up skewing what you think of something: likes, RTs, faves, hearts.\nAnd come to find out, a lot of these “one-bit indicators” (as Digital Minimalism author Cal Newport calls them) are coming from bots. Not from actual people. A lot of social media is fake. Hype.\nThe benefits? Here’s Brett again,\nI see the content I want to see.\nAm I interested in everything Marginal Revolution puts out? Of course not, but instead of some stupid social media algorithm trying to predict whether I’ll be interested in a piece of content or not, I get to decide whether I’m interested in it or not. It’s nice being in complete control of my media consumption again.\nI no longer see other people’s opinions about content before I consume said content.\nWhen you subscribe to a site’s RSS feed, you just see the content. That’s it. There are no comments or social media feedback about that content. Instead of the hot take of some internet stranger tainting how I read something, I read it completely unfiltered and come to my own conclusions.\nReading content without the social media commentary is a way to practice self-reliance. Instead of relying on other people to help you figure out what you think of something, you get to figure that out yourself. You’re in charge, and being in charge of your opinions feels good.\nI spend less time online.\nAoM podcast guest John Zeratsky calls Facebook, Twitter, and Instagram “infinity pools.” They’re apps in which the content is continually refreshed, and thus has no “end.” You might use Twitter to follow some “thought leader” you enjoy, but besides the stuff he puts out, you’re also presented with all the comments that his followers append to his tweets. There’s a constant stream of new content and commentary on Twitter, and as our brains desire novelty, that makes the platform massively appealing to check over and over again. You’re never done reading content on social media.\nNow that I just consume my content via RSS or email, I’ve found myself spending less time online. You just read the article and you’re done. There’s some finitude to it.\nI rest easy knowing that social media companies have less data on me.\nSocial media companies don’t charge you money to use their services, but that doesn’t mean the services are “free.” Instead of exchanging money, you hand over gobs of personal and private information about yourself, which allows social media companies to sell ads targeted to your personal dossier.\nWhat’s more, these companies (particularly Facebook) have a lousy track record of keeping your private information private.\nThe rugged, individualistic, keep-out-of-my-business side of myself treasures his privacy. I like for other people or companies to not know what’s going on in all facets of my life. While I’ll likely never be able to completely eliminate my digital footprint, reducing my social media use can significantly shrink it.\nI’m happier.\nOne of the things I’ve noticed about not using social media is that I just feel happier.\nFirst, because I’m spending less time online I have more time to do things I enjoy in real life.\nSecond, because I don’t see the opinions of the masses on RSS or email, I don’t expose myself to all the negativity that plagues social media. I’ve noticed I’m less pissy the less I’m exposed to the low-grade fever of anger that constantly brews online.\nThird, social media can really skew what your brain considers important. If everyone on Twitter was talking about it, it had to be important, right? Not really.\nNow that I’m off social media, my brain’s bandwidth is no longer clogged up with all that faux-important social media garbage. My attention is focused on the stuff that’s really important: family, friends, health, spirituality, and of course, barbell training.\nWho doesn’t want to be happier?\nSo the best use of our time, is probably to quit social media.\nHow then to keep up with things that interest us?\nWith old fashioned tools.\nEmail \u0026amp; RSS readers.\nSubscribe to interesting newsletters, (cough, like mine, cough)\nUse a feed reader to keep up with interesting sites.\nAlgorithms control what you see, and as what you pay attention to becomes your reality, algorithms create your reality. If you want to program your own reality, rather than having it programmed by corporate computer coding, then escape the algorithm, escape social media, take the training wheels off your online content consumption, and ride it in a more direct, autonomous, liberated way.\nP.S. The whole article, is well worth your time!\nP.P.S. After reading this, don’t you think, you need to forward my mails to your friends, and tell them to subscribe? :)\n","date":"19 août 2019","externalUrl":null,"permalink":"/personal/escape-the-algorithm/","section":"Personal","summary":"","title":"Escape the Algorithm!","type":"personal"},{"content":"Some weeks, you feel like you go through the motions.\nThis was not one of those weeks.\nMade a small breakthrough that helps me now remember words faster, when I add images to my app.\nNow in addition to the images for the word, I also add an image that might help me remember how the word actually ‘sounds’.\nFor example, this is word I have to learn. Singe.\nSinge is monkey, in French.\nSo here’s a monkey … of sorts.\n— image courtesy Max Pixel The thing with ‘this’ monkey though is that, he’s singing.\nAnd my brain goes … hmmm … singing monkey … singing … sing … Singe!\nLike Trinity says, “That’s a nice trick!” :)\nWill do this with all new cards now.\nAnd the old ones that I find hard to remember.\n","date":"17 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-15/","section":"Personnalité","summary":"","title":"French, Week 15","type":"personal"},{"content":" “However mean your life is, meet it and live it;\ndo not shun it and call it hard names.\nIt is not so bad as you are.\nIt looks poorest when you are richest.\nThe fault-finder will find faults even in paradise.\nLove your life, poor as it is.\nYou may perhaps have some pleasant, thrilling, glorious hours, even in a poorhouse.\nThe setting sun is reflected from the windows of the almshouse as brightly as from the rich man\u0026rsquo;s abode;\nthe snow melts before its door as early in the spring.\nI do not see but a quiet mind may live as contentedly there, and have as cheering thoughts, as in a palace.”\n― Henry David Thoreau, Walden\nand\n“The cost of a thing is the amount of what I will call life which is required to be exchanged for it, immediately or in the long run.”\n― Henry David Thoreau, Walden\n","date":"12 août 2019","externalUrl":null,"permalink":"/personal/on-life-and-its-costs/","section":"Personal","summary":"","title":"On Life and its Costs","type":"personal"},{"content":"This week was a slog.\nKept at it.\nSpecially after reading this.\nCan understand phrases, here and there now.\nSo, that’s progress. :)\n","date":"10 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-14/","section":"Personnalité","summary":"","title":"French, Week 14","type":"personal"},{"content":"","date":"7 août 2019","externalUrl":null,"permalink":"/tags/study/","section":"Tags","summary":"","title":"Study","type":"tags"},{"content":" French # The app! the cursed app!\nJust did the bare minimum today.\nProgramming Practice # Didn’t waste tooooo much time today :) Manged to figure out what was actually asked for in Python terms and wrote it down as instructions in the file. working at slowly converting them to code now. All the fussing I did over fonts and setting things up yesterday paid off. The editor has receded to tho background and I can just work. I made progress with the program today. only a tiny bit left. Python Jumpstart by Building 10 Applications # The fourth app kicked my butt. got it working, but it was really hard going. done for this week. will attempt next week ","date":"7 août 2019","externalUrl":null,"permalink":"/work/study-day-9/","section":"Work","summary":"","title":"Study, Day 9","type":"work"},{"content":"I am beginning to understand sentences a bit.\nThat is all\n","date":"6 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-13/","section":"Personnalité","summary":"","title":"French, Week 13","type":"personal"},{"content":" French # The app is now buggy, since the last update and crashes on me all the time.\nAm at it though.\nPython Practice # This is stupid.\nI spent an hour just setting up my environment all over again.\nThis should teach me to do at least a little bit every day.\n1 hour of setup 1 hour of tremendous headscratching No practical reasults. Tomorrow hopefully is a better day. The only positive thing is I feel, my mind has begun to crank again. Python Jumpstart by Building 10 Applications # Started watching the videos. Built three tiny apps in rapid succession. Getting my python mojo back. Run out of steam after 3 hours. Ending on a high note, though. will pick up the pieces tomorrow. ","date":"6 août 2019","externalUrl":null,"permalink":"/work/study-day-8/","section":"Work","summary":"","title":"Study, Day 8","type":"work"},{"content":"Lots of fantasy, a lovely book of poetry, a beautifully written nonfiction book.\nAll this, on July’s list of books :)\nJuly\nLove Looks Pretty on You, Lang Leav\n(must read. in my imagination, leav is a talented younger sister, who has been through a lot more and writes her advice just for me, in her poems)\nWorking, Robert Caro\n(if you haven’t read the Power Broker, you should\nif you haven’t read the Lyndon volumes, you should\nthis book is Caro’s account of the work, that went into those works.\nthe ceaseless toil, the thankless years, the people and their stories\nCaro is Caro, master of the craft.\nThere are only a few explicit lessons here.\nbut plenty if you care enough to read between the lines\nplenty if you make this an annual read, like i will)\nThe Broken Earth Trilogy, N. K. Jemisin\n(if you love fantasy, this is an absolute read.\nworld building at its finest.\nThe journey she takes me on! The magic she creates! The world she imagines!\nIt’s such a harsh world, but gosh darn it, I want to live there.\nJemisin’s awesome.)\nThe Fifth Season The Obelisk Gate The Stone Sky The Inheritance Trilogy, N. K. Jemisin\n(This was Jemisin’s older trilogy and it shows.\nThe language is rougher and the characters drag on a bit\nMinor quibbles though. It was a really good read)\nThe Hundred Thousand Kingdoms The Broken Kingdoms The Kingdom of Gods P.S. Subscribe to the mailing list to see what I read every month :)\n","date":"5 août 2019","externalUrl":null,"permalink":"/reading/books-ive-read-july-edition/","section":"Reading","summary":"","title":"Books I’ve Read, July Edition","type":"reading"},{"content":"Last weeks post seemed to have hit a nerve.\nMost of you seem to have opened it rather quickly.\nAnd then a few of you, complained! Rather quickly.\n“All this is well and good, but I want to say No, to other people! ”\nWell, I can help you with that too!\nEric Barker, of Barking Up the Wrong Tree fame, has an excellent post on how to do just that!\nThis is how we do it.\n1. Notice the no’s: Saying no rarely leads to vendettas or blood feuds. It’s more common and less risky than you think.\nPeople say no to requests all the time and suffer no ill consequences. The sea doesn’t turn to blood and frogs don’t fall from the sky. The requester just shrugs and says, “Okay.”\nBut you forget those all too easily and train your attention on the 0.02% of the time when the other person blew up and stormed away, never to speak to you again.\nSo watch your interactions and the interactions of others more closely. Notice all the times “no” doesn’t cause any problems and try to develop a more realistic perspective.\n2. Buy time: I’m not sure I can summarize this one right now. I’ll get back to you later.\nWhen you feel pressured for a yes, don’t give the yes — relieve the pressure. Ask for time. This will allow you to calm down and properly evaluate whether you really want to agree or not.\nMemorize two of these phrases and make them your default response to any request:\n“I need to check my calendar; I’ll get back to you.” “Let me check with my husband/wife/partner to see if we’re free that day.” “I’ve got to think about that; I’ll let you know.” “I’ll have to call you back in a few minutes.” Don’t turn them into questions. They’re statements. And use a pleasant but assertive tone.\n3. Have a “policy”: Sorry, but it’s my policy to never summarize the third point.\n… suppose a friend asks for a loan you don’t want to extend. Utter the phrase “Sorry, I have a policy about not lending money,” and your refusal immediately sounds less personal. In all kinds of situations, invoking a policy adds weight and seriousness when you need to say no. It implies that you’ve given the matter considerable thought on a previous occasion and learned from experience that what the person is requesting is unwise. It can also convey that you’ve got a prior commitment you can’t break. When you turn down an invitation by saying, “Sorry, I can’t come—it’s our policy to have dinner together as a family every Friday night,” it lets the other person know that your family ritual is carved in stone.\n4. Be a “broken record”: I can’t summarize this. I can’t summarize this. I can’t summarize this.\nHow do you deal with people who don’t take no for an answer?\nFirst thing to do is say you can’t help them.\nThe second through seven-hundredth thing to do is repeat the first thing.\n5. Use a “relational account”: If I summarized this for you I wouldn’t have time to summarize for others.\nYour response should take the structure of: “If I helped you, I’d be letting others down.”\n6. Make a counteroffer: I can’t summarize this but I can link you to another blog that will.\nWhat if you don’t want to give a flat no? You want to help but can’t commit to the specifics of what they’re asking for. Here’s what to do …\nThey want you to donate $487,000. Um, no way. But I can give you $10 …\n“I’m not qualified to do what you’re asking, but here’s something else.”\n“This isn’t in my wheelhouse, but I know someone who might be helpful.”\nYou can make a counteroffer to almost any request by offering someone a different resource or the name of someone else who might help.\nLike my summary of Eric’s summary?\nYou should go read his post. It has the why, and the how and tons of examples and references!\nP.S. And if you’re reading this on my blog, you should subscribe to the newsletter!\n","date":"29 juillet 2019","externalUrl":null,"permalink":"/personal/how-to-say-no-to-others-better/","section":"Personal","summary":"","title":"How To Say No to Others, Better!","type":"personal"},{"content":"— via Neil Gaiman\no0moxxie0o asked: Hi I just finished outlining a novel and now I\u0026rsquo;m worried it\u0026rsquo;s bonkers. Did you ever worry that something you wrote was too much, or just have second thoughts about what you\u0026rsquo;re planning? I\u0026rsquo;m going crazy over this thing.\nI assume that unless it’s bonkers I’m not doing the work.\n","date":"27 juillet 2019","externalUrl":null,"permalink":"/personal/go-bonkers-do-the-work/","section":"Personal","summary":"","title":"Go Bonkers! Do The Work!","type":"personal"},{"content":"","date":"27 juillet 2019","externalUrl":null,"permalink":"/tags/mit6001x/","section":"Tags","summary":"","title":"Mit6001x","type":"tags"},{"content":"Was on a roll.\nWent and finished the whole geography textbook.\nMy brains are smoking now.\nNext step, spaced repetition exercises of all the chapters for two months.\nMITx, 6.00.1x, Introduction to Computer Science and Programming Using Python # Did quite a bit of the course’s exercises. I realise now that I should have just downloaded the course from the Open Courseware site and worked on it at my own pace.\nThe MOOC is excellent, but not for me.\nI keep missing all sorts of deadlines.\nMy life and the MOOC sadly do not get along.\nOr maybe, I just do the MOOCs at my pace, knowing that there will be things I will miss, but as long as I get the learning (and I do the practice), I should be fine.\nDid up to Week 4 of exercises.\nWill tackle the rest next week.\n","date":"27 juillet 2019","externalUrl":null,"permalink":"/work/study-day-7/","section":"Work","summary":"","title":"Study, Day 7","type":"work"},{"content":"This was a boring week.\nBut I kept at it.\nIf I think, I have made progress, all I need to do is listen to a podcast.\nAnd then I understand how far I still have to go.\nStill at the stage where I am adding words to my basic vocabulary and doing review.\nBut there is steady, incremental progrgess.\n","date":"27 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-12/","section":"Personnalité","summary":"","title":"French, Week 12","type":"personal"},{"content":" I\u0026rsquo;ve, seen things, you people wouldn\u0026rsquo;t believe.\nAttack ships on fire, off the shoulder of Orion.\nI watched C-beams, glitter in the dark near the Tannhäuser Gate.\nAll those, moments, will be lost, in time, like, tears, in rain.\nTime, to die.\nBlade Runner was the first movie I saw, that had a morally ambigous ‘hero’.\nAnd the villain is not bad?\nAnd he saves the hero?\nThis was the first movie that made me look at the world in shades of grey, in shades of acceptance.\nAnd all that, because of the pitch perfect Roy Batty, speech.\nLike Robert Caro writes,\nThere are sentences that are said to you in your life that are chiseled into your memory.\nTears in rain was the earliest of those for me.\nRest in peace, Rutger Hauer.\nAnd thank you, for changing my life.\n","date":"25 juillet 2019","externalUrl":null,"permalink":"/personal/rip-rutger-hauer/","section":"Personal","summary":"","title":"RIP, Rutger Hauer","type":"personal"},{"content":"Did a little bit of french and geography.\nMITx, 6.00.1x, Introduction to Computer Science and Programming Using Python # Doing compsci but no notes today, because i am busy learning.\nAm going to have to revisit oop sometime again.\nwill make notes then\nBut to summarise,\ni learnt oop i learnt about generators, which to me sounds like a tap on a loop. instead of a bucket of water, i get it by the mug. here’s a mug. here’s another mug. here’s another mug. enough? then i can turn the spigot off no need to fill the whole bucket (run through a whole dictionary, or carry out a huge operation) when I can just take however much I need. i learnt about o notation to figure out how long code takes to run, if want to later optimise stuff sorting lists with sorting algorithms bubble sort selection sort merge sort efficient i learnt how to plot using python Have finished all the videos and will now move on to the problem sets. I had so much fun, I actually was sad to watch Prof Grimson’s last video.\nThe course has given me a really good grounding on the basics.\nAnd should help me start my journey.\nWhile I understood the what, MIT 6.00.1x gave me a good grounding on the how and the why.\n","date":"25 juillet 2019","externalUrl":null,"permalink":"/work/study-day-6/","section":"Work","summary":"","title":"Study, Day 6","type":"work"},{"content":"Did some geography for 12th in the morn.\nSlow, steady, iterative progress there.\nMITx, 6.00.1x, Introduction to Computer Science and Programming Using Python # exceptions \u0026amp; assertions\nExceptions # What happens when program execution comes across something that it did not expect? like you could go beyond the bounds of a list i try to reference a variable that isn’t there i mix data types. (i dun dis :P 'a'/9) This is basically Python telling me, ‘I don’t get this! Whatcha talkin’ bout Willis?’ Python has a whole host of errors, the names of kinda give me clues to what it thinks the problem is. There are SyntaxError (I boo booed typing somewhere, Python does not ‘get’ me) NameError (Can’t find a variable. Did I put it in? Did I call a module correctly?) AttributeError (Errors with classes. Am I calling them wrong?) TypeError (Am I doing string operations on numbers? Or vice versa?) ValueError (Something is wrong with my results. Is it in a form the program understands?) IOError (something that happens when i make boo boos with files) What do I do with exceptions? # Fail silently (like fart silently and then look about innocently) bad idea, though, really bad idea :) Return a “error” value make sure that you have code that can check for and handle the values you choose makes code a little clunkier Just stop execution, and signal an error condition in Python that’s called raising an exception like so,\nraise Exception(\u0026quot;Good God! You’re dividing letters with numbers?!\u0026quot;) Dealing with Exceptions. How do I handle them? # Use the try \u0026amp; except keywords. As in you’re telling Python, ‘try’ this code. If everything works well, great! But if there’s an error, jump to the ‘except’ clause, and execute what is in there And then carry on with the rest of the program I can then get fancy. I can have multiple except clauses. one to handle typos one to see if my input is valid one to handle division isssue and a final one as a catch all, if all else fails. There is also an else that i can pair with a try the else will execute code if try block it is associated works, with out any exceptions. like ok, try this. all worked? then go that else block and do that thing and then carry on with the rest of the program to my mind it kind of is the main program, because this is the part that always executes. so as I iterate, i keep removing things from try and move them down to the mandatory else clause And then there is finally executed after try, except and else even if they raise errors or cause a break useful for cleaning up after a mess :P (close a file for e.g.) like ok, here’s a booboo, but I better put everything back in it\u0026rsquo;s place and undo stuff if I can like do no harm. Exceptions as control flow # turn the idea of exceptions on its head instead of waiting for errors and catching them and then raising exceptions we could check ourselves for expected values and raise our own exceptions if results don’t match expectations :) like if i am unable to produce a result that is consistent with the specifications of a function to do that we use raise we raise exceptions like raise iAmDisappointedinYouError(\u0026quot;You should have written this better\u0026quot;) or more likely you want to raise an existing known error like raise TypeError(\u0026quot;You need to enter a number! For the love of God, enter a number!\u0026quot;) Assertions # We can take the idea of proactive exception raising, to another level.\nWe can defensively program so that we prevent situations that lead to unexpected results.\nThis idea is what we call an Assertion\nRemember those docstrings we typed where we expected a certain of inputs and guaranteed outputs? you can think of assertions as the bouncers who enforce them i assert that this should be true. if not, raise an exception you can use the assert statement that in turn will raise an AssertionError if conditions aren’t met could be on inputs (typically, mostly used here) on an intermediate stage of the program if i want to be really careful, i can use it to check output too having these checks makes it a lot easier to locate the source of a bug because if an assert fails, the bug most probably should be just before we called this function Where should you use assertions? so spot bugs as soon as they are introduced and clarify where they happen as a supplement to testing filter and check input check types of arguments or values check that invariants on data structures are met constraints on return values are met violation of constraints on procedure (no duplicates in a list, for e.g.) ","date":"24 juillet 2019","externalUrl":null,"permalink":"/work/study-day-5/","section":"Work","summary":"","title":"Study, Day 5","type":"work"},{"content":"“Don’t just say you have read books.\nShow that through them you have learned to think better, to be a more discriminating and reflective person.\nBooks are the training weights of the mind.\nThey are very helpful, but it would be a bad mistake to suppose that one has made progress simply by having internalized their contents.”\n— Epictetus, The Art of Living\n","date":"23 juillet 2019","externalUrl":null,"permalink":"/reading/epictetus-on-books/","section":"Reading","summary":"","title":"Epictetus on Books","type":"reading"},{"content":"","date":"22 juillet 2019","externalUrl":null,"permalink":"/tags/nginx/","section":"Tags","summary":"","title":"Nginx","type":"tags"},{"content":"I like Nikola’s pretty URLs feature and have been using it at the personal site.\nAnd after a year of prettiness there and .html here, I decided to switch this site to use it too.\nAll my urls look nice now :)\nWhich also means all the old links are now broken.\nAnd so, the last bit of work was to redirect all the links in the wild and on the blog to the new addresses\nA quick web search led me to this stackoverflow answer.\n#at the top of location / if ($request_uri ~ ^/(.*)\\.html$) { return 302 /$1; } #within \\.php$ if ($request_uri ~ ^/([^?]*)\\.php($|\\?)) { return 302 /$1?$args; } All I needed was the top bit and all was well, with my world :)\nUpdate: Gave up on the redirect idea, beacause it was breaking pagination on the blog. Well, I tried :)\n","date":"22 juillet 2019","externalUrl":null,"permalink":"/work/nginx-redirect-html-to-just-slugs/","section":"Work","summary":"","title":"NGINX Redirect .html to just slugs","type":"work"},{"content":"","date":"22 juillet 2019","externalUrl":null,"permalink":"/tags/nikola/","section":"Tags","summary":"","title":"Nikola","type":"tags"},{"content":"Didn’t listen to podcasts.\nBut kept up with the app.\nI can now listen to the french sentences in the app and kind of get it.\nNo so yet, with stuff outside.\nBut I somehow think, I’m gaining the teensiest bit of fluency.\n","date":"22 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-11/","section":"Personnalité","summary":"","title":"French, Week 11","type":"personal"},{"content":"","date":"22 juillet 2019","externalUrl":null,"permalink":"/tags/atomic-habits/","section":"Tags","summary":"","title":"Atomic Habits","type":"tags"},{"content":"Another James Clear pick today.\nHow do you make it easier on yourself to say no?\nTo stick to that diet?\nTo stop goofing off and buckle down and study or work?\nBecause,\nThe ability to overcome temptation and effectively say no is critical not only to your physical health, but also to maintaining a sense of well–being and control in your mental health.\nWe do this, by assertion rather than denying ourselves day in and day out.\nNot that I can’t do this. Just that I don’t. I am a person who eats good food. So I don’t eat junk food.\nI am a person who wants to be a programmer. So I don’t browse the web aimlessly all day.\nI am a person who wants his mind in his control all the time. So I don’t drink.\nWhen you decide ‘who’ you want to be, it becomes easier to decide, ‘what’ you don’t want to do.\nHere’s an anecdote, James shares,\nGroup 1 was told that anytime they felt tempted to lapse on their goals they should “just say no.” This group was the control group because they were given no specific strategy.\nGroup 2 was told that anytime they felt tempted to lapse on their goals, they should implement the “can\u0026rsquo;t” strategy. For example, “I can\u0026rsquo;t miss my workout today.”\nGroup 3 was told that anytime they felt tempted to lapse on their goals, they should implement the “don\u0026rsquo;t” strategy. For example, “I don\u0026rsquo;t miss workouts.”\nFor the next 10 days, each woman received an email asking to report her progress. They were specifically told, “During the 10–day window you will receive emails to remind you to use the strategy and to report instances in which it worked or did not work. If the strategy is not working for you, just drop us a line and say so and you can stop responding to the emails.”\nHere\u0026rsquo;s what the results looked like 10 days later…\nGroup 1 (the “just say no” group) had 3 out of 10 members who persisted with their goals for the entire 10 days. Group 2 (the “can\u0026rsquo;t” group) had 1 out of 10 members who persisted with her goal for the entire 10 days. Group 3 (the “don\u0026rsquo;t” group) had an incredible 8 out of 10 members who persisted with their goals for the entire 10 days. The words that you use not only help you to make better choices on an individual basis, but also make it easier to stay on track with your long–term goals.\nSo, say, I don’t, and you’ll say no more effectively :)\nWhy does this work better than I can’t? How do I apply this to my life?\nRead James’ article to find out.\nP.S. And, go subscribe to the newsletter, if you are reading this on the web :)\n","date":"22 juillet 2019","externalUrl":null,"permalink":"/personal/how-to-say-no-better/","section":"Personal","summary":"","title":"How to Say No, Better","type":"personal"},{"content":"genRSS is a Python 2 app.\nMake sure you switch your environment.\npython genrss.py --help will give you everything else you need.\n","date":"21 juillet 2019","externalUrl":null,"permalink":"/work/notes-to-self-when-using-genrsspy/","section":"Work","summary":"","title":"Notes to self when using genRSS.py","type":"work"},{"content":"Or how do you actually go do anything else you committed to do for yourself? I always got confused on what to do when the going got tough and life happened and my goals then got waylaid.\nOther than feeling lost and giving up on projects and promising to do better tomorrow, or next time?\n(which took a looooooong time to come)\nWhat could I do?\nJames Clear offers a lovely heuristic, that I have been applying to my writing since the year began.\n(along with Seth’s advice to queue things up)\n3. Reduce the scope, but stick to the schedule.\nI\u0026rsquo;ve written previously about the importance of holding yourself to a schedule and not a deadline.\nThere might be occasions when deadlines make sense, but I\u0026rsquo;m convinced that when it comes to doing important work over the long–term, following a schedule is much more effective.\nWhen it comes to the day-to-day grind, however, following a schedule is easier said than done.\nAsk anyone who plans to workout every Monday, Wednesday, and Friday, and they can tell you how hard it is to actually stick to their schedule every time without fail.\nTo counteract the unplanned distractions that occur and overcome the tendency to be pulled off track, I\u0026rsquo;ve made a small shift in how I approach my schedule.\nMy goal is to put the schedule first and not the scope, which is the opposite of how we usually approach our goals.\nFor example, let\u0026rsquo;s say you woke up today with the intention of running 3 miles this afternoon.\nDuring the day, your schedule got crazy and time started to get away from you.\nNow you only have 20 minutes to workout.\nAt this point, you have two options.\nThe first is to say, “I don\u0026rsquo;t have enough time to workout today,” and spend the little time you have left working on something else.\nThis is what I would usually have done in the past.\nThe second option is to reduce the scope, but stick to the schedule. Instead of running 3 miles, you run 1 mile or do five sprints or 30 jumping jacks.\nBut you stick to the schedule and get a workout in no matter what.\nI have found far more long-term success using the this approach than the first.\nOn a daily basis, the impact of doing five sprints isn\u0026rsquo;t that significant, especially when you had planned to run 3 miles.\nBut the cumulative impact of always staying on schedule is huge. No matter what the circumstance and no matter how small the workout, you know you\u0026rsquo;re going to finish today\u0026rsquo;s task.\nThat\u0026rsquo;s how little goals become lifetime habits.\nFinish something today, even if the scope is smaller than you anticipated.\nIf you like this tip the whole post is even more awesome.\nGo find out Time Management Tips That Actually Work on his blog.\nP.S. You should subscribe to the mailing list, you know. :)\nP.P.S I haven’t missed a single week since I started doing this!\n","date":"15 juillet 2019","externalUrl":null,"permalink":"/personal/how-do-you-keep-going/","section":"Personal","summary":"","title":"How Do You Keep Keep Going?","type":"personal"},{"content":"Back at it after a short personal break. Lots of stuff to catch up on!\nMITx, 6.00.1x, Introduction to Computer Science and Programming Using Python # Learning about lists. # They are\niterable, i can run through its elements one by one and do stuff mutable, i can change things inside them append, will append stuff to the end extend, will take another iterable (another list, for example) and then take those elements one by one, and tack them on the the end of this one i can go back and forth, between lists and strings, converting one to the other and vice versa\ni can sort and reverse sort the items in them.\nsorted will return a new list .sort will mutate and sort the list itself as will .reverse. since i can change them at will, i need to be careful about things that might break.\n10 names pointing to the same list. changing something in one, changes them all. consider cloning a list and making seperate copies. (this is how’d i’d naturally do it. but is it expensive with resource usage?) one example is iterating over lists if you modify them as you run over them, it can lead to all sorts of trouble and confusion, if items get added, removed or changed best to clone the list, iterate over the clone and modify your original i can nest lists. have lists of lists!\nyou’ll get confused and make mistakes. it’s ok.\nLearnt about Functions as objects # do i still remember functions?\npieces of code (functionality, my customised shit) that i write that i can call from elsewhere. first class objects in python can be elements of data structures (i can have a function in a list) can appear in expressions i can assign a function to something (a variable for example) can use it as an argument to another function. (i have a function that does things to lists. this function could call a function that sorts and sanitises the list, first) basically, i can use them the same way i’d use numbers, or strings or lists this inceptive programming, using function as arguments to others and combining them with other elements like lists (or inside lists to do shady shit on other lists)? it’s fancily called higher order programming.\ni could apply a series of functions to a list i could apply a series of lists to a function and all this stuff generalised and abstracted are called higher order procedures\npython provides something like this, called map\nvery simply put, map\ntakes a function that expects a single argument. (len for example or abs) and then runs them on a list (or it creates a list where it applies that function to each element in it. what it returns is an iterable (think of it as the elements of the list, coming out one by one, but you get your grubby paws on them, before they go into some defined data structure like a list.) you can then do what you want with those hot cross buns, er, elements. print them. put them in a list. whatever. it’s all good. i can now amp this up to a 11. map can take n functions and run them on n collections of arguments. simple example, run through the elements of two lists, compare them, and pop out the lower number for each element. print or save or whatever. mind fucking blown. insert Keanu going, ’I know Kung Fu!’ Common operations across strings, tuples, ranges and lists # if i assume seq is any of these data structures, i can,\nseq[i] - get the ith element in that list or string or range or tuple len(seq) - get its length seq1 + seq2 - concatenate two of them (not range) n*seq - repeat them (not range) seq[start:end] - slice and dice them e in seq - will return true if e exists in the sequence e not in seq - will return true if it’s not for e in seq - will iterate over each element in that sequence Dictionaries # Why? They save me time!\nInstead of indexing on numbers, like I do with the 1st element or the 0th element of a list, i can just index on things, I define myself\nLike there’s a list of names and I can then attach attributes to them. relationships, address, phone number, whatever. works just like a real dictionary. i can look up a word and then see all the information related to that word. In python you create dictionaries using braces. and store data using key value pairs. here’s a few\ndictionary_of_names = {} creates an empty dictionary.\ndictionary_of_ages = {'Jason':40, 'Tess':48; 'Leo':76} creates a dictionary of names (keys) with their related ages (values)\nand now I can just ask for Tess’s age with a dictionary_of_ages['Tess'] without having to lookup where and at what location Tess is in the dictionary\ndictionaries are mutable\nI can add entries (dictionary_of_ages['Puppy'] = 4 will add the age of my stray doggo to the dictionary) I can test for existence of entries ('Leo' in dictionary_of_ages) I can delete entries with a del i can list my keys by calling the dictionary like a function using the keys method like so (dictionary_of_ages.keys()) and similarly I can get at the values with a dictionary_name.values() unlike a proper dictionary though, there is no order to the way things are stored in a software dictionary. mostly its the order you shoved stuff in; and that can change.\non keys and values\nvalues can be any type can be duplicated (different people having the same age) can actually be any data structure (lists, numbers, strings, other dictionaries) keys, on the other hand have to be unique (can\u0026rsquo;t have two folks with the same name. if they do, then probably time to think of indexing on something else?) need to be immutable (which restricts me to ints, floats, strings, tuples or booleans. can’t have strings in there) actually according to Prof Grimson they need to be hashables, but I’ll cross that bridge when I come to it. careful using floats as keys, because of accuracy issues. So because of their flexibility on what they can store and index on, dictionaries are much more capable than other data types\nTesting \u0026amp; Debugging # It’s like soup!\nYou’re making soup and there are bugs falling in, from the ceiling.\nSo how do you get good soup?\nYou could,\nCheck the soup and remove the crawlies if any. (that is testing your code) Keep the soup pot covered. (defensive programming) Clean the kitchen, so there are no bugs (eliminate the source of bugs. debug it. kill it.) Defensive programming is,\nhow do you structure your code? how do you write code that plans ahead? it has three parts write specifications for the functions you write use docstrings mention what you expect as input and what you will provide in return Write modular programs break up your program into obvious pieces. something that collects data for e.g., and something else that works on it (could be one, or more pieces) and something elser that delivers it out. help you while testing, because you can test each little piece seperately Check conditions on inputs and outputs. i don’t know what this entails, will update this later Testing code, basically boils down to checking inputs and outputs.\nWhat did i expect to come in? What is my expected result? If stuff’s not working, what do I do to debug it? What can I do to stress test and break my program? Debugging\nYikes! I have a bug!\nHow do I kill it? What do I want to do to fix this?\nLook at the events that led to the error Ask yourself, “Why is it not working? What’s causing that?” and then having found that, “How do I fix it, so all is right with the world again?” Set yourself up, for easy testing and debugging\nDesign code so this part is easy! Is your code modular? Are docstrings in place? What are you expected inputs? Output? Document your assumptions. Why did you write this piece of code the way you did? When you test you can,\nUnit Test validate each piece of your program test each function seperately Regression Test if you find bugs, test for them the next time around catch reintroduced errors that were previously fixed Integration Test Does the overall program work?\nIt kind of feeds each other like a cycle, so don’t hesitate to go around and round the testing circle. Testing Approaches\nIntuition what do you think you naturally need to test? what makes sense? just pick things at random Black box testing use you program like an appliance it says it does this on the box. well does it do it? does it do it well? Glass box testing look at the code and then test each path in the code can’t do this with every path properly sometimes do the big branches Bugs\nOvert the program crashes your computer hangs Covert the answers might not be expected they might look ok, but are actually wrong. (off by 1?) Persistent happens every time you run the program Intermittent happens only some times Overt \u0026amp; Persistent\nEasy to detect use defensive programming to try to steer bugs to fall into this category Overt \u0026amp; Intermittent\nif you can find what’s causing it, yay! Covert\nReally dangerous. you might be relying on wrong results and data that you wrongly trust! could be a really long time before you catch something like this Be Patient. this will take time to get good at\nUse print statements liberally\nwhen? enter function parameters function results use the bisection method divide and conquer! print halfway and then decide which half to focus on Be systematic. Use your little grey cells.\nFigure out the common errors (type errors, value errors, syntax errors)\nLogic errors, the program does not work as expected\nthink of programming as a novel you write dream up the path explain your code walk around trying to create the model in your head how did i reach this place? this bug? try explaining it to some one (or your rubber ducky) Use the scientific method.\nlook at what you have, figure out what could be causing the error, think about what could fix it, and then try it. is it fixed? no? go back and try again :) Work with small things.\nWork in increments.\nTest and debug it.\nUse backups.\nHave versions.\nTest and compare across versions.\nFeel free to work up and down the version tree\nProfessor Grimson is awesome, and teaches me the way, I imagined some one teaching me CS basics. So many aha moments!\n","date":"12 juillet 2019","externalUrl":null,"permalink":"/work/study-day-4/","section":"Work","summary":"","title":"Study, Day 4","type":"work"},{"content":"I want to be the Neil Gaiman of programming.\nTo be able to write across multiple genres, yet retaining my distinctive voice.1\nThe links are all just books. I haven’t even considered his work in film and games.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"12 juillet 2019","externalUrl":null,"permalink":"/personal/on-being-neil-gaiman/","section":"Personal","summary":"","title":"On Being Neil Gaiman","type":"personal"},{"content":"I can understand bits and pieces in spoken speech now. At it!\n","date":"12 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-10/","section":"Personnalité","summary":"","title":"French, Week 10","type":"personal"},{"content":"It was my better half’s birthday! Happy Birthday, Abby!\n’Twas a good month for reading :)\nJune\nThe Song of the Bird, Anthony de Mello\n(absolutely read. buy and give people copies.\nthis book for me, goes beyond a quake book.\nit has shaped my life, and thoughts, since boyhood, subconsciously then and with intent now.)\nThe Mysterious Affair at Styles (Poirot #1), Agatha Christie\n(re-reading my way through the Poirot canon.\nthese books take me to the age I think I belong to, the late 1800s, early 1900s absolutely delightful)\nEpigrams on Men, Women and Love, Honoré de Balzac\n(beautiful set of quotes)\nMother American Night, John Perry Barlow\n(a man who lived life. founder of the EFF and the FSF.\nand more importantly (to me), lyricist for the Grateful Dead)\nWord by Word, Anne Lamott\n(must listen (it’s an old audiobook.)\nexcellent companion to Bird by Bird.\nimagine Anne teaching you how to write using BbB as a text book.\nshe’s awesome.\nthe book’s awesome.)\nIndian Love Poems, Peter Pauper Press\n(absolutely loved it)\nLove Poems and Love Letters for All the Year, Peter Pauper Press\nFlower Thoughts, Peter Pauper Press\nThoughts for a Good Life, Peter Pauper Press\nEpigrams by Oscar Wilde, Peter Pauper Press\nMurder on the Links (Poirot #2), Agatha Christie\n(need i say, you ought to read it :))\nMore lists of books to read? Subscribe!\n","date":"8 juillet 2019","externalUrl":null,"permalink":"/reading/books-ive-read-june-edition/","section":"Reading","summary":"","title":"Books I’ve Read, June Edition","type":"reading"},{"content":"slipped a day.\nbut did the rest.\nthe podcast was amazing.\ni did not understand anything.\nwill keep at it :)\n","date":"7 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-9/","section":"Personnalité","summary":"","title":"French, Week 9","type":"personal"},{"content":" Click the pic for a larger one\nLove looks pretty on you.\nMakes you soft, tender, proud.\nMakes you sit up and take notice.\nGives you a home to set down your things.\nWhat a blessing it is, to have music and dancing and poetry. What a gift it is, to look at someone and say,\nI’m so happy to have found you\nat last, at last, at long, long last\nyou’re here.\n— Lang Leav\nIt has also been a blessing to walk by your side, sharing our lives.\nIt’s hard to think of me, without you anymore.\nLike Leav writes, “Every time I see my name, I hear it in your voice.”\nHappy Birthday, my heart!\nI love you.\n","date":"6 juillet 2019","externalUrl":null,"permalink":"/personal/happy-birthday-abbygail-2/","section":"Personal","summary":"","title":"Happy Birthday Abbygail","type":"personal"},{"content":"","date":"1 juillet 2019","externalUrl":null,"permalink":"/tags/finland/","section":"Tags","summary":"","title":"Finland","type":"tags"},{"content":"[![][1]][2]\nClick the pic for a bigger photo\n“The stars are beautiful, because of a flower that cannot be seen.”\nI replied, “Yes, that is so.’\nAnd, without saying anything more, I looked across the ridges of sand that were stretched out before us in the moonlight.\n“The desert is beautiful,” the little prince added.\n“What makes the desert beautiful,” said the little prince, “is that somewhere it hides a well …”\n— Antoine de Saint-Exupéry, The Little Prince\n","date":"1 juillet 2019","externalUrl":null,"permalink":"/personal/what-makes-the-desert-beautiful/","section":"Personal","summary":"","title":"What Makes the Desert Beautiful …","type":"personal"},{"content":"French, seems to be the only thing that I do regularly.\nProbably because it takes me only 45 minutes to an hour daily.\n(And that is because I am dumb and slow and deliberate. I’m sure other folks must be doing this is 10-20 minutes)\nWhile I thought I was making progress, I had a funny sort of realisation when a friend asked me if I could speak and carry on a basic conversation in French.\nAnd I realised, I couldn’t. I could not even understand words (or a sense of what they might convey outside of the little, I was learning daily.)\nSo I think I will try listening to podcasts in French, in order to get a sense of the rhythm and flow of the language.\nWill write back in a couple of months to record, if there has been improvement.\n","date":"30 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-8/","section":"Personnalité","summary":"","title":"French, Week 8","type":"personal"},{"content":"Nothing much to say except that I am still at it. Chipping away slowly at this, waiting for my all at once moment.\n","date":"29 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-weeks-6-7/","section":"Personnalité","summary":"","title":"French, Weeks 6 \u0026 7","type":"personal"},{"content":" Morning # Lets see what this day holds :)\nFrench # Did a review session Made 15 flashcards MITx, 6.00.1x, Introduction to Computer Science and Programming Using Python # goofed off on twitter and read articles on blogs instead of studying learnt about tuples. it’s been an hour \u0026amp; a half and I am still terribly distracted. doing the dishes to regain focus. be back in 30. Nope. cannot focus.\nAnnnnnd now there is no power. This day is done!\nWill just sit at the window and enjoy the rain :)\nHopefully tomorrow is a better day.\n","date":"28 juin 2019","externalUrl":null,"permalink":"/work/study-day-3/","section":"Work","summary":"","title":"Study, Day 3","type":"work"},{"content":"Just a couple of links to pique your interest.\nJames Clear, one of the few “self-help” authors, I actually read and follow, has this to say on time management:\nWhat is urgent in your life and what is important to your life are often very different things. Eliminate half-work at all costs. Do the most important thing first. Reduce the scope, but stick to the schedule. Read the whole, really well written article to learn more.\n[Mary Beth Keane][3] on how she decides what to write about, \u003e How to choose one’s subject is so incredibly personal. A writing professor of mine at the University of Virginia once gave my workshop the best advice. He said to *wait to start writing until we felt like pots boiling over.* I really try to live by that advice. It seems to me that when an idea is true and right, it sort of takes seed and grows. Some ideas SEEM great, but leave me cold when I think too much about them. It’s the ones that make my heart beat faster that are the ones to pursue, I’ve learned. You have to pick something that you’re going to want to stick with for *years*. ","date":"28 juin 2019","externalUrl":null,"permalink":"/personal/time-management-and-writers-block/","section":"Personal","summary":"","title":"Time Management and Writers Block","type":"personal"},{"content":"Just did the MIT course all day today, because my next problem set is due tonight and I did not want to fall behind again.\nGot distracted a bit, but a lot less than yesterday with the way Nikola renders headers, and youtube videos of sausage making :P\nNow that I am going through the class, I realise programming is not what I imagined.\nIt is at once, much simpler and a bit more complex than I thought it to be.\nMore than that, I realise I can do this. :)\nThe day isn’t over yet. Will attempt to solve the problem set at night.\nFrench # Did a review session Made 25 flashcards MITx, 6.00.1x, Introduction to Computer Science and Programming Using Python # Good programming More code is not necessarily a good thing A good measure is the amount of functionality, the utility, your program provides The notion of abstraction like a thing you know how to use. the details of how it is internally are irrelevant to you the box provides utility and you know how to use the controls to get what you want. that is all that matters. like a phone. or a tv. or a scooter. The notion of decomposition i can take all those dumb black boxes that I know how to use and mcgyver them together to do something I want. use independent pieces of codey things that each do something and then glue them all together to get the program I want or to invert, can i break my big problem down into small independent pieces that I can write, or use other folks’, that I can stitch into my own little frankenstein? Decomposable Code, divide code into modules that are self contained are reusable keeps you and the code organised keeps things coherent can be done with functions or classes Abstractable Code, build a black box that cannot see details does not need to see details does not want to see details hides the gory details from you. or just the fact that your magical thing is made of small boring pieces :) can be done with function specifications or docstrings One new aspect of functions I learnt was that they have specifications. Thinking back, it’s a well, duh! point, but I’m glad I learnt it explicitly. there’s a contract between me, the author of the function, and its users there’s a set of assumptions that the function has. this is what I expect, this is what I want, these are the values you need to pass, this is what the environment needs to look like, what is the phase of the moon?, yadda, yadda and if those assumptions are met, there are guarantees I can make about the output. pass these numbers in, in this sequence, and you will always get this output. put the dough in the oven, when the new moon is rising, and you will always get delicious pizza in python, a docstring documents what the function assumes and guarantees. good programmers do this to help other folk using the function and to save their own future dumb selves I learnt recursion from what i understand, this means that i take something i know and then use it to repeatedly tackle a complicated problem, if said problem, lends itself to being broken down that way. break it down until i reach a step where i know i can do all of the operations on my own. multiplication is a good example. I know that if when a*b when b is 1 is just a. so I can write a function that keeps adding a to itself while decrementing b until b reaches one and et voilà, that value of a is my answer I got that backwards. I know that i need to repeatedly add until b is 1. so i just keep adding a to a function that just asks if the value of b is 1. if not just add a to that same function where the else states that I reduce b by 1. when b is 1, i just return a which will be the first of the added as and the function then begins looping outwards and backwards adding a. I realise I have horribly explained it, but it’s somehow more intuitive and more elegant to my mind and fun to watch, so I’ll let Professor Grimson do it much better than I can I still don’t totally get it, but I get that this is cool and makes tackling hard problems easier. Hopfully more understanding will come with time. P.S. A note to student planet readers, if you miss some posts in that feed, check the site to see if I wrote anything (or manually subscribe to the main feed.) I might be uncomfortable pushing certain language or frustrations of mine to other learners at large.\n","date":"27 juin 2019","externalUrl":null,"permalink":"/work/study-day-2/","section":"Work","summary":"","title":"Study, Day 2","type":"work"},{"content":"Day 1 is an disaster of fantastical proportions.\nI did lots of stuff.\nBut I got nothing of consequence done.\nSave one big thing.\nI managed to buckle down and study for six hours.\nThat counts as a win, a big one in my book.\nWill hopefully get more done tomorrow.\nIf you are following this blog, the days might soon seem out of sync.\nThat’s because I’ve decided that Wednesday, Thursday and Friday are my days of study. Monday \u0026amp; Tuesday are for work, while Satuday and Sunday are for home and family.\nI need to practice what I preach and have margins and boundaries in my life.\nFrench # Created cards and a review sesion Python Problem # I decide to tackle this first thing in the morn and sank like a stone. I yak shaved for 2 hours (git issues, setting up a dedicated desktop space for study, rsync issues, syncthing issues, crontab issues, more git issues)and then took nearly another hour trying to remember things and then by the time I had some idea of how to tackle the issue, it was lunch time. Hopefully better luck tomorrow The MITx, 6.00.1x, Introduction to Computer Science and Programming Using Python course # I am hopelessly behind and playing catch up. Already missed the deadline for the week one exercises. Hopefully will be all caught up by this time next week. I learnt\nthat iterables are things that can be counted. like beads in a string, or on a rosary. strings are a form of iterable. Bisection searches to find square roots are much more efficient than having to go slowly guessing our way up. I should not compare floating point numbers (e.g. test for equality). Their internal representations might just be subtly different. Instead use the absolute value of the difference of the two floats. abs(x-y) instead of x==y Start with a basic set of code, check to see what it runs on, and then see if small changes to the code can solve other similar problems or improve the efficacy of existing ones. (Newton-Rhapson better to find roots than Bisection guess better than incremental exhaustive guessing) ","date":"26 juin 2019","externalUrl":null,"permalink":"/work/study-day-1/","section":"Work","summary":"","title":"Study, Day 1","type":"work"},{"content":"Umpteenth time lucky? :)\n","date":"26 juin 2019","externalUrl":null,"permalink":"/personal/starting-programming-again/","section":"Personal","summary":"","title":"Starting Programming Again","type":"personal"},{"content":" I may not have gone where I intended to go, but I think I have ended up where I intended to be.\n— Douglas Adams\n(Shot on the long, beautiful, northern stretch of the E75, between Ivalo and Utsjoki.)\nP.S. More photography? Subscribe!\n","date":"24 juin 2019","externalUrl":null,"permalink":"/personal/road-to-nowhere/","section":"Personal","summary":"","title":"Road to Nowhere","type":"personal"},{"content":"Sometimes Seth Godin makes it easy for me to do the newsletter.\nThere’s a pithy post that says everything I want to say.\nSo, to the kids I coach, this is the best writing advice I could give you!\n(Everything below the break is Seth, (emphases mine))\nDecorating a car with bling, mudflaps and an airhorn is a form of signalling. You can show your peers that you have the resources to waste on superfluous adornments.\n(Did you see what I just did there? I could have said, “You can show your friends that you have money to burn,” but I didn’t.)\nOverwriting has a long tradition, particularly among academics. Make it a bit more complex and wordy than it needs to be. Write run-on sentences. Apparently, complicated writing must be more true.\nOne reason for this commitment to overwriting is that it keeps the hordes away. It’s difficult to read and hard to imagine writing. And so scarcity is created.\nAnd yet, the articles and books that stand the test of time are straightforward. They’re memorable. They can be understood by the reader you seek to serve.\nSimply write.\nWrite simply.\nAs few words as you need, but no fewer.\nBut simply write.\nSubscribe to read more every week!\n","date":"17 juin 2019","externalUrl":null,"permalink":"/personal/the-best-writing-advice-i-could-give-you/","section":"Personal","summary":"","title":"The Best Writing Advice I Could Give You","type":"personal"},{"content":"Similar sounding words are an absolute murder on the ears.\nI can’t figure out moo and moue, kip and keep, and lots of bonne and bun.\nKeeping at it though. Keeping at it. :)\n","date":"14 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-5/","section":"Personnalité","summary":"","title":"French, Week 5","type":"personal"},{"content":"Coasting along this week, not stretching too much.\nJust doing enough, so I do not fall off the wagon.\nHaving fun reading every word with r with the french ʁ sound :)\n","date":"10 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-4/","section":"Personnalité","summary":"","title":"French, Week 4","type":"personal"},{"content":"From the Writing Routines1 pdf that is available on signing up to their mailing list…\n“If I had a nickel for every person who ever told me he/she wanted to become a writer but “didn’t have time to read,” I could buy myself a pretty good steak dinner. Can I be blunt on this subject? If you don’t have time to read, you don’t have the time (or the tools) to write. Simple as that.”\n— Stephen King, On Writing\n“I write two pages. And then I read and read and read.”\n— José Saramago, recipient of the 1998 Nobel Prize in Literature\n“I can’t begin to tell you the things I discovered while I was looking for something else.”\n— Shelby Foote, The Civil War: A Narrative\n“The greatest part of a writer’s time is spent in reading; a man will turn over half a library to make one book.”\n— Samuel Johnson, A Dictionary of the English Language\n“\u0026hellip;EVENINGS: See friends. Read in cafés\u0026hellip;.”\n— Henry Miller author of Tropic of Cancer, Black Spring, Tropic of Capricorn, and more.\nP.S. Subscribe to the newsletter!\nI love the site and its interviews. Go visit and see if you like their stuff.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"10 juin 2019","externalUrl":null,"permalink":"/personal/absolutely-make-time-for-reading/","section":"Personal","summary":"","title":"Absolutely Make Time for Reading","type":"personal"},{"content":"If you are looking for something to read, you might find something interesting here.\nMay # The Great Mental Models, Shane Parrish\n(the first of a soon to be multivolume work.\nmust read times a hundred.\nthis book teaches you how to think.\nand how to do it well.\nhave i said it’s a must read? you must read it.)\nCoraline, Neil Gaiman\n(must read. scarily charming.)\nApril # Keep Going, Austin Kleon\n(must read. new annual read. timely. beautiful quotes. hugely inspirational)\nChocolate Wars, Deborah Cadbury\n(must read. as a child growing up in the shadow of the large Cadbury factory, near home, Cadbury has always fascinated me. i still remember their school tours where we could go see how the chocolate was made and come home with a couple of bars of Dairy Milk. the factory is now shutdown, and the tempting aroma of chocolate no longer fills the air. this book delves into nearly 200 years of Cadbury’s (as well as its contemporaries) history. a lovely nostalgic throwback to a more innocent, more generous age.)\nMarch # Titan’s Wrath, Rhett C Bruno\nNever Grow Up, Jackie Chan\n(charmingly mistitled, because it is all about Jackie growing up, albeit a little too late. beautiful notes of apology and gratitude to the people in his life and of course, being Jackie, loads of hilarious stories)\nCompany of One, Paul Jarvis\nTitan’s Son, Rhett C Bruno\n(something to get my mind off studies. the series is still fun)\nDigital Minimalism, Cal Newport\n(must read. short. an in-depth practical treatise on getting out of the clicky, clicky, swipe, swipe circle of digital death i was in. found it really helpful)\nNever Eat Alone, Keith Ferrazzi \u0026amp; Tal Raz\n(good read. if you’re an introvert like me, this is a good stepping stone to help you get out there.)\nThinking in Bets, Annie Duke\n(must read. short treatise on how you need to think probabilistically and divorce your efforts and your work, Arjun-like, from their results)\nTitanborn, Rhett C Bruno\n(short fun read. in the vein of Asimov’s detective stories)\nP.S. Keep yourself updated with the books I read. Subscribe to the mailing list!\n","date":"3 juin 2019","externalUrl":null,"permalink":"/reading/books-ive-read-may-edition/","section":"Reading","summary":"","title":"Books I’ve Read, May Edition","type":"reading"},{"content":"Ok. Time to be a bit honest.\nAs you folks know, I have been trying to learn programming using Python since June 2017, when I joined the 10th cohort of DGPLUG’s Summer Training.\nAnd time and again, I have failed.\nNot just with programming, but with most other projects I tried to do.\nAt the end of my rope, I decided to just quit everything and considered (very seriously) a return to my old stressful career, thinking maybe that is all there is for me.\nTwo people saved me.\nThe first one was Kushal Das.\nThe man was absolutely bull headed about me being in the right place and that if anybody could do this, it was me.\nThe other was my better half.\nEveryday I count my blessings and am thankful that I that she chose to share her life with mine.\nShe patiently listens to my frustrated rants and then tells me to just dust myself up and do it again.\nThat failure is not the end of the world.\nAnd then she told me to do my physio.\nAnd that I really could do this.\nJust because you failed doesn’t mean you can’t succeed.\nWe all fail. Mentally resilient people realize that its not failure that defines your identity but how you respond.\n— Shane Parrish\nSo towards the end of last year I decided to focus only on one or two things at once.\nAnd at that time it meant my 12th exams.\nI studied really hard for three months.\nAnd I did not finish studying.\nAnd I am pretty sure I am going to bomb my exam results.\nThen why do I sound so chirpy?\nBecause I realised Kushal and Abby were right.\nThat I can in fact learn.\nThe past four months have been an exercise in frustration.\nBut I learnt something new everyday.\nI could test myself on what I learnt and realise that I did in fact know stuff.\nWhich led me to my lightbulb moment.\nThat I cannot do all my learning like those montages they show in movies.\nAll my learning came from stretching just a tiny bit, every day.\nI learnt the basics of Accounts, and lots of Maths.\n*** The difficulty of a task is irrelevant, if it’s vital to your success.***\n— Ed Latimore\nAnd now that exams are done, I decided to turn my attention back to programming.\nAnd so I made a big ask of Kushal.1\nI decided to go to Pune, and try to pick up the basics of programming in Python all over again.\nAnd he graciously volunteered to mentor me for a week.\nAnd here I am a week later, writing all sorts of tiny little programs that do whimsical things and bringing me joy.\nI obviously have miles to go before I can even grasp at fluency.\nBut this time, I am filled with hope and a good measure of confidence. It’s been a little nerve wracking and there’s been tonnes of head scratching and back stretching.\nKushal has been extremely patient with me, guiding me these past few days, making sure I stretch just the right amount.\nAnd for that I owe him a mountain of gratitude.\nThank you so much Kushal! I hope to pay it forward someday!\nI go back home now, and I’ll keep up the momentum with small incremental, regular periods of work.\nI will log progress on the dtw blog where I can rant and rave to my hearts content.\nMy main focus will not be on results though.\nJust to stretch myself everyday.\nImprove myself just that little bit every day.\nAnd then look back one day and be amazed at how far I’ve travelled.\nThe way you train reflects the way you fight.\nPeople say I’m not going to train too hard, I’m going to do this in training, but when it’s time to fight I’m going to step up.\nThere is no step up. You’re just going to do what you did every day.”\n— Georges St. Pierre\nMy idea of what Cal Newport calls a grand gesture.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 mai 2019","externalUrl":null,"permalink":"/work/a-week-of-python/","section":"Work","summary":"","title":"A Week of Python","type":"work"},{"content":"It’s going swimmingly well so far.\nStill in the phase where there is an avalanche of stuff coming at me.\nBut a few tiny things, I know now.\nWhich is how I know I am making progress.\nP.S. Crazy idea that just struck me, would to start writing these updates in french as soon as I am able!\n","date":"31 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-3/","section":"Personnalité","summary":"","title":"French, Week 3","type":"personal"},{"content":"","date":"27 mai 2019","externalUrl":null,"permalink":"/tags/habits/","section":"Tags","summary":"","title":"Habits","type":"tags"},{"content":"If you haven’t read James Clear’s blockbuster book on habits, you owe it to yourself to. It’s the best way to build habits and routines that are an intrinsic part of you.\nOne of the best ways to a super productive you is, as James describes in this excerpted post, saying No.\nEver think about the events you set in action when you just say yes as a reactive reflex?\nThe Difference Between Yes and No # The words “yes” and “no” get used in comparison to each other so often that it feels like they carry equal weight in conversation. In reality, they are not just opposite in meaning, but of entirely different magnitudes in commitment.\nWhen you say no, you are only saying no to one option. When you say yes, you are saying no to every other option. Once you have committed to something, you have already decided how that future hour will be spent.\nSaying no gains you time in the future. Saying yes costs you time in the future. No is a form of time credit. You retain the ability to spend your time however you want. Yes is a form of time debt. You have to pay it back at some point.\nIn short: No is a decision. Yes is a responsibility.\nBut you can’t just go willy-nilly saying no, nope, nada now, can you?\nEarning the Right to Say No # In most fields, you have to go through a period where you say yes to nearly every opportunity before you can earn the right to say no to nearly every opportunity.\nLearning to make this switch is hard.\nSo this week, learn how to say no, and then get better at saying no. Like James concludes, Say no, more. Say yes, carefully.\nP.S. Share the newsletter! Get your friends to subscribe!\n","date":"27 mai 2019","externalUrl":null,"permalink":"/personal/your-very-own-superpower-saying-no/","section":"Personal","summary":"","title":"Your Very Own Superpower, Saying No","type":"personal"},{"content":"This was a week of learning to work at it.\nLots of fun.\nManaged to keep up with daily lessons in the Fluent Forever app. Am having trouble with the guttural ʁ sound.\nHopefully will get better at it with practice.\n","date":"24 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-2/","section":"Personnalité","summary":"","title":"French, Week 2","type":"personal"},{"content":"Go see how large your vocabulary is!\nAnd don’t cheat! At least the first time :)\nClick here to take the test.\nThis is me1.\nSubscribe to the newsletter already, will ya?\nOk, I cheated. The original one was 40,000 so i took it again :P\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"20 mai 2019","externalUrl":null,"permalink":"/personal/test-your-vocabulary/","section":"Personal","summary":"","title":"Test your vocabulary","type":"personal"},{"content":"Finished reading the fluent forever book.\nTried creating flash cards when i got a mail telling about the just launched app.\nHave been using it to start with French.\nIt truly is a timesaver.\nI know because I have been creating flash cards for a year now and it takes a significant amount of time.\nIt is really cool to have all my resources in one place.\nHave stuck to the plan diligently.\nRight now the focus is on wathching short videos and building up flash cards for vocabulary and for words that sound similar.\nMore next week \u0026hellip;\n","date":"18 janvier 2019","externalUrl":null,"permalink":"/fr/personal/french-week-1/","section":"Personnalité","summary":"","title":"French, Week 1","type":"personal"},{"content":"Shane Parrish’s highlights from this gem of a Ted Talk by Kahthryn Schulz.\n… The first thing we usually do when someone disagrees with us is that we just assume they are ignorant. You know, they don’t have access to the same information we do and when we generously share that information with them, they are going to see the light and come on over to our team.\nWhen that doesn’t work. When it turns out those people have all the same information and they still don’t agree with us we move onto a second assumption. They’re idiots. They have all the right pieces of the puzzle and they are too moronic to put them together.\nAnd when that doesn’t work. When it turns out that people have all the same facts that we do and they are pretty smart we move onto a third assumption. They know the truth and they are deliberately distorting it for their own malevolent purposes.\nSo this is a catastrophe: our attachment to our own rightness. It prevents us from preventing mistakes when we need to and causes us to treat each other terribly.\nYou can watch the whole talk below or click here. It’s twenty minutes well spent.\nP.S. If you like what I share, get your friends to subscribe!\n","date":"13 mai 2019","externalUrl":null,"permalink":"/personal/being-wrong/","section":"Personal","summary":"","title":"Being Wrong","type":"personal"},{"content":"From a Ryan Holiday post on journalling,\n“I don’t journal to “be productive.” I don’t do it to find great ideas, or to put down prose I can later publish. The pages aren’t intended for anyone but me.\nMorning pages are, as author Julia Cameron puts it, “spiritual windshield wipers.” It’s the most cost-effective therapy I’ve ever found. To quote her further…: ‘Once we get those muddy, maddening, confusing thoughts [nebulous worries, jitters, and preoccupations] on the page, we face our day with clearer eyes.’”\nAlso totally love the quote that opens the article,\n“Keep a notebook.\nTravel with it, eat with it, sleep with it.\nSlap into it every stray thought that flutters up into your brain.\nCheap paper is less perishable than gray matter.\nAnd lead pencil markings endure longer than memory.”\n—Jack London\nGo, read!\nP.S. If you like what I share, get your pals to subscribe.\n","date":"6 mai 2019","externalUrl":null,"permalink":"/personal/writing-as-the-most-important-thing-you-could-do-every-morning/","section":"Personal","summary":"","title":"Writing as the Most Important Thing You Could Do Every Morning","type":"personal"},{"content":"From What Does Immersing Yourself in a Book Do to Your Brain?\n… Reading allows us to try on, for a few moments, what it truly means to be another person, with all the similar and sometimes vastly different emotions and struggles that govern others’ lives.\nThe reading circuitry is elaborated by such simulations; so also our daily lives, and so also the lives of those who would lead others.\nThe novelist Jane Smiley worries that it is just this dimension in fiction that is most threatened by our culture: “My guess is that mere technology will not kill the novel. . . . But novels can be sidelined. . . . When that happens, our society will be brutalized and coarsened by people . . . who have no way of understanding us or each other.” It is a chilling reminder of how important the life of reading is for human beings if we are to form an ever more realized democratic society for everyone.\nEmpathy involves, therefore, both knowledge and feeling. It involves leaving past assumptions behind and deepening our intellectual understanding of another person, another religion, another culture and epoch. In this moment in our collective history, the capacity for compassionate knowledge of others may be our best antidote to the “culture of indifference” that spiritual leaders such as the Dalai Lama, Bishop Desmond Tutu, and Pope Francis describe. It may also be our best bridge to others with whom we need to work together, so as to create a safer world for all its inhabitants. In the very special cognitive space within the reading-brain circuit, pride and prejudice can gradually dissolve through the compassionate understanding of another’s mind.\nThe whole article is a slow, lovely ode to reading and empathy.\nP.S. If you like what I share, please subscribe to my mailing list!\n","date":"29 avril 2019","externalUrl":null,"permalink":"/personal/what-does-reading-a-book-do-to-your-brain/","section":"Personal","summary":"","title":"What Does Reading a Book Do to Your Brain?","type":"personal"},{"content":"Riffing off last weeks mail on reading, Scott H Young has a really thorough, helpful post on how to take notes, while reading.\nStarting with the why, and then onto various strategies on how to take notes, the post is well worth your time.\nP.S. If you like my emails, forward it to your friends and ask them to subscribe too!\n","date":"22 avril 2019","externalUrl":null,"permalink":"/personal/taking-notes-while-reading/","section":"Personal","summary":"","title":"Taking Notes While Reading","type":"personal"},{"content":" Abby lost her grandmother this week.\nThis is her eulogy to her.\nShe was Aunty Matty to other people, mummy to her children and countless other fond names to who knew her.\nBut she was my Nana.\nI have memories of her cradling me, and taking care of me as a baby.\nVacations at Nana’s were the highlight of my childhood years.\nShe was a tireless, hard working woman who raised her large family to the best of her abilities.\nAnd not just her family, but also (to me it seemed) the whole neighbourhood.\nShe was loved and appreciated, just by about everyone whose life she touched.\nAs the years flew by, Nana seemed very out of place.\nIn our fast paced, always connected, no time for any one age, Nana was a slow, deliberate, thoughtful, kind, gentle and gracious woman, like someone from a different, more altruistic age.\nAnd it was here in her shadow years, while i was grew up and was beginning to work and could make my own trips to see her, that i really began to see her for the strong willed, tireless, hard working that she was, beyond just my nana who cossetted me and made me nice things.\nAnd after all these years, the only theme i see that has rung true throughout Nana’s life was, Nana was there.\nwhen i was a young bawling baby, Nana was there. throughout my growing up years, Nana was there. to cook me what my heart desired, Nana was there. for everyone in her life, Nana was there. to crack jokes and lighten up any room, Nana was there. to empathise and have a compassionate ear to whatever was ailing you, Nana was there. to gently, yet firmly correct you, Nana was there. to remember you on your birthdays and anniversaries, Nana was there. to worry about you and pick you up when you were down, Nana was there. Since the day before, when Nana left us, I feel distraught and left alone, that Nana wasn’t there.\nAnd yet, as i read this little note, i realise that this is not quite true.\nLike the Little Prince tells the author,\nI cannot carry this body with me. It is too heavy.\nBut it will be like an old abandoned shell.\nThere is nothing sad about old shells …\nNana was in pain, and she moved on beyond her body to her rest.\nBut that does not mean, she isn’t there anymore.\nI will always carry Nana with me.\nWe all do.\nNana is here.\n","date":"18 avril 2019","externalUrl":null,"permalink":"/personal/a-eulogy-for-nana/","section":"Personal","summary":"","title":"A Eulogy for Nana","type":"personal"},{"content":" An old photo from I don’t know when You will always be my sweet sixteen, Nana!\nI love you.\n","date":"15 avril 2019","externalUrl":null,"permalink":"/personal/rip-nana/","section":"Personal","summary":"","title":"RIP Nana","type":"personal"},{"content":"Busy with exams this month, so leaving you with this Austin Kleon post with tonnes of quotes on reading.\nHere’s a few of my favourite ones …\n“You can’t be a good writer without being a devoted reader.”\n—J.K. Rowling\n“Read, read, read everything — trash, classics, good and bad, and see how they do it. Just like a carpenter who works as an apprentice and studies the master. Read!”\n—William Faulkner\n“When I’m reading, I’m looking for something to steal. Readers ask me all the time the traditional question ‘Where do you get your ideas from?” I reply: ‘We are all having ideas all the time. But I’m on the lookout for them. You’re not.’”\n—Philip Pullman\nGo, read.\nP.S. and forward this to your friends and ask them to subscribe!\n","date":"15 avril 2019","externalUrl":null,"permalink":"/personal/want-to-write-better-become-a-better-reader/","section":"Personal","summary":"","title":"Want to Write Better? Become a Better Reader!","type":"personal"},{"content":"A young friend of mine had this to say a while back, when I suggested he use gender neutral pronouns in his writing.\nthe gender thing. I thought a lot about it and came to the conclusion that it is okay to be biased in your writing. Me being a male, it is only natural for me to use \u0026lsquo;he\u0026rsquo; more often than \u0026lsquo;she\u0026rsquo;. But the idea of flipping the roles1 seems interesting :) I\u0026rsquo;d keep that in mind.\nAnd I don’t know why that bothered me.\nAm I imposing my view on a young, impressionable mind by insisting he write a certain way?\nWhy did I branch out of my normal, grammatical/typo corrections to suggest this?\nThen it struck me. Seth Godin, saying, “People like us, do things like this.”\nI believe in a certain manner of treating people.\nI believe that every one needs to be treated with inclusiveness.\nI believe that half of our species has never been treated with the respect they deserve. (and some others have been ruthlessly shunned)\nI believe language deepens such prejudice.\nAnd so, this is my little rebellion.\nI will do my utmost to treat people with respect.\nI use my pronouns so that any thing desirable or powerful or important is not automatically associated with men.\nI use my pronouns so that anything associated with grunt work is not just something women do.\nI want my language to be as inclusive as possible.\nThis is my tribe.\nThis was my realisation and what set me at peace.\nEveryone is not like me or shares my views. I should be ever more cognisant of this fact.\nI have my tribe of like minded people. People like me, do things like me :)\nAs for you, my young friend, I hope to welcome you someday into my tribe!\nP.S. If you like my writing, you should share this with your friends and ask them to subscribe!\nThe role flipping was another suggestion. Flip genders when describing stuff. A male receptionist. A female surgeon. A male seamstress. A female truck driver. Copied as always, from the always wise Seth\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"8 avril 2019","externalUrl":null,"permalink":"/personal/why-i-use-gender-neutral-pronouns/","section":"Personal","summary":"","title":"Why I use Gender Neutral Pronouns","type":"personal"},{"content":"These weekly posts will slow down until the end af April.\nHard at work, studying for exams.\nLink for this week is the Safal Niveshak Wall of Ideas.\nVishal’s little scribbles have been as influential in shaping my ideas and views of the world around (and within) me, as Shane’s Mental Models page.\nEach doodle is deceptively simple to read, yet will profoundly affect your life, should you choose to apply its teaching.\nMy personal favourite is his Reading Spectrum.\nBut I’m biased. There are a whole lot more that you will find more important or interesting.\nClick here, (or the image above) to go see his entire wall of ideas.\nP.S. If you like what I share, you should go subscribe!\n","date":"1 avril 2019","externalUrl":null,"permalink":"/personal/the-safal-niveshak-wall-of-ideas/","section":"Personal","summary":"","title":"The Safal Niveshak Wall of Ideas","type":"personal"},{"content":"Then be willing to look like an idiot.\n(Claude) Shannon had courage. Who else but a man with almost infinite courage would ever think of averaging over all random codes and expect the average code would be good? He knew what he was doing was important and pursued it intensely. Courage, or confidence, is a property to develop in yourself. Look at your successes, and pay less attention to failures than you are usually advised to do in the expression, “Learn from your mistakes”. While playing chess Shannon would often advance his queen boldly into the fray and say, “I ain’t scaird of nothing”. I learned to repeat it to myself when stuck, and at times it has enabled me to go on to a success. I deliberately copied a part of the style of a great scientist. The courage to continue is essential since great research often has long periods with no success and many discouragements.\nFrom Farnam Street’s article on doing great things.\nThere’s plenty more to do, than just be willing to look like an idiot though.\nGo read the entire article.\nIf you like what I share, subscribe to the newsletter\n","date":"25 mars 2019","externalUrl":null,"permalink":"/personal/want-to-do-great-things/","section":"Personal","summary":"","title":"Want to do Great Things?","type":"personal"},{"content":"I feel very overwhelmed with Maths.\nAccounts, while I am learning at a quick clip, I am terrified of all the practice it needs now.\n","date":"24 mars 2019","externalUrl":null,"permalink":"/personal/need-to-work-harder/","section":"Personal","summary":"","title":"Need to work harder","type":"personal"},{"content":"Tim Cook’s entire commencement address to the MIT class of 2017 is lovely (with enough fluff), but this is the part that struck a nerve:\nTechnology is capable of doing great things. But it doesn’t want to do great things. It doesn’t want anything.\nThat part takes all of us. It takes our values and our commitment to our families and our neighbors and our communities. Our love of beauty and belief that all of our faiths are interconnected. Our decency. Our kindness.\nI’m not worried about artificial intelligence giving computers the ability to think like humans.\nI’m more concerned about people thinking like computers without values or compassion, without concern for consequences.\nThat is what we need you to help us guard against.\nBecause if science is a search in the darkness, then the humanities are a candle that shows us where we’ve been and the danger that lies ahead.\nP.S. If you like what I share, subscribe to my newsletter.\n","date":"18 mars 2019","externalUrl":null,"permalink":"/personal/tim-cook-on-computers-ai-the-humanities/","section":"Personal","summary":"","title":"Tim Cook on Computers \u0026 AI \u0026 the Humanities","type":"personal"},{"content":"Jeremy Andenberg, on the importance of Reading Plans:\nCreates room for mastery of a subject.\nThis is perhaps my favorite part of having a reading plan. We’ve made the case multiple times here on Art of Manliness that everyone should strive to be “T-shaped”; that is, you should have a breadth of general knowledge, but also mastery in a single topic or subject or skill. Such mastery provides satisfaction and self-confidence in spades.\nSo how do you achieve mastery?\nOne way is certainly by reading deeply into a single subject.\nWhether driven by your career or your personal passions, having a reading plan is a surefire way to deepen your knowledge base.\nRead more over at the Art of Manliness.\nThey also have a helpful list of several reading plans if you need inspiration.\nP.S. If you like this, you’ll definitely enjoy my newsletter. Go, subscribe.\n","date":"11 mars 2019","externalUrl":null,"permalink":"/personal/why-you-need-a-reading-plan/","section":"Personal","summary":"","title":"Why You Need a Reading Plan","type":"personal"},{"content":"Like I wrote at the other place,\nI’ve been hugged and kissed and kicked,\nand taught and influenced and befriended\nand loved by so many of you!\nI would not be me, if it weren’t for you!\nIt’s only grown truer with time.\nEven more love and gratitude!\n","date":"8 mars 2019","externalUrl":null,"permalink":"/personal/happy-womens-day/","section":"Personal","summary":"","title":"Happy Women’s Day!","type":"personal"},{"content":"“I never allow myself to have an opinion on anything that I don’t know the other side’s argument better than they do.”\n— Charlie Munger\nThat quote opens Shane’s post on the work required to hold an opinion, which remains one of the mental models I use most often.\nWhich is why I had my ears and my mind open, when Shane began one of his latest posts with,\n“Trying to be perfect is a waste of time.”\nI’ve inherited dad’s sense of perfectionism, and I always thought that should be something I ought to aspire to, at every skill I attempted to learn.\nAnd for someone to come and say it isn’t so makes me squirm in my head.\nBut like Anne Lamott writes in Bird by Bird,\n“Perfectionism is the voice of the oppressor, the enemy of the people. It will keep you cramped and insane your whole life, and it is the main obstacle between you and a shitty first draft.\nI think perfectionism is based on the obsessive belief that if you run carefully enough, hitting each stepping-stone just right, you won’t have to die.\nThe truth is that you will die anyway and that a lot of people who aren’t even looking at their feet are going to do a whole lot better than you, and have a lot more fun while they’re doing it.”\nShane too, using Taleb-ian ideas of optionality and antifragility makes a wonderful case for why good enough trumps perfect.\nThe post ends with a swift kick in the rear, to go forth and do …\nDon’t be afraid of a challenge.\nDon’t be afraid of not being the best.\nWhen you routinely put yourself in situations where you aren’t the most skilled, you learn, you grow, and eventually you adapt.\nYou build your repertoire of traits and talents, so when change hits you have a wide array of skills.\nThis flexibility can also give you the confidence to seek change.\nThe mammal could explore and find new opportunities, but that bird was never going to leave the trees.\nRead the whole post here. Will you be as convinced as I?\nP.S. If you liked this, you will like more of what I share too :) Go subscribe!\n","date":"25 février 2019","externalUrl":null,"permalink":"/personal/trying-to-be-perfect-is-a-waste-of-time/","section":"Personal","summary":"","title":"Trying to Be Perfect Is a Waste of Time","type":"personal"},{"content":"Write your post here.\n","date":"19 février 2019","externalUrl":null,"permalink":"/personal/testing-cron/","section":"Personal","summary":"","title":"Testing cron!","type":"personal"},{"content":"Why start a new blog when I already have another?\nThis is my place to roughhouse it.\nThis is my place to be messy, make mistakes and write cathartically as I work through stuff.\nMy place to learn.\nNo other way to follow this crazy train of thought other than the RSS feed.\n","date":"17 février 2019","externalUrl":null,"permalink":"/personal/why/","section":"Personal","summary":"","title":"Why?","type":"personal"},{"content":"Derek Sivers on journaling daily.\nAlmost all the thoughts I have on any subject are the result of writing in my diary and journals, then questioning myself and working through alternate ways of thinking about it, and finally returning to the subject days or months later with a clear head and updated thoughts, seeing how they’ve changed or not over time.\nAlso on how writing helps him do the work required, to have an opinion.\nI always write down my initial thought first, but then question it afterwards with slight detachment, and consider different perspectives.\nOf course, as per Sivers usual, the whole post is detailed and helpful, and shows you his process. Go, have a look!\nP.S. If you like what I share and write, share it with your friends too, and ask them to subscribe.\n","date":"17 février 2019","externalUrl":null,"permalink":"/personal/reasons-to-write-1339/","section":"Personal","summary":"","title":"Reasons to Write #1339","type":"personal"},{"content":"Began reading The Warren Buffett Shareholder today.\nThis is from the preface.\nMany contributors to this book remark upon Buffetts’s distinctive teaching style, which tends to instruct people how to think rather than what to think.\nAnd\nJohn Bogle has attended one Meeting, but attests that even one can change your world.\nA couple of pages later\nOur premise was that Berkshire’s intrinsic value owes a lot to the Meeting and the shareholder community.\nBuffett wrote in his 2014 letter …\n… This culture grows stronger every year, and it will remain intact long after Charlie and I have left the scene.\nBerkshire Hathaway has created a culture of intelligence, inquisitivness, integrity and learning. This culture is part of the “company” in both the corporate meaning of that word and in its sense as a society of people coming together (com) to break bread (pan).\nReplace Warren with Kushal, Berkshire with the DGPLUG IRC channel and the shareholder meeting with the Summer Training.\nAnd, nothing changes.\nAmidst all the shouting and the craziness, that is the channel generally, it all goes up a hundredfold when the training happens.\nTempers flare. The kids are unruly. Mayhem ensues.\nYet, it all settles down soon enough.\nFolks learn earnestly.\nWisdom is shared.\nBonds are made. Friendships built.\nAcross time and space.\nAnd the Atlas who holds this little world on his shoulders is Kushal.\nIt is he, who literally, wrote the book on what we learn.\nIt is he, who pays for and maintains much of the infrastructure we need.\nIt is he, who conducts quite a few of the topics we learn.\nIt is he, who bribes, and cajoles old mages to come share their wisdom, with callow, inexperienced youth.\nAnd it is he, who keeps this little corner of the world, warm and cozy and friendly, year after year after year.\nThe number of folks who owe their careers to him are many.\nAnd the folks who have their lives changed by the training, many more still.\nI don’t remember if I ever said this to him, but he has given more to humanity in ten years, what others haven’t in their entire lives.\nAnd somewhere in the middle of the chapter, I found what succintly summarises the way I feel about the Summer Training.\nAnd amid their decades of lessons, they get to the core message of all shareholders at the Berkshire Annual Meeting: if you’ve never been, go; if you always go, keep going.\nAnd for everything you do, thank you Kushal! # ","date":"12 février 2019","externalUrl":null,"permalink":"/personal/thank-you-kushal/","section":"Personal","summary":"","title":"Thank you, Kushal!","type":"personal"},{"content":"Jason Fried, founder of Basecamp, and prolific blogger on why writing is important and how (and why) he uses writing as a hiring filter.\nFirst, in an interview with Chase Jarvis on youtube.\nCJ: What are some other really key things that you look for, that you’ve built into your company? Just some of the ones that are maybe more important to you well yeah how do you think about it?\nJF: Well a lot of it is the things we don’t want. That’s how we think about it primarily.\n… We don’t want to sit in meetings all day, so we don’t have a meetings heavy culture. which means that we write a lot of things down versus say them out loud. So we write write long form and write in detailed passages, so people can absorb everything on their own time versus having a meeting to pull people off their work yeah to sit in a room together, to talk about something that has nothing to do with right now, but you’re having the meeting right now. It’s very inefficient actually, a very inefficient way of doing it, so to do that (work efficiently), to facilitate that we have to hire great writers.\nSo we don’t hire people who can’t write. Very, very, very, important. That’s actually the probably number one hiring criteria after like, can they do the work? Are they good at the thing? But, the next thing is can they write? And if they can’t write well, we will not hire them.\nCJ: So do you do a test? A written communication test?\nJF: They do the test for us essentially by submitting coverletters. we look at the cover letter first. We don’t look at the resume, don’t care about previous experience, don’t care about where they went to school, don’t care about any of that stuff. We look at the cover letter, and if they don’t have one, resume gets tossed. Alright, they have to be able to write to us, saying like why they want this job, who they are, what’s important to them why is this was it this job, and not just any job yeah or if it is any job just say that too, but like I want to be able to read it.\nAnd you read the letter and you quickly can tell.\nThis person can write, this person can communicate, they can express themselves, they’re clear minded, they’re thoughtful, they’re good at nuance, are good at the subtleties that matter, that separate them from somebody else.\nThey know how to persuade and persuasion is super important in any line of business because you’ve gotta sell, not like sell to a customer always, but selling an idea internally, to your team, whatever it is, right, so, so, so the cover letter is fundamental for us and we’re very very careful about that.\nSo that’s the writing test it’s not a test, but it is.\nAnd then on a podcast with Tim Ferris\nTF: You mentioned, since we’re talking about Warren Buffett, clear thinking and clear writing, which you seem to value very highly. In doing a little bit of homework for this conversation, I’ve read, and you can tell me if this is true or still the case, but how one of your top hiring criteria is whether the person is a great writer. Whether the person can communicate well in written form. I’d love for you to say whether that is still the case or not and why that is the case.\nJF: It’s definitely the case. It’s sort of been the case forever for us. It’s the case because first of all, most communication is written these days. First of all, let me step back. We’re a remote company, so especially most communication is written. If you’re going to have, if you’re a local company and you’re having meetings all the time, sometimes verbal is enough. But in most cases, people are writing more and more and more than they ever have before.\nOne of the most costly and inefficient things is having to repeat yourself, or answer questions about something that should’ve been clear in the first place. If you can’t communicate clearly, you’re communicating probably three or four times more frequently than you need to. That can be really inefficient and really frustrating, extremely frustrating. So, we’ve always looked at clear writing as a prerequisite for every position we have at the company because everybody is supposed to communicate with themselves, with the rest of the company, with their team. Most of it’s done via the written word.\nWe also, for example – by the way, the first sort of gatekeeper of it is the cover letter. When people apply for a job, if they just send a résumé or whatever, they’re out instantly. It’s not even something we look at. I always want to see a cover letter of some sort. It can just be an email, of course, with an attachment of the résumé or whatever, but I want to see how you open the conversation. How do you describe yourself? Why are you applying for this job and not just any job? You can tell very quickly if someone can explain themselves, if someone can advocate for themselves and advocate for their ideas and their position and who they are and why they should work here.\nIf they’re clear minded, if they’re friendly, all that stuff comes through in writing. I think if you pay enough attention to the words, you can see a lot of that. Also, for example, when I hire designers, I look at their design, but I look at their writing almost a little bit more. Whenever we hire a designer, when we get down to the last five candidates that we really think could be finalists, we hire them to do a project for us. $1,500 a week and they do a project for us so we can kind of see their actual work. But even more importantly, is we ask them to write up why they did what they did because there’s a lot of great designers out there. But people have to advocate for themselves. I want to see why they did what they did and I want to read their point of view and their line of thinking and how they came up with the solutions.\nWhen I read that, it helps me understand what would it be like to work with that person for real. Are they able to explain why they did what they did? Are they glossing over little details that actually matter? What is it? How do they see their work and how do they write about it? It’s a very important part of the job here at Basecamp. So, yeah, writing’s important in every position. It doesn’t matter what position you’re in, you still have to be a great writer. We typically start by looking at the cover letter. The actual work assignments to get hired here typically involve writing, no matter what the position. I think it’s always proven, in our case, to be a really good indicator of someone’s success here.\nWhenever we hire someone, we’re like, I don’t know, the writing wasn’t quite right. It almost always pans out that it turns out that they’re not the right fit for the company, even if their work was great. But they’re just unable to really convince people and persuade people based on a missing bit of – it’s not magic, but I’ll call it that – in the writing. Where you read something and you go, this is great.\nP.S. Liked this post? Then subscribe to read more :)\n","date":"10 février 2019","externalUrl":null,"permalink":"/personal/on-writing-as-an-important-career-skill/","section":"Personal","summary":"","title":"On Writing as an Important Career Skill","type":"personal"},{"content":"I want this glorious verse from Mary Oliver’s poem to be my eulogy, when, you know, my death comes.\nWhen it’s over, I want to say: all my life\nI was a bride married to amazement.\nI was the bridegroom, taking the world into my arms.\nWhen it’s over, I don’t want to wonder\nif I have made of my life something particular, and real.\nI don’t want to find myself sighing and frightened,\nor full of argument.\nI don’t want to end up simply having visited this world.\n— via Austin Kleon’s touching eulogy to Mary Oliver.\nP.S. Also love her instructions for living a life.\nPay attention. Be astonished. Tell about it. P.P.S If you enjoy reading what I write and share, go subscribe.\n","date":"3 février 2019","externalUrl":null,"permalink":"/personal/when-death-comes/","section":"Personal","summary":"","title":"When Death Comes","type":"personal"},{"content":"If you haven’t already heard me raving about Hardcore History and Dan Carlin then you’re about to :)\nHardcore History is the world’s slowest podcast. The Accidental Tech Podcast, a topical weekly Apple news podcast that i listen to, started in 2013 and as of today, 16th January, 2019 is now on episode 308. Hardcore History, on the other hand, began its run in 2005 and is now on episode 65. I just checked the feed and Dan averages a measly two episodes a year.\nIn truth however, it makes very little sense to look at them as podcast episodes. Think of them as books. Medium length audiobooks. And then it suddenly makes sense. A book a year. An engaging history book, a year. For free!\nNot that you’ll want to just stick to free anyhoo. Dan is superengaging and like so many folks say he makes history come alive.\nAfter a few episodes, you’ll be begging to give him your money. The man is that good. And if you are so inclined, the entire back catalogue is available for purchase. My favourite is the Wrath of the Khans. 1\nAnd why all this raving now? Because it’s time for “Supernova in the East II”, the first Hardcore History episode of 2019. Find Supernova in the East I here.\nFrom the episode’s description:\nThe Asia-Pacific War of 1937-1945 has deep roots. It also involves a Japanese society that’s been called one of the most distinctive on Earth. If there were a Japanese version of Captain America, this would be his origin story.\nIntrigued? Then go listen. And subscribe to all future episodes in your podcast player of choice, using this link.\nYou can thank me later.\nP.S. The pic below is a glimpse of the research that goes into one, single episode.\nThis link goes to a seperate compilation download just for this series.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"28 janvier 2019","externalUrl":null,"permalink":"/personal/supernova-in-the-east/","section":"Personal","summary":"","title":"Supernova in the East","type":"personal"},{"content":"Thank you notes like these only make you fall in love with the folks who do the work.\nAnd make you want to support them even more!\nThank you, Dan Carlin.\nFor all you do.\nBrittany Durbin britt@dancarlin.com\n5:26 AM (4 hours ago)\nto me\nMario,\nWhen people ask us how we fund our operations around here, I usually tell them about our “global street performer” business model.\nA long time ago I realized that there\u0026rsquo;s probably not a whole lot of meaningful difference between what I do and what a violin player who finds a nice location on a street corner somewhere, opens up his/her violin case and begins playing does.\nWe are both relying on “passers-by” throwing a few coins into the instrument case (or baseball cap as the case may be, haha) to keep us going.\nOf course, I work a very busy, global “street corner” (virtually speaking, right?).\nI want to thank you for taking the time to both listen to the work that we do, and to contribute to our ability to keep doing it. It\u0026rsquo;s a cliché, but we really WOULDN\u0026rsquo;T be able to do this without the audience\u0026rsquo;s help and support.\nNot just in terms of finances, but also by telling others about the shows and spreading the word to help us grow the listenership. You all have been awesome.\nSo thank you from all of us (and from the other listeners who enjoy the work as well, but can\u0026rsquo;t afford to help right now).\nIf everyone did as you did, we\u0026rsquo;d never have to stop doing this.\nSo, a thousand thanks. I hope we always live up to your expectations.\nWarmly as Heck,\n-Dan\nP.S. If you enjoy what I write, go subscribe! ","date":"17 janvier 2019","externalUrl":null,"permalink":"/personal/the-nicest-thank-you-note-ever/","section":"Personal","summary":"","title":"The Nicest Thank You Note, Ever","type":"personal"},{"content":"If you want to build a habit, this is the definitive book on the topic. 1 You could read about habits in other books, to learn more, but if you actually want to be building them, look no further.\nThis was the first book in a long time that moved me to actually take action.\nSuccinct, pithy and packed with advice, there isn’t a wasted word in its 300 odd pages.\nAnd unlike other self help or non fiction books, it does not feel like three-hundred-pages.\nMoving from introduction to positing its arguments to tactical advice to conclusion, this feels more like a fast paced novel.\nGet 1% better every day 1% worse every day for one year. vs 1% better every day for one year.\nImproving by 1 percent isn’t particularly notable—sometimes it isn’t even noticeable—but it can be far more meaningful, especially in the long run. The difference a tiny improvement can make over time is astounding. Here’s how the math works out: if you can get 1 percent better each day for one year, you’ll end up thirty-seven times better by the time you’re done. Conversely, if you get 1 percent worse each day for one year, you’ll decline nearly down to zero. What starts as a small win or a minor setback accumulates into something much more.\nHabits are the compound interest of self-improvement.\nMaking a choice that is 1 percent better or 1 percent worse seems insignificant in the moment, but over the span of moments that make up a lifetime these choices determine the difference between who you are and who you could be. Your outcomes are a lagging measure of your habits.\nYour net worth is a lagging measure of your financial habits.\nYour weight is a lagging measure of your eating habits.\nYour knowledge is a lagging measure of your learning habits.\nYour clutter is a lagging measure of your cleaning habits.\nYou get what you repeat.\nYOUR HABITS CAN COMPOUND FOR YOU OR AGAINST YOU.\nBeware the Valley of Disappointment. Habits often appear to make no difference until you cross a critical threshold and unlock a new level of performance.\nIn the early and middle stages of any quest, there is often a Valley of Disappointment.\nYou expect to make progress in a linear fashion and it’s frustrating how ineffective changes can seem during the first days, weeks, and even months. It doesn’t feel like you are going anywhere.\nIt’s a hallmark of any compounding process: the most powerful outcomes are delayed.\nThis is one of the core reasons why it is so hard to build habits that last.\nIn order to make a meaningful difference, habits need to persist long enough to break through this plateau—what I call the Plateau of Latent Potential. If you find yourself struggling to build a good habit or break a bad one, it is not because you have lost your ability to improve. It is often because you have not yet crossed the Plateau of Latent Potential. Complaining about not achieving success despite working hard is like complaining about an ice cube not melting when you heated it from twenty-five to thirty-one degrees. Your work was not wasted; it is just being stored. All the action happens at thirty-two degrees. Change can take years—before it happens all at once.\nForget about goals, focus on systems instead Goals are good for setting a direction, but systems are best for making progress. 2\nYou do not rise to the level of your goals. You fall to the level of your systems.\nBe the change, you wish to see in yourself Imagine two people resisting a cigarette. When offered a smoke, the first person says, “No thanks. I’m trying to quit.” It sounds like a reasonable response, but this person still believes they are a smoker who is trying to be something else. They are hoping their behavior will change while carrying around the same beliefs.\nThe second person declines by saying, “No thanks. I’m not a smoker.” It’s a small difference, but this statement signals a shift in identity. Smoking was part of their former life, not their current one. They no longer identify as someone who smokes.\nThe ultimate form of intrinsic motivation is when a habit becomes part of your identity. It’s one thing to say I’m the type of person who wants this. It’s something very different to say I’m the type of person who is this. Improvements are only temporary until they become part of who you are.\nThe goal is not to read a book, the goal is to become a reader. The goal is not to run a marathon, the goal is to become a runner. The goal is not to learn an instrument, the goal is to become a musician. So how do we go about changing our identity?\nIt is a simple two-step process:\nDecide the type of person you want to be. Prove it to yourself with small wins. I have a friend who lost over 100 pounds by asking herself, “What would a healthy person do?” All day long, she would use this question as a guide. Would a healthy person walk or take a cab? Would a healthy person order a burrito or a salad? She figured if she acted like a healthy person long enough, eventually she would become that person. She was right.\nThe four laws of behavior change How to Create a Good Habit\nThe 1st law (Cue): Make it obvious. The 2nd law (Craving): Make it attractive. The 3rd law (Response): Make it easy. The 4th law (Reward): Make it satisfying. How to Break a Bad Habit\nInversion of the 1st law (Cue): Make it invisible. Inversion of the 2nd law (Craving): Make it unattractive. Inversion of the 3rd law (Response): Make it difficult. Inversion of the 4th law (Reward): Make it unsatisfying. The Best Way to Start a New Habit Broadly speaking, the format for creating an implementation intention is:\nWhen situation X arises, I will perform response Y.\nThe simple way to apply this strategy to your habits is to fill out this sentence:\nI will [BEHAVIOR] at [TIME] in [LOCATION].\nMeditation. I will meditate for one minute at 7 a.m. in my kitchen. Exercise. I will walk for two hours at 6 p.m. in my neighbourhood. Marriage. I will make my wife a cup of lemon \u0026amp; honey at 5.45 a.m. in the kitchen. Give your habits a time and a space to live in the world. The goal is to make the time and location so obvious that, with enough repetition, you get an urge to do the right thing at the right time, even if you can’t say why.\nThen, stack ’em! Many human behaviors follow this cycle. You often decide what to do next based on what you have just finished doing. Going to the bathroom leads to washing and drying your hands, which reminds you that you need to put the dirty towels in the laundry, so you add laundry detergent to the shopping list, and so on. No behavior happens in isolation. Each action becomes a cue that triggers the next behavior.\nSo we best stack our habits. Easiest way to form new ones. How?\nThe habit stacking formula is:\nAfter [CURRENT HABIT], I will [NEW HABIT].\nMeditation. After I meditate for one minute, I will go do physio Study. After I start walking, I will learn French lessons Marriage. After I get into bed at night, I will give my partner a kiss.3 Motivation Is Overrated; Environment Often Matters More Alter the spaces where you live and work to increase your exposure to positive cues and reduce your exposure to negative ones. Environment design allows you to take back control and become the architect of your life. Be the designer of your world and not merely the consumer of it.\nTry and use a single device as much as possible for a single task. Associate a place with a specific action.\n… divide your room into activity zones: a chair for reading, a desk for writing, a table for eating. You can do the same with your digital spaces. I know a writer who uses his computer only for writing, his tablet only for reading, and his phone only for social media and texting. Every habit should have a home.\nWhat happens if we do this?\nIf you can manage to stick with this strategy, each context will become associated with a particular habit and mode of thought. Habits thrive under predictable circumstances like these. Focus comes automatically when you are sitting at your work desk. Relaxation is easier when you are in a space designed for that purpose. Sleep comes quickly when it is the only thing that happens in your bedroom. If you want behaviors that are stable and predictable, you need an environment that is stable and predictable.\nYou take my Self Control Simply resisting temptation is an ineffective strategy. It is hard to maintain a Zen attitude in a life filled with interruptions. It takes too much energy. In the short-run, you can choose to overpower temptation. In the long-run, we become a product of the environment that we live in. To put it bluntly, I have never seen someone consistently stick to positive habits in a negative environment.\nSo how do we get out of this pickle? By using what Taleb calls, via negativa.\nJames clarifies …\nCut bad habits off at the source. One of the most practical ways to eliminate a bad habit is to reduce exposure to the cue that causes it.\nIf you can’t seem to get any work done, leave your phone in another room for a few hours. If you’re continually feeling like you’re not enough, stop following social media accounts that trigger jealousy and envy. If you’re wasting too much time watching television, move the TV out of the bedroom. Give yourself a cookie Now that you’ve made habits and have made more by stacking, you want to make them irresistible to do. How? Reward yourself by doing something you want to do.\nAfter [CURRENT HABIT], I will [HABIT I NEED].\nAfter [HABIT I NEED], I will [HABIT I WANT].\nI have to do my physio daily, and I love Jon Stewart shows so …\nAfter I meditate, I will do physio. After physio, I will check out Jon Stewart on Youtube. This shit is hard! (Or how to reprogram your brain to enjoy hard habits) What if you’re trying to do something that is hard and unpleasant?\nI have to do this. I have to do that. I have to go work. I hate this, but I have to.\nImagine changing just one word: You don’t “have” to. You “get” to.\nExercise. Many people associate exercise with being a challenging task that drains energy and wears you down. You can just as easily view it as a way to develop skills and build you up. Instead of telling yourself “I need to go run in the morning,” say “It’s time to build endurance and get fast.”\nFinance. Saving money is often associated with sacrifice. However, you can associate it with freedom rather than limitation if you realize one simple truth: living below your current means increases your future means. The money you save this month increases your purchasing power next month.\nAnd then, just keep swimming. Make it easy to do. And keep doing it! Walk Slowly, but Never Backward\nWhen preparation becomes a form of procrastination, you need to change something. You don’t want to merely be planning. You want to be practicing. If you want to master a habit, the key is to start with repetition, not perfection. You don’t need to map out every feature of a new habit. You just need to practice it. You just need to get your reps in.\nWhy? Because of Hebb’s Law\nHebb’s Law: “Neurons that fire together wire together.”\nRepeating a habit leads to clear physical changes in the brain.\nMathematicians, have increased gray matter in the inferior parietal lobule, which plays a key role in computation and calculation. Its size is directly correlated with the amount of time spent in the field; the older and more experienced the mathematician, the greater the increase in gray matter.\nTo build a habit, you need to practice it.\nAnd the most effective way to make practice happen is to make it easy.\nEvery habit is just an obstacle to getting what you really want.\nDieting is an obstacle to getting fit.\nMeditation is an obstacle to feeling calm.\nJournaling is an obstacle to thinking clearly.\nYou don’t actually want the habit itself. What you really want is the outcome the habit delivers.\nThe greater the obstacle—that is, the more difficult the habit—the more friction there is between you and your desired end state. This is why it is crucial to make your habits so easy that you’ll do them even when you don’t feel like it. If you can make your good habits more convenient, you’ll be more likely to follow through on them\nHow now? Remember environment design above? This is where you see its benefits.\nWhen deciding where to practice a new habit, it is best to choose a place that is already along the path of your daily routine. Habits are easier to build when they fit into the flow of your life.\nPrime the environment for future use.\nThere are many ways to prime your environment so it’s ready for immediate use.\nIf you want to cook a healthy breakfast, place the skillet on the stove, set the cooking spray on the counter, and lay out any plates and utensils you’ll need the night before. When you wake up, making breakfast will be easy.\nWant to exercise? Set out your workout clothes, shoes, gym bag, and water bottle ahead of time.\nWant to improve your diet? Chop up a ton of fruits and vegetables on weekends and pack them in containers, so you have easy access to healthy, ready-to-eat options during the week.\nYou can also invert this principle and prime the environment to make bad behaviors difficult.\nRedesign your life so the actions that matter most are also the actions that are easiest to do.\nHow to Stop Procrastinating by Using the Two-Minute Rule The Two-Minute Rule states, “When you start a new habit, it should take less than two minutes to do.” You’ll find that nearly any habit can be scaled down into a two-minute version:\n“Read before bed each night” becomes “Read one page.” “Study for class” becomes “Open my notes.” “Run three miles” becomes “Tie my running shoes.” This is a powerful strategy because once you’ve started doing the right thing, it is much easier to continue doing it.\nA new habit should not feel like a challenge. The actions that follow can be challenging, but the first two minutes should be easy. What you want is a “gateway habit” that naturally leads you down a more productive path.\nAs you master the art of showing up, the first two minutes simply become a ritual at the beginning of a larger routine.\nThis is not merely a hack to make habits easier but actually the ideal way to master a difficult skill. The more you ritualize the beginning of a process, the more likely it becomes that you can slip into the state of deep focus that is required to do great things.\nBy developing a consistent power-down habit, you make it easier to get to bed at a reasonable time each night. You may not be able to automate the whole process, but you can make the first action mindless. Make it easy to start and the rest will follow.\nThe secret is to always stay below the point where it feels like work.\nStrategies like this work for another reason, too: they reinforce the identity you want to build.\nIf you show up at the gym five days in a row—even if it’s just for two minutes—you are casting votes for your new identity. You’re not worried about getting in shape. You’re focused on becoming the type of person who doesn’t miss workouts.\nYou’re taking the smallest action that confirms the type of person you want to be.\nOnce you’ve established the habit and you’re showing up each day, you can combine the Two-Minute Rule with a technique we call habit shaping to scale your habit back up toward your ultimate goal. Start by mastering the first two minutes of the smallest version of the behavior. Then, advance to an intermediate step and repeat the process—focusing on just the first two minutes and mastering that stage before moving on to the next level. Eventually, you’ll end up with the habit you had originally hoped to build while still keeping your focus where it should be: on the first two minutes of the behavior.\nExamples of habit shaping – Becoming an Early Riser\nPhase 1: Be home by 10 p.m. every night. Phase 2: Have all devices (TV, phone, etc.) turned off by 10 p.m. every night. Phase 3: Be in bed by 10 p.m. every night (reading a book, talking with your partner). Phase 4: Lights off by 10 p.m. every night. Phase 5: Wake up at 6 a.m. every day. Make sure you are happy at the end of it all We are more likely to repeat a behavior when the experience is satisfying. This is entirely logical. Feelings of pleasure are signals that tell the brain: “This feels good. Do this again, next time.” Pleasure teaches your brain that a behavior is worth remembering and repeating.\nThe Cardinal Rule of Behavior Change: What is rewarded is repeated. What is punished is avoided. You learn what to do in the future based on what you were rewarded for doing (or punished for doing) in the past. Positive emotions cultivate habits. Negative emotions destroy them.\nThe first three laws of behavior change—make it obvious, make it attractive, and make it easy—increase the odds that a behavior will be performed this time.\nThe fourth law of behavior change—make it satisfying—increases the odds that a behavior will be repeated next time. It completes the habit loop.\nI want it all, now! Our preference for instant gratification reveals an important truth about success: because of how we are wired, most people will spend all day chasing quick hits of satisfaction. The road less traveled is the road of delayed gratification. If you’re willing to wait for the rewards, you’ll face less competition and often get a bigger payoff. As the saying goes, the last mile is always the least crowded.” Most people know that delaying gratification is the wise approach. They want the benefits of good habits: to be healthy, productive, at peace. But these outcomes are seldom top-of-mind at the decisive moment.\nThankfully, it’s possible to train yourself to delay gratification—but you need to work with the grain of human nature, not against it. The best way to do this is to add a little bit of immediate pleasure to the habits that pay off in the long-run and a little bit of immediate pain to ones that don’t.\n“One of my readers and his wife used a similar setup. They wanted to stop eating out so much and start cooking together more. They labeled their savings account “Trip to Europe.” Whenever they skipped going out to eat, they transferred $50 into the account. At the end of the year, they put the money toward the vacation.\nSelect short-term rewards that reinforce your identity rather than ones that conflict with it. If your reward for exercising is eating a bowl of ice cream, then you’re casting votes for conflicting identities, and it ends up being a wash. Instead, maybe your reward is a massage, which is both a luxury and a vote toward taking care of your body. Now the short-term reward is aligned with your with your long-term vision of being a healthy person.\nEventually, as intrinsic rewards like a better mood, more energy, and reduced stress kick in, you’ll become less concerned with chasing the secondary reward.\nThe identity itself becomes the reinforcer.\nYou do it because it’s who you are and it feels good to be you. The more a habit becomes part of your life, the less you need outside encouragement to follow through.\nIncentives can start a habit.\nIdentity sustains a habit.\nIt takes time for the evidence to accumulate and a new identity to emerge though. Immediate reinforcement helps maintain motivation in the short term while you’re waiting for the long-term rewards to arrive.\nHow to keep your habits on track? You just track it all! A habit tracker is a simple way to measure whether you did a habit.\nThe most basic format is to get a calendar and cross off each day you stick with your routine.\nAs time rolls by, the calendar becomes a record of your habit streak.\nWhat can we do to make tracking easier?\nFirst, whenever possible, measurement should be automated. You’ll probably be surprised by how much you’re already tracking without knowing it. Your credit card statement tracks how often you go out to eat. Once you know where to get the data, add a note to your calendar to review it each week or each month, which is more practical than tracking it every day.\nSecond, manual tracking should be limited to your most important habits. It is better to consistently track one habit than to sporadically track ten.\nFinally, record each measurement immediately after the habit occurs.\nThe completion of the behavior is the cue to write it down.\nThis approach allows you to combine the habit-stacking method, with habit tracking.\nThe habit stacking + habit tracking formula is:\nAfter [CURRENT HABIT], I will [TRACK MY HABIT].\nAfter I hang up the phone from a sales call, I will move one paper clip over. After I finish each set at the gym, I will record it in my workout journal. After I put my plate in the dishwasher, I will write down what I ate. It’s all shot to hell! What now? No matter how consistent you are with your habits, it is inevitable that life will interrupt you at some point. Perfection is not possible.\nBefore long, an emergency will pop up—you get sick or you have to travel for work or your family needs a little more of your time.\nRemind yourself of this simple rule:\nNever miss twice.\nMissing once is an accident.\nMissing twice is the start of a new habit.\nThe breaking of a habit doesn’t matter if the reclaiming of it is fast.\nThe problem is not slipping up; the problem is thinking that if you can’t do something perfectly, then you shouldn’t do it at all.\nThis is why the “bad” workouts are often the most important ones. Sluggish days and bad workouts maintain the compound gains you accrued from previous good days. Simply doing something—ten squats, five sprints, a push-up, anything really—is huge. Don’t put up a zero. Don’t let losses eat into your compounding.\nFurthermore, it’s not always about what happens during the workout. It’s about being the type of person who doesn’t miss workouts. It’s easy to train when you feel good, but it’s crucial to show up when you don’t feel like it—even if you do less than you hope.\nGoing to the gym for five minutes may not improve your performance, but it reaffirms your identity.\nHow to stay focussed when you get bored working on your goals “What’s the difference between the best athletes and everyone else?” I asked. “What do the really successful people do that most don’t?” He mentioned the factors you might expect: genetics, luck, talent. But then he said something I wasn’t expecting: “At some point it comes down to who can handle the boredom of training every day, doing the same lifts over and over and over.”\nReally successful people feel the same lack of motivation as everyone else.\nThe difference is that they still find a way to show up despite the feelings of boredom.\nMastery requires practice.\nBut the more you practice something, the more boring and routine it becomes.\nThe greatest threat to success is not failure but boredom. We get bored with habits because they stop delighting us. The outcome becomes expected. And as our habits become ordinary, we start derailing our progress to seek novelty.\nPerhaps this is why we get caught up in a never-ending cycle, jumping from one workout to the next, one diet to the next, one business idea to the next. As soon as we experience the slightest dip in motivation, we begin seeking a new strategy—even if the old one was still working.\nPerhaps this is why many of the most habit-forming products are those that provide continuous forms of novelty. Video games provide visual novelty. Porn provides sexual novelty. Junk foods provide culinary novelty. Each of these experiences offer continual elements of surprise.\nEveryone faces the same challenge on the journey of self-improvement: you have to fall in love with boredom.\nWe all have goals that we would like to achieve and dreams that we would like to fulfill, but it doesn’t matter what you are trying to become better at, if you only do the work when it’s convenient or exciting, then you’ll never be consistent enough to achieve remarkable results.\nI can guarantee that if you manage to start a habit and keep sticking to it, there will be days when you feel like quitting. When you start a business, there will be days when you don’t feel like showing up. When you’re at the gym, there will be sets that you don’t feel like finishing. When it’s time to write, there will be days that you don’t feel like typing.\nBut stepping up when it’s annoying or painful or draining to do so, that’s what makes the difference between a professional and an amateur.\nProfessionals stick to the schedule; amateurs let life get in the way.\nProfessionals know what is important to them and work toward it with purpose; amateurs get pulled off course by the urgencies of life.”\nThe only way to become excellent is to be endlessly fascinated by doing the same thing over and over.\nYou have to fall in love with boredom.\nBreak the beliefs that hold you back In the beginning, repeating a habit is essential to build up evidence of your desired identity. As you latch on to that new identity, however, those same beliefs can hold you back from the next level of growth. When working against you, your identity creates a kind of “pride” that encourages you to deny your weak spots and prevents you from truly growing.\nThis is one of the greatest downsides of building habits.\nThe more sacred an idea is to us—that is, the more deeply it is tied to our identity—the more strongly we will defend it against criticism.\nThe key to mitigating these losses of identity is to redefine yourself such that you get to keep important aspects of your identity even if your particular role changes.\n“I’m an athlete” becomes “I’m the type of person who is mentally tough and loves a physical challenge.” “I’m a great soldier” transforms into “I’m the type of person who is disciplined, reliable, and great on a team.” “I’m the CEO” translates to “I’m the type of person who builds and creates things.” Habits deliver numerous benefits, but the downside is that they can lock us into our previous patterns of thinking and acting—even when the world is shifting around us.\nEverything is impermanent. Life is constantly changing, so you need to periodically check in to see if your old habits and beliefs are still serving you.\nA lack of self-awareness is poison.\nReflection and review is the antidote.\nAnd in conclusion\nThe secret to getting results that last is to never stop making improvements.\nIt’s remarkable what you can build if you just don’t stop.\nIt’s remarkable the business you can build if you don’t stop working.\nIt’s remarkable the body you can build if you don’t stop training.\nIt’s remarkable the knowledge you can build if you don’t stop learning.\nIt’s remarkable the fortune you can build if you don’t stop saving.\nIt’s remarkable the friendships you can build if you don’t stop caring.\nSmall habits don’t add up.\nThey compound.\nThat’s the power of atomic habits.\nTiny changes. Remarkable results.\nP.S. If you like these posts, tell your friends (and your grandma too) to subscribe.\nin my opinion :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nScott Adams also writes about this in How to Fail at Almost Everything and Still Win Big …\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nI should do this!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 janvier 2019","externalUrl":null,"permalink":"/reading/atomic-habits/","section":"Reading","summary":"","title":"The Final Word on Building Habits – Atomic Habits","type":"reading"},{"content":"How do we protect our work? How do we get paid for it?\n(Or is that really the question we should be worried about when seeking to make our mark. And the importance of writing, of showing up, regularly.)\nThis is what I admire about Seth Godin. His unique ability to get to the heart of the question.\nThe question lies in the q \u0026amp; a after this really awesome episode at around the 22.45 mark. (The episode is a replay of this awesome talk. If you haven’t seen or heard it yet, do me (and yourself) a favour and do so.)\nHey Seth, it’s Ben from New York.\nI was intrigued by the recent episode about copyright.\nMy question is … maybe more posing a paradox, because with copyright, there is this corporate ability for greed and control … at the same time for an individual producer or artist or maker of things, it does allow you survival.\nAnd I do agree that the best way to change the culture and to share ideas is to make something you’ve made, widely available. At the same time the concept of copyright does allow you to say to somebody, “Hey, I made this! You’re giving it away for free!”\nAnd in this digital age, where people expect to just click on something and have it, which is sort of like your bakery analogy, except people can now, because of the anonymity and the ease of the digital platforms, walk into a bakery, grab a loaf of bread and walk out, is how to allow ideas to spread in a wide and inexpensive or free way and still be able to make a living at it, without saying, here is a physical thing that you’re taking from me.\nPlease pay me for it.\nAnd this is what I think, copyright allows an individual or an artist or an entrepreneur like myself to use as leverage so that our stuff like … you mentioned your audiobook being illegally uploaded to youtube … keeping that sort of thing from happening.\nAnyway thanks so much for the book, the podcast, the blog. It’s been a great inspiration for me trying to find a way in this new age. Thanks.\nSeth answers,\nYou’re getting at something powerful with this question, which is back to Tim O’Reilly’s comment that the enemy is not piracy. It’s obscurity.\nThat if you are a nascent artist, designer, writer, video producer, musician, does it pay to give your stuff away?\nto give it away? give it away? give it away?\nHoping, that one day you’ll get paid for your work.\nSo the copyright laws are sort of secondary here, in the sense that, it is voluntary on your part, that as someone who is publishing your own work in a digital format, which means it does not cost you anything to give away one more copy, the question is, when does it end?\nDoes it mean that everything that is digital, will sooner or later be free?\nWell, we’ve seen twenty or thirty years of this unfolding, and here’s what I think we found.\nOne, Ideas that spread, win.\nIf your idea reaches more people, you do better than if it doesn’t, and it turns out that ideas that are free spread further and faster, than ideas that arent.\nSo radio, it was so powerful on radio, that the record labels paid money, payola, bribes, to the radio stations to play the songs for free, because they understood, that being a hit, being popular, was the way for an artist to make money going forward.\nThe thing is, that doesn’t pay the bills.\nSo how is it that someone who creates digital items is ever going to get paid?\nWell, let me give you a couple of ways this could happen.\nThe first one is, the souvenir edition. The souvenir, concrete, limited edition of the thing you make, so that the true fan, the superfan will happily and eagerly pay for it.\nWe keep seeing this thing happening. It’s not going away.\nPeople want to pay for something, others can’t have.\nThey want to pay for something that gives them status.\nNumber two is the idea that we can sell the specific.\nSo we can go to people and say, “Yea, if you want the traditional version of this song, or this digital artifact, that’s free. It’s in the world because it’s popular, but, if you want it to be specific to you, if you want us to play it live for you, that, that’s gonna cost money.”\nAnd we certainly see that in the world of consulting.\nSo that you can give away a 300 page or 200 page or 20 word BIG idea, just give it away constantly, but if someone wants your specific advice, that, that’s going to cost money.\nAnd the third way, that I’m going to propose that we can charge for the work we do, is that it can be now. That if you want it now, if you want it live, if you want it first, that costs money.\nPeople will wait in line, because again they get status, from going first.\nSo it’s not really the answer to your question. I’m not proposing that copyright go away, but I do think that individual creators have a huge unfair advantage over institutions that need to pay big bills.\nAnd that advantage is that we can give ideas away.\nA blog post a day.\nA podcast a week.\nWe can give them away, because the digital environment makes that a powerful way to spread our ideas, but then we can sell the other thing to people who want to pay for it.\nP.S. If you enjoy reading my posts, share them with your friends. And tell them to subscribe!\n","date":"12 janvier 2019","externalUrl":null,"permalink":"/work/how-do-we-protect-our-work-how-do-we-get-paid-for-it/","section":"Work","summary":"","title":"How do we protect our work? How do we get paid for it?","type":"work"},{"content":"Will Vincent, author of Django for Beginners and Rest APIs with Django has his list of book recommendations for the year.\nRead the latest posts on his website to get at them.\nIf you are a learner like me and wanted a professionally filtered list, (as in too lazy to go hunt them down), this is a godsend.\nHe covers books on Django, React, Flask, \u0026amp; JavaScript and tutorials for Python, Django \u0026amp; React.\nAlso check out his year in review.\nThank you muchly, Will.\n","date":"8 janvier 2019","externalUrl":null,"permalink":"/work/william-vincents-list-of-programming-books-for-2019/","section":"Work","summary":"","title":"William Vincent’s list of programming books for 2019","type":"work"},{"content":"Reasons to Write #339\nFrom Eric Barker’s, “The 3-Step Evening Ritual That Will Make You Happy”\nWriting helped people suffering from depression, anxiety or PTSD.\nIt helped their relationships too. But that wasn’t all …\nTheir physical health improved as well.\nWomen with breast cancer reported fewer symptoms and required fewer cancer-related doctor visits. People with asthma and arthritis “reported meaningful improvements in quality of life similar to benefits that would be expected by a successful new drug treatment.”\nThey landed jobs.\nWithin three months, 27 percent of the experimental participants landed jobs compared with less than 5 percent of those in the time management and no-writing comparison groups.\nThey gained insight.\nwhat’s the biggest benefit people report after a few evenings of expressive writing? “Insight.” Most people said they understood themselves better. They felt more meaning in life. To my knowledge, nobody has ever reported effects like that from buying a ShamWow or a Foreman Grill.\nWant to know how all this writing sorcery works?\nRead the whole article over at Eric’s blog.\n","date":"6 janvier 2019","externalUrl":null,"permalink":"/personal/reasons-to-write-339/","section":"Personal","summary":"","title":"Reasons to Write #339","type":"personal"},{"content":"As a kid, I read a lot of books above my level of comprehension.\nMore to show off and show folks my “smartness” and give off that snooty “I am a well read boy” air1 than from any sense of love or learning.\nI know better now (I hope, I do) :)\nBut two books from those days will always stay with me.\nOne was my father’s science textbook, which I no longer have or remember the title of. I used it for four years in high school to understand what I was learning. The book was my secret weapon :)\nThe language in that old textbook was far more engaging and lively than the teachers in class. And it was beautiful with all those black and white line drawings, and anecdotes of the folks who made those amazing discoveries. (Faraday and Tesla and Watts and Madam Curie). It actually was a textbook from before science became “Science”; when it was Natural Philosophy\nDespite years of searching, I haven’t found it again.\nThe closest textbook of that style I could point you to, would be Thompson’s Calculus.\nThe other book was a tattered copy of The Complete Yes Minister.2 I thought then, that the book was the real deal, an actual tell all, with its newspaper clippings and copies of memos. It took me a couple more years to realise what satire was. And it was a line in there, a really obtuse, verbose line that took my young brain a couple of days to “get”, that made me realise that reading was a dialogue, that a good book was not something to be just “read”. A good book is friend telling you jokes, a prankster scaring you, a father figure consoling you, a friend giving you advice and in this case a master exposing that language in general (and English in particular) was not something to be scared of, but just tools of expression, toys to be played with and enjoyed, and tools that could be expertly wielded.\nIt was this line and the delight I got in deciphering it, that turned me into a lifelong bookworm. You can see Nigel Hawthorne’s brilliant rendition, here.\nThis is what he said. “The identity of this official whose alleged responsibility for this hypothetical oversight has been the subject of recent speculation is not shrouded in quite such impenetrable obscurity as certain previous disclosures may have led you to assume, and, in fact, not to put too fine a point on it, the individual in question was, it may surprise you to learn, the one to whom your present interlocutor is in the habit of identifying by means of the perpendicular pronoun.”\n“I beg your pardon?’ I said.\nThere was an anguished pause.\n‘It was I,’ he said.”\nLike our grand old thespian says, “English is a very phunnny language.”\nAah, vanity! :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYes, I read the book first and discovered the show much later.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"4 janvier 2019","externalUrl":null,"permalink":"/personal/when-i-fell-in-love-with-reading/","section":"Personal","summary":"","title":"English is a “Phunnny” language (or When I Fell in Love with English and Reading)","type":"personal"},{"content":"Learning a new skill this year?\nPutting your mind to learn programming?\nLooking to wow folks with your newly acquired French?\nA professional exam, you want to ace?\nAnd yet, as you look back over years of broken resolutions, you think it might not be worth it?\nThat you aren’t cut out for learning physics on your own if you wanted to?\nThat you are “slow”?\nMaybe that’s just because you haven’t realised that learning itself is a skill?\nThat you need to learn, how to learn?\nBarbara Oakley has been teaching this critical skill for a few years now.\nHer course on Learning How to Learn is the most popular course in the world.\nHow do you beat procrastination?\nDo we still need to memorise?\nHow important is sleep?\nWhat is learning?\nBarbara takes you through all these and dives deeper into brain chemistry and modes of learning and a whole lot more!\nAt the end, you get prepared to learn anything.\nBarbara’s story also serves as tremendous inspiration. A girl who flunked Maths \u0026amp; Science as a kid is now a distinguished professor of engineering.\nThe course is spread over 4 weeks\nAnd it’s free!\nThe only thing that is needed of you is to commit.\nAnd even that is not too much. 12-15 hours spread over 4 weeks.\nYou can go enroll in the course here.\nIf you are pressed for time or are a student, you can go enroll in the youth oriented version of the course here.\nAnd hurry! Today is the last day to enroll.\nImagine spending 15 measly hours to learn a skill that will then enable you to learn and master anything that you set your mind to!\nHere’s to a Happy New Year full of learning!\nJason\n","date":"30 décembre 2018","externalUrl":null,"permalink":"/work/are-you-learning-something-new-this-year-this-course-will-help/","section":"Work","summary":"","title":"Are You Learning Something New This Year? This Course Will Help.","type":"work"},{"content":"More Gaiman truisms for me.\nHe talks about writing.\nHolds true for all of my endeavours though.\nlazynoodlepuff asked: Hi Neil, I wonder what could tell not native speaker like me. I struggle with writing anything. Words don\u0026rsquo;t flow in my native language and in English it\u0026rsquo;s even more difficult. Sonetimes I struggle with every sentence. But I really want to create things in English and be a part of English-speaking culture. Is this too much to try learn not only to write but also write in another language? I feel like I am so far behind everyone and have to try so hard just to keep up (I moved to the UK to study)\nTwo of the finest writers of English – Nabokov and Conrad – were not native speakers.\nSo I would not worry.\nIt’s okay to struggle.\nJust have patience with yourself, and keep learning.\n","date":"27 décembre 2018","externalUrl":null,"permalink":"/personal/be-persistent/","section":"Personal","summary":"","title":"Be Persistent","type":"personal"},{"content":"For me. For posterity. From Neil Gaiman.\nmiriams-song asked: Hey Neil. Someone recently told me that because I’m not ethnically Jewish (I’m a conversion student set to be “official” within the next year), I shouldn’t be writing ethnically Jewish characters. What do you think? I’ve been actively involved with my Jewish community for years so accusations like that are pretty hurtful.\nAs a writer of fiction part of your duty and obligation is to write characters who are not you.\nWrite them well, write them with respect and interest.\nAnd don’t listen to anyone who tells you you aren’t allowed to write people who aren’t you.\nYou are.\n","date":"26 décembre 2018","externalUrl":null,"permalink":"/personal/write-with-respect-and-interest/","section":"Personal","summary":"","title":"Write with Respect and Interest","type":"personal"},{"content":"As the year draws to an end, here’s what the folks I follow read this year.\nVishal Khandelwal, has a couple of short, sweet posts on “The Books That Made Me.” Here’s Part 1 and here’s Part 2.\nIf you’ve already read (and reread) Taleb’s books, here’s a list of books he loves (and hates).\nHere is Ryan Holiday’s evergreen list and here’s what he was unto in 2018.\nPatrick Collison has a whole antilbrary. (via this ttfs episode).\nJames Clear wins most organised list.\nI follow this not a blog and this tumblr, because these giants who I have grown up on, always have something to recommend.\nNot an annual list per se, but Brett McKay’s recommendations have always been awesome!\nAnd finally the big daddy of them all, the annual Farnam Street reading list. While Shane Parrish changed my life in more ways than one, by teaching me how to read and focus, it was his opinions on the books he read that made me follow him all those years ago.\nMy own eccentric list of books is here.\nAnd there you have it. My little gift to you.\nI have about a hundred of you awesome folk on this list. And no matter how infrequent or erratic I am, more than half of you always read every mail I send.\nAnd you always have an encouraging word for me.\nFor your time, and your attention, and your little acts of kindness, I am truly humbled and thankful.\nMerry Christmas to you all! And a Happy New Year!\nGratefully, Jason\nP.S. And if you haven’t already, you can always subscribe here.\n","date":"23 décembre 2018","externalUrl":null,"permalink":"/personal/looking-for-something-to-read-in-the-new-year/","section":"Personal","summary":"","title":"Looking for Something to Read in the New Year?","type":"personal"},{"content":"Scott H Young on writing as a tool to sharpen your thinking.\nFrom the article …\nFirst, by jotting down your thoughts on paper, you can hold more ideas than you could in your limited working memory. This means you can more easily work through thoughts that have several parts which are difficult to keep in mind simultaneously.\nSecond, writing allows editing. If I write down an idea, then later notice a contradiction further down the page, I can go back and edit it. Editing mentally quickly becomes exhausting as, like in the n-back task, the old information interferes with the new.\nThird, writing allows for longer thoughts. Have you ever had a conversation where, as you were listening, you forgot the point you were eager to make? Ideas bubble up and pop all the time in our minds, it’s only with writing that you can capture it.\nNow that you know why to write, maybe you’re wondering how?\nGo on, read the entire post here, to find out.\n","date":"15 décembre 2018","externalUrl":null,"permalink":"/personal/how-to-think-better/","section":"Personal","summary":"","title":"How to Think Better","type":"personal"},{"content":"A Simple Marketing Worksheet\nWho’s it for? What’s it for? What is the worldview of the audience you’re seeking to reach? What are they afraid of? What story will you tell? Is it true? What change are you seeking to make? How will it change their status? How will you reach the early adopters and neophiliacs? Why will they tell their friends? What will they tell their friends? Where’s the network effect that will propel this forward? What asset are you building? Are you proud of it? — “This Is Marketing”, Seth Godin\n","date":"30 novembre 2018","externalUrl":null,"permalink":"/reading/a-simple-marketing-worksheet/","section":"Reading","summary":"","title":"A Simple Marketing Worksheet","type":"reading"},{"content":"Michel de Montaigne was a year younger than me (thirty eight), when he inscribed this on the wall in his library …\nIn the year of Christ 1571, at the age of thirty-eight, on the last day of February, anniversary of his birth, Michel de Montaigne, long weary of the servitude of the court and of public employments, while still entire, retired to the bosom of the learned Virgins, where in calm and freedom from all cares he will spend what little remains of his life now more than half run out. If the fates permit, he will complete this abode, this sweet ancestral retreat; and he has consecrated it to his freedom, tranquility, and leisure.\nWhile I am not weary of my service, I am no longer still entire.\nYou have been witness to the turmoil in my life, the past couple of years and my own physical breakdown the past couple of months.\nWhile you have been ever gracious towards me, I feel I no longer can serve you to the best of my abilities.\nAnd so the time has come for me to say, Au revoir.\nI’ve had the good fortune of serving BPW in various capacities ever since its inception. I’ve had the good fortune of working alongside so much bright talent. I’ve had the good fortune to learn from some of the best mentors ever. I’ve had the good fortune to pass on my knowledge too.\nWhat I imagined to be a short term assignment turned out to be a seven year long adventure, full of crazy making, delight and plenty of ups and downs, joys and sorrows. And now that I’m broken, I have to turn my ship homewards and recover. To, Montaigne-like, retire to the bosom of the Muses and spend time in calm and freedom, if only for a short while.\nAbbas \u0026amp; Sada, you’ve trusted my judgment You gave me free reign and let me do my own thing. Pretty much what anyone dreams of when they think of work. Thank you for being such amazing folks to work for.\nVinay, you were big brother, tightwad, crazy ass director and generous patron all rolled into one. You gave me so many opportunities to learn and grow. The best thing I could say to you instead of Thank you is that I learned so much! I never had to worry, because I know you always have my back. It’s been a joy working alongside you. I am ever grateful.\nVijay, you’ve been confidant, keeper of secrets, healer of wounds, and a daily source of inspiration. You taught me how to sell. And then you taught me how to lead. And then you taught be how to be a good human. I have no words.\nI’ll also take a minute to specially thank baby Bonika, Kuldip, Vaibhav, Dheena, Shini, Tanay and Santosh. I will never forget Bangalore! You trusted me, gave yourselves wholly to me, and did some of the best work of your lives, when you let me serve you as manager. I see you grow now, I see you spread your wings and I feel so proud.\nThere are far too many folks to mention here and I’m tearing up. I thank you all! I love you all!\nTo close, I’ll paraphrase Enya and pray we do meet on some other shore …\nA thousand dreams you gave to me You held me high, you held me high And all those years you guided me So I could find my way\nSo let me give this dream to you Upon another shore So let me give this dream to you Each night and ever more\n","date":"27 novembre 2018","externalUrl":null,"permalink":"/work/au-revoir-bpw/","section":"Work","summary":"","title":"Au Revoir, BPW","type":"work"},{"content":" – via Austin Kleon\n","date":"16 novembre 2018","externalUrl":null,"permalink":"/personal/tsundoku/","section":"Personal","summary":"","title":"Tsundoku (This makes me so happy!)","type":"personal"},{"content":"Today was cautious fun :)\nWhat did I do today?\nI got a rough journal working switched to vscode as my programming editor (still using emacs for my other writing.) will move back to emacs when I have the time to sharpen the saw, because I want an editor that I can use 30 years from now. Right now though, I cannot afford to yak shave. What did I learn?\nPlayed with the main function and saw how the name variable changes and how I could use that to run my file as a program or a module to some other program got a firmer understanding of a while loop got the journal to accept an entry into a list and then print the list on demand the data is still ephemeral though and the output is ugly have to now learn how to make it pretty, and work at saving the data to disk ","date":"10 novembre 2018","externalUrl":null,"permalink":"/work/100daysofcode-day-008/","section":"Work","summary":"","title":"#100DaysOfCode, Day 008","type":"work"},{"content":"Lots of new concepts today …\nWhat did I do today?\nWatched the videos on how to make a mini journal app. What did I learn?\nToday was a doozy I learnt about lists, more conditionals, how to use files for storage \u0026amp; write to a disk independent of what os I’m using, how the main() function kicks things off, and how to use different files for different parts of a program to keep things cleaner and more organised. While I began well, I’ve gotten thoroughly confused as the class went on. I know these things individually (I think), but the putting it all together, feels like drawing the rest of the fucking owl. Hope things get clearer tomorrow, as I begin to actually write the program.\n","date":"9 novembre 2018","externalUrl":null,"permalink":"/work/100daysofcode-day-007/","section":"Work","summary":"","title":"#100DaysOfCode, Day 007","type":"work"},{"content":"Today I really understood what deliberate practice was all about.\nWhat did I do today?\nWrote and ran the birthday app I watched yesterday.\nIt’s a simple app that asks you for your birthday and then tells you, how many days to or since your birthday.\nWhat did I learn?\nI spent at least 30 minutes hunting down and looking up errors, caused by a tiny typo. I ought to be more careful. On the other hand, while I know the basic syntax, my python vocabulary isn’t large enough yet. I still need to see what my 80/20 ratio of fluency to lookup will be. Right now I am looking up everything. I am beginning to think of programming as cooking. It’s a really good analogy and it makes programming a lot less intimidating. And finally I actually figured what deliberate practice was all about. I worked at a hard enough task that was just out of reach. As opposed to times in the past where stuff was too easy or frighteningly hard. This is a really good space to work in. My head still hurts, but it hurts in a good way 🙂 Onwards …\nP.S. Speaking of deliberate practice1, James Clear has an excellent guide here.\nwhich in a way, is what #100daysofcode is sneakily about too 🙂\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"8 novembre 2018","externalUrl":null,"permalink":"/work/100daysofcode-day-006/","section":"Work","summary":"","title":"#100DaysOfCode, Day 006","type":"work"},{"content":"Happy Deepavali folks :)\nHad an easy day today. The slog yesterday paid off!\nWhat did I do today?\nFinished the Guess the number game app. Watched videos for the next one, the Birthday Countdown App. What did I learn?\nHave to be wary with while loops and where I choose to exit them. Also I should always initialise them with some value that is not in the answer / solution range. I can break my code into functional pieces. This piece of code doing one thing and that one doing that. These little mini programs of code are called … functions.\nI felt like Hansa when I realised this. When you ask the user for any input, it’ll always come in as a string. You need to convert it, to the format you need. Onwards …\nP.S. Will upload all the code I write here, if you want to see it.\n","date":"7 novembre 2018","externalUrl":null,"permalink":"/work/100daysofcode-day-005/","section":"Work","summary":"","title":"#100DaysOfCode, Day 005","type":"work"},{"content":"Realised I am woefully underprepared for the #100DaysOfCode in Python course.\nThat does not mean that I’m going to give up on the project however.\nI am just dropping down and getting fluent with the basics with the Python Jumpstart course.\nI aim (very optimistically) to complete an app every 3 days.\nThis should give me #130DaysOfCode 😂\nWhat did I do today?\nI finished App 1: Hello (you Pythonic) world Done with the videos for App 2: Guess that number game. What did I learn?\nI am a slow learner. It took me two hours to watch and understand (play, get confused, rewind, play … repeat ad nauseam.) I must also be the only one who watches videos at slower than playback speed 😝 Program flow is not quite like what I imagined.\nA program does not execute top to bottom.\nThe python genie must be reading all my statements and figuring out the order somehow. Learnt conditionals. If this happens, do this. Otherwise do that. Will know how much I learn when I actually write the program tomorrow.\nIn other news\nI hit all my September goals. Only because of my health issues they turned into September \u0026amp; October goals 😂\nI do all my basic editing in Emacs I type horribly at 30 wpm in Dvorak. (I’m really happy. My arms and fingers and nerves no longer hurt) I walk 10,000 steps most days Ciao for now. More tomorrow!\n","date":"6 novembre 2018","externalUrl":null,"permalink":"/work/100daysofcode-day-004/","section":"Work","summary":"","title":"#100DaysOfCode, Day 004","type":"work"},{"content":"Horrible day.\nCould not crack Bite 7.\nDid however finally crack Bite 67 after a lot of head scratching.\nHave come slowly to the terrifying realisation that I’ve bitten off a whole lot more than I can chew.\nForget thinking Pythonically, I cannot even think programattically.\nBut then, c’est la vie.\nI’ll just put in my hours diligently and let the learning come gradually.\n","date":"5 novembre 2018","externalUrl":null,"permalink":"/work/100daysofcode-day-003/","section":"Work","summary":"","title":"#100DaysOfCode, Day 003","type":"work"},{"content":"Worked an hour with these exercises.\nStill struggling mightily. Only got one done.\nStill.\nDid an hour.\nDid not die despite tearing my hair out. 1\nLive to code another day\nIt was fun though :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"4 novembre 2018","externalUrl":null,"permalink":"/work/100daysofcode-day-002/","section":"Work","summary":"","title":"#100DaysOfCode, Day 002","type":"work"},{"content":"Twelve years from now, your future self is going to thank you for something you did today, for an asset you began to build, a habit you formed, a seed you planted.\nEven if you’re not sure of where it will lead, today’s the day to begin.\n— Seth Godin, A note from 2030\nIndeed!\nThat is exactly what I learnt the hard way!\nBut Jason today thanks young Jason for investing and saving up, so that he could live through bad times … and good ones.\nAnd Jason in 2020 will thank me, because of what I do today.\n","date":"3 novembre 2018","externalUrl":null,"permalink":"/personal/sow-seeds/","section":"Personal","summary":"","title":"Sow Seeds","type":"personal"},{"content":"Getting back to studies.\nPutting in the time to do 12th, so won’t have time to do programming.\nHowever programming is the goal, so I commit to putting an hour daily. Whether I finish a project is moot now after so many failures.\nErgo time is the only thing I can measure progress in.\nAn hour a day. For a hundred days.\nRather than doing something self directed, am following Talk Python’s, #100DaysOfCode in Python.\nToday I watched the datetime videos.\nThat’s Day 1. Done :)\n","date":"3 novembre 2018","externalUrl":null,"permalink":"/work/100daysofcode-day-001/","section":"Work","summary":"","title":"#100DaysOfCode, Day 001","type":"work"},{"content":"For folks who want to know how to memorise things effectively, I always pointed them to the Anki app and considered my job done.\nWhile I will still point them to the app, my first port of call will be Nicky Case’s delightful new explorable mini site, “How To Remember Anything Forever-ish”\nMnemosyne, Goddess of Memory It’s whimsical, delightful, and explains memory \u0026amp; how to work with it beautifully as you read the funny, pithy explorable.\nDefinitely worth your time \u0026amp; attention.\n","date":"1 novembre 2018","externalUrl":null,"permalink":"/personal/how-to-remember-anything-forever/","section":"Personal","summary":"","title":"How To Remember Anything Forever","type":"personal"},{"content":"","date":"1 novembre 2018","externalUrl":null,"permalink":"/tags/loc/","section":"Tags","summary":"","title":"Loc","type":"tags"},{"content":"Updated the books page with a few more that I finished.\n","date":"18 octobre 2018","externalUrl":null,"permalink":"/personal/a-few-books/","section":"Personal","summary":"","title":"A few books","type":"personal"},{"content":"Been trying too long to host an RSS server that’d work with Reeder.\nToo complicated and too janky for me as of now.\nFor now, I’m happy to let the pros handle it and will happily stick to FeedHQ.\nTime will either increase my tech skills or make me content using web aggregators instead of dedicated clients.\nLet’s see.\n","date":"27 septembre 2018","externalUrl":null,"permalink":"/work/giving-up-on-self-hosting-rss/","section":"Work","summary":"","title":"Giving up on self hosting RSS","type":"work"},{"content":"Will this appear in my Coldsweat feed?\n","date":"26 septembre 2018","externalUrl":null,"permalink":"/personal/testing-coldsweat/","section":"Personal","summary":"","title":"Testing Coldsweat","type":"personal"},{"content":" from this beautiful Neil Gaiman poem, illustrated by Chris Riddell\nYou’ve been a far better wife to me, than I a husband to you.\nYou literally are my better half.\nI hope, I can keep at it though.\nLike the bible says …\nLove never fails.\nBut whether there are prophecies, they will fail; whether there are tongues, they will cease; whether there is knowledge, it will vanish away.\nFor we know in part and we prophesy in part.\nBut when that which is perfect has come, then that which is in part will be done away.\nAnd now abide faith, hope, love, these three;\nbut the greatest of these is love.\nAnd that is all I can give you, wife! I love you\nin this life and the next.\n","date":"9 septembre 2018","externalUrl":null,"permalink":"/personal/7/","section":"Personal","summary":"","title":"7","type":"personal"},{"content":"","date":"8 septembre 2018","externalUrl":null,"permalink":"/tags/daily-programming/","section":"Tags","summary":"","title":"Daily-Programming","type":"tags"},{"content":"","date":"8 septembre 2018","externalUrl":null,"permalink":"/tags/goals201809/","section":"Tags","summary":"","title":"Goals201809","type":"tags"},{"content":"Getting back to life slowly.\nAbandoning the idea of the daily posts.\nToo amorphous for me.\nDoing short 20 hour projects seems to work better for me.\nTo that end, here are my goals for September\n20h of emacs - goal - get familiar 20h of Dvorak - goal - get upto 35wpm walk daily - goal - 10000 steps or 90m daily More as I figure this out.\nDaily programming is dead! Long live working towards daily goals!\n","date":"8 septembre 2018","externalUrl":null,"permalink":"/work/programming-day-60-final-post-goals-september-2018-start/","section":"Work","summary":"","title":"Programming, Day 60, Final post. Goals! September 2018, Start","type":"work"},{"content":" This birthday is my first without Daddy.\nAnd so this post today, because I want these words out of my head and heart, before they overwhelm me.\nDad \u0026amp; I have birthdays immediately following each other (the 25th \u0026amp; 26th.)\nAll my birthday memories are inextricably linked with him.\nHim being indulgent with his firstborn.\nHim holding me close and sharing his cake with me as I grew.\nHim taking care of me and letting me crawl into his lap to say our prayers on cold mornings in our small drafty house.\nHim being patient with me during my crazy headed years.\nAnd always waiting for me, for our shared birthday cake.\nMe loving the fact that I could share my cake with him as I grew.\nThat I could take care of him, like he did me.\nThat I was a sterner dad to him, than he ever was to me.\nAnd now for the first time, in 40 years, I do not have a hand holding mine and I feel utterly bereft.\nWhile the Bible and the Stoics remind me that dust indeed I am, I’ll forever be indebted to God, that my father was my rock.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/76-40/","section":"Personal","summary":"","title":"76 \u0026 40","type":"personal"},{"content":" The new table goes on for miles and miles :)\nThank you mummy! From me and my broken back :)\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-77/","section":"Personal","summary":"","title":"Daily Writing, 77","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/scribbles/","section":"Tags","summary":"","title":"Scribbles","type":"tags"},{"content":" Mothers yielding Bibles, contemplating smearing the blood of lamb chops over her doorway. # Anything to keep her son alive another day. # — Antonia Perdu\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-76-mother-and-son/","section":"Personal","summary":"","title":"Daily Writing, 76 – Mother and Son","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/italy/","section":"Tags","summary":"","title":"Italy","type":"tags"},{"content":" There is absolutely nothing I can say about the Personal MBA that hasn’t been said.\nI cheat and present Derek Sivers’ notes on the book.\nBut here’s his point about the book as a whole …\nWow. A masterpiece. This is now the one “START HERE” book I\u0026rsquo;ll be recommending to everybody interested in business. An amazing overview of everything you need to know. Covers all the basics, minus buzz-words and fluff. Look at my notes for an example, but read the whole book. One of the most inspiring things I\u0026rsquo;ve read in years.\nWant proof? I asked the author to be my coach/mentor afterwards. It\u0026rsquo;s that good.\nMy main regret? That the book was on my shelf nearly three years before I picked it up. Talk about lost time.\nAnd as someone who’s helped friends with their MBAs and helped his wife with her DBA, I can absolutely attest that the Personal MBA, does what it claims to do.\nIt’s world class education for less than 500 bucks.\nI’m also a bit jealous and awed. Josh read and synthesised and made notes on so many books and created a smashingly amazing syntopical work. Which is what I do so agonisingly slowly here :P\nShort, pithy notes and chapters, keep you engrossed and the book is pretty fast paced and engaging for the enormous breadth of knowledge it seeks to distill within its 500 pages.\nPersonally biased, I loved the chapters on antifragility, optionality and tinkering. Those are Taleb terms. Josh calls them Resilience, Fail Safes and The Experimental Mindset.\nBut the whole book is awesome!\nIt’s my new quake book.\nI learnt so much and I know I will learn much more as I revisit it again and again.\nI’ll close with two things. The short B. C. Forbes passage (all emphases, mine) that Josh closes the book with, and a short audio introduction below.\nYour success depends on you.\nYour happiness depends on you.\nYou have to steer your own course.\nYou have to shape your own fortune.\nYou have to educate yourself.\nYou have to do your own thinking.\nYou have to live with your own conscience.\nYour mind is yours and can be used only by you.\nYou come into this world alone.\nYou go to the grave alone.\nYou are alone with your inner thoughts during the journey between.\nYou make your own decisions.\nYou must abide by the consequences of your acts …\nYou alone can regulate your habits and make or unmake your health. You alone can assimilate things mental and things material …\nYou have to do your own assimilation all through life.\nYou can be taught by a teacher, but you have to imbibe the knowledge. He cannot transfuse it into your brain.\nYou alone can control your mind cells and your brain cells.\nYou may have spread before you the wisdom of the ages, but unless you assimilate it you derive no benefit from it; no one can force it into your cranium.\nYou alone can move your own legs.\nYou alone can move your own arms\nYou alone can control your own muscles.\nYou must stand on your feet, physically and metaphorically.\nYou must take your own steps.\nYour parents cannot enter into your skin, take control of your mental and physical machinery, and make something of you.\nYou cannot fight your son’s battles; that he must do for himself.\nYou have to be captain of your own destiny.\nYou have to see through your own eyes.\nYou have to use your own ears.\nYou have to master your own faculties.\nYou have to solve your own problems.\nYou have to form your own ideals.\nYou have to create your own ideas.\nYou must choose your own speech.\nYou must govern your own tongue.\nYour real life is your thoughts.\nYour thoughts are your own making.\nYour character is your own handiwork.\nYou alone can select the materials that go into it.\nYou alone can reject what is not fit to go into it.\nYou are the creator of your own personality.\nYou can be disgraced by no man’s hand but your own.\nYou can be elevated and sustained by no man but yourself.\nYou have to write your own record.\nYou have to build your own monument—or dig your own pit. Which are you doing?\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/reading/the-personal-mba/","section":"Reading","summary":"","title":"The Personal MBA","type":"reading"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/the-personal-mba/","section":"Tags","summary":"","title":"The Personal MBA","type":"tags"},{"content":" In geometry, a cupola is a solid formed by joining two polygons, one (the base) with twice as many edges as the other, by an alternating band of isosceles triangles and rectangles.\nWell … sod that.\nIn real life, a cupola is sheer poetry!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-75/","section":"Personal","summary":"","title":"Daily Writing, 75","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/austria/","section":"Tags","summary":"","title":"Austria","type":"tags"},{"content":" “Burn old logs. Drink old wine. Read old books. Keep old friends.” # — El Sabio\nAlso, travel and visit old towns and listen to the classics!\n— Me\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/burn-old-logs/","section":"Personal","summary":"","title":"Burn Old Logs …","type":"personal"},{"content":" “Have you also learned that secret from the river; that there is no such thing as time? # #####That the river is everywhere at the same time, at the source and at the mouth, at the waterfall, at the ferry, at the current, in the ocean and in the mountains, everywhere and that the present only exists for it, not the shadow of the past nor the shadow of the future.”\n— Hermann Hesse, Siddhartha\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-73-river-god/","section":"Personal","summary":"","title":"Daily Writing, 73 – River God","type":"personal"},{"content":" David, and Other Assorted Treasures. 1\nObviously a pun on Layla \u0026amp; other assorted love songs\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-72/","section":"Personal","summary":"","title":"Daily Writing, 72","type":"personal"},{"content":"Since my emails to you result in this\nWe’re unable to respond to conversations that have been closed. Please note that your message has not been received by our support team.\nAnd I really need to say something to your reply closing my original issue, this is my post!\nHere’s my orginal text to you from within the app\nAmount Of Cash Paid To Driver : 500\nShare Additional Details : THIS IS NOT A COMPLAINT. My driver was very helpful and brought me home in rain and traffic conditions with lots of patience. He was however running low on gas and was getting slightly apprehensive. I on my own accord offered my directions to a gas station, once he dropped me off and willingly gave him Rs. 500 since he was low on cash. (I have also paid for the trip via my credit card) So if you can adjust that for me, please do. Else, I’ll just consider it my good deed for the day. Regards, Mario Jason Braganza\nSent by Jason B. on Friday, July 20, 2018 at 3:42:12 AM\nAnd this was your reply, which somehow ticks me off when you deign to tell me\nNO RESPONSE NEEDED\nThanks for writing in Jason,\nI reviewed your account and can see that your chosen payment method was your VISA XXXX. As a one-time exception, I\u0026rsquo;ve added INR 500 Uber credits to your account. You can see them under the payments section of your app. Please note that there is no need for you to pay in cash to the driver partner on a non-cash trip. The same is expected when you request rides for your family, friends etc. The trip fare is inclusive of tolls/parking fee and any other charges if applicable.\nTo avoid similar issues in the future, always make sure that you don’t pay with cash if you’ve already selected another form of payment.\nWe appreciate your understanding.\nWell, you see that’s what ticks me off.\nYou decide something is one thing despite me expressly telling you it’s the other. And then you presume to lecture me on what I should so.\nSo you see, I do need to reply.\nAnd since I cannot reply to that mail, I’ll post it here on my blog for posterity.\n\u0026gt; To avoid similar issues in the future\nHelping people and being human is not something I wish to avoid.\nThe driver was helpful and young and apprehensive.\nHe went out of his way to reach me home safe. I helped him back without his asking me to.\nIf your drivers can do so much, is your back-office so loathe to employ humans and look at exceptions and deal with them?\nIf you can help me, well and good.\nIf not, don’t.\n\u0026gt; As a one-time exception\nWhile I am thankful for the refund, I don’t need your charity or condescension.\nI managed to travel before Uber was around and I’m quite sure I’ll be able to, even now.\nRegards,\nMario Jason Braganza\nPS\nOh! and NO RESPONSE NEEDED\nLike Seth Godin points out in a post he’s just published, a day before\nThe thing is, “garbage in, garbage out” is lazy.\nIt’s lazy because it puts all the onus on the user or the environment. It lets the device off the hook, and puts the focus on the system, which, the device creator points out, is out of his control.\nIt’s one thing to make a sports car that runs beautifully on smooth roads, perfect tires and premium gas, but it’s a triumph of engineering to make one that runs beautifully all the time.\nIt’s one thing to organize the DMV so it works well when every person reads all the instructions, fills out the forms perfectly and patiently waits their turn, but it’s a generous act of customer service and organization when the system is resilient enough to work with actual human beings.\nThe extraordinary teacher adds value to every student, no matter what their home is like. She sees possibility and refuses to settle or blame the inputs. Isn’t that the way we’d like every professional to see the world?\nThe better mantra is, “garbage in, gorgeous out.”\nThat’s what we hired you for.\n(updated later same day to include a reference to Seth’s post)\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/dear-uber/","section":"Personal","summary":"","title":"Dear Uber","type":"personal"},{"content":" I will love the light for it shows me the way, yet I will endure the darkness because it shows me the stars. # — Og Mandino\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-70/","section":"Personal","summary":"","title":"Daily Writing, 70","type":"personal"},{"content":" Tomb of Flavia Iulia Helena Augusta, Empress of the first Christian Empire.\nMemento, homo, quia pulvis es, et in pulverem reverteris. # “Remember, man, that thou art dust, and to dust thou shalt return.”\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-69/","section":"Personal","summary":"","title":"Daily Writing, 69","type":"personal"},{"content":" The Biga, Vatican Museum by Francesco Antonio Franzoni\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-68-biga/","section":"Personal","summary":"","title":"Daily Writing, 68 – Biga","type":"personal"},{"content":" “The lyf so short, the craft so longe to lerne.”\n— Geoffrey Chaucer, Parlement Of Foules, 1374\nThis quote that opens the book reflects the chaos in my life.\nI have too many things to do, a busy life and yet, innately I am an autodidact.\nI yearn to learn new things!\nAnd learning new things is also how I’m slowly shifting my career goals.\nNeedless to repeat, tonnes to do, and grains of time in hand.\nMy growing frustration with why I cannot learn things as fast as I want to in conjunction, with aforesaid situation, is when I picked up this book by Josh Kaufman, last night. It seemed right for my situation. I’d bought it up along with The Personal MBA, a while ago and they’re in my unread pile.\nAnd I was done in 2 hours. I don’t know why I did not read this earlier and save myself a tonne of grief.\nWhile I’m slogging away at lots of things, I now realise I do not have to slog at all of them equally :)\n“Work smarter, not harder.” As it turns out, the process of skill acquisition is not really about the raw hours you put in … it’s what you put into those hours.\nAlso, I don’t really want to become a world class expert. Just “good enough” will do, with most of the things I want to learn.\nBased on research conducted by Dr. K. Anders Ericsson expert-level performance takes, on average, ten thousand hours of deliberate practice to achieve.\nTen thousand hours equals eight hours of deliberate practice every day for approximately three and a half years, with no breaks, no weekends, and no vacations. Assuming a standard 260 working days a year with no distractions, that’s a full-time job for almost five years, assuming you spend 100 percent of that time exerting 100 percent of your energy and effort.\nAs if learning a new skill wasn’t hard enough. Not only do you have to make time for practice … but you now also have to put in ten thousand hours? Most of us count ourselves lucky if we can set aside a few hours a week. Why bother at all if it takes so long to be good at something?\nBut … and this is a big but;\nThere’s an element of Dr. Ericsson’s research that’s very easy to overlook: it’s a study of expert-level performance. If you’re looking to become the next Tiger Woods, you’ll probably need to spend at least ten thousand hours deliberately and systematically practicing every aspect of golf.\nOn the other hand, what if winning the PGA Tour isn’t your goal?\nThat’s another matter entirely. World-class mastery may take ten thousand hours of focused effort, but developing the capacity to perform well enough for your own purposes usually requires far less of an investment.\nThat’s not to discount the value of what Ericsson calls “deliberate practice”: intentionally and systematically practicing in order to improve a skill. Deliberate practice is the core of skill acquisition. The question is how much deliberate practice is required to reach your goal. Usually, it’s much less than you think.\nLeave the ten thousand hours to the pros. We’re going to start with twenty hours of concentrated, intelligent, focused effort.\n20 hours! 20 hours to pick up and get good enough at a new skill? Now that’s an idea I can get behind.\nAnd just how are we going to spend those 20 hours?\nIn a process called Rapid Skill Acquisition\nYou’ll have a better chance of success if you start with twenty hours of rapid skill acquisition.\nRapid skill acquisition has four major steps:\nDeconstructing a skill into the smallest possible subskills; Learning enough about each subskill to be able to practice intelligently and self-correct during practice; Removing physical, mental, and emotional barriers that get in the way of practice; Practicing the most important subskills for at least twenty hours. And while that is the big, one–two–three–step, high level, 30,000 foot overview of the process, here’s ten principles to get you to do rapid skill acquisition really, really quickly\nChoose a lovable project. (or something you really, really want to solve) Focus your energy on one skill at a time. (Guilty! will pare them down to 2) Define your target performance level. (Define your enough. I want to learn just enough Ansible to setup my server) Deconstruct the skill into subskills. (This was my biggest aha! Know the map. Know your map. I used to think of Python as this big amorphous thing that’d take me years to learn. Now I’ll just take it one problem to solve at a time. What problems? Well I’ll figure that out for myself.) Obtain critical tools. (Try and do all your yak shaving beforehand) Eliminate barriers to practice. (I just roll out of bed and eat my physio frog first. That’s the hardest. Followed by studies now that I know this) Make dedicated time for practice. (Mornings for 12th studies. evenings for programming) Create fast feedback loops. (Well Python is brutal at that. You know instantly when you’re wrong. But with studies, I can do this with Anki and tests) Practice by the clock in short bursts. (Pomodoro FTW!) Emphasize quantity and speed. (Lots of writing to improve writing, lots of studies to do well in 12th, lots of Python to … well you get the idea) And this is just the first two chapters :) Josh also has another chapter on effective learning to close out the first half of the book.\nThe second part is the fun part.\nJosh walks the talk and tackles six disciplines that run the gamut from health (Yoga) to a mental discipline (programming) to physical (windsurfing) to prove that rapid skill acquisition works.\nAnd how!\nYoga’s done in three hours, programming in twenty, and he falls short in windurfing, doing nine and learning a tonne, but ending up thwarted by nature.\nThis is amazing!\nSix skills in less than a year!\nIs this possible? Really possible? Why, yes of course, Josh promises, with this caveat,\nYou can prepare. You can research. You can eliminate distractions and alter your environment to make it easier to practice. You can find intelligent ways to make your practice more effective or efficient.\nBut, in the end, you must practice.\nWhat feels like the long way is the shortest way.\nZero-practice shortcuts don’t exist.\nNo practice, no skill acquisition. It’s as simple as that.\nTo see how he did what he did, watch Josh’s TedX Talk above.\nTo learn how to practice deliberately, with intention, read Peak or watch the whimsical summary below.\nAnd like Josh asks as he closes the book,\nWhat will you do today?\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/reading/book-notes-the-first-20-hours/","section":"Reading","summary":"","title":"Book Notes – The First 20 Hours","type":"reading"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/the-first-20-hours/","section":"Tags","summary":"","title":"The First 20 Hours","type":"tags"},{"content":" Hope is being able to see that there is light, despite all of the darkness. # — Desmond Mpilo Tutu\nP.S.\nOn a break, be back next week.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-66-hope/","section":"Personal","summary":"","title":"Daily Writing, 66 – Hope","type":"personal"},{"content":" I am a part of all that I have met; # Yet, experience is an arch wherethro’ # Gleams that untravll’d world whose margin fades # For ever and for ever when I move. # — Alfred Tennyson, Ulysses, 18–21.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-65-experience-is-an-arch/","section":"Personal","summary":"","title":"Daily Writing, 65 — Experience is an Arch","type":"personal"},{"content":" Constantine, by Bernini\nThis is art!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-64-constantine/","section":"Personal","summary":"","title":"Daily Writing, 64 — Constantine","type":"personal"},{"content":" A bell is no bell til you ring it\nA song is no song til you sing it\nAnd love in your heart wasn\u0026rsquo;t put there to stay\nLove isn\u0026rsquo;t love til you give it away.\n— Maria, in the Sound of Music\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-63/","section":"Personal","summary":"","title":"Daily Writing, 63","type":"personal"},{"content":" Along St. Peter’s Square\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-62/","section":"Personal","summary":"","title":"Daily Writing, 62","type":"personal"},{"content":" Give, and it shall be given unto you; good measure, pressed down, and shaken together, and running over, shall men give into your bosom. For with the same measure that ye mete withal it shall be measured to you again. # — Luke, 6:38\nThe statue of Charity, in the portico of St. Peters\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-61/","section":"Personal","summary":"","title":"Daily Writing, 61","type":"personal"},{"content":" Look at how a single candle can both defy and define the darkness. # — Anne Frank\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-60-a-single-candle/","section":"Personal","summary":"","title":"Daily Writing, 60 – A Single Candle","type":"personal"},{"content":" Have I told you lately, that I love you?\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-59-have-i-told-you-lately/","section":"Personal","summary":"","title":"Daily Writing, 59 – Have I Told You Lately?","type":"personal"},{"content":" And I will give unto thee the keys of the kingdom of heaven … # ","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-57-keys-to-the-kingdom/","section":"Personal","summary":"","title":"Daily Writing, 57 – Keys to the Kingdom","type":"personal"},{"content":" This from yesterday’s Daily Stoic newsletter.\nI’m quoting it wholly, because short though it may be; it packs such a powerful punch.\nYour Uber driver is delayed and you want a credit for the inconvenience. Your house is damaged in a storm and you want your insurance to pay for every penny of the repairs. Someone says something pointed and personal at you, and you want them not only to apologize, but to convince you that they never meant it in the first place.\nIn short, you want to be made whole. And in our service economy—where the customer is always right—you often can be. Complain to Uber HQ or Amazon, complain on social media, call a lawyer. Maybe it will work. They might even compensate you for your troubles and you’ll come out ahead.\nThe problem is that when it comes to life, this is a very bad precedent.\nBecause shit happens, and Fate does not have a customer service department.\nIf we expect the universe (or God) to make us whole every time, we will be sorely disappointed.\nThe key then is to focus on not feeling like we’ve been harmed in the first place.\n#####“Choose not to be harmed — and you won\u0026rsquo;t feel harmed.\n#####Don\u0026rsquo;t feel harmed — and you haven\u0026rsquo;t been.”\n— Marcus Aurelius\nHave you really been hurt by the fact that you’re a few minutes late? Even after paying for storm repairs, are you not financially ahead of the vast majority of the planet? Did someone else’s words really cause true damage? And on and on.\nThe answer is no.\nTo the Stoic, there is no expectation of being made whole, because the Stoic strives to reject the idea of a loss having been incurred in the first place.\nThe newsletter and the journal are my guides when it comes to navigating my day to day life.\nYou should check them out.\nAnd to the folks at The Daily Stoic, you have my undying gratitude for such a wonderful project :)\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-56-you-will-not-be-made-whole/","section":"Personal","summary":"","title":"Daily Writing, 56 – You Will Not Be Made Whole","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/philosophy/","section":"Tags","summary":"","title":"Philosophy","type":"tags"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/stoicism/","section":"Tags","summary":"","title":"Stoicism","type":"tags"},{"content":" It was the hour of four in the afternoon, and already in hillside homesteads the day was nearly done. # There was everywhere an air of that sweet, old-fashioned leisure which the world has nearly lost. # It lingered in the slant sunlight that threw shadows across the winding road\u0026hellip; # — Florence Bone (1875–1971), The Morning of To‑Day, 1907\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-55-leisure/","section":"Personal","summary":"","title":"Daily Writing, 55 – Leisure","type":"personal"},{"content":"Spent yesterday and today doing loads of writing.\nOne was a project for a friend.\nThe other, was another project for me :)\nSo even though, it isn’t here. I’m done :)\nA thought only really lives until it has reached the boundary line of words; it then becomes petrified and dies immediately; yet it is as everlasting as the fossilised animals and plants of former ages. # Its existence, which is really momentary, may be compared to a crystal the instant it becomes crystallised. # As soon as a thought has found words it no longer exists in us or is serious in its deepest sense. # When it begins to exist for others it ceases to live in us; just as a child frees itself from its mother when it comes into existence. # — Arthur Schopenhauer\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-53-54/","section":"Personal","summary":"","title":"Daily Writing, 53 \u0026 54","type":"personal"},{"content":" The Bridge of Angels (Ponte Sant’Angelo), leading to the Castel Sant’Angelo (Hadrian’s Castle)\nIt took me a half an hour to slowly traverse it :)\nIt was that beautiful.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-52-bridge-of-angels/","section":"Personal","summary":"","title":"Daily Writing, 52 – Bridge of Angels","type":"personal"},{"content":" Go thou to Rome,—at once the Paradise, # The grave, the city, and the wilderness; # And where its wrecks like shattered mountains rise, # And flowering weeds, and fragrant copses dress # The bones of Desolation’s nakedness # Pass, till the spirit of the spot shall lead # Thy footsteps to a slope of green access # Where, like an infant’s smile, over the dead # A light of laughing flowers along the grass is spread … # — Percy Bysshe Shelley, Adonais, 49.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-51-go-thou-to-rome/","section":"Personal","summary":"","title":"Daily Writing, 51 – Go Thou to Rome","type":"personal"},{"content":" Before I became old I tried to live well; # now that I am old, I shall try to die well; # but dying well means dying gladly. # — Seneca, Letter 61: On Meeting Death Cheerfully\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-50-on-meeting-death-cheerfully/","section":"Personal","summary":"","title":"Daily Writing, 50 – On Meeting Death Cheerfully","type":"personal"},{"content":" “Trust that what brought you here # Will take you there. # The Infinite has no preferences. # It kisses both the darkness and # The light equally.” # — The Lost Writings of Wu Hsin\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-48-the-infinite-has-no-preferences/","section":"Personal","summary":"","title":"Daily Writing, 48 – The Infinite has no preferences","type":"personal"},{"content":" “Every parent is at some point the father of the unreturned prodigal, with nothing to do but keep his house open to hope.” # John Ciardi\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-47-parents-hope/","section":"Personal","summary":"","title":"Daily Writing, 47 – Parents \u0026 Hope","type":"personal"},{"content":" Learning without thought is labor lost; # thought without learning is perilous. # — Confucius.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-46/","section":"Personal","summary":"","title":"Daily Writing, 46","type":"personal"},{"content":" “It takes courage to do what you want. Other people have a lot of plans for you. Nobody wants you to do what you want to do. They want you to go on their trip, but you can do what you want. I did. I went into the woods and read for five years.”\n— Joseph Campbell\nExactly why I went and spent a whole month in Europe. It’s not quite the “done thing” for folks like me. But I wanted to. So I did.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-45-you-can-do-what-you-want/","section":"Personal","summary":"","title":"Daily Writing, 45 – You Can Do What You Want","type":"personal"},{"content":"William Styron, via Austin Kleon:\nDepression is a disorder of mood, so mysteriously painful and elusive in the way it becomes known to the self—to the mediating intellect—as to verge close to being beyond description … it has to be emphasized that if the pain were readily describable most of the countless sufferers from this ancient affliction would have been able to confidently depict for their friends and loved ones (even their physicians) some of the actual dimensions of their torment, and perhaps elicit a comprehension that has been generally lacking; such incomprehension has usually been due not to a failure of sympathy but to the basic inability of healthy people to imagine a form of torment so alien to everyday experience.\nAlso,\nOne does not abandon, even briefly, one’s bed of nails, but is attached to it wherever one goes.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-44-dark-days/","section":"Personal","summary":"","title":"Daily Writing, 44 – Dark Days","type":"personal"},{"content":" I’ve written about the critical distinction between “reasoning from first principles” and “reasoning by analogy”—or what I called being a “chef” vs. being a “cook.”\nThe idea is that reasoning from first principles is reasoning like a scientist. You take core facts and observations and use them to puzzle together a conclusion, kind of like a chef playing around with raw ingredients to try to make them into something good. By doing this puzzling, a chef eventually writes a new recipe. The other kind of reasoning—reasoning by analogy—happens when you look at the way things are already done and you essentially copy it, with maybe a little personal tweak here and there—kind of like a cook following an already written recipe.\nFor any particular part of your life that involves reasoning and decision making, wherever you happen to be on the spectrum, your reasoning process can usually be boiled down to fundamentally chef-like or fundamentally cook-like.\nCreating vs. copying.\nOriginality vs. conformity.\nBeing a chef takes a tremendous amount of time and energy—which makes sense, because you’re not trying to reinvent the wheel, you’re trying to invent it for the first time. Puzzling your way to a conclusion feels like navigating a mysterious forest while blindfolded and always involves a whole lot of failure, in the form of trial and error.\nBeing a cook is far easier and more straightforward and less icky. In most situations, being a chef is a terrible waste of time, and comes with a high opportunity cost, since time on Earth is immensely scarce.\nThroughout my life, I’ve looked around at people who seem kind of like me and I’ve bought a bunch of clothes that look like what they wear. And this makes sense—because clothes aren’t important to me, and they’re not how I choose to express my individuality. So in my case, fashion is a perfect part of life to use a reasoning shortcut and be a cook.\nBut, when you subtract childhood (~175,000 hours) and the portion of your adult life you’ll spend sleeping, eating, exercising, and otherwise taking care of the human pet you live in, along with errands and general life upkeep (~325,000 hours), you’re left with 250,000 “meaningful adult hours.” So a typical career will take up somewhere between 20% and 60% of your meaningful adult time—not something to be a cook about.\nIt’s a regular length Tim Urban article\n(This means it’s looong … booklet sized)\nAnd it’s practical.\nAnd humourous.\nAnd absolutely smashing.\nAnd packed with wisdom.\nGo, read.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-43-how-to-pick-a-career/","section":"Personal","summary":"","title":"Daily Writing, 43 – How to Pick a Career","type":"personal"},{"content":"“The illiterates of the 21st century will not be those who cannot read and write but those who cannot learn, unlearn, and relearn.”\n— Alvin Toffler\nvia Sivers\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-42/","section":"Personal","summary":"","title":"Daily Writing, 42","type":"personal"},{"content":"“In theory there is no difference between theory and practice;\nin practice there is.”\n— Yogi Berra\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-41/","section":"Personal","summary":"","title":"Daily Writing, 41","type":"personal"},{"content":"Busy day today, so slightly cheating and pointing you to to this.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-40/","section":"Personal","summary":"","title":"Daily Writing, 40","type":"personal"},{"content":"I’m in a funk.\nAnd struggling mightily to get out.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-39/","section":"Personal","summary":"","title":"Daily Writing, 39","type":"personal"},{"content":"Rebuiding stuff and writing for friends took up all of the last three days.\nSo sorry, nothing here.\nBut Daily Writing definitely got done.\nSpeaking of which, I’m experimenting with Static Site Generators.\nJanusworx is now a Nikola powered blog, because I wanted something simple.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-36-37-38/","section":"Personal","summary":"","title":"Daily Writing 36, 37, 38","type":"personal"},{"content":"The machine’s crashed. So nothing today!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-36-crash/","section":"Personal","summary":"","title":"Daily Writing 36 – Crash","type":"personal"},{"content":" “Don’t think about making art, just get it done.\nLet everyone else decide whether it’s good or bad, whether they love it or hate it.\nWhile they’re deciding, make even more art.”\n— Andy Warhol\nPicture Credit - Ian Burt\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/daily-writing-35-make-art/","section":"Personal","summary":"","title":"Daily Writing 35 – Make Art!","type":"personal"},{"content":"But of a funny kind.\nAs I watch Poirot, I seem to have a strange longing for that period.\nThe 20s to the 50s.\nI love the art of the age, the music, the food …\nEverything seemed so … simpler, yet more elegant then.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-34-nostalgia/","section":"Personal","summary":"","title":"Writing Day 34 – Nostalgia","type":"personal"},{"content":" I’ve been raving to my friends about Akimbo and I’m surprised I haven’t written about it here.\nIt’s one of the reasons, I’m glad I’m alive at a time like this.\nThere’s no way without modern technology, I could learn from a master like Seth Godin for free!\nAkimbo is Seth’s latest project and it’s podcast on all things Seth.\nTo me, it’s my real life MBA.\nThey’re weekly, punchy, 20 minute episodes on a topic.\nLast weeks episode about Genius was genius.\nThis week was all about The Long Term.\nPonzi schemes, Bitcoin ponzi ICOs, Mr. Ponzi himself, Whales, Hippos, Fedex, Olive trees, Starbucks and even Superman make an appearance.\nHere are a few scambled notes …\nEmergencies feel like a matter of life or death\nEvery culture in every corner of the globe has adopted the mindset that tomorrow is too late!\nWe’re impatient and want a quick return on our effort We want proof. We’re insecure that our effort will pay off We want excitement! All three of these create a ratchet, that quickens things up drastically (and on a personal note, makes things overwhelming) Human beings are really shitty at the long run\nIf you want prople to take action, you gotta compress it forward.\nIf you want to change the behaviour of a group of people, make it all about the now. Make it urgent, not important.\nMake it painful and expensive in the moment, if you want to stop them doing something (e.g. hefty taxes of cigarettes) Make it lucrative and fun when you want them to pay attention. Stuff that matters, Mother Nature, everything actually takes a looooooong time.\nWe need to figure out how to build resilient organisations with a mission that goes out further than a week\nOur mission statement can’t be about market share But about the work that matters Every one of us is capable of doing it\nThere’s a significant advantage to be willing to take a long time, to inexorably evolve bit by bit, day by day, to deal with the Long Run.\nWe are capable of of building organizations and companies like this.\nYou could use emergencies to our advantage, create positive ratchets.\nDrip by drip, day by day, we change the culture.\nDon’t forget to catch the show notes for each episode. They’re delightful.\nAnd yes, go subscribe!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-33-akimbo/","section":"Personal","summary":"","title":"Writing Day 33 - Akimbo","type":"personal"},{"content":"Maybe the lucky ones are the hidden figures.\n… The motto of the philosopher Epicurus, which was taken up by the great essayist Montaigne as well, was lathe biōsas. Live in obscurity. The French saying, Pour vivre heureux, vivons cachés: “In order to live happily, live hidden.”\nThis is not to say you must be poor or a failure. You can still be extraordinary. You just don’t have to be the most extraordinary. You don’t have to strive to beat out all the other broken people, to be the most well-known out of everyone who ever wanted to be known.\nBecause what is that actually worth in the long run? Do you think you’ll appreciate your fame and money after you die? You think Alexander the Great knows that Alexandria is still standing?\nKnow your enough!\nvia Ryan Holiday’s The Most Successful People Are The Ones You’ve Never Heard Of (And Why They Want It That Way)\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-32-live-hidden/","section":"Personal","summary":"","title":"Writing Day 32 – Live Hidden","type":"personal"},{"content":" One of my biggest goals in life is to become as good as Randall Munroe, at explaining stuff, in such a warm engaging manner, by telling the awesomest stories!\nTHIS IS AWESOME!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-31-fire-pole/","section":"Personal","summary":"","title":"Writing Day 31 – Fire Pole!","type":"personal"},{"content":"I get both optimistic and a little lost and hopeless now a days.\nWhat if I never do what I’m aiming to?\nWhat if I can’t catch up with the young ones of DGPLUG?\nWhat if the newer ones pass me right by as an old fogey?\nAnd somewhile ago, I’d read this. And this.\nAnd that got me thinking.\nI’ve been working for 20 years now.\nAnd when it comes to stuff I know, I know stuff.\nIt’ll take any johnny-come-lately tonnes of effort (not to mention, how many hours of their life) to know what I know.\nAnd that got me thinking further.\nNot everyone is an autodidact (like cough yours truly cough)\nNot everyone loves to put in the work.\nAnd that’s the meta skill I’m building right now.\nTo show up every day. To do the work.\nIf I do that, I will pick up skills.\nAnd they will accrete.\nAnd I will have my moat again.\nCome to think of it, I have two moats now.\nMy experience (what I have and what I’m buiding) My love of learning. And that I think, will be the wind in my sails …\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-30-experience-as-a-moat/","section":"Personal","summary":"","title":"Writing Day 30 – Experience as a Moat","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/conspiracy/","section":"Tags","summary":"","title":"Conspiracy","type":"tags"},{"content":" Started: 2018-03-18\nFinished: 2018-03-19\nI think most of my writing about books will be just short stabs like this.\nOr I’ll never get to anything in time.\nI was supposed to start with Perennial Seller and then this popped up and looked like less intensive, so I picked it up first.\nWell, it’s an awesome, racy read.\nAnd something only Ryan Holiday could have done justice to.\nHe writes almost objectively, never hiding his biases.\nSometime in late 2007, Gawker publication Valleywag, outed Peter Thiel as gay.\nAnd nearly ten years and ten million dollars later, Peter Thiel burned Gawker Media to the ground by secretly backing another Gawker victim with his case against Gawker in court.\nSo what happened in between?\nWell, that’s what the book is about.\nThe sheer amount of hopelessness, hubris, desspair, planning, plotting, conspiracy in the whole book is almost perversely delightful.\nI don’t agree with Thiel on most of what he does. (Palantir … Trump … )\nBut when I put myself into his shoes, what would I have done, if I was violated and I had the means to strike back?\nI know that feeling of despair when I have been wronged, and yet I couldn’t do anything about it\nI would have done exactly what he did.\nAnd while the book is about conspiracy, the part that I identified the most with, was the fact that Peter was the only one with the balls to call Gawker’s bluff.1\nGawker upset a lot of rich folk and large companies.\nYet, it was only Peter who did something about it.\nAnd I identify with it, because I did exactly that after nearly 4 years of being bullied and blackmailed in high school.\nReading this brought back memories …\nDriving an enemy into the ground, so completely that they’ll never do harm again, is exhilirating.\nI’ve never let myself be helpless ever again.\nAnd while I’ve taken Marcus Aurelius’ exhortation2 to heart, there is also a bit of truth to this quote from the book …\nI couldn’t stand it. I still can’t stand it.\nI can’t stand the way things are. I cannot tolerate this age.\nWhat is more, I won’t.\nThat was my discovery: that I didn’t have to.\n—Walker Percy, Lancelot\nAnd the fact that revenge is a dish best served cold.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThe best revenge, is not to be like that\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-29-conspiracy/","section":"Personal","summary":"","title":"Writing Day 29 –  Conspiracy","type":"personal"},{"content":"I don’t how even after following Seth for so many years and manually scouring the net for everything the man has done and written, I only came across This is Broken1 a couple of days ago.\nIf you are as big a Seth Godin fan as I, this is such an awesome resource to a huge amount of Seth’s work.\nGo, read.\nThe name obviously, being an homage to this famous talk.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-28-this-is-broken/","section":"Personal","summary":"","title":"Writing Day 28 – This is Broken","type":"personal"},{"content":"One of Seth’s pithy posts.\nQuoted here in it’s entirety for me to remember\nThe difference between time and money # You can\u0026rsquo;t save up time. You can\u0026rsquo;t refuse to spend it. You can\u0026rsquo;t set it aside.\nEither you\u0026rsquo;re spending your time.\nOr your time is spending you.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-27-time-money/","section":"Personal","summary":"","title":"Writing Day 27 – Time \u0026 Money","type":"personal"},{"content":"I started writing regularly 26 days ago.\nI didn’t quite know what to expect, but I did know I wanted to build a practice of sticking to things; something I feel I’m sorely lacking in, as each new “ooh, shiny!” flits across my field of vision.\nAnd I know I want to build something like this!\nNearly a month in, I think I’m barely scratching the surface.\nBut it definitely isn’t as bad as it was when I started.\nAnd it definitely isn’t as bad as I thought it’d be.\nIt’s beginning to feel like I can do this, but there is still quite a ways to go.\nI’ve definitely felt like giving up tonnes of times.\nBut I’ve read that even when I don’t feel like it, I ought to just do it.\nDo the bare minimum1. Don’t break the chain.\nI might decide to drop the tag next year2, but I fervently hope, this leads to writing being as much as part of me, as reading is.\nAnd I hope it leads me to something like this.\nI haven’t missed a day in many, many years—the discipline of sharing something daily is priceless. Sometimes there are typos. I hope that they\u0026rsquo;re rare and I try to fix them.\nOver time, the blog adds up. People remember a blog post a year after I wrote it. Or they begin a practice, take an action, make a connection, something that grows over time. The blog resonates with people in so many fields, it’s thrilling to see how it can provoke positive action.\nIt’s true that I’d write this blog even if no one read it, but I want to thank you for reading it, for being here day after day. It\u0026rsquo;s more fun that way. There are more than a million subscribers, and, best I can tell, people read this in nearly every country in the world.\nMost posts now, certainly feel like it.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nThe aim, now is to have 365 posts tagged, daily-writing.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-26-on-writing-days/","section":"Personal","summary":"","title":"Writing Day 26 – On Writing Days","type":"personal"},{"content":" The world breaks everyone, and afterward many are strong in the broken places. # — Ernest Hemingway\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/strong/","section":"Personal","summary":"","title":"Strong!","type":"personal"},{"content":" I’ve come across several a-has in life all on my ownsome.\nI struggled with credit cards and debt and realised much of what were Dave Ramsey’s baby steps and later Taleb’s thoughts on optionality all on my own.\nWhen I read about them later, it was a huge boost of Hell Yeah!\nWhile I do realise that life is to short to learn by experience, and that most of my “original” thoughts will have been thought of long before I ever did, it’s such a high to arrive at an insight all on my ownsome.\nFiguring out something by experience or by reason is fun :)\nIt’s only by concentrating, sticking to the question, being patient, letting all the parts of my mind come into play, that I arrive at an original idea. By giving my brain a chance to make associations, draw connections, take me by surprise.\n— William Deresiewicz\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-24-why-i-love-my-insights/","section":"Personal","summary":"","title":"Writing Day 24 – Why I Love My Insights","type":"personal"},{"content":"I’ve been learning Maths and daydreaming about careers in Mathematics\nI loved the idea of being a pure Mathematician and then realised that path was not for me. My head hurts when I focus on my Maths work :P\nBut then it struck me how much of Maths \u0026amp; Science was done by people in their spare time, by tinkering and thinking long and hard and with focus on or about something.\nSo many folks had day jobs that had little to nothing to do with their work and the accomplishments they were known for.\nEinsteing was technical assistant examiner at the Swiss Patent Office.\nNewton was Master of Coin.\nFermat was a lawyer.\nDescartes was a soldier and then lived off investments\nMendel was a priest\nHooke was an architect\nDa Vinci was forever doing stuff for various dukes and Popes and it’s a wonder, he found time for Maths and all the other revolutionary stuff he penned down.\nWhich then led me to thinking … they must have worked in their spare time to do this. It must have tested their will. And it must have been hard.\n“I have used the involuntary house arrest around Easter to solve the equation” # — Schrödinger, on the degree of concentration he needed in order to solve an equation relating to Einstein\u0026rsquo;s general relativity\nWhich led me to wonder … What kept them going?\nThey must have has some quality that contributed to these towering feats of mental acuity.\nAnd then it struck me, what Cal Newport was banging on about with his idea of Deep Work.\nTheirs was an age of Willpower!\nThey were masters of the skill.\nThat was my secondary observation from the book.\n“The highest possible stage in moral culture is when we recognize that we ought to control our thoughts.” # — Charles Darwin\nForget the geniuses, even amongst Freud’s ordinary patients\nThe Victorian middle-class citizens … had intensely strong wills, making it difficult for therapists to break through their ironclad defenses and their sense of what was right and wrong.\nSo I’m off, to build willpower, like Calvin does. (as did his old original)\nP.S.\nOrthogonally related: Just ran into this post on Shane’s blog.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-23-on-the-need-for-mental-rigour/","section":"Personal","summary":"","title":"Writing Day 23 – On the Need for Mental Rigour","type":"personal"},{"content":"I’ve had the most amazing realisation in the bath today and now I’ve lost it.\nI need to schedule some time to jot my thoughts at least after a bath\nAND I needto be mindful about when these thoughts occur\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-22-need-to-schedule-time-for-thoughts/","section":"Personal","summary":"","title":"Writing Day 22 – Need to Schedule time for Thoughts","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/willpower/","section":"Tags","summary":"","title":"Willpower","type":"tags"},{"content":" Started: 2018-05-14\nFinished: 2018-05-14\nWillpower is like a muscle.\nThere’s only so much of it that you can use if you don’t train it.\nAnd it gets tired and depleted of its energy reserves, if you just use it rashly.\nYou need to train it, bulk it up and make it strong so that you can then use it to create change.\nAs Baumeister states in the conclusion of the book,\nSelf-control is ultimately about much more than self-help.\nIt’s essential for savoring your time on earth and sharing joy with the people you love.\nPeople with stronger willpower are more altruistic.\nThey’re more likely to donate to charity, to do volunteer work, and to offer their own homes as shelter to someone with no place to go.\nWillpower evolved because it was crucial for our ancestors to get along with the rest of the clan, and it’s still serving that purpose today.\nInner discipline still leads to outer kindness.\nNotes from the book\nWillpower 101, First Lesson: Know Your Limits\nNo matter what you want to achieve, playing offense begins by recognizing two basic lessons\nYour supply of willpower is limited, and you use the same resource for many different things. Watch for Symptoms\nDo things seem to bother you more than they should? Has the volume somehow been turned up on your life so that things are felt more strongly than usual? Is it suddenly hard to make up your mind about even simple things?\nIf you notice such feelings, then reflect on the last few hours and see if it seems likely that you have depleted your willpower.\nWhile you’re depleted, frustrations will bother you more than usual. You’ll be more prone to say something you’ll regret.\nImpulses to eat, drink, spend, or do other things will be harder than usual to resist.\nPick Your Battles\nYou can’t control or even predict the stresses that come into your life, but you can use the calm periods, or at least the peaceful moments, to plan an offence.\nWhen you pick your battles, look beyond the immediate challenges and put your life in perspective.\nAre you where you want to be? What could be better? What can you do about it?\nYou can’t do this every day, of course, and certainly not during busy, stressful times, but you can set aside at least one day a year—maybe your birthday—to do some reflection and write down notes on how well you spent the previous year.\nIf you make this an annual ritual, you can look back over the notes from previous years to see what kinds of progress you’ve made in the past: which goals were met, which goals remain, which ones are hopeless.\nTactics\nMake a To-Do List—or at Least a To-Don’t List\nWrite \u0026amp; Prioritise stuff Beware the Planning Fallacy\nWhen was the last time you heard of a highway or building being completed six months early? Late and over budget is the norm. One way to avoid the planning fallacy is to force yourself to think about your past. Don’t Forget the Basics\nWhile cutbacks might seem a fair price to pay in order to channel all you energies into preparing for exams, In the long run, slovenliness can leave you with less energy—and fewer healthy relationships.\nSelf-control will be most effective if you take good basic care of your body, starting with diet and sleep. Use The Power of Positive Procrastination (like The Nothing Alternative)\nDo what Raymond Chandler did to write his books. Use the Nothing Alternative; a marvelously simple tool against procrastination for just about any kind of task.\nSet aside time to do one and only one thing. You can look out of the window or stand on your head or writhe on the floor, but you are not to do any other positive thing.\nYou might, for instance, resolve to start your day with ninety minutes devoted to your most important goal, with no interruptions from e-mail or phone calls, no side excursions anywhere on the Web. Keep Track\nBesides offering immediate encouragement, monitoring lets you improve your long-term planning. If you keep records, you can periodically check how far you’ve come so that you can set more realistic goals for the future. Reward Often\nWhen you set a goal, set a reward for reaching it—and then don’t stiff yourself. If you just use willpower to deny yourself things, it becomes a grim, thankless form of defense. But when you use it to gain something, you can wring pleasure out of the dreariest tasks. We’ve criticized the everybody-gets-a-trophy philosophy of the self-esteem movement, but trophies for genuine accomplishments are fine.\nWhich incentives work? A mix of frequent small prizes with occasional big ones. ","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-21-notes-on-willpower/","section":"Personal","summary":"","title":"Writing Day 21 – Notes on Willpower","type":"personal"},{"content":" A day late, but Happy Mother’s day Mummy!\nAunty L made me forget yesterday :)\nBetter late than never though!\nI could not have asked God for a better mummy than you!\nWe love you for all you are and all you do!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-20-happy-mothers-day-mummy/","section":"Personal","summary":"","title":"Happy Mother’s Day, Mummy!","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/artemis/","section":"Tags","summary":"","title":"Artemis","type":"tags"},{"content":" Started: 2018-05-07\nFinished: 2018-05-10\nDone with Artemis.\nIf you like sci-fi well told, if you liked the Martian, you’ll love Artemis.\nI did audio this time and was in for a pleasant surprise.\nRosario Dawson reads the book. Yes. That Rosario “Badass” Dawson!\nAnd of course, she makes for a badass narrator too.\nListening to her go, “Shit! Shit! Shittity Shit!” is a hoot.\nInstead of a solo guy stranded on Mars, this one is all about the first lunar city (the titular Artemis) with it’s settlement domes and loads of intrigue\nAndy Weir opts for a heroine this time and Jazz Beshara is badasser than Watney ever was. (aah, which is why they got Dawson to narrate, natch)\nI wish he’d put more drama into the endings though. They always wind down properly and logically.\nTotally worth your time time.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-19-artemis/","section":"Personal","summary":"","title":"Writing Day 19 – Artemis","type":"personal"},{"content":"I keep going on in the channel1 about how I didn’t learn this until it was too late.\nBut it doesn’t bother me at all. Because\n“Disguise your judgement. You don’t need to show people how smart you are. I didn’t learn this until my early 80s.” — Charlie Munger\nIf Munger can still be learning at 96, so can I :)\nI hang out at #dgplug on the irc.freenode.net server most days\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-18-never-too-late/","section":"Personal","summary":"","title":"Writing Day 18  – Never Too Late","type":"personal"},{"content":"“Since I was very young, I’ve played all kinds of music: bar mitzvah music, Sousa marches, strip-club music, jazz, pop.\nEverything.\nI didn’t have to learn a thing to do Michael Jackson.”\n“You’re supposed to use everything from the past.\nIf you know where you come from, it’s easier to get where you’re going. Musical principles exist, man. Musicians today can’t go all the way with the music because they haven’t done their homework with the left brain.\nMusic is emotion and science.\nYou don’t have to practice emotion because that comes naturally.\nTechnique is different. If you can’t get your finger between three and four and seven and eight on a piano, you can’t play. You can only get so far without technique. People limit themselves musically. Do these musicians know tango? Macumba? Yoruba music? Samba? Bossa nova? Salsa? Cha-cha?”\n— Quincy Jones\nvia the ever awesome Tren Griffin.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-17-practice-makes-perfect/","section":"Personal","summary":"","title":"Writing Day 17 – Practice Makes Perfect","type":"personal"},{"content":"I recently subscribed to the The Great Courses Plus, so that I could bring myself up to speed on the Math needed to do my 12th standard exams.\nAll these years, whenever I’ve tried to teach myself trigonometry (or other people have tried to explain it to me) it has always been an exercise in frustration, followed by the general exhortation to just mug it up.\nMy brain sadly is not wired that way. I can and I will mug it up.\nBut I do want to know what the first principles are, so that I have the ability to derive what I need.\nI need to understand.\nProfessor Tanton’s Geometry course was this eye opener for me.\nI thought him slightly pretentious in the beginning, when he repeatedly says, he doesn’t know what the answer is … and then goes on to figure it out.\nA few lectures in, though, and I’m suddenly a rabid fan of the approach.\nProf Tanton puts himself in my place and with glee, figures things out, just like a new learner would.\nI find myself pausing the video, when he says he does not know and then try to figure it out just like he would (or rather he would, that I would … by slowly reasoning and being ok with mistakes)\nHis love for the subject shines through all he does.\nThere are ropes and knots and hand motions and sound effects (shoom!) and boards and screens and ugly drawings (just like mine) and folded pieces of paper and tiles and he bounces between all of them to explain stuff and make his point.\nHere’s what I’m talking about.\nOriginal URL was: https://youtu.be/mKIk9iVzgic (dead now)\nThis is one of my later classes, and I’m barely halfway through.\nIn fact, I’m at the point in lecture 18, where he tries to explain how to sum up two sines.\nSo why the gratitude rush?\nBecause Prof Tanton just lit the biggest light bulb in my head, and gave me my biggest a-ha, I’ve ever had in a long time.\nLectures 16 \u0026amp; 17 explaing circle-ometry, naturally leading into the basics of trigonometry, suddenly made sense of so much stuff for me.\nAll the advanced algebra I’ve been doing, the basic calculus I’ve been learning suddenly just “clicked!”\nAnd there’s another reason.\nHe showed me that genius is not the norm for doing maths and science.\nPersistence, slow methodical work, gentle reasoning and practice will get me there.\nIf James Tanton PhD. Mathematics, Princeton University, 1994, \u0026amp; Mathematician in Residence at the Mathematical Association of America in Washington D.C. does it this way, so can I.\nHe’s made me fall in love with maths.\nAnd for that, dear Professor Tanton, I’m eternally grateful.\nP.S.\nNot to toot my own horn, but Prof Tanton responded :P\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-16-thank-you-james-tanton/","section":"Personal","summary":"","title":"Writing Day 16 – Thank you James Tanton!","type":"personal"},{"content":" Shit!\nHere’s an instance of reality outrunning your dreams.\nI was saving my pennies and then this had to happen.\nReminds me of Dave Ramsey’s urging to grow slowly and David’s this here post.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-15-gibson-files-for-bankruptcy/","section":"Personal","summary":"","title":"Writing Day 15 – Gibson files for bankruptcy","type":"personal"},{"content":"Listening to Marcus du Sautoy’s A Brief History of Mathematics this weekend.\nIn two hours, and ten episodes, du Sautoy spans the gamut of mathematicians from Leibniz \u0026amp; Newton the 1690s to the ensemble Bourbaki the 1930s\nBrief, rampaging and hugely entertaining, this is well worth a listen!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-14-a-brief-history-of-mathematics/","section":"Personal","summary":"","title":"Writing Day 14 – A Brief History of Mathematics","type":"personal"},{"content":" This year is suddenly when everything turned small for me.\nEurope1 showed me how small our world was.\nFinland’s just five hours away!\nTackling Maths for my higher secondary and Python for programming, suddenly don’t seem like unsurmountable peaks anymore; just a long novel that I need to work my way through; one that definitely comes to an end.\nI can do this, is something I’ve felt after a long, long time.\nAnd it’s a joyful feeling.\n/tags/europe/\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-13-you-can-do-anything/","section":"Personal","summary":"","title":"Writing Day 13 – You Can Do Anything!","type":"personal"},{"content":"Christ! Reading this post on Brain Pickings scared the bejeezus out of me.\nI realise I am really sick when it comes to “doing”\nI think there’s hope though.\nLike Ramon y Cajal suggests …\nTackle small problems first, so that if success smiles and strength increases, one may then undertake the great feats of investigation.\nAnd that’s what I am doing these days.\nLovely post as usual by the amazing Maria Popova and another book for the Antilibrary\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-12-diseases-of-the-will/","section":"Personal","summary":"","title":"Writing Day 12 – Diseases of the Will","type":"personal"},{"content":"I don’t know.\nI grew up saying Maths.\nBut the world around me is increasingly favouring Math.\nI think I’ll stick to Maths and use Math where I think it’s more apt … like when I say Math Forge.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-11-maths-or-math/","section":"Personal","summary":"","title":"Writing Day 11 - Maths or Math?","type":"personal"},{"content":"The more I delve into learning Maths, the more I feel like a blacksmith.\nLife has problems and Maths gives me the tools to solve them.\nAnd if I don’t have the tools? I just make new ones using my math forge à la the blacksmith :)\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-10-maths-is-a-mental-iron-forge/","section":"Personal","summary":"","title":"Writing Day 10 – Maths is a mental iron forge","type":"personal"},{"content":"So far so good.\nI’m finally “getting” trig.\nMoving on to calculus.\nHopefully once I get through that, I will have time to practice regularly.\nMost surprising part; I’m having fun :)\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-9-maths/","section":"Personal","summary":"","title":"Writing Day 9 – Maths","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/the-art-of-thinking-clearly/","section":"Tags","summary":"","title":"The Art of Thinking Clearly","type":"tags"},{"content":" Started: 2018-03-23\nFinished: 2018-04-24\nThis is not quite book notes, but now with the craziness that is my studies, I don’t have time to write them all down.\nI still want to catalogue the fact, that I finished it though.\nThis is an amazing book, amazing with a capital A\nYou know you should read the ancients, you know you should read our modern minds, like Taleb and Kahneman and Cialdini and Munger.(You also know you should eat your green leafy vegetables :))\nBut if you find Taleb waxing too eloquent, Kahneman verbose and dry, Cialdini too long, Munger too abrupt and the ancients not quite accessible, you ought to read this book.\nWant to know why to live each day as if it were your last, but only on Sundays?\nOr what role survivors bias plays in life? Or why we take on too much? And why you should not accept free drinks?\nRead the book to find out.\nThis is another one of those books where amazing amounts of knowledge is compacted into every cell of every page.1\nMust read!\nObligatory Farnam Street review.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-8-the-art-of-thinking-clearly/","section":"Personal","summary":"","title":"Writing Day 8 – The Art of Thinking Clearly","type":"personal"},{"content":" This apparently is my look of intense focus :)\nMy first husky ride.\nAnd while I did have to focus and hang on for dear life, it was nearly an hour and a half of so much fun.1\nAnd the huskies were the friendliest doggies, I’ve met!\nIt was a bracing -15°C that day :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/i-look-funny-when-i-focus/","section":"Personal","summary":"","title":"I Look Funny When I Focus","type":"personal"},{"content":" Public domain image from the Wikipedia Commons\nI used to think that starting up learning projects was like teeing up paper boats.\nTurns out they’re like launching ships!\nI can only do them, one at a time.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-6/","section":"Personal","summary":"","title":"Writing Day 6","type":"personal"},{"content":"I ran across this post on the Neil Gaiman blog yesterday and I’m quoting it in its entirety, crossing my fingers, hoping Kelton Wright won’t mind.\nHer advice exudes big sister authority, kindness and clarity all at once, making me wish I read her when I was hurt and confused.\nKelton’s original post is here. She also has a book.\nAnonymous asked: Hey. I am a 29 yr old female who for a slew of reasons happens to be completely inexperienced in matters of love/sex. I only just started dating a month ago and while it\u0026rsquo;s going well, I feel overwhelmed by a sense of inadequacy. Like even if something does pan out what could I possibly have to contribute to the relationship? Am I just chasing a pipe dream? Is it too late for me to start looking for love/ sex? Or do I just need to calm the fuck down?\nThere are approximately 290,000 active commercial airline pilots in the world. Every day, they wake up to whiney kids, sick dogs, aging parents, annoying coworkers, and shitty commutes. Of course they also wake up to great runs, pretty sunrises, home-cooked meals, exotic locations, and trips home. Because they’re people. Normal people, in the grind of life, going to work and going home. And at work, they get to their gate, tick all the boxes, say their polite hellos to their passengers, and move a giant metal fuselage full of strangers 30,000 feet into the air going 500 mph across unexplored oceans of unsurvivable depth.\nIf someone made you pilot a commercial flight tomorrow, you would have reason to feel overwhelmed by a sense of inadequacy because you would literally be inadequate. You would have nothing to contribute to flying because you would have no idea how to fly a plane.\nBut you do have something to contribute to a relationship, because you do, in fact, know how to be in them. You, despite your not knowing it, have plenty of training. Right now, you’re in a small but very real relationship with me. You’ve come to me with curiosity, vulnerability, and even a dash of humor. I see that vulnerability and am coming back to you with what I hope is kindness and realism. But I don’t know for sure. I can’t know how you’ll receive this message, how you’ll relate to what I’m saying, or what you’ll think of me after. And that, really, is being in a relationship. Putting yourself out there, trying to be your best self, trying to help people, trying to know someone, and knowing that, sometimes despite all of this, sometimes the relationship you’re trying to forge will fail. That is true when we’re 6 on the playground on the monkey bars, it’s true when we’re 16 negotiating curfews and grades, it’s true when we’re 29 interviewing and flirting, it’s true when we’re 43 reassessing our marriages, it’s true forever.\nI get that everyone else feels like an airline pilot, navigating skies out of your reach with flexibility and wisdom. But you don’t have to fly a plane to date. You answer a message. You make a joke. You send a text. You get ignored. You turn someone down. You ask someone out. And at whatever speed you’re comfortable with, you remove whatever literal and figurative layers you’re comfortable with.\nYou are allowed to feel overwhelmed. Everyone feels overwhelmed when approaching something they literally have no idea how to do. That’s OK. But that’s why we learn. That’s why we take our time but also take chances. That’s why flight school exists. That’s why dating blogs and books and movies and websites and everything else exists. So you can learn to date. Because the truth is, even people who’ve been holding hands on the playground since they were 9 can feel overwhelmed by the world of love. We’ve only written an infinite amount of story around the subject. You could say almost every single human is undone, overcome, and indeed overwhelmed by love and all its facets. And that’s OK. But inadequate? A pipe dream? Too late?\nNo. Too late is when you’re dead. Show yourself a little forgiveness. Because what you’ve shown me isn’t inadequacy, it’s hope. And really, that’s all you need.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-5-kelton-wrights-advice-on-starting-relationships/","section":"Personal","summary":"","title":"Writing Day 5 – Kelton Wright’s Advice On Starting Relationships","type":"personal"},{"content":" As I was reading David Suchet’s memoirs of his awesome Poirot run, I ran across this awesome Agatha Christie quote, echoing Stephen Pressfield (or actually presaging him …) on turning pro and doing the work.\nThat was the moment when I changed from an amateur to a professional.\nI assumed the burden of a profession, which is to write even when you don’t want to, don’t much like what you are writing, and aren’t writing particularly well.\nAll that matters, is persistence, slowly inching your way towards your goal; doing the work even when it’s hard and you don’t want to.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-4-agatha-christie-on-turning-pro/","section":"Personal","summary":"","title":"Writing Day 4 – Agatha Christie On Turning Pro","type":"personal"},{"content":"Have somehow managed to get upto speed with my maths up to standard 10th.\nOn my way to do more algebra, some geometry and trigonometry.\nWhat folks outside India’d call PreCalculus.\nWhile agebra and geometry are familiar, trigonometry is something I remember almost nothing of.\nTime to practice.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-3/","section":"Personal","summary":"","title":"Writing Day 3","type":"personal"},{"content":"Finished the Art of Thinking Clearly yesterday. Tried getting into Dennett’s Intuition Pumps, but it somehow put me off.\nSo switched to Tren Griffin’s Munger book today.\nThis is a lot more fun.\nI wish I had Tren’s ability to look at something complex (such as successful people’s lives) and distill it succintly into something compact, discrete, wise and enormously useful.\nHopefully if I write every day, I’ll get there.\nIn the meanwhile go to Tren’s blog and learn something new!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/writing-day-2/","section":"Personal","summary":"","title":"Writing Day 2","type":"personal"},{"content":"Just writing to kick off the daily habit.\nMost of these will just ber random posts, until I get into the habit.\nInspiration - Seth Godin!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/beginning-to-write/","section":"Personal","summary":"","title":"Beginning to write","type":"personal"},{"content":"Have been too busy to write and so for the near future, I’ll put up photos.\nAs part of our journey across Europe, Abby and I decided to go husky sledding in Finland.\nWhile my arms ached for days after, I absolutely loved the experience!\nAnd even moreso, I fell in love with the huskies I rode with.\nAnd as we were making our way home, I developed terrible husky withdrawal syndrome. By the time we reached Austria I was miserable :)\nAbby, being the loving wife she is, got me this baby husky from a small curio shop in the Innsbruck Altstadt, as souvenir of my time there.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/there-are-no-kangaroos-in-austria/","section":"Personal","summary":"","title":"There Are No Kangaroos in Austria","type":"personal"},{"content":" Started: 2018-03-11\nFinished: 2018-03-13\nImagine the school bum, mending his ways, becoming a success and then sharing his stories and experience.\nWell, that’s what this book is.\nA pithy summary for a pithy book. Punchy, wise and brief.\nMark Manson is the Dale Carnegie for millenials.\nThere are f*cks strewn galore, so if you’re not comfortable with such language, stay away.1\nHere’s a few things, I took away from the book\nLearn to be comfortable with pain and failure and suffering and hardship True joy comes from experience, from tackling pain and hardship, from living Live a life of intention. Know what your enough is. Choose your struggle. Care deeply only about these few things Learn to be self aware. Meditation helps. Have good values There are no ready made, cookie cutter solutions to your problems or to finding your path. You have to make your own way. And that is a good thing Don’t be dogmatic. Be comfortable changing your mind as you learn and experience more Learn to be ok with rejection. Also, learn to say No. Be disciplined, focussed, and committed to the things you care about Memento Mori.2\nSo make the most of the life you have left. Learn to live, so that you leave with joy, not regret. #####Quotes I loved\n“You will never be happy if you continue to search for what happiness consists of.\nYou will never live if you are looking for the meaning of life.”\n— Albert Camus\n“I used to think the human brain was the most wonderful organ in my body.\nThen I realized who was telling me this.”\n— Emo Philips\n“One day, in retrospect, the years of struggle will strike you as the most beautiful.”\n— Sigmund Freud\n“The fear of death follows from the fear of life.\nA man who lives fully is prepared to die at any time.”\n— Mark Twain\n#####On Commitment\nI’m quoting this passage wholesale, because this was the thing that resonated with me the most; the fact that Deep Work matters.\nDiscipline, dedication and commitment to the few things that do matter in your life is what will make your life enriching.\n… more is not always better. In fact, the opposite is true.\nWe are actually often happier with less. When we’re overloaded with opportunities and options, we suffer from the paradox of choice. Basically, the more options we’re given, the less satisfied we become with whatever we choose, because we’re aware of all the other options we’re potentially forfeiting.\nSo if you have a choice between two places to live and pick one, you’ll likely feel confident and comfortable that you made the right choice. You’ll be satisfied with your decision.\nBut if you have a choice among twenty-eight places to live and pick one, the paradox of choice says that you’ll likely spend years agonizing, doubting, and second-guessing yourself, wondering if you really made the “right” choice, and if you’re truly maximizing your own happiness. And this anxiety, this desire for certainty and perfection and success, will make you unhappy.\nSo what do we do? Well, if you’re like I used to be, you avoid choosing anything at all. You aim to keep your options open as long as possible. You avoid commitment.\nBut while investing deeply in one person, one place, one job, one activity might deny us the breadth of experience we’d like, pursuing a breadth of experience denies us the opportunity to experience the rewards of depth of experience. There are some experiences that you can have only when you’ve lived in the same place for five years, when you’ve been with the same person for over a decade, when you’ve been working on the same skill or craft for half your lifetime. Now that I’m in my thirties, I can finally recognize that commitment, in its own way, offers a wealth of opportunity and experiences that would otherwise never be available to me, no matter where I went or what I did.\nWhen you’re pursuing a wide breadth of experience, there are diminishing returns to each new adventure, each new person or thing. When you’ve never left your home country, the first country you visit inspires a massive perspective shift, because you have such a narrow experience base to draw on. But when you’ve been to twenty countries, the twenty-first adds little. And when you’ve been to fifty, the fifty-first adds even less.\nThe same goes for material possessions, money, hobbies, jobs, friends, and romantic/sexual partners—all the lame superficial values people choose for themselves.\nThe older you get, the more experienced you get, the less significantly each new experience affects you. The first time I drank at a party was exciting. The hundredth time was fun. The five hundredth time felt like a normal weekend. And the thousandth time felt boring and unimportant.\nThe big story for me personally over the past few years has been my ability to open myself up to commitment. I’ve chosen to reject all but the very best people and experiences and values in my life. I shut down all my business projects and decided to focus on writing full-time. Since then, my website has become more popular than I’d ever imagined possible. I’ve committed to one woman for the long haul and, to my surprise, have found this more rewarding than any of the flings, trysts, and one-night stands I had in the past. I’ve committed to a single geographic location and doubled down on the handful of my significant, genuine, healthy friendships.\nAnd what I’ve discovered is something entirely counterintuitive: that there is a freedom and liberation in commitment. I’ve found increased opportunity and upside in rejecting alternatives and distractions in favor of what I’ve chosen to let truly matter to me.\nCommitment gives you freedom because you’re no longer distracted by the unimportant and frivolous.\nCommitment gives you freedom because it hones your attention and focus, directing them toward what is most efficient at making you healthy and happy.\nCommitment makes decision-making easier and removes any fear of missing out; knowing that what you already have is good enough, why would you ever stress about chasing more, more, more again?\nCommitment allows you to focus intently on a few highly important goals and achieve a greater degree of success than you otherwise would.\nIn this way, the rejection of alternatives liberates us—rejection of what does not align with our most important values, with our chosen metrics, rejection of the constant pursuit of breadth without depth.\nYes, breadth of experience is likely necessary and desirable when you’re young—after all, you have to go out there and discover what seems worth investing yourself in. But depth is where the gold is buried. And you have to stay committed to something and go deep to dig it up. That’s true in relationships, in a career, in building a great lifestyle—in everything.\nIt’s mostly for shock value, sprinkled liberally through the first third of the book. It peters out to almost nothing, as Mark gets into the meat and potatoes\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nRemember, you will die! The Daily Stoic explains it far better than I ever could\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/reading/the-subtle-art-of-not-giving-a-f-ck/","section":"Reading","summary":"","title":"Book Notes – The Subtle Art of Not Giving a F*ck","type":"reading"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/the-subtle-art-of-not-giving-a-fck/","section":"Tags","summary":"","title":"The Subtle Art of Not Giving a F*ck","type":"tags"},{"content":" Started: 2018-01-22\nFinished: 2018-01-23\nTired of my daily humdrum, I decided to escape to Victorian London for a while, by reading all of my Sherlock Holmes.\nThis time though, I was going to make notes!\nAnd then it dawned on me, that I already had a comprehensive set.\nI had, along with my copy of Peter Bevelin’s fantastic Seeking Wisdom, also purchased a copy of his A Few Lessons from Sherlock Holmes.\nBevelin synthesizes not just Sir Doyle’s works, but also pulls related information from a wide variety of sources, like Joseph Bell who was Doyle’s inspiration for Sherlock Holmes and Edgar Allen Poe and Michel De Montaigne.\nLike thoughts on practice as a discipline …\nPractice is a good instructor and teaches us to where to look and what to look for\nBefore turning to those moral and mental aspects of the matter which present the greatest difficulties, let the inquirer begin by mastering more elementary problems. Let him on meeting a fellow-mortal, learn at a glance to distinguish the history of the man and the trade or profession to which he belongs. Puerile as such an exercise may seem, it sharpens the faculties of observation, and teaches one where to look and what to look for. (Holmes; A Study in Scarlet)\nand on learning\nAnd learning never stops\n“But what I can’t make head or tail of, Mr. Holmes, is how on earth you got yourself mixed up in the matter.”\n“Education, Gregson, education. Still seeking knowledge at the old university.” (Holmes; The Red Circle)\nLike all other arts, the Science of Deduction and Analysis is one which can only be acquired by long and patient study, nor is life long enough to allow any mortal to attain the highest possible perfection in it. (Holmes; A Study in Scarlet)\nEducation never ends, Watson. It is a series of lessons with the greatest for the last. (Holmes; The Red Circle)\nOn learning to reason backwards\nReasoning backwards - working back from observations/effects to causes\nThe essential factor in this method consists in working back from observations of conditions to the causes which brought them about. It is often a question of deciding the doings of yesterday by the records found to-day. (Thomas McCrae; The Method of Zadig)\nThe ideal reasoner\u0026hellip;would, when he had once been shown a single fact in all its bearings, deduce from it not only all the chain of events which led up to it but also all the results which would follow from it. (Holmes; The Five Orange Pips)\nThe only point in the case which deserved mention was the curious analytical reasoning from effects to causes, by which I succeeded in unraveling it. (Holmes; The Sign of the Four)\nIn solving a problem of this sort, the grand thing is to be able to reason backward. That is a very useful accomplishment, and a very easy one, but people do not practice it much. In the everyday affairs of life it is more useful to reason forward, and so the other comes to be neglected. (Holmes; A Study in Scarlet)\nMost people, if you describe a train of events to them, will tell you what the result would be. They can put those events together in their minds, and argue from them that something will come to pass. There are few people, however, who, if you told them a result, would be able to evolve from their own inner consciousness what the steps were which led up to that result. This power is what I mean when I talk of reasoning backward, or analytically. (Holmes; A Study in Scarlet)\nand the fact that everything old is new again …\nHistory often repeats itself\nThere is nothing new under the sun. It has all been done before. (Holmes; A Study in Scarlet)\nMr. Mac, the most practical thing that you ever did in your life would be to shut yourself up for three months and read twelve hours a day at the annals of crime. Everything comes in circles\u0026hellip;The old wheel turns, and the same spoke comes up. It’s all been done before, and will be again. (Holmes; The Valley of Fear)\nThis is ergo more a book recommendation, than a book notes post.\nMost everything that I could hope to capture, is already in this slim volume.\nAnd just like Doyle’s books, this one is worth coming back to over and over again.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/reading/a-few-lessons-from-sherlock-holmes/","section":"Reading","summary":"","title":"A Few Lessons from Sherlock Holmes","type":"reading"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/a-few-lessons-from-sherlock-holmes/","section":"Tags","summary":"","title":"A Few Lessons From Sherlock Holmes","type":"tags"},{"content":" Started: 2018-01-03\nFinished: 2018-01-16\nI’m Catholic and as a child, I was somehow naïvely proud that Christianity was the largest religion in the world.\nWe were good people. We were morally superior.\nAfter all, we were the righteous chosen ones!\nOur crusades were what helped Christianity become foremost and widespread!\nAll those knights in shining armour and all those devout folk went from their homes in Europe to battle the bad Muslims and conquer Jerusalem.\nIt was stuff of heady, wild fantasy!\nTime has slowly cured me of my delusions, but the curiosity has always remained.\nWhy? and How?\nWhy did these two religions who had so much in common, go to war for centuries?\nAnd the answer after ripping through the book is realistic disappoinment.\nFor all that many, maybe most Franks and Muslims wished it to be so, the realities were rather different. This was not a clash of Islam versus Christianity. It was at best a clash of specific Frankish polities warring with specific Muslim ones, where universal claims to religious truth or holy war almost always took a backseat to specific regional and political interests.\nThey do outright injustice to the more nuanced, less dramatic, but nevertheless authentic decisions made by generations of medieval Christians, Muslims, and Jews involved in this history. The Crusades, understood from any perspective, cannot shed light on modern struggles, and their motivations cannot be legitimately claimed as background or inspiration for contemporary conflicts.\nMedieval Muslims and Christians went to war for their own motives, not ours.\nAnd nothing captures the zeitgeist of the book, as much as this short note somewhere in the middle of the book\nBashir saw the strange spectacle of the Frankish lord of Antioch marching alongside Muslim troops from the lord of Aleppo, arrayed in battle against the sultan’s representative, the Muslim lord of Mosul, who marched with his own Frankish allies from Edessa.\nIt was just humans … being humans!\nBut don’t let that stop you from reading the book.\nPaul M. Cobb weaves magic with this well researched work. While it may seem like I took a while with the book, the reality is that this is a page turner for any history buff. I had to slow down consciously because I did not want it to end!\nRanging from Spain to Africa to the Middle East to Mongolia and from the year 750 to 1492, he explores whole host of places, events and people. Action abounds! Treachery, back stabbing, sieges, plague, naval battles, battles in the plains, battles in the mountains, fire, it’s all here!\nAnd while it is about humans being humans, I found it quite enjoyable as I kept switching sides throughout the book, rooting for who I thought, was doing the right thing at the time.\nIt gave me a perspective on how the “other side” sees these events and it looks suspiciously a lot like mine.\nAnd the only reasonable reason as to why, comes from Yuval Noah Harari (read my notes on Sapiens, here.)\nThe real difference between us and chimpanzees is the mysterious glue that enables millions of humans to cooperate effectively.\nThis mysterious glue is made of stories, not genes.\nWe cooperate effectively with strangers because we believe in things like gods, nations, money and human rights.\nYet none of these things exists outside the stories that people invent and tell one another. There are no gods in the universe, no nations, no money and no human rights—except in the common imagination of human beings.\nYou can never convince a chimpanzee to give you a banana by promising him that after he dies, he will get limitless bananas in chimpanzee Heaven.\nOnly Sapiens can believe such stories.\nThis is why we rule the world, and chimpanzees are locked up in zoos and research laboratories.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/reading/the-race-for-paradise/","section":"Reading","summary":"","title":"The Race for Paradise","type":"reading"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/the-race-for-paradise/","section":"Tags","summary":"","title":"The Race for Paradise","type":"tags"},{"content":"Cross posting, because I think the idea is important enough for me to have it on both the personal and work blogs\nI stuggle to write regularly.\nSometimes, I struggle to write, because I can think of anything to write.\nAnd sometimes, I struggle, because I have a deluge of ideas.\nSo I want to write this wisp of an idea, before I lose it.\nIf I think it is of any interest to me, I should write it down in my own words. I will not pick up another book, before I write what I think of it, or write down the notes I highlighted.\nEven if it’s only a line, I ought to write it down, instead of just using Librarything or Goodreads to say I’ve read it. If I learn it, I should write it.\nI’ve already forgotten, how I got an image carousel installed on my personal blog. I should write shit down. Drastically reduce twitter and rss use. Copy Kushal and have a regular weekly cadence.\nThat’ll give me at least fifty two posts a year. Well, that’s the idea … written down.\nAll I have to do now, is do it.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/an-idea-to-get-me-writing-regularly/","section":"Personal","summary":"","title":"An Idea to Get Me Writing Regularly","type":"personal"},{"content":" God said, ‘I need somebody strong enough to pull sleds and find bombs, yet gentle enough to love babies and lead the blind.\nSomebody who will spend a day on a couch with a resting head and supportive eyes to lift the spirts of a broken heart.’\nSo, God made a dog.1\nI don’t know the actual source, but I saw it here, years ago\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/so-god-made-a-dog/","section":"Personal","summary":"","title":"So God Made a Dog …","type":"personal"},{"content":" “One day the sun admitted\nI am just a shadow.\nI wish I could show you\nThe infinite incandescence\nThat has cast my brilliant image!\nI wish I could show you,\nWhen you are lonely or in darkness,\nThe Astonishing Light\nOf your own Being!”\n— Hafiz\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-pooja-2/","section":"Personal","summary":"","title":"Portraits – Pooja – 2","type":"personal"},{"content":" Randall Munroe posted this yesterday1 methinks, or the day before.\nAnd I immediately cried.2\nWhen Abby was diagnosed with cervical cancer two years ago, the docs said we should be grateful, she had the non life threatening kind.\nEven so, the last two years have been full of ups and downs and lots of uncertainty.\n(We’ll be at the “How long does it take to read a scan?” stage again soon as we checkup after two years)\nI think I understand a little of what Becky \u0026amp; Kate are going through, having gone through some of it ourselves.\nAnd I have no words to express what Becky must be going through or how Kate must be holding up.\nAll I can do is pray.\nIf you would, please go help Becky here …\nAnd Abby, 2018? It’s a date!\nToday is the 15th of December, 2017.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nSo did Abby, once she read this\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/seven-years/","section":"Personal","summary":"","title":"Seven Years","type":"personal"},{"content":" The little things you say\nTo me, and nobody else\nMake me feel good\nThe little things you say\nTo me, make me laugh out loud\nAnd not when I should\nThat’s why\nI like to hang out with you\nI never can guess\nThe next mad thing you\u0026rsquo;ll do\nAnd I like that we\u0026rsquo;ve made, a mistake or two\nTogether\n— Mikey McCleary, The Little Things You Do\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/its-the-little-things/","section":"Personal","summary":"","title":"It’s the Little Things","type":"personal"},{"content":" Not all superheroes wear capes!\nHappy birthday, Mummy!\nLove from Daddy …\nand the rest of your entire brood!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/62/","section":"Personal","summary":"","title":"62","type":"personal"},{"content":" They danced for nearly forty long years.\nAnd we loved them every minute.\nHappy anniversary, mummy \u0026amp; daddy!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/almost-40/","section":"Personal","summary":"","title":"Almost 40","type":"personal"},{"content":" Happy Anniversary, wife!\nI don’t know how to live without you!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/6/","section":"Personal","summary":"","title":"6","type":"personal"},{"content":" Omnia mors æquat.\n“Death levels all things.”\n— Claudianus\nAnd so, I take each new day with gratitude.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/39/","section":"Personal","summary":"","title":"39","type":"personal"},{"content":" You turn 34 today!\nI’ve known you for seventeen of those years.\n(I’ve known you half your life! :)\nWe’ve been in love, eight.\nAnd I’ve been privileged to share my life with you,\nand walk with you for nearly, six.\nI cannot imagine life without you.\nYou love crazy movies;\n(Which you drag me to.)\nYou can engineer anything out of anything.\n(rain gutters out of old bisleri bottles,\nwindow screens out of old packing material.)\nYou fill our home with warmth.\n(occasionally by burning stuff on the stove,\nmostly with love and cakes.)\nYou keep me sane.\n(by reminding me, that all we ever need is love and fresh air.)\nYou’re wiser than me,\nstronger than me,\nand way cooler than me :)\nHappy birthday, sweetheart ❤️\nI love you!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/happy-birthday-abbygail/","section":"Personal","summary":"","title":"Happy Birthday Abbygail!","type":"personal"},{"content":" Chris Riddell, beautifully illustrates Neil Gaiman’s poem on the (feminist) beginnings of science.\nHere’s Part 1 \u0026amp; there’s Part 2.\nSo wonderfully, beautifully, awsomely done!\nIf you’ve never heard of it before, here’s a reading by Amanda Palmer.\n— via the ever awesome Maria Popova’s, Brain Pickings post.\nUpdate: Amanda Palmer has now, made a beautiful video of the poem!\n# ","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/the-mushroom-hunters/","section":"Personal","summary":"","title":"The Mushroom Hunters","type":"personal"},{"content":"It’s a quake book.\nIt manages to fit a hundred thousand years of human life, into less than five hundred pages, filled with history, wit \u0026amp; philosophy.\nPage for page, this is one of the most wisdomous books I’ve ever read.\nThis is how I imagine, Yuval Noah Harari acknowledging my compliment\nThoughts and Insights abound\nI read past, before the impact of a line, two pages ago blinds me\nFacts put in such simple terms, that make me wonder, why didn’t I realise this before?\n“Each year the US population spends more money on diets than the amount needed to feed all the hungry people in the rest of the world.”\nWill we ever be Kumbaya united as a whole human race?\nMethinksnot.\n“Evolution has made Homo sapiens, like other social mammals, a xenophobic creature.\nSapiens instinctively divide humanity into two parts, ‘we’ and ‘they’.”\nand\n“Tolerance is not a Sapiens trademark.\nIn modern times, a small difference in skin colour, dialect or religion has been enough to prompt one group of Sapiens to set about exterminating another group.\nWould ancient Sapiens have been more tolerant towards an entirely different human species?\nIt may well be that when Sapiens encountered Neanderthals, the result was the first and most significant ethnic-cleansing campaign in history.”\nWhy is money so important? Because …\n“money is the most universal and most efficient system of mutual trust ever devised.”\nMasters of the land, are we?\n“We did not domesticate wheat. It domesticated us.”\nHappiness, what is it?\n“Nothing captures the biological argument better than the famous New Age slogan: ‘Happiness begins within.’ Money, social status, plastic surgery, beautiful houses, powerful positions – none of these will bring you happiness.\nLasting happiness comes only from serotonin, dopamine and oxytocin.”\nPerspective … need one?\n“In the 300 years of the crucifixion of Christ to the conversion of Emperor Constantine, polytheistic Roman emperors initiated no more than four general persecutions of Christians. Local administrators and governors incited some anti-Christian violence of their own. Still, if we combine all the victims of all these persecutions, it turns out that in these three centuries the polytheistic Romans killed no more than a few thousand Christians.\nIn contrast, over the course, of the next 1,500 years, Christians slaughtered Christians by the millions, to defend slightly different interpretations of the religion of love and compassion.”\nI’m barely scratching the surface.\nAnd all this, while nimbly skipping over events, places, geographies, and eons.\nWith the voice of a sad enlightened being, he concludes,\n… humans seem to be more irresponsible than ever.\nSelf-made gods with only the laws of physics to keep us company, we are accountable to no one. We are consequently wreaking havoc on our fellow animals and on the surrounding ecosystem, seeking little more than our own comfort and amusement, yet never finding satisfaction.\nIs there anything more dangerous than dissatisfied and irresponsible gods who don’t know what they want?\nThis is definitely something I’ll keep coming back to, so that I can learn something new, time and again.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/sapiens/","section":"Personal","summary":"","title":"Sapiens","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/sapiens/","section":"Tags","summary":"","title":"Sapiens","type":"tags"},{"content":"Susan Fowler on guys \u0026amp; gals that want to flit from flower to flower, to want to have and learn and do all the things that interest us\nPeople tell me I can\u0026rsquo;t do all the things I want to do, and they are of course wrong, because I can and I do and I will.\nBut I still can\u0026rsquo;t ever reach my greatest, deepest, most secret goal, the goal I left off that list: to have a singular passion.\nMaybe that\u0026rsquo;s ok.\nMaybe my life will always be about running toward that unattainable goal, trying and loving everything I find along the way.\nAnd maybe at the end, when I have to give an account of my life, I\u0026rsquo;ll say that\nI never was anything, but I was everything.\nThe whole thing is inspiring! Go, read.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/are-we-really-here-just-to-fulfill-one-destiny/","section":"Personal","summary":"","title":"Are We Really Here Just to Fulfill *One* Destiny?","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/stuff-i-like/","section":"Tags","summary":"","title":"Stuff I Like","type":"tags"},{"content":"It took me nearly eighteen months of reading and watching and slogging and poring over Cal Newport, Barb Oakley, Anders Ericsson, and Daniel Kahneman to figure out what überprof Derek Muller explains in just 12 minutes of blockblucksterness!.\nP.S. Just found out, it took Derek three years to make the video.\nI don’t feel so bad now :P\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/on-thinking-and-learning-and-learning-how-to-think-or-the-uncomfortable-effort-of-thinking/","section":"Personal","summary":"","title":"On Thinking and Learning and Learning How to Think (or The Uncomfortable Effort of Thinking)","type":"personal"},{"content":"I lucked out when I met you on Feb 22nd, 1997 at my very first job interview.\nFor all the photos I’ve shot of people, I still don’t have one of yours :)\nYou’ve been my guilty secret :P\nWhile my life has been filled with turmoil, for the past fifteen years, you’ve been the one I counted on.\nYou’ve always been my rock!\nYou made sure work was a safe haven and a joy to do.\nBoss, mentor, big brother, mother, father, best friend, you’ve been all that and more.\nYou’re the only one I can truly be myself with\nI can tell you anything.\nYou taught me integrity.\nYou taught me how to form lasting friendships.\nYou taught me to laugh at myself.\nYou taught me how to live.\nIt’s been 20 years now.\nYou’ve been a big part of me, for more than half my life.\nI cannot imagine life without you being there.\nOthers might come and go, but you’re always the presence that arches over everything.\nWhen I was young and ignorant, I always took you for granted.\nWhen I was older and somewhat wiser, I was too shy to tell you, how I felt.\nSo even this post is, in a way, cheating.\nI’m still too shy and you are still too gruff and big bearish :D\nBut I am thankful. And I am grateful.\nAnd I do love you.\nHappy Birthday!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/happy-birthday-vk/","section":"Personal","summary":"","title":"Happy Birthday VK!","type":"personal"},{"content":" Don’t know how I missed this.\nAll these years and she’s still rockin’ it!\nGlad I stumbled on this\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/stand-by-me/","section":"Personal","summary":"","title":"Tracy Chapman – Stand by Me","type":"personal"},{"content":"I might say that I read Meditations over and over, or that Morgan’s Run is the book that I love to lose myself in.\nBut the truth is that the pages that I’ve read the most, the quotes that shake me up the most, the lessons that I’ve learnt from the most, are from The Little Prince.\nThe book has serendipitously inveigled it’s way into my mind and heart over the years.\nI was introduced to it through an excerpt in a school textbook.\nAnd ever since then, I’ve run across its quotes and lessons in books, in film and through people.\nEven as I child, I somehow knew that the story added up to more that what the explorer and the Prince went through.\nI knew the story teller was saying more than he let on.\nAnd as I’ve grown, the book has continued to delight and offer lessons (if I care to listen)\nOn responsibility # “People have forgotten this truth,” the fox said.\n“But you mustn’t forget it.\nYou become responsible forever for what you’ve tamed.\nYou’re responsible for your rose.”\nOn innocence and seeing things for what they are # If you were to say to the grown−ups: “I saw a beautiful house made of rosy brick, with geraniums in the windows and doves on the roof,”\nthey would not be able to get any idea of that house at all.\nYou would have to say to them: “I saw a house that cost $20,000.” Then they would exclaim:\n“Oh, what a pretty house that is!”\nOn what truly matters … to You! # “If some one loves a flower, of which just one single blossom grows in all the millions and millions of stars, it is enough to make him happy just to look at the stars.\nHe can say to himself, ‘Somewhere, my flower is there …’ But if the sheep eats the flower, in one moment all his stars will be darkened … And you think that is not important‽ ”\nOn the joy of effort # “It is the time you have wasted for your rose, that makes your rose so important.”\nOn looking past appearances to find true beauty # “The stars are beautiful, because of a flower that cannot be seen.”\nI replied, “Yes, that is so.’ And, without saying anything more, I looked across the ridges of sand that were stretched out before us in the moonlight.\n“The desert is beautiful,” the little prince added.\n“What makes the desert beautiful,” said the little prince, “is that somewhere it hides a well …”\nOn sorrow # It is such a secret place, the land of tears.\nOn love and belonging # … said the little prince. “What does that mean –– ‘tame’?”\n“It is an act too often neglected,” said the fox. It means to establish ties.”\n“To establish ties?”\n“Just that,” said the fox. “To me, you are still nothing more than a little boy who is just like a hundred thousand other little boys.\nAnd I have no need of you. And you, on your part, have no need of me. To you, I am nothing more than a fox like a hundred thousand other foxes.\nBut if you tame me, then we shall need each other.\nTo me, you will be unique in all the world.\nTo you, I shall be unique in all the world … ”\n“I am beginning to understand,” said the little prince.\n“There is a flower … I think that she has tamed me … ”\nOn death # “You understand … it is too far. I cannot carry this body with me. It is too heavy.”\nI said nothing.\n“But it will be like an old abandoned shell. There is nothing sad about old shells … ”\nWord for word, The Little Prince has given me more wisdom and comfort and joy, than any tome I have ever read, more than even a Seneca or an Aurelius; a Wu Hsin or the Bible.\nAnd yet, it does all this, with a story so simply and delightfully told.\nI laugh at my explorer’s drawings.\nI cry every time the Little Prince has to go away.\nAnd for all this, I’ve never appreciated it all these years.\nNever again.\nI’ll close with the same lines the comte de Saint Exupéry writes, to bring the story to its wistful end …\nThis is, to me, the loveliest and saddest landscape in the world.\nIt is here that the little prince appeared on Earth, and disappeared.\nLook at it carefully so that you will be sure to recognise it in case you travel some day to the African desert.\nAnd, if you should come upon this spot, please do not hurry on.\nWait for a time, exactly under the star.\nThen, if a little man appears who laughs, who has golden hair and who refuses to answer questions, you will know who he is.\nIf this should happen, please comfort me. Send me word that he has come back.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/hats-boas-the-little-prince-has-them-all/","section":"Personal","summary":"","title":"Hats \u0026 Boas","type":"personal"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/the-little-prince/","section":"Tags","summary":"","title":"The Little Prince","type":"tags"},{"content":"","date":"3 septembre 2018","externalUrl":null,"permalink":"/tags/aiwtkiwigtdsingt/","section":"Tags","summary":"","title":"Aiwtkiwigtdsingt","type":"tags"},{"content":"Ok, so here goes.\nI’ve always wanted to do marginalia and notes and talk to myself and share all that with … someone like me, but younger I guess.\nI want to retain and understand and absorb, more of what I read.\nI want to come back to what I’ve written and see if it holds up\nAnd I want to read and osmosize1 more of what Vishal Khandelwal calls Supertexts.\nI read three volumes of Taleb over the past year and a half and I wish I had written down what I learnt.\nAnd I know now, why they’re called Supertexts\nEvery other day, I see something through that new lens I gained.\nAnd I wish I could have written about the Incerto, the way Kyle has\nWell, better late than never :)\nThe super half, gifted me a Munger trio early this year. And so I’ll start with the aforementioned book, as I try to make sense of it.\nCome along, will you?\nI make up fancy shit, as I go! :P\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/reading/all-i-want-to-know-is-where-im-going-to-die-so-ill-never-go-there-00/","section":"Reading","summary":"","title":"All I Want to Know Is Where I’m Going to Die, so I’ll Never Go There - 00","type":"reading"},{"content":"This past year has been, without a doubt, a year of learning and insight for me.\nI haven’t had as many ‘Aha!’ moments, since I was eighteen years old and struggling with a vengeance to read and learn to make up for lack of a college education.\nI rediscovered Aphorisms for Thirsty Fish and The Song of the Bird and realized, that they were more than strange pleasant poetry or an awesome collection of stories.\nI’ve found Marcus Aurelius \u0026amp; Seneca and realized that life and people and experiences just go round and round.\nI’ve found Feynman again and realized learning is fun and a life well lived is funner :P\nI’ve learnt about money and how to think about it.\nI’ve found that capturing life in all its forms is gratifiying.\nI’m finally learning to think :P\nAnd these people and these books and these crafts have given me just a handful of the barrage of insights that I’ve gained this year.\nAnd it’s made me stop longing for the four years from eighteen to twenty two, when I could learn anything I put my mind to.\nI’ve realized, i can do that even now.\nI might be slower.\nBut I’m enjoying myself a lot more.\nIt makes me feel a bit sorry for my late twenties and early thirties self. I feel like I was sleep walking through life\n(Not too sorry though. That boy-man has had the roughest decade so far. But I would not have felt so guilt ridden and stressed then)\nAnd in a way, that seems to be my favourite what-if.\nWhat if my younger self automatically had what little knowledge and wisdom I’ve gained by now?\nGuess I’ll never know.\nI’ve discovered that next to Jesus’ commandment …\nA life filled with intention and gratitude is the best thing there is.\nAnd here’s the thing.\nI know I learn a little bit more every time I have these moments\nBut more importantly these Aha!s fill me with joy.\nAnd being the poor endorphin addicted, homo sapien that I am, I think, I’ll spend the rest of my life chasing my Aha! moments, big and small.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/on-aha-s-as-a-hobby/","section":"Personal","summary":"","title":"On ‘Aha!s’ as a Hobby","type":"personal"},{"content":"I’ve followed The Art of Manliness blog for quite some time now.\nTo say that it’s changed my life would be an understatement\nThe articles I really love, are the ones based on philosophy.\nAnd the ones I really love are the ones that resonated with what I already knew, or had read and forgotten\nArticles that distilled the advice of old greats like Marcus Aurelius and Seneca, with the new thinkers; Taleb, Stephen Pressfield, Ryan Holiday and Cal Newport.\nTurns out, most of them are written by an awesome guy called Kyle Eschenroeder.\nMy favourite of all his writings is an article called, “10 Overlooked Truths About Taking Action”\nAnd a few days before, Kyle and Brett decided to write a little monster called, “Screw 10 Overlooked Truths! Here’s All of What We’ve learned about Taking Action!”\nWell, that’s what I would have called it! :)\nThey decided on the classier, “Meditations on the Wisdom of Action”\nThe first thing on my list today is to print the little sucker and bind it and keep it right next to my well worn copy of Meditations.\nThis is something I’ll return to again and again.\nAnd again.\nThe act of “doing” is something that always scares the shit out of me.\nDoing something new. Doing something that I want to.\nI thank God, that I’m surrounded by awesome family and friends.\nOtherwise I think, I would have been a scared turtle-in-his-shell all my life.\nThis book expands that little circle to now include what Seneca calls the eminent dead. (some of the guys still live, mind you :) )\nHere’s a few choice morsels\n“The cucumber is bitter? Then throw it out. There are brambles in the path? Then go around. That’s all you need to know.”\n–Marcus Aurelius and\nBooks About Heaven.\nSteven Pressfield relates a New Yorker cartoon in his (short) book Do the Work: “A perplexed person stands before two doors. One door says HEAVEN. The other says BOOKS ABOUT HEAVEN.” He’s perplexed. He’s considering the book over the actual experience. It’s funny because it’s absurd… and because we know we’d have the same consideration.\nWhy would we deny ourselves direct experience?\nAction is going to Heaven. Abstraction is reading about going to heaven.\n(Reading a book can be Heaven when it’s a primary activity.)\nand\nActing Is Dirty.\nCreation is inherently messy. The Big Bang was an explosion that created everything we know. You were born into this world bloody while your mother endured the worst pain of her life.\n…. Honest action won’t take you on a straight path. It may not make sense to you or those around you at first.\nInstead, it will straighten your posture on any path you’re on. You won’t fear what others fear. You won’t regret what the others will.\nYou’ll have scars and remember the lessons they taught you. Others will look fragile because while they kept their training wheels on you let yourself fall down, endure the pain, and do it again.\nand\n“Spartans do not ask how many are the enemy…”.\n“… but where are they.”\n–Plutarch, Sayings of the Spartans\nThe Spartans knew they would meet the enemy and fight with courage. They didn’t ask for unnecessary information.\nYou don’t need to either.\nGather the minimum information you need to begin.\nThen, before you think you’re ready, begin.\nand\nMotivation Follows Action. Our fatal mistake is waiting to be motivated before we take action.\nAction motivates.\nI don’t feel like working out until I get my blood flowing. I’m too tired to have sex until we’ve begun. I don’t want to go to the party until I’m there.\nMotivation will follow if you have the balls to go without them.\nMy favourites are the two examples of the principle I currently work so hard to achieve\nMeditation as Action.\nMeditation connects the mind to reality.\nIt is pure action. There is no frustration of what should be done. There is only doing.\nMeditation is a right action that acts as a catalyst for more right action.\nHow do you meditate?\nOne way: Sit down. Set a timer for twenty minutes. Close your eyes. Feel the sensation of air flowing in and out of your nostrils and on your upper lip. Each time your mind wanders bring it back to the sensation. Do not get upset when your mind wanders; the point is to become more aware of your thoughts, not get rid of them. And whatever you do, don’t get upset at being upset.\nalongside\nAction is Waiting.\nThe most difficult action to take is often non-action.\nNot stillness out of laziness, but out of self-discipline.\nWaiting to look at your phone until your date is over. Waiting for the other guy to stumble in a negotiation. Waiting to work out until your injury is healed.\nThe sniper must be patient. Warren Buffett says he makes mistakes every time he is bored with too much money.\n… Patience is an action. Laziness is not.\nThe booklet ends with …\nEverything you do matters.\nAct accordingly.\nSo do yourself a favour, take action and go grab the free pdf booklet right now.\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/on-the-wisdom-of-taking-action/","section":"Personal","summary":"","title":"On the Wisdom of Taking Action","type":"personal"},{"content":"Pattu \u0026amp; Subra (SubraPattu) are the foundation on which all my personal finance and investing knowledge rests.\nI’ve followed their blogs for years now and learned so much.\nBetween the untold number of categories on the right on Subra’s blog, and the tens of thousands of words \u0026amp; zillions of calculators Pattu has on his, you could be set for months, learning about how to make it, money wise.\nThey have always been generous souls, in deed and spirit.\nPattu specially has always been gracious whenever I’ve written to him\nBut if you are new to all this and don’t know where or how to begin, the duo now have a book out.\nSo, if you want a clear path from zero to hero, when it comes to money … get this book!\nRead what the book is about in their own words. (Subra, Pattu)\nLinks to the book are on their pages. Pattu seems to have a bigger list.\nTo the authors, all I have to say is, I’ve kept half my promise :)\nI bought 5, 10 books.\nAnd thank you for all you do!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/you-can-be-rich-with-goal-based-investing/","section":"Personal","summary":"","title":"You Can Be Rich With Goal based Investing","type":"personal"},{"content":" After James Earl Jones \u0026amp; Morgan Freeman, Blake Ritson is now my new Voice of God.\nIf the whimsical video above, does not convince you, go watch Da Vinci’s Demons!\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/my-new-voice-of-god/","section":"Personal","summary":"","title":"My New Voice of God","type":"personal"},{"content":" Memento Mori\nand gratitude!\nThat is all…\n","date":"3 septembre 2018","externalUrl":null,"permalink":"/personal/38/","section":"Personal","summary":"","title":"38","type":"personal"},{"content":" “I love you, I do –\nyou have my word.\nYou have all my words.”\n— Lang Leav, Lullabies\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/you-have-my-word/","section":"Personal","summary":"","title":"You Have My Word","type":"personal"},{"content":"As a kid, I lived in what my relatives called the back of the beyond.\nOh, it may be all the rage now, but Thane was a small sleepy town in the 80s.\nNot that it mattered to me.\nHome was full of wide open spaces, where we ran and climbed trees and skinned our shins and ran some more.\nHome was full of lakes and trees.\nAnd home was full of bougainvilleas.\nI was crazy about them.\nOn the way to school, mummy picked them for me.\nOn the way to the church, mummy picked them for me\nI close my eyes and I can still picture her, all of her slight 5 feet frame; stretching, slightly leaping, to get her son, his bougainvillea.\nAs I grew up, and we faced tough days, I could never afford to buy mummy anything.\nSo every Mother’s day, I’d gift her a big bunch of bougainvilleas.\nAnd her face would light up!\nSome of it would go into her hair, some on the altar at home.\nAnd she’d look so proud.\nAnd I’d secretly, sadly wish I could buy her something more substantial, more significant than my pretty, soon to be wilting bougainvillea\nYears have passed by.\nWe’ve had so many ups and downs.\nMummy’s been our lighthouse, one that we all hew to.\nAnd I’m all ‘grown up’ now.\nI can afford to buy her pretty things.\nI gifted her a watch yesterday\nAnd I saw the same joy on her face, the same silly goofy grin, the same hearty laugh.\nAnd the same face, full of love.\nAnd that’s when I realised…\nMummy never cared about what I gave her.\nA bunch of bougainvilleas was as precious as a gold plated watch.\nAs long as I loved her, she’d be happy.\nHappy Mother’s day, Mummy!\nLots of love from your two beautiful daughters and three dumb sons :)\nAnd Daddy too!\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/a-tale-of-bougainvilleas/","section":"Personal","summary":"","title":"A Tale of Bougainvillea","type":"personal"},{"content":"","date":"2 septembre 2018","externalUrl":null,"permalink":"/tags/mothers-day/","section":"Tags","summary":"","title":"Mothers Day","type":"tags"},{"content":" You might have been the high priest of all technological progress in the decades I grew up,\nBut to me, you will always be a teacher!\nYou were the guy who taught me all about managing people and organisations.\nAnd you were the guy, who taught me all about grit and persistence.\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/rip-andy/","section":"Personal","summary":"","title":"RIP András Gróf","type":"personal"},{"content":" If you haven’t been to Tim’s blog and read his awesomely long monologues, watch the video first\nThen go read this article, which explains the video in text followed by\nthis one (optional) for even more detail, followed by\nthis one which shows you how to actually beat procrastination\nAnd this one, tells me in a funny, yet poignant way why all this matters!\nProcrastination is something I struggle with on a daily basis; and have for a long time\nI’ve been working at it.\nThis pic gives me hope\nAnd like Dory, I’ll just keep swimming\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/on-procrastination/","section":"Personal","summary":"","title":"On Procrastination","type":"personal"},{"content":"","date":"2 septembre 2018","externalUrl":null,"permalink":"/tags/talk/","section":"Tags","summary":"","title":"Talk","type":"tags"},{"content":" (My toast at Nuts’ communion reception on the 3rd of January, 2016 … posted for posterity)\nHello!\nGood Evening to all you warm folks …\nand a Happy New Year!\nThat gorgeous girl (sorry not this one – that one) over there is my wife of four years :)\nShe is Natanya’s much, older cousin :)\nWhich is how I met Natanya four years ago.\nI wanted her to be my flower girl, but when I saw her, it was love at first sight and I asked her to marry me instead!\nShe very wisely, and very selflessly, asked me to marry Abby and walked us down the aisle along with her handsome brother, Joshua.\nShe was 4, turning 5 then.\nAt age 6, she saw her favorite uncle (that’s me), getting fat and so she volunteered to teach me Yoga.\nShe has helped me stay in shape ever since :)\nAt age 7, she taught me how to sing my heart out, because she thought I had a nice voice!\nSo now, nobody beats me at singing “Beautiful Sunday” on karaoke, other than the equally talented Tanya\nWhen Natanya was 8, last October, her Abbygail Aunty fell really, really sick.\nI had to take her to a big old hospital in Mangalore for a big operation.\nAnd it was big.\nAnd it was long.\nAnd it took 7 whole hours.\nAnd then, after all that, the doctor said, it was going to take a long, long while before she got well again.\nThere I was alone, nervous, scared and praying really hard.\nAnd then Natanya (through her daddy) sends me letters.\nOne, for every day we were there.\nHow is Abbygail Aunty? I really miss you. I really, really, really, really, love you. And just to make sure, that her dumb uncle understood, she drew a heart and explained that, that was the symbol of love; she drew a small sad face crying, and said that that was the symbol of missing some one. Comforting messages, letters of hope, written by a child who did not ostensibly know any better.\nOut of the mouth of babes and nursing infants\nYou have ordained strength …\ngoes Psalm 8:2\nAnd that was when I knew, all would be well.\nThat was how Jesus comforted us, and took care of both of us, and got us here today.\nSo you see Natanya, Jesus has always been there inside you, guiding you.\nAnd today is when He makes His presence felt, to you and all of us,through the Eucharist that you received this morning.\nSo, on this special day, I have no special advice; just a small reminder.\nTo do for everybody, what you have always done for me.\nTo do what Jesus says with his commandment.\nLove one another, as I have loved you.\nTo love, like you always have.\nEverytime we meet, you make me a better person.\nThrough your kind words, through your concern, through your little pieces of advice, and through your big, big, smile! So with Jesus’ help, leave every one you meet everyday, a little better than you found them.\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/letter-to-nuts/","section":"Personal","summary":"","title":"Toasty Nuts! (Or a toast to Natanya)","type":"personal"},{"content":" It’s been two months since we checked you in.\nFour, since we figured out what was eating you alive.\nA year and two months, since we started battling it.\nYou’ve been so brave, through it all!\nThrough scans and needles and burning meds\nSleepless nights, and broken muscles, and\nA lost voice, unable to eat, to speak\nAnd even though you’re tired,\nI’m so glad we made it through.\nTime to soldier on.\nTime to pick up the pieces of our life.\nTime to start again…\nI love you, wife!\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/a-new-beginning/","section":"Personal","summary":"","title":"A New Beginning","type":"personal"},{"content":"My mother wants me to write for her …\nYou wrote for Daddy, she said.\nNow write a little something for me too.\nSuch is Mummy.\nSatisfied with love.\nSo here’s to you Mummy!\nHappy 60th! Sometimes I think, being a mother is all she ever knows.\nShe had three boys by the time she was twenty eight.\nDaddy worked two jobs, to feed us.\nLeaving Mummy to handle three hyperactive boys.\nAnd she did.\nDaddy got laid off and was too old to find another job.\nWhile Dad did his carpentry, Mummy figured, she could teach.\nWith three boys and the home and hearth and god knows how many of the neighbours kids wanting to learn from her.\nAll this she did.\nWell, God’s taking care of us, she thought.\nI should give back, she thought\nAnd we don’t have money.\nSo let me work for him.\nWith three boys and the home and the little kids coming to learn, there is a little time to go around supporting the Church\nAs an animator, as an educational resource, an area coordinator, a parish coordinator, a eucharistic minister, a sunday school teacher…\nThis she did.\nAnd she slogged and struggled and cried and laughed and made her way through life.\nShe did.\nWe’re a houseful of boys.\nBut Mummy’s the strongest.\nShe carries us all through life.\nHer infectous laugh, her naïveté, her determination, her enormous work ethic, have not only inspired us, but a whole generation of people around her.\nWhat little she had, she’s made so much of.\nWe certainly did not make life any easier for her.\nBut she still loves us no matter what.\nLove is patient, love is kind.\nIt does not envy,\nit does not boast,\nit is not proud.\nIt does not dishonor others,\nit is not self-seeking,\nit is not easily angered,\nit keeps no record of wrongs.\nLove does not delight in evil, but rejoices with the truth.\nIt always protects, always trusts, always hopes, always perseveres.\nThus says the Bible.\nThat’s my mother, says I\nA life well lived, that’s my mother.\nAll that, she is.\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/happy-birthday-mummy/","section":"Personal","summary":"","title":"Happy Birthday Mummy","type":"personal"},{"content":" “I am my beloved’s, and my beloved is mine.”\nI take thee Abby,\nto be my wedded wife,\nto have and to hold,\nfrom this day forward,\nfor better for worse,\nfor richer for poorer,\nin sickness and in health,\nto love and to cherish,\ntill death us do part …\nI will love you, and honour you, all the days of my life!\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/4/","section":"Personal","summary":"","title":"4","type":"personal"},{"content":"I was going to write a “another year, another post” post on my birthday.\nI’ll still write that one, because I’m now jealous of Scott Young, who is a decade younger than me and is so much more sorted in his head and his life, that it make me jealous.\nHowever, I got a surprise gift in my mailbox that almost tore me up.\n(Yes, the video above sadly lost.)\nI met Mother Teresa once, when I was little and all she said to me, as she blessed me was\n“Be good!”\nThat has always struck me as sage advice :)\nSo I always try (keyword being try) to leave everyone a little better than I found them.\nAnd I am humbled, when such love is returned manifold!\nThank you Zei!\nYou’ve made this birthday really special.\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/37/","section":"Personal","summary":"","title":"37","type":"personal"},{"content":" Li’l Princess Natanya!\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-mama-bear-baby-bear-once-more/","section":"Personal","summary":"","title":"Portraits – Mama Bear, Baby Bear Once More …","type":"personal"},{"content":" Steve Mazan makes Seneca’s serious truth sound so easy!\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/too-late-to-chase-your-dreams/","section":"Personal","summary":"","title":"Too Late to Chase your Dreams?","type":"personal"},{"content":"This post is specially for my young brood.\nMy younger brothers. My cousins. My sisters \u0026amp; brothers in law. The young kids I work with. I’m specially speaking to all you guys.\nIf you think you need, even the slightest idea on why or how to invest and why planning for retirement now is important go watch this, like right now\nThen get one of those fancy shmancy youtube downloaders, download the videos and keep them safe and then watch them again whenever you get antsy with your money.\nIf you wonder why you should listen to that old fogey speaking, read this. And then go, begin reading his blog everyday.\nAnd as to the guy, who organized these videos, let’s just say I’m a Big Fan. Read his blog daily too!\nLike they say, when the disciple is ready, the Master will appear. This rings so true for me, personally. I’m lucky to have Subra \u0026amp; Pattu do their evangelism at a time, when I went looking for answers. I’m even luckier that they are so generous with their time \u0026amp; money \u0026amp; spirit!\nSo, go watch them videos, now. These couple of hours will change the way you think about your financial life.\nAnd to the oldies, this applies to you too! Besides you can pass it on to your young ’uns!\nHere’s the link in bold - http://freefincal.com/subras-retirement-planning-lecture-videos/\nAnd to Pattu \u0026amp; Subra, if you get that book out, I’m buying 10 copies :) And a big Thank You for all you do!\n","date":"2 septembre 2018","externalUrl":null,"permalink":"/personal/subras-retirement-planning-lecture-videos/","section":"Personal","summary":"","title":"Planned your retirement? Watch this!","type":"personal"},{"content":" My mom is a never-ending song in my heart,\nof comfort, happiness, and being.\nI may sometimes forget the words …\nbut I always remember the tune\n– Anon\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/my-mother/","section":"Personal","summary":"","title":"Happy Mother’s Day, Mummy!","type":"personal"},{"content":" Derrick came home two years ago in December to tell me he liked a girl.\nThen he told me that she was older than him.\nThen he told me she was Hindu.\nThen he told me, she was a divorcee with a kid.\nAll of this didn’t surprise or bother me.\nI’d be OK with all of this no matter what, if the girl’d be good.\nWhat did surprise me, was that my brother, my impetous, independant minded, “I am my own man” brother cared enough about this girl to seek my approval.\nWhich I can tell you, has happened rarely enough, I can count such moments on my fingers.\n(the approval seeking … not the girl meeting)\nI met her. We spoke for two whole hours.\nAnd I came away with the belief she was too good for him.\nThat all these “strikes” notwithstanding, Rajeshwari was still too good for Derrick.\nI firmly believe that my brother is marrying up.\nI firmly believe that Rajeshwari’ll, finally make an honest man out of my brother.\nI’ve seen them together for the past year and a half.\nMy brother is a more peaceful, more happy, and dare I say it, more sane person, because of her.\nRajeshwari is already more than a sister that we boys ever had.\nShe’s compassionate, she’s kind, she’s full of joy and has a wicked sense of humour.\nThey’re good together. And Jai completes them.\nThis apparently, is the place where I’m supposed to impart worldly wisdom.\nFrom my own short three year, crazy roller coaster of married life, all I can say is,\nBe together.\nBe happy.\nBe sad.\nBe angry.\nBe stupid. Be idiotic.\nBe ecstatic.\nBe determined.\nBe brave.\nBe whatever you want to.\nAll this and more’ll be infinitely better, if you do it together.\nSo here’s to the two of you …\nBe happy!\nTogether!\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/and-a-toast-to-new-beginnings/","section":"Personal","summary":"","title":"And a Toast to New Beginnings","type":"personal"},{"content":" Through the years, as the fire starts to mellow,\nBurning lines in the book of our lives,\nThough the binding cracks,\nAnd the pages start to yellow,\nI’ll be in love with you …\nDan Fogelberg\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-abbygail-6/","section":"Personal","summary":"","title":"Portraits – Abbygail – 6","type":"personal"},{"content":" I still find it hard to believe, that I turned this gorgeous girl down, when she told me that she loved me twelve years ago!\nMy life would would have been so different!\nBut God has grace, even for a fool like me.\nAnd, so did she.\nI love you, babygirl.\nTo quote Lang Leave,\nI don’t know how you are so familiar to me—or why it feels less like I am getting to know you and more as though I am remembering who you are.\nHow every smile, every whisper brings me closer to the impossible conclusion that I have known you before, I have loved you before—in another time, a different place, some other existence\nI love you so much!1\nI wrote I love you twice and was about to edit and remove one of the lines, but Abby thinks I could love her twice over and let the line stay. So here babygirl, I love you thrice over! :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/god-has-grace-for-fools/","section":"Personal","summary":"","title":"God Has Grace, Even For Fools","type":"personal"},{"content":" Motherhood …\nAll love begins and ends there\n— Robert Browning\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-mama-babies/","section":"Personal","summary":"","title":"Friday Photo – Mama \u0026 Babies","type":"personal"},{"content":" Dashing! daring! Action star! Pandeyji!\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-bachchan-pandey/","section":"Personal","summary":"","title":"Portraits – Bachchan Pandey!","type":"personal"},{"content":" I’ll miss you soooo much my little muse!\nI’ll miss your your constant chirping and your husky laugh!\nI’ll miss your joie de vivre!\nAnd yes, I will cry blood tears! :)\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-au-revoir-zei/","section":"Personal","summary":"","title":"Friday Photo – Au Revoir, Zei","type":"personal"},{"content":" – Li’l Baby Pooja\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-pooja/","section":"Personal","summary":"","title":"Portraits – Pooja","type":"personal"},{"content":" – Madcap muse\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-one-more-beti/","section":"Personal","summary":"","title":"Friday Photo – One More Beti ;)","type":"personal"},{"content":" – In her rocking chair … enjoying her siesta\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-abbygail-4/","section":"Personal","summary":"","title":"Portraits – Abbygail – 4","type":"personal"},{"content":" ","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-out-in-the-field/","section":"Personal","summary":"","title":"Friday Photo – Out in the Field …","type":"personal"},{"content":" Wood worker, Craftsman, Music aficionado, Artist, Father, Husband, Superman!\n… his blood runs through my instrument\nand his song is in my soul\nMy life has been a poor attempt\nto imitate the man\nI’m just a living legacy\nto the leader of the band\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-dad/","section":"Personal","summary":"","title":"Portraits – Dad","type":"personal"},{"content":" If you go swimming\nin a blue lagoon\nyou might see a fish\nwho is a big balloon.\nMost the time he is\nlittle and flat,\nbut if there is danger\nhe puffs up fat …\nLittle Puffer Fish ","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-puffer-fish/","section":"Personal","summary":"","title":"Friday Photo – Puffer Fish","type":"personal"},{"content":" –Sheetal “Carpe Diem” Kamble\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-sheetal/","section":"Personal","summary":"","title":"Portraits – Sheetal","type":"personal"},{"content":" Happy Children’s Day, Bonny :)\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-baap-beti/","section":"Personal","summary":"","title":"Friday Photo – Baap, beti!","type":"personal"},{"content":" — Sachin Rane\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-sachin/","section":"Personal","summary":"","title":"Portraits – Sachin","type":"personal"},{"content":" There’s a little hidey ho plant at my Grandma’s\nFilled with dragons! :)\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-here-be-dragons/","section":"Personal","summary":"","title":"Friday Photo – Here be dragons…","type":"personal"},{"content":" – Dreamy li’l Abby!\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-dreamy-lil-abby/","section":"Personal","summary":"","title":"Portraits – Dreamy li’l Abby","type":"personal"},{"content":" – Zei \u0026amp; Jaya\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-saas-bahu/","section":"Personal","summary":"","title":"Friday Photo – Saas Bahu","type":"personal"},{"content":" Sad li’l Zei\nLi’l goonda Zei\nLi’l kooky Zei\nLi’l blah Zei\nLi’l “Look at me, I’m a scooty model!” Zei\nHappy li’l Zei\nReally happy li’l Zei\nReally, really “I’m so happy I could dance, because it’s my birthday” li’l Zei\nTo my li’l muse,\nIt’s funny how you’ve walked into my life and made a place there… like you’ve always belonged!\nI pray you always be happy, and that you always have your sense of innocence and gay abandon.\nHappy Birthday, my little one\nLots of love,\nJ\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/on-lil-zeimona/","section":"Personal","summary":"","title":"On Li’l Zeimona!","type":"personal"},{"content":" # Shout to the Lord, all the earth, let us sing\nPower and majesty, praise to the King\nMountains bow down and the seas will roar\nAt the sound of Your name\nI sing for joy at the work of Your hands\nForever I\u0026rsquo;ll love You, forever I\u0026rsquo;ll stand\nNothing compares to the promise I have in You.\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-dalhousie/","section":"Personal","summary":"","title":"Friday Photo – Dalhousie","type":"personal"},{"content":"If I haven’t told you to go read Subramoney yet, then you oughta… The man is (to me at least) the Gautam Buddha of personal finance.\nParables, stories, shared experiences and a ton of blog entries later, you’ll attain pf awareness :) (pf nirvana? :))\nHis latest post on insurance is pure gold! Go read.\nAnd then subscribe!\nAnd then buy his book and make him filthy rich :P\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/on-insurance/","section":"Personal","summary":"","title":"On Insurance and the thoughts behind it","type":"personal"},{"content":" ","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-abby-in-a-mess/","section":"Personal","summary":"","title":"Portraits – Abby … in a Mess","type":"personal"},{"content":" ","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-the-temple/","section":"Personal","summary":"","title":"Friday Photo – The Temple","type":"personal"},{"content":" Enjoying her cuppa …\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-abby-with-her-tea/","section":"Personal","summary":"","title":"Portraits – Abby… With Her Tea","type":"personal"},{"content":" in death it had a certain beauty\nthat almost matched it\u0026rsquo;s life\nsilhouette upon a sunlit canvas\nvaricose veins across the sky\nit’s gnarled and craggy fingers\nforking tributaries unto high\nclawing, reaching, fighting\nfor width, for space, for height\nspreading, searching, writhing\nin a twisted wave goodbye\n– adapted from Dead Wood by sidewalk smudge\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-dead-wood/","section":"Personal","summary":"","title":"Friday Photo – Dead Wood","type":"personal"},{"content":" And time flies…\nThe little mutt who would chase \u0026amp; hug little dogs outside my home has grown into a smart, beautiful, wonderfully poised woman.\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-alisha/","section":"Personal","summary":"","title":"Portraits – Alisha","type":"personal"},{"content":" ","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-fortress-by-the-sea/","section":"Personal","summary":"","title":"Friday Photo – Fortress by the Sea","type":"personal"},{"content":" Raj … lost in thought\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-raj/","section":"Personal","summary":"","title":"Portraits – Raj","type":"personal"},{"content":" … I, always looking for that beautiful chance,\nto pluck it and make it mine,\nto leave all the other fields behind.\nA flower so beautiful to a tear came to eye.\nAt peace I felt but still my soul did cry.\nMillions of flowers why this and not other red, greens and blues?\nIf you must ask, that one flower was always you, only you.\n–Flowers in a field, theyoungman\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-flowers-in-a-field/","section":"Personal","summary":"","title":"Friday Photo – Flowers in a Field","type":"personal"},{"content":" The better half …\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-abbygail-3/","section":"Personal","summary":"","title":"Portraits – Abbygail - 3","type":"personal"},{"content":"Dear Lord,\nThank you for making this bundle of mischief my better half\nAnd help me always keep her this happy.\nEven if it means, I have to wear funny clothes to do that!\nAnd Abby – I love you!\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/3/","section":"Personal","summary":"","title":"3","type":"personal"},{"content":"Dear Sir,\nI read your post yesterday, and for the first time, in the really long time I have been reading your blog, you genuinely shocked me a little bit.\nThe post seemed a little out of sorts and a little down to me. As if, you were really doubting your worth as a teacher\nFor a little bit, I was back in school, to when my teacher’s “Teacher” mask would slip a bit \u0026amp; I would get a glimpse of the person beneath.\nYou say, all learning is caught, but what drops of water will I catch, or run around under, if a fountain does not rain down on me?\nI am a prime example of the student you speak of. I am a smart alec, autodidact. The teacher does not matter, since I can find everything online and I can teach my self vitually anything, I put my mind to.\nOr can I?\nAnd to me, Sir, the answer is No.\nThat’s because I have been fortunate enough to have people in my life who have taught me so well, that I cannot imagine life without what they did for me.\nMaria Barrot, taught me English \u0026amp; persistence. Sunil Varma, taught me Digital Electronics \u0026amp; the importance of always learning. The two principles, I do my consulting with, made me worldly wise Manish Chauhan of Jago Investor, ostensibly taught me how to get out of debt, but was actually teaching me how to help people and how to be a more giving person. Goddammit Manish, put an ‘about us’ on your site. I hate linking to Linkedin! :P My parents! And finally an old guy called P V Subramanyam who says he makes smart people richer.\nI found you because Manish kept linking to your articles.\nI stayed because you tease, insult, joke, criticize, poke, but hey you also teach.\nIf it sounds like you said that, you did :)\nBut to me, the most important fact is that you stay real. You are yourself – honest, true, transparent with no agendas, save self improvement :)\nYou taught me money is not the end all and be all of life, but that improvement is holistic.\nAnd most importantly, you goad me into thinking for myself and you taught me how to reflect.\nSo while, some might copy a few words here and there, they can never be you.\nAnd while I might learn something specific from somewhere, nothing can ever replace the love and attention and the wealth of knowledge, a good teacher can shower on you.\nYou are a teacher, not because you “teach”, but because that’s just who you are.\nYou are not only my Dronacharya, you are also my quirky [Mr. Chips] (https://www.goodreads.com/work/quotes/2147442-good-bye-mr-chips) :)\nStay the same, Sir! And thank you so much, for all you do.\nWith the best of regards,\nI remain,\nYour humble student.\n06/09/2014 - edited for clarity, because I just landed up as a post on Subra’s blog!\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/to-subra/","section":"Personal","summary":"","title":"To Subra","type":"personal"},{"content":"You’ve seen the ad.\nNow listen to the whole shebang!\nAnd then go support Mikey’s genius, by buying his album!\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/tv-dinners/","section":"Personal","summary":"","title":"TV Dinners","type":"personal"},{"content":" – Subhash Chavan\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-subhash-chavan/","section":"Personal","summary":"","title":"Portraits – Subhash Chavan","type":"personal"},{"content":" “O setting sun! though the time has come,\nI still warble under you, if none else does, unmitigated adoration.”\n– Walt Whitman\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-a-malvan-sunset/","section":"Personal","summary":"","title":"Friday Photo – A Malvan Sunset","type":"personal"},{"content":" This year, I realized…\nMemento Mori! I’m not superhuman. I’m lucky, nay blessed to be alive. Some people change… some don’t. I have to learn to live with that. Being debt free is an awesomely freeing feeling. Meditation and prayer help. I was a fool to have given up on reading and music. “Bird on a Wire” is the soundtrack to my life. That whenever I’m down, all I need to get rid of sad, depressive thoughts is to look up. That’s it. It always works.\nCrane your neck and look up. Try it :) I have very few friends. But they’re awesome. I am luckier than most when it comes to my work \u0026amp; career. Vivek \u0026amp; Vinay, I cannot thank you guys enough. You guys both have been so influential and so supportive in my life, I cannot express my gratitude enough. You guys are my other family. I love you for all you do. I spent my childhood being scared of my parents; my teens, resenting them; and my twenties in rebellion and thinking that they were not so smart.\nTurns out, they were the best thing to have happened to me.\nI know that now.\nAnd I will spend the rest of my life in gratitude and love as far as they go.\nAnd finally… I should have married Abbygail, twelve years ago.Yes, I was wrong Abby, and I hope this public admission lays our one long standing argument to rest :) The past three years with you, have been bliss and to quote The Platters… “Only you, can make this world seem right!” Thank you, Lord! I could not ask for more.\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/on-36-trips-around-the-sun/","section":"Personal","summary":"","title":"On 36 Trips Around the Sun","type":"personal"},{"content":" The man is a mystic, a loner.\nI think he is content all by himself.\nHe likes sitting by himself, lost in his thoughts.\nHe used to love long walks at night gazing at the stars, when he was young and able to.\nHe loves listening to Jim Reeves or Patsy Cline crooning as he relaxes after a hard day at work.\nHis is a man of faith, of prayer.\nAnd yet, I have never let him be.\nHe was never by himself, having shouldered the reponsibility of his large number of siblings, his parents, his wife and his three kids.\nThere was no quiet for him, with our constant demands for attention.\nYet, if I am a good responsible human, who yearns for solitude, I owe it to him.\nHe could never really enjoy the stars, because he had three noisy kids who would walk with him at night, peppering with with a thousand questions.\nAnd yet, today if I enjoy the moon at night or point out the stars to my wife, I silently thank him.\nHe would get barely 10 minutes of listening in, before I would hog the tape deck and blare disco and pop.\nToday, it’s mostly his music that I listen to.\nI have had several crises of faith. But I see his devotion and think, if God is good enough for him, He’s good enough for me.\nHappy Birthday, Daddy! I love you.\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/the-mystic/","section":"Personal","summary":"","title":"The Mystic","type":"personal"},{"content":" ","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-pretty-eyed-lil-ms-daisy/","section":"Personal","summary":"","title":"Friday Photo – Pretty eyed, li’l Ms. Daisy","type":"personal"},{"content":" –Natanya \u0026amp; Rajesh\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-beauty-the-beast/","section":"Personal","summary":"","title":"Portraits – Beauty \u0026 the Beast","type":"personal"},{"content":" Fisherman on a boat …\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-fisherman-on-a-boat/","section":"Personal","summary":"","title":"Portraits – Fisherman on a Boat","type":"personal"},{"content":" A beast of burden it is not.\nNo yoke adorns its crown.\nMajestic, and stoic of stature;\nmaster of the open ground.\n– Gerard Geiger, (Bison)\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-bison/","section":"Personal","summary":"","title":"Friday Photo – Bison","type":"personal"},{"content":" – Sudhir “Casanova” Pandey\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-sudhir-pandey/","section":"Personal","summary":"","title":"Portraits – Sudhir Pandey","type":"personal"},{"content":" You have given me so much over the years and taught me so much, I cannot begin to say Thank You, enough :)\nThank you for believing in me, for pushing me, for all your pep talks, for all you’ve done for me and for being such an awesome guy :)\nI could go on and on about us, but this is one little moment I’ll never forget.\nIn the middle of one of your pep talks to a couple of us, you pointed to me and started with, “Main isko mera chota bhai maanta hoon…”\nThat is all I’ll ever ask of you :)\nHappy Birthday, Vinay!\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/happy-birthday-vinay/","section":"Personal","summary":"","title":"Happy Birthday Vinay!","type":"personal"},{"content":" – Abbygail Braganza\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-abbygail-2/","section":"Personal","summary":"","title":"Portraits – Abbygail - 2","type":"personal"},{"content":" Row your boat …\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-row-your-boat/","section":"Personal","summary":"","title":"Friday Photo – Row Your Boat!","type":"personal"},{"content":" Thank you, Abby!\n– Mario Jason Braganza\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-me/","section":"Personal","summary":"","title":"Portraits – Me!","type":"personal"},{"content":" Lenorado da Vinci’s letter to Ludovico Sforza.\nGoes to show, even the most talented polymath of all time had to hustle!\nRead the whole letter (there’s a legible transcript), over at Farnam Street\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/on-hustle/","section":"Personal","summary":"","title":"On Hustle","type":"personal"},{"content":"Lee Hutchinson, one of my fav authors over at Ars Technica, has written a darn good rant on the recent news, of Microsoft firing 15000 people.\nOne of Satya Nadella’s first acts as CEO was to write this piece of fuzzy, long winded shit.\nAnd the reason, that this strikes such a strong chord with with me, is because about a decade ago, [I was the recipient of this mail.](https://web.archive.org/web/20150517072011/www.theinquirer.net/inquirer/news/1031232/capellas-confident-takeover-will-succeed\nCan you see the ‘synergy’ between Nadella’s mail \u0026amp; Capellas’?\nWhile time and distance have given me perspective on the why, the how of the layoff, still rankles once in a while. Ever since my Compaq journey, I’ve been independant and I’ve been hired and fired by dozens of clients and none of it, bothered me the way CPQ did.\nLee, however managed to put a finger on it, and led me to some sort of catharsis…\nIn the end, the e-mail’s key ironic sentence is this one:\nEveryone can expect to be treated with the respect they deserve for their contributions to this company.\nThis ersatz expression of thanks could be cloned from every other layoff e-mail from every other company ever—it manages to be both patronizing and vaguely malevolent at the same time. What, precisely, does an employee \u0026ldquo;deserve\u0026rdquo; in this instance? There\u0026rsquo;s an argument to be made that employees deserve to be spoken to rather than spoken at, but down that path lies the potential for liability. Like an unreadable, thick EULA, companies almost invariably choose to use the kind of messaging in this e-mail rather than normal-person talk.\nPut another way, the offensive part here is not that Microsoft has to lay off 18,000 people—that kind of thing happens in business, and sometimes companies have to cut employees. That’s not the problem. The problem is that this is an inhumane, inhuman way to let those 18,000 people go.\nThis kind of insultingly indirect messaging plagues most large businesses—and it\u0026rsquo;s horrible no matter where it shows up. Companies should \u0026ldquo;align their synergies\u0026rdquo; with the humans they\u0026rsquo;re firing and do them the courtesy of not pissing on them and telling them it’s raining. There’s a decent way to let people go, and this ain’t it.\nAnd I realized, that was it. The sheer buck passing, time wasting, soul sucking, hopeless inhumanity of it all!\nThank you Lee. I can finally relax now :)\nRead Lee’s whole article here\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/on-ducking-fucking/","section":"Personal","summary":"","title":"On Ducking \u0026 Fucking","type":"personal"},{"content":"","date":"1 septembre 2018","externalUrl":null,"permalink":"/tags/opinion/","section":"Tags","summary":"","title":"Opinion","type":"tags"},{"content":" So afterwards you can go down\nBelieving\nThe words on my lips\nWhen I fall on my knees for you\nA flower in the rain.\n–Robert Rorabeck\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-a-flower-in-the-rain/","section":"Personal","summary":"","title":"Friday Photo – A Flower in The Rain","type":"personal"},{"content":" Madcaps!\n— Monica Malde \u0026amp; Zeimona Rodriguez\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-mon-zei/","section":"Personal","summary":"","title":"Portraits – Mon \u0026 Zei","type":"personal"},{"content":" # “Here’s your sweet lavender\nsixteen sprigs a penny\nthat you’ll find my ladies\nwill smell as sweet as any”\n— Lavender Sellers’ Cry, London England CA 1900\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-lavender/","section":"Personal","summary":"","title":"Friday Photo – Lavender","type":"personal"},{"content":" –Zeimona “Twinkly Eyes” Rodriguez\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-zeimona-rodriguez/","section":"Personal","summary":"","title":"Portraits – Zeimona Rodriguez","type":"personal"},{"content":" –Sunita “Chirpy Sparrow” Mehra\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-sunita-mehra/","section":"Personal","summary":"","title":"Portraits – Sunita Mehra","type":"personal"},{"content":" ","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-egg-plant/","section":"Personal","summary":"","title":"Friday Photo – Egg Plant?","type":"personal"},{"content":" Let freedom range!\n– Pussycat\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-let-freedom-range/","section":"Personal","summary":"","title":"Friday Photo – Let Freedom Range!","type":"personal"},{"content":" Shishya with his Guru…\n— Bhautik Sanghvi \u0026amp; Vijay Korgaonkar\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-bhautik-vijay/","section":"Personal","summary":"","title":"Portraits – Bhautik \u0026 Vijay","type":"personal"},{"content":" Foxy … doing his intense Amitabh Bachchan look :)\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-foxy/","section":"Personal","summary":"","title":"Friday Photo – Foxy","type":"personal"},{"content":"“Some books are to be tasted, others to be swallowed, and some few to be chewed and digested.”\n–Francis Bacon\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/on-books/","section":"Personal","summary":"","title":"On Books …","type":"personal"},{"content":" — Abbygail Braganza aka the most beautiful girl in the world :)\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-abbygail/","section":"Personal","summary":"","title":"Portraits – Abbygail","type":"personal"},{"content":" Lost in thought …\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-lost-in-thought/","section":"Personal","summary":"","title":"Friday Photo – Lost in thought","type":"personal"},{"content":" — Aruna Walhekar\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-aruna/","section":"Personal","summary":"","title":"Portraits – Aruna","type":"personal"},{"content":" There’s something to be said, when you miss a friend, daily even after donkey’s ears of being apart.\nThank you!\nfor picking me up, when I was down and out for making me laugh for all your advice; on everything ever for being best friend and stern mentor at the same time for being so awesome for just being you For teaching me\n“No distance of place or lapse of time can lessen the friendship of those who are thoroughly persuaded of each other’s worth.”\nI truly believe this now :)\nSo, wherever you are …\nHappy Birthday Mitu Ma!\nStay blessed!\nAnd I shall forever be grateful, for you!\nPS\nThat’s the only pic of you I have, warts \u0026amp; all, so deal with it :P\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/happy-birthday-mits/","section":"Personal","summary":"","title":"Happy Birthday Mits!","type":"personal"},{"content":" – Tushar Parab\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-tushar/","section":"Personal","summary":"","title":"Portraits – Tushar","type":"personal"},{"content":" The time will come\nwhen, with elation,\nyou will greet yourself arriving\nat your own door, in your own mirror,\nand each will smile at the other\u0026rsquo;s welcome,\nand say, sit here. Eat.\nYou will love again the stranger who was your self.\nGive wine. Give bread. Give back your heart\nto itself, to the stranger who has loved you\nall your life, whom you ignored\nfor another, who knows you by heart.\nTake down the love letters from the bookshelf,\nthe photographs, the desperate notes, peel your own image from the mirror.\nSit. Feast on your life.\n— Derek Walcott\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-tarkarli-beach-malvan-2/","section":"Personal","summary":"","title":"Friday Photo – Tarkarli Beach, Malvan - 2","type":"personal"},{"content":" — Bonika Chheda\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-bonika/","section":"Personal","summary":"","title":"Portraits – Bonika","type":"personal"},{"content":" Here’s piece of heaven!\nOh, how I long to go back …\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/friday-photo-tarkarli-beach-malvan/","section":"Personal","summary":"","title":"Friday Photo - Tarkarli Beach, Malvan","type":"personal"},{"content":" –Anil Bandekar\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/portraits-anil/","section":"Personal","summary":"","title":"Portraits – Anil","type":"personal"},{"content":"Finally\nI hope I’m back online for good I hope I can post more regularly I hope I’ve found a good, easy to use blogging engine I hope I don’t crash \u0026amp; burn and lose all my posts I have a personal home on the web :) Welcome to janusworx.com everyone!\n","date":"1 septembre 2018","externalUrl":null,"permalink":"/personal/welcome-2/","section":"Personal","summary":"","title":"Welcome","type":"personal"},{"content":" Guitar \u0026amp; reading music Statistics Programming Writing Latin, Spanish, French, German and Portuguese (in no particular order) ","date":"28 août 2018","externalUrl":null,"permalink":"/personal/things-that-interest-me-enough-to-want-to-learn/","section":"Personal","summary":"","title":"Things that interest me enough to want to learn","type":"personal"},{"content":" Getting better at Dvorak.\nNot as fast as I like, but I’m getting there. # ","date":"25 août 2018","externalUrl":null,"permalink":"/work/programming-day-59/","section":"Work","summary":"","title":"Programming, Day 59","type":"work"},{"content":"Doubt I’ll ever increase my typing speed by 50% ever again! 😂\n","date":"22 août 2018","externalUrl":null,"permalink":"/work/programming-day-58/","section":"Work","summary":"","title":"Programming, Day 58","type":"work"},{"content":"Back to work.\nStarting slow. Still sick.\nSo all I’m doing is switching to Dvorak and continuing daily progress.\nBEHOLD! My awesomness at Dvorak! 😂\n","date":"21 août 2018","externalUrl":null,"permalink":"/work/programming-day-57/","section":"Work","summary":"","title":"Programming, Day 57","type":"work"},{"content":" TL;DR? It’s awesome. Buy it right now.\nI was looking to dip my toes into some sort of structured help with the summer training and open source in general, because while I knew what I wanted, I just didn’t know how to go about it.\nAnd then I realised that one of our mentors had actually gone and written a whole book on the how to. So, I bought the paperback. The binding is really good, the paper really nice (unlike other tech books I’ve read) and the words large enough to read. I expect to get a lot of use, out of the book.\nAnd lot of use is right. While it’s a slim volume and a pretty quick read, the book is pretty dense when it comes to the wisdom it imparts.\nThe book has a simple (yet substantial to execute) premise. You’ve just tipped your toe into programming, or you’ve learnt a new language, or you’ve probably written a few programs or maybe you’re just brand new. You want to explore the vast thrilling world that is Open Source Software. What now?\n“i want 2 do project. tell me wat 2 do.” answers the “what now” in painstaking detail.\nFrom communication (Mailing List Guidelines) to the importance of focus (Attention to Detail) to working with mentors (the Project chapters) to the tools (Methodology \u0026amp; tools) to the importance of sharpening the saw (Reading …) and finally the importance of your environment (Sustenance), the book covers the entire gamut that a student or a novice programmer with open source would go through.\nShakthi writes like he speaks; pithily, concisely with the weight of his experience behind his words.\nThe book is chockfull of quotes (from the Lady Lovelace to Menaechmus to Taleb) that lend heft to the chapters. The references at the end of each chapter will probably keep me busy for the next few months.\nThe book’ll save you enormous amounts of time and heartache, in your journey, were you to heed its advice. It’s that good.\n","date":"15 août 2018","externalUrl":null,"permalink":"/reading/book-review-i-want-2-do-project-tell-me-wat-2-do/","section":"Reading","summary":"","title":"Book Review – i want 2 do project. tell me wat 2 do","type":"reading"},{"content":"Nothing’ll happen this week pretty much.\nDealing with some personal health issues.\n","date":"15 août 2018","externalUrl":null,"permalink":"/work/programming-day-56/","section":"Work","summary":"","title":"Programming, Day 56","type":"work"},{"content":"Updates:\nMuch better at gtypist lesson Q1 Also automated resizing and compressing my gtypist screenshots via an Automator folder action Done with Chapter 9 of the Lutz Book. I now know of tuples and strings ","date":"12 août 2018","externalUrl":null,"permalink":"/work/programming-day-55/","section":"Work","summary":"","title":"Programming, Day 55","type":"work"},{"content":"Nothing to do today.\nLazy weekend!\nUpdates:\nDaily use of Vim continues. Combining it (for the daily posts at least) with touch typing. Everything is terribly slow! It can only get better from here out :) Completed all of lesson Q1 in gtypist today again. Went faster this time. Confident enough to start Q2, Monday onwards. Learnt how to configure basic authentication on an Nginx site. Feel like I can manage my own stuff now. With this I think, I’ve done my 20 hours of Nginx too :) ","date":"11 août 2018","externalUrl":null,"permalink":"/work/programming-day-54/","section":"Work","summary":"","title":"Programming, Day 54","type":"work"},{"content":"Updates:\nDone with the whole first lesson in Gtypist today!\nAll 8 levels! Yippee! Finished another baby app, that tells you how many days to your birthday. Finished up, chapter 8 of the Lutz book. Dictionaries make so much more sense now. ","date":"10 août 2018","externalUrl":null,"permalink":"/work/programming-day-53/","section":"Work","summary":"","title":"Programming, Day 53","type":"work"},{"content":" I’m a big fan of Shane Parrish’s, The Knowledge Project.\nLast night, I finished Episode 35, with Robert Green.\nIf you have trouble figuring out how to read, or take notes, and synthesize what you learn, go listen to how a master does it. (Spoiler, it’s pretty low tech)\nTake what he teaches and adapt it digitally if you want.\nRobert taught it to my favorite Stoic author, Ryan Holiday who’s given a good description of it, here in his Medium post.\nAnd if you really want to get into the weeds, Ryan breaks it all down here, in along post replete with photos\nYou’ll find the shownotes with links here. Give it a listen.\nAll of this to say, Read more! Write more!\nAfter your first programming language, writing is the most important skill you’ll pick up as a programmer who wants to make a mark.\nYou have to write daily!\nThe way you train reflects the way you fight. People say I’m not going to train too hard, I’m going to do this in training, but when it’s time to fight I’m going to step up. There is no step up. You’re just going to do what you did every day.”\n— Georges St. Pierre\n","date":"9 août 2018","externalUrl":null,"permalink":"/personal/how-to-read-how-to-write-how-to-make-sense-of-life-with-robert-green/","section":"Personal","summary":"","title":"How to read, how to write, how to make sense of life, with Robert Green","type":"personal"},{"content":"Updates:\n15 mins each, of Gtypist \u0026amp; Vim done ","date":"9 août 2018","externalUrl":null,"permalink":"/work/programming-day-52/","section":"Work","summary":"","title":"Programming, Day 52","type":"work"},{"content":"Upgraded to Nikola v8, b3 today.\nAnd now, I realise the amount of stress, virtual environments like conda and pip, alleviate.\nAll I had to do was backup my blog, create a new nikola environment and run it against the blog folder.\nAnd while everything went well, I rested easy knowing that I could get everything back to the way it was :)\nUpdates:\nLast Vim update. Am fairly ok with using it as my daily text editor now. And the anki deck is almost committed to memory. Think my twenty hours are done today :) Done with 15 mins of gtypist. Getting slowly better. Done with watching 5 chapters of the Jumpstart course. Will practice them tomorrow. ","date":"8 août 2018","externalUrl":null,"permalink":"/work/programming-day-51/","section":"Work","summary":"","title":"Programming, Day 51","type":"work"},{"content":"It’s taken me 50 days to somehow figure out a way to study.\nI still feel like Sisyphus.\nBut I realise now, that I have the map. The land isn’t large and unknown as I feared earlier.\nI just need to keep my head down and take it step by step.\nUpdates:\n09.45 – gtypist improves slowly by the day. Getting better, yet stretching 14.15 – vim moves ahead well! ","date":"7 août 2018","externalUrl":null,"permalink":"/work/programming-day-50/","section":"Work","summary":"","title":"Programming, Day 50","type":"work"},{"content":"Back to office, still feel funny, so taking it easy.\nUpdates:\n15.00 – Done with all the new cards in the Vim Anki Deck. A few more days and I think I’ll drop Vim from the updates. While I’ll never be as fast or productive as other Vim speed demons, that’s not what I’m aiming for anyhoo. I just want to be as fast and error free as I was with DOS edit in the late 90s :P 15:30 – Slower but more accurate with gtypist today. Got half of Chapter 7 in the Lutz book done Watched the video for App 3 in the Jumpstart Python course ","date":"6 août 2018","externalUrl":null,"permalink":"/work/programming-day-49/","section":"Work","summary":"","title":"Programming, Day 49","type":"work"},{"content":"One way you realise you are making progress is when you realise you’re using the skills you learn elsewhere too.\nFinished my duolingo session today with my raw “asdf” touch typing skills. I’m slowly internalising touch typing.\nStil quite aways to go, though :)\nUpdates:\n13.00, Did Vim Anki and used touch typing there too 14.45, 15 mins of gtypist. Loving it now, despite the pain it causes :) 15.00, Beginning Lutz Chapter 4, NUmbers in Action Overloading and Polymorphism, Python itself overloads some opertaors such that they perform different actions depending on the type of buily-in objects being processed.\nFor example, the + operator performs addition when applied to numbers but concatenation when applied to sequence objects like strings and lists.\nThis property is usually called polymorphism 22.00, Chapter 6 of the Lutz book done. It’s a small one called A Dynamic Interlude, but it cleared so many huhs for me. ","date":"5 août 2018","externalUrl":null,"permalink":"/work/programming-day-48/","section":"Work","summary":"","title":"Programming, Day 48","type":"work"},{"content":"Late start to the day today.\nWas busy moving a table from mum’s place to mine.\nThis should help my back a lot!\nUpdates:\n7p, Getting better with gtypist. 8.15p, Done with Vim 8.20p, No Python Apps tonight 22.33, Just understood the difference between generic sequence operations and methods (my aha for the day!)\nYou can run generic sequence operation across the core object types. For e.g. I can run the len function on strings, or numbers or lists.\nMethods, are object specific. I can only run numeric methods on numbers and string methods on strings.\nThis probably is why you run generic operations in front of a type, like type(s) and methods as a .whatever like s.isupper.\nLutz shows me another quick rule of thumb; when you run the dir function on an object it should list the generic operations with underscores e.g. __len__ and methods just show up as plain attributes later in the listing e.g. swapcase 11.57p, Done with Chapter 4 of the Lutz book. Final big insight for future reference.\nPolymorphism means that the meaning of an operation (like a +) depends on the objects being operated upon. This turns out to be a key idea (perhaps the key idea) behind using Python well—not censtraining code to specific types makes that code automatically applicable to many types. ","date":"4 août 2018","externalUrl":null,"permalink":"/work/programming-day-47/","section":"Work","summary":"","title":"Programming, Day 47","type":"work"},{"content":"Am really enjoying practicing Vim and Python syntax with my Anki decks.\nWill start doing 10 mins of touch typing daily.\nMy young friends in the DGPLUG irc channel, all seem to have gained wings with their typing speeds.\nGiven up on the #100daysofcode for now.\nCurrent strategy is to …\nRead theory (Lutz) Practice programs Ask friends to give me more programs. Updates\n2p, Restarting the Lutz book. Got lost.\n2.15p, Just realised why I love Vim. Vim makes me want to write.\n3.20p, Also realised I’d bought myself a beginner Talk Python to Me, course a while back. I could use this for point 2 above.\n6.30p, Two baby apps done.\n10.45p, Did chapters 1 \u0026amp; 2 of the Lutz Book.\n11p, Did 10 minutes of Gtypist. As you can see below, there’s a lo–oong way to go :P\n","date":"3 août 2018","externalUrl":null,"permalink":"/work/programming-day-46/","section":"Work","summary":"","title":"Programming, Day 46","type":"work"},{"content":"I’ve been moaning and bitching the past couple of years about how smart I was in my teens and how I could learn any darn thing I set my mind to, then.\nMy school grades did not reflect it though.\nAnd these days, my consulting solutions have been top notch, and yet, I struggle to sharpen the saw.\nWhat gives?\nIt struck me today, as I finished watching some Python videos along my struggling Python journey, that I was understanding the concepts much better than I had in the past few months.\nAnd then it hit me, like a ton of bricks!\nThere are two aspects to learning effectively (for me) …\nI need to vary my reading and use a lot of sources. I need to practice lots to gain fluency. Lack of practice in my cocky youth led to me knowing much, but since I had no fluency, my grades suffered.\nAnd since I’m not making an effort to gain various points of view now, I struggle to make syntopical connections and my learning suffers.\nSo in essence, if I make a concerted effort (in a structured, disciplined way) to read more, cast my net a little wider and practice a lot, I should be able to whoop 18 year old Jason’s ass!\nWish me luck!\n","date":"2 août 2018","externalUrl":null,"permalink":"/work/learning-aha/","section":"Work","summary":"","title":"Learning Aha","type":"work"},{"content":"Linode mailed me complaining that average CPU usage was 90% over the past couple of hours!\nCulprit turned out to be the headless dropbox client I’d installed the day before.\nLessson learnt.\nSwitched to periodic rysnc via a cron job.\nNothing else done today.\nStill sick as a dog.\nWatched a couple of Python tutorials\n","date":"2 août 2018","externalUrl":null,"permalink":"/work/programming-day-45/","section":"Work","summary":"","title":"Programming, Day 45","type":"work"},{"content":"Learnt a new trick to drive home my Vim skills.\nI use the Anki Deck, and before I answer, I actually try the question out on a document to see if I got it right.\nSeems to be building muscle memory much faster than I could by just practicing or by just memorising. I love the immediate feedback loop!\nShould try this out with my math rote exercises too.\nCharted out a plan for the Lutz book. 2 Chapters or a 100 pages a day, whichever is less.\nThis should let me finish the book in 20 days. Trying to figure out a way to structurally practice tiny problems too.\nThat #100daysofcode research is still pending.\nWill hopefully do it tomorrow.\nHave a full day at work today.\n","date":"1 août 2018","externalUrl":null,"permalink":"/work/programming-day-44/","section":"Work","summary":"","title":"Programming, Day 44","type":"work"},{"content":"This post comes courtesy a dinky little cell conection and an iPad.\n","date":"31 juillet 2018","externalUrl":null,"permalink":"/personal/ipad-post/","section":"Personal","summary":"","title":"iPad Post!","type":"personal"},{"content":"Guess I’ll call it a day, learning Vim.\nDone about 16 hours1 of Vim reading and practice.\nThe rest of the 4 hours will come from daily Vim use now.\nHave begun to use it for darn near everything.\nCan move about with slight ease and copy \u0026amp; paste with lots of unease.\nPractice makes perfect, I suppose.\nPlan for the day, since I’m home sick?\nWell I’m a gonna swing for the fences and finish the Lutz book.\nWill update at night.\nP.S. Bonus todo\nGot to see if I can do a #100daysofcode run with Python.\nIf I can, I ought to start.\nUpdate (10.30) – Ok, huge overstimation. Lutz will take time.\nLooking at doing Lutz chapters as my #100daysofcode challenge.\nUpdate (11.00) - I like this. talking to myself.\nWonder if I should move Nikola and run it from the server itself, so I can ssh and use it from anywhere?\nUpdate (18.00) - Well, the day was a bust. Slept all day. Did nothing :)\nCommitting to learning something just for 20 hours to get good enough is easily the best thing I’ve learnt this year!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-43/","section":"Work","summary":"","title":"Programming, Day 43","type":"work"},{"content":"Plan:\nStart doing 20 hours of VIM. Finish another Lutz chapter. Will update progress by days’ end.\nUpdates:\n2pm. Got myself a VIM Anki deck.\n10pm.\nSadly no Lutz today. Practiced Vim all day. Finished Painless Vim. Changed my theme. Recomposed this post in Vim Changed my terminal editor from code to vim, so that all new posts will now be “Vim Powered!” ","date":"28 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-42/","section":"Work","summary":"","title":"Programming, Day 42","type":"work"},{"content":"Slow day. Didn’t do anything.\nOnly finished one chapter from Lutz.\n","date":"27 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-41/","section":"Work","summary":"","title":"Programming, Day 41","type":"work"},{"content":"It’s been 40 days and somehow I don’t feel like I’ve come all that far.\nYet, I know the only way I can make progress is by taking small steps.\nTwo more chapters done from the Lutz book. Boy, is he thorough!\nWill be reading about String Fundamentals today.\nAlso, ran across this inspirational post yesterday.\nThis along with Kushal’s (always generous) advice1 that I should start tinkering with stuff, makes me wonder if I should also do the #100DaysOfCode challenge, with Python.\nAfter all, it seems to have done the trick for my writing.\nI no longer have writers block :)\nWill see if it is doable.\nÀ bientôt!\nOne of the most altruistic souls I know after my father \u0026amp; VK.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"26 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-40/","section":"Work","summary":"","title":"Programming, Day 40","type":"work"},{"content":" Made a list of every operator in Python 3 I have learnt in the past month (from LP3THW) and put them into an Anki deck, so that I can keep learning them at intervals.\nIf you want it, it’s here.\n","date":"25 juillet 2018","externalUrl":null,"permalink":"/work/ankideck/","section":"Work","summary":"","title":"Revising Python keywords and operators","type":"work"},{"content":"![Me holding Mark Lutz’s monstrous Learning Python Book](/images/2018/IMG_1040.jpg) Alright, speed reading Lutz is a little bit of an over statement :P But four chapters done and working towards finishing it. Love the comprehensive treatment of Python. Would love to see an update to the book, since Mark’s such a wonderful teacher, but that [doesn’t seem likely][1]. Mark does religiously update [here though][2]. This will always serve as an excellent foundational resource. Would have loved to learn from Mark in person. The book is a close second! ","date":"25 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-39/","section":"Work","summary":"","title":"Programming, Day 39","type":"work"},{"content":" Speed read the PYM book. Kushal covers a vast subject in a really compressed, yet concise way. Next up to speed read, Lutz’s Learning Python. Started using Vim as my primary editor. Trying to get fluent. ","date":"24 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-38/","section":"Work","summary":"","title":"Programming, Day 38","type":"work"},{"content":"Two days off, two days watching Python videos\n","date":"23 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-34-35-36-37/","section":"Work","summary":"","title":"Programming, Day 34, 35, 36, \u0026 37","type":"work"},{"content":"Watched Python videos\n","date":"19 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-32-33/","section":"Work","summary":"","title":"Programming, Day 32 \u0026 33","type":"work"},{"content":" Got back on the Python horse. Using the PYM book to learn along, in the DGPLUG Summer Training. Installed MU. Hanging on for dear life and trying to follow along. ","date":"17 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-31/","section":"Work","summary":"","title":"Programming, Day 31","type":"work"},{"content":"I finally got tired of rebuilding my servers from scratch everytime.\nIt hadn’t troubled me enough to do something about it, until recently.\nI got myself a pc to do linux development on and I keep nuking the os and reinstalling.\nRebuilding it over and over was exciting in the beginning and then it sudddenly began to grate on my nerves.\nSo I decided to put in my twenty hours after my break and learn Ansible.\nWhat it is at its heart, is a recording \u0026 playback engine for setting up computers. You record the steps you usually do, in a text file, using a language called YAML on your mac or pc or what have you. And then you playback those actions on your server or target pc. Ansible gives you primitives, the basic building blocks, called modules to do just about anything you wish. In my case,\nI setup a barebones server running Bionic Beaver and configured it for ssh access Everything from then on, was controlled by the YAML playbook I was building step by step I updated the machine I configured three users I setup UFW \u0026amp; Fail2Ban NGINX was next I configured my 4 little play subdomains And finally configured Letsencrypt and enabled SSL And that’s about all I wanted from my basic machine so far.\nRunning the script start to finish takes about 30 mins and I have a machine ready to go!\nDoing all that by hand is fraught with errors and takes me nearly half a day.\nEvery other task I need done now, I’ll start doing via Ansible.\nThere’s obviously lots more to learn. The playbook (my recording) started from nothing and has now grown to an unwieldy 200 odd lines.\nI can hive them off into other files and call them seperately.\nI can optimize what I’ve written, and make it portable, so that I can setup any server I wish, not just mine.\nBut all that is for later.\nI did this, so I could have a machine to trash and rebuild quickly.\nNow that I have one, Python, here I come.\nP.S.\nIt also gave me a small sense of how coding actually works.\nIt was slow steady progress.\nBuilding a bit, testing, iterating, tinkering and playing.\nAnd at the end of the day, I have something that I can call my own, something I built and something that makes my work easier.\nBy Jove, this is going to be fun!\n","date":"16 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-30-ansible/","section":"Work","summary":"","title":"Programming, Day 30, Ansible","type":"work"},{"content":"As you know, I’m struggling to learn programming. The break has done some good.\nI realised I’m overthinking this and I should just put my head down and do a little everyday.\nI realised the the basic concepts aren’t that many and I just need to get fluent with them.\nI just assumed that it was all so vast that I couldn’t wrapt my head around it.\nMaybe it is, but everything has a seed.\nAnd the seed it small.\nAndf it contains everything the mighty oak, would ever need to grow.\nBack in the saddle. Learning Ansible so that I do not have to keep doing things over and over on my box.\n","date":"14 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-29/","section":"Work","summary":"","title":"Programming, Day 29","type":"work"},{"content":"A big thank you to Farhaan Bukhsh, who’s been kind and generous enough to let me steal his work and his words\nDay 0\n“This is awesome! This is so awesome!”, these were was my reactions as I boarded my first flight to Delhi.\nI was having trouble finding proper accommodation.\nKushal, Sayan and Chandan helped me a lot there.\nI finally got the honour of bunking with Sayan, Subho and Rtnpro. This made for an unforgettable experience!\nI landed and directly went to JNU convention center. I met the whole Red Hat intern gang. It was so much fun meeting them all.\nI had proposed Pagure for the Dev Sprints and I roped in Vivek as collaborator and partner in crime.\nImagine my metal agony and tension when the sprint started and there was no sign of Vivek or Saptak. Saptak is a FOSSASIA contributor and Vivek contributes to Pagure with me.\nFinally it was my turn to talk about Pagure on stage. It was all the things I feared. It was nerve wrackingly terrifying.\nAnd yet … it was beautiful!\nThe experience and the energy gave me a new high and made me confident.\nWe got a lot of young and new contributors, and we tried to guide them and make them send at least one PR. One of them persisted and made actually made a PR which got readily merged.\nI met lots of other contributors and mentors!\nEverything sounded fun! Each and every project was simply amazing.\nI wished I could contribute to and help all of them.\nWe also met Paul, who writes code for PyCharm, and had an animated discussion over Vim v/s PyCharm.\nFinally the day ended with us, (Vivek, Sayan, Subho, Saptak and me) going out to dinner. I bunked with Sayan and Subho and we hacked all night long. I was configuring my Weechat and was trying all the plugins available and trust me there are a lot of them.\nDay 1\nI was a session chair in one of the lecture rooms and it was crazy!\nFrom learning to write firmware for a drone, to using generators to write multi-threaded programs to working with the salt stack, it was a rich varied, mind bending experience\nThe food was really good but the line for food was “pythonic!”\nThere were a lot of stalls put up and I went to all of them chatted with the folks manning the stalls. My favorite one was PyCharm because Paul promised me to teach me some neat tricks.\nThe Pyladies booth was very informative and were responsible for making attendees aware about certain social issues and about getting women in tech.\nWe had two keynotes by Baishampayan Ghose and Van Lindberg. Both of the keynotes were so varied, yet so amazing, they made me look at technology from a different view point altogether.\nOne really cool part of such a conference is the Open Spaces and Lightning talks. I attended a few and I found them enthralling. I was so eagerly waiting for DGPLUG’s famous staircase meeting. I met Kushal’s mentor, Sartaj and he gave us deep insights into the whats and whys and wherefores of the importance of contributing to open source. My big takeaway from his time with us, was that even if one\u0026rsquo;s code is not used by anyone, they should still be writing code for the love of it.\nAfter this we went out for DGPLUG/Volunteers dinner at BBQ Nation. It was quite an eventful evening ;)\nDay 2 The last day of conference, I remember having thoughts about how a programming language translates into philosophy and how that philosophy unites a diverse nation like India.\nWhile that feeling of inclusivity was amazing, there was also a touch of sadness, the melancholy of parting from friends who meet just once a year.\nI could actually now relate all IRC nicks with their faces. It brings a lot more to the table. It made them all relatable, more … human.\nAnd at last we all returned to the humdrum of our normal lives with a promise to meet again. I still wonder at how technology creates camaraderie between people from all nooks and corners of life. At how it relates a school teacher to a product engineer. It makes me feel that Python is more than just a programming language; it’s a unique medium that unites people and gives them power to make things right.\nWith this joyful thought fhackdroid signs out!\nHappy Hacking!\n","date":"11 juillet 2018","externalUrl":null,"permalink":"/work/pycon-india-2016-farhaan-bukhsh/","section":"Work","summary":"","title":"PyCon India 2016 (Farhaan Bukhsh)","type":"work"},{"content":" Learnt about RST markup last night. And if you’ve forgotten what markup is, read this.\nEasy to learn, easy to use. Feels like a superset of Markdown, which I’m using to write this note. A fitting analogy, methinks, would be a supercharged text editor vs an IDE.\nFirst doubt I had was, where’d I use it? Markdown’s already pretty handy. And then I realised, I should use the right tool for the right job. While Markdown’s pretty nifty at writing, there’d be times where I’d need to go beyond what it can do.\nThe first thing that came to mind, was documentation for software projects, which I help out with, quite a bit now. That’d require a more fully featured, pretty formalised way of writing Markdown, if lots of people, using lots of different systems were to use it. So, a better idea’d be to let Markdown be Markdown, and use something else, better suited.\nAnd that’s where RST comes in. Formal, Featured, Extensible, Easy.\nHere’s a quickstart primer. And I found this dingus to practice with. Pretty handy.\n","date":"9 juillet 2018","externalUrl":null,"permalink":"/work/on-rst/","section":"Work","summary":"","title":"On RST","type":"work"},{"content":" This is a rewrite of a young budding blogger friend’s post.\nMainly to give him something to reach for.\nAlso, testing live previews in Nikola. # It’s witching hour as I write this.\nI’m done with my day and I thought, for once, let me just jot down and reflect on my day.\nIt’s very common amongst us students to spend our whole day working on this and that and feel like we’re doing really well and are very busy and then somehow find that the whole day was fruitless and yielded nothing.\nI’m obviously no exception.\nWhich is why … this post.\nI hope that if I write about what I’m doing (and continue to write daily), I might have a measure of progress, of success.\nHere’s my day (not counting my workout hours)\nSQL: I am having a really nice experience with “SQL in 14 days.”\nI am understanding lots as I go through the chapters.Even better, I maintained a 12 day streak; today was the 13th day. I learned about embedded sql, and to implement that, I learned about Transact SQL.\nThis was pretty good but i am not quite satisfied by this and the only reason I can come up with for that i can think of is, I didn’t implement my work in a project.\nLinux: A good day for my linux learning. I’ve almost completed the “Linux for You and Me” guide by Kushal Das. Only about a chapter and a half remains. I’ll probably be done be done by day’s end tomorrow.\nI learned many commands and concepts about Linux, like the “ps aux” command, the “jobs” command, and “top”, processes, systemd, init, and so much more. I’ve learned how to check for running processes in the system, that the initial process in the system has pid 1; these and many more interesting things helped me go deeper and learn more about my own system.\nI always implement commands which show up in the guide, so this part leaves me pretty thrilled.\nMachine Learning: I started about six weeks ago. I am pursuing Andrew Ng’s course on the Coursera platform. I find this technology very interesting. I am now on my sixth week and my mentor tells me, we’ve completed the basics of Machine learning in the week four, which means we are now moving forward to talk about the real world implementation of machine learning.\nAlso yay! I learned about spam classifiers today. It was a nice topic to learn and implement.\nI want to do a minor project on machine learning now, which will help me understand things practically. Until then “I am not going to be satisfied”.\ndgplug: Today we had a review session in the training and it was nice to see people being so involved in the sessions. It shows me that people are now getting the hang of things and learning what they are taught and the guides they are referenced. The questions they asked were really good, but one thing I noted to myself, was that I didn’t asked a single question. Perhaps I had no queries or i don’t know what I don’t know, but I think, attending the session is also atleast as valuable as asking questions, as I read all the queries and their solutions in the logs and I learn lots much from that.\nAlso, I am waiting eagerly for Sayan’s next session on Git. The first one was amazing!\nDocumentary: Like we were told to, I watched the documentary , “The Internet’s Own Boy.” It was a touching, and moving documentary about Aaron Swartz, showcasing his brilliance and enthusiasm for the Internet and its opennness and how he fought against the illegal things the government was doing. It also showed about the methods government used to hide their Black Ops and how they annoy and and threaten and even remove someone who comes in their way of doing what they want.\nRandom Things: My system hung for quite sometime, so i “furiously” pressed so many keys with the Fn key(I am glad, I didn’t kicked it in with my foot as my type of nerd footballers do!). When the system still didn’t work, i mashed the power button (I didn’t want to do that, as it reset my uptime which had barely reached 5 days, but sadly, I was left with no other option). When i restarted the system, it was fine but the WiFi was didn’t start. I searched for solutions on google and I learned more commands, which were “rfkill list”, “rfkill unblock all”, “rfkill unblock ”. These were to switch off the soft-block and hard-block processes in the system.\nI think sometimes even a hung system can teach you so many things :). By the way, my problem was not solved by these commands, since actually when i kicked all those keys with the Fn key, I also smashed the F2 key which is the manual WiFi switch on board.\nThings on My Mind: I want to contribute to the website of a newly started community which i am a member of, but i have no idea of how things work and how to do that. This is a really serious issue for me and i need to resolve it as fast as i can.\nAnd in meantime, I also watched an old episode of Agents of SHIELD.\nI think I’ve written my heart out.\nSeems like it would be good to stop here.\nThank you, and have a nice day!\nP.S.\nOn reflection, I realise that I am happiest when I am implementing things out in the real world, with real work, in real projects.\nI need to think long and hard about ways in which I can do that.\n","date":"8 juillet 2018","externalUrl":null,"permalink":"/personal/end-of-day-review/","section":"Personal","summary":"","title":"End of Day Review","type":"personal"},{"content":"Crashed and burned a bit.\nSo on a weeks break.\nBe back.\nPython on the backburner for now. Ansible first.\n","date":"2 juillet 2018","externalUrl":null,"permalink":"/work/programming-day-28/","section":"Work","summary":"","title":"Programming, Day 28","type":"work"},{"content":"Busy day.\nCouldn’t do much.\nHad a ton of fun, talking writing and blogging, over at DGPLUG though :)\nP.S.\nAlso figured out what a reverse proxy is, how to terminate an ssl connection at NGINX for the proxy and how to add a subdomain to a Let’s Encrypt certificate.\n","date":"30 juin 2018","externalUrl":null,"permalink":"/work/programming-day-27/","section":"Work","summary":"","title":"Programming, Day 27","type":"work"},{"content":"Setup a couple of personal nginx sites for practice. Will see if I can do something more with them soon.\n","date":"29 juin 2018","externalUrl":null,"permalink":"/work/programming-day-25-26/","section":"Work","summary":"","title":"Programming, Day 25 \u0026 26","type":"work"},{"content":"Alright, Regex done.\nPython, here I come!\n","date":"26 juin 2018","externalUrl":null,"permalink":"/work/programming-day-24/","section":"Work","summary":"","title":"Programming, Day 24","type":"work"},{"content":"Done learning Regex. Practice for a few hours tomorrow to be good enough.\n","date":"25 juin 2018","externalUrl":null,"permalink":"/work/programming-day-23/","section":"Work","summary":"","title":"Programming, Day 23","type":"work"},{"content":"\u0026ndash;\u0026gt;\nFigured out NGINX syntax.\nWhile no means an expert now, I can at least make sense of what’s written and slowly write my own blocks.\nWhich leads me to a bit of yak shaving.\nIf I need any flexibility, NGINX defaults to using regular expressions.\nSo, that’s the next step for a few days.\n","date":"24 juin 2018","externalUrl":null,"permalink":"/work/programming-day-21-22/","section":"Work","summary":"","title":"Programming, Day 21 \u0026 22","type":"work"},{"content":"One of the assignments in the DGPLUG summer training is to watch “The Internet’s Own Boy”.\nI keep telling the youth in the channel, I lived through Aaron Swartz’s life and followed him throughout.\nAnd then I began to wonder how I did it.\nI’ve never followed him personally; not his blog, or any mailing list.\nEarly on, I only knew him, through Google and Dave Winer \u0026amp; John Gruber’s posts.\nAnd then it struck me today.\nAaron’s Pinboard profile!\nGoing all the way back to late 2004 (I don’t know when he imported it all), it’s a goldmine of information into how Aaron’s mind ticked. What he liked, the political discourse that influenced him, movies and books that appealed to him, people that he followed.\nIt’s all there.\nI think I actually stumbled on to Maciej via Aaron and then followed him too, as he started Pinboard and went on his way to build his Bookmark Empire.\nAnd in the early halcyon days of whom to follow, whom to read, I binge read Aaron’s profile in 2009-10 and then kept binging again on and off through the years.\nAnd that’s how I know Aaron.\nGo read. It’s a wonderful complement to the video. ","date":"22 juin 2018","externalUrl":null,"permalink":"/work/aaron-swartzs-pinboard-profile/","section":"Work","summary":"","title":"Aaron Swartz’s Pinboard Profile","type":"work"},{"content":"","date":"22 juin 2018","externalUrl":null,"permalink":"/tags/pinboard/","section":"Tags","summary":"","title":"Pinboard","type":"tags"},{"content":"Redid the linux pc.\nJust because.\n","date":"22 juin 2018","externalUrl":null,"permalink":"/work/programming-day-20/","section":"Work","summary":"","title":"Programming, Day 20","type":"work"},{"content":"Sick yesterday. So read lots of NGINX articles on the web.\nFeel like I need to be conversant with its directives, considering all the web server slinging I’ve been doing\n","date":"21 juin 2018","externalUrl":null,"permalink":"/work/programming-day-19/","section":"Work","summary":"","title":"Programming, Day 19","type":"work"},{"content":"Moved the home PC to Bionic Beaver.\nSet it up so I can ssh into it from outside.\nI’m so happy, I now have a powerful machine to actually process work on, instead of my dinky little iPad.\n","date":"20 juin 2018","externalUrl":null,"permalink":"/work/programming-day-18/","section":"Work","summary":"","title":"Programming, Day 18","type":"work"},{"content":"Brushing up old Python for an hour\n","date":"19 juin 2018","externalUrl":null,"permalink":"/work/programming-day-17/","section":"Work","summary":"","title":"Programming, Day 17","type":"work"},{"content":"Didn’t do much.\nHelped Kushal moderate the first day of the DGPLUG summer training, though.\n","date":"18 juin 2018","externalUrl":null,"permalink":"/work/programming-day-16/","section":"Work","summary":"","title":"Programming, Day 16","type":"work"},{"content":"If you haven’t subscribed to Seth Godin’s podcast already, well then what on earth are you doing? I’d written about it here on the home blog and you can go subscribe here.\nThis episode (Season 2, Episode 1) on blogging is very important to me. I think it’s a distillation of all of Seth’s thoughts about writing and blogging in a crisp, crackling 20 minute episode.\nI wanted this for permanant reference, so I thought, I’d transcribe it for myself, and then I thought, well, if it helps me, it’ll surely help others.\nSo here you go.\nIt’s all Seth below …\nP.S. Typos and errors, omissions and emphases, entirely mine.\nAt the end of May, 2018, I moved my blog.\nI moved it to a new platform.\nThis is a little bit like moving to a new house, except it takes longer, it’s more emotional, and it’s a lot more expensive.\nHey, it’s Seth. And this, is Akimbo.\nMoving my blog is a metaphor for a lot of things; about being found, about how ideas spread, and about the passage of time, in a fast moving world where the culture is driven by the Internet, and the Internet … is driven by the culture.\nThe last time I moved my blog, was 16 years ago, when George W Bush was president, when Alicia Keys had her debut album and when the bestseller list had names on it, like James Patterson and Stephen King.\nSo some things change; some things … not so much.\nBefore I had my blog on Typepad, I used to deliver it by email and I’d been doing that since the 1990s.\nWhat I discovered then, what I wrote a book about, is the simple idea that:\nAnticipated, personal and relevant messages are more likely to resonate with people, than spam.\nDay by day, week by week, I built up a list of people, who wanted to hear from me, who wanted to get an email newsletter from me, back in the day, when newsletters actually had stamps on them.\nI understood, from seeing the work of Esther Dyson that an effective newsletter could completely change the game.\nThe goal isn’t to reach a lot of people, the goal is to reach the right people, and to reach them in a way, where they are glad you showed up.\nAnticipated, personal and relevant, means, that they would miss you if you didn’t show up; that’s my definition of permission.\nEarning the privilege … you can’t take it, it’s not a right; there’s no such thing as free speech—when we’re not talking about the government. This is earned speech.\nShowing up with a message that people want to get, drip by drip, day after day.\nAt the time, my emails didn’t come out everyday; that would have overwhelmed most people in the information starved 1990s, atleast compared to today.\nWhen I began it was twenty people, getting a newsletter about the struggling entrepreneur they knew.\nThen it was twenty-five.\nThen it was forty.\nThen, it was a hundred.\nThis led to my second big insight:\nIdeas that spread, win.\nIn the late 90s this magazine showed up, Fast Company.\nI decided, Fast Company was the greatest magazine ever published.\nI also decided that my life dream, was to be a columnist, for Fast Company magazine.\nI figured I had something to say, and I figured that was the place to say it.\nI sent a note to Bill and Alan, the founders, the editors and I told them, I wanted to write a column for them. I offered to write it for free. Alan wrote back a really nice note saying, “We’d love to, except, we don’t run columns.”\nWell that didn’t deter me, so I started writing a column for Fast Company, even though they didn’t have columns.\nEvery week, I sent Alan \u0026amp; Bill, a new column and by the time, I got to, I guess, the eighth or ninth week, their ad sales had started to go up and they realised they needed more editorial to sit next to all of those ads. So they said, “Sure, Seth. If you want to write for us, if you want to write thousands and thousands of words for us, for free, we’d be delighted to run your column.”\nI was thrilled. I made a decision then and there, that the goal of the column was to write some thing that people would xerox, in an old fashioned Xerox machine and put one in the slot of every person in the mailroom, in the old fashioned mailroom, the old fashioned slot, the whole idea that there was an office to begin with. So instead of people forwarding it by email, (which was unheard of), people were actually copying a column and putting it in other people’s mailboxes.\nIdeas that spread, win.\nMonth after month, my column grew in its impact. Fast Company grew, in its impact. And that lesson has not been forgotten. That what we can do, is serve a small group of people, with an idea that they want to share.\nWhy do they want to share it?\nIn case of my Fast Company column, the reason was this:\nI was telling them something, they already believed, they already wanted to be true, they already wanted to share.\nMy job, was to write it in a way, that made it cogent and easy to share.\nAnd so they did. And if that resonated with some other people, they joined in.\nFew years later, I was at a conference. I met Joi Ito there. He was on the board of a company called Six Apart. I saw for for the very first time, what the Typepad platform looked like and I moved my blog to it, a few weeks later.\nHere’s the thing.\nGoogle changed everything.\nThey changed everything in a way that most people dont see or understand. Most people use Google to find things. They assume it is telepathetic. They assume, that all they have to do, is type in a few simple words, and Google will comb through the entire Internet, and find them exactly what they’re loooking for. Most people never get past the first page of results on Google.\nWell it’s so popular, so many billions of searches are done, that everybody, who makes a thing, who has a service, who wants a job, who needs or wants to be found … wants to be found by Google.\nThere is a haystack, the biggest haystack in the history of the world, and each of us, each of us who wants to make a difference, who wants to be found—we’re needles.\nAnd so there’s a problem. There’s a challenge.\nAnd the challenge is, getting found for a generic term. Right, if I search for “John Jacob Jingleheimer Schmidt” and Google does its job right, I will actually find John. But most of the time, that’s not what people search for.\nMost of the time, people aren’t sure what they’re looking for and they want Google to find it for them. And so, in every town there are a thousand plumbers, with sharp elbows, hoping that they will be the first match for the word, plumber. And in every industry there are consultants or there are freelancers or there are companies, big or small, waiting to be found.\nAt the beginning, Google’s algorithm was pretty primitive. It wasn’t particularly difficult to cheat your way to the front of the line, to play in ways that the Google algorithm liked a lot and get more than your fair share of visits, from the hordes of people, searching, for the likes of you.\nAnd so we began this striation, this sedimentary approach; people at the top, people in the middle, people at the bottom, not because they are worthy, not because Google has done a site visit or the Department of Health has verified them, but instead, because they got good at getting found.\nThis is often called SEO, Search Engine Optimisation.\nIt’s a weird term. Optimising who? Optimising what?\nWell, the search engine is Google and what we are optimising is the way, our website looks and feels and is seen by the other people in the world, so that Google will pick us.\nAnd it’s led to all sorts of weird side effects. People twisting themselves into knots, not seeking to serve the customer, but seeking to serve some sort of mythical wizard, inside the box, that calls itself Google.\nSo what does this have to do with blogs?\nI’ll get to that in just a second.\nAt the beginning, the genius of Google’s algorithm was this—they didn’t rank pages, based on what was on the page. They ranked pages, based on what people who linked to the page were saying. So if a lot of people linked to a page, saying this is the best hotel in all of Ghana, then if you search for “best hotel in Ghana”, the Google algorithm should have found, the page they were all pointing to.\nIf you wanted to be found then, the idea of writing blog posts that were often shared and spread, made an awful lot of sense. Because instead of just one website that just sat there all day, everyday the same, you were writing a blog.\nA blog about this and a blog about that.\nSo for eight years, if you typed the word blog into Google, my blog, was the very first match.\nNow it’s important for me to state, that I didn’t write the blog so this would be true. I wrote the blog, because after I left Fast Company, I wanted that same experience.\nThe experience of people, xeroxing my posts and putting them into the office mailboxes. Of course, no xeroxing, just email.\nSo I was writing for the very reason, that people were linking. I was writing so that people, would spread the ideas.\nNo ads on my blog. Rare calls to action.\nThat’s not what it’s for.\nWhat it’s for, is to teach people, to show them something.\nBut, back to this challenge and how the culture changed.\nBecause what happened was, people who didn’t belong, for whatever reason you want to measure, number one in anything, decided that being number one was so valuable, they would spend their time and their money working to be number one as opposed to working to be better, working to serve people, better.\nAnd thus, SEO developed a bad reputation.\nThe idea was that for a thousand or five thousand or fifty thousand or a hundred thousand dollars, you could game the system, so that you would get more links than you would (quote) “deserved”, that you’re exposing many of the failings of the Google algorithm, because human beings weren’t actually looking at your site.\nOnce it became worth millions of dollars, tens of millions of dollars to be ranked number one in Google, an arms race began. That arms race brought in good operators, bad operators, people who were playing for the right reasons and people who weren’t.\nBut what we saw in all of the hotly contested areas, things like hotels or travel or things that we might buy, or services or obscure terms, were people who were subverting the very idea behind the search engine.\nIt was then, that Google made an interesting choice.\nI’m not sure what I would have done in their shoes.\nBut it was a two part choice. They didn’t really understand how the algorithm began to work, because it got too complicated. More than three thousand people, were hand tweaking, the way Google was scoring pages. So Google pretended,\na. They knew exactly how it worked and\nb. that no human beings were actually making these decisions. It was simply the algorithm. “Well it’s not our fault you moved down, it’s the algorithm”. “Oh, it’s not our fault, that this hate term is number one in results. It’s the algorithm.”\nAnd somehow, though all of this is nonsense, it also undermines their responsibity, because once they are the middleman, the monopoly on how peple find stuff, they do have a responsibilty to keep their promise and give the best possible results.\nBut we’re here to talk about the change that each of us can make, and I think the key insight is this\nYou cannot trust, that your needle is going to get found in the haystack.\nYou cannot trust that, any generic word, the word you seek to own, butcher shop, shoe store; pick whichever one you want, is going to end up with you on top.\nAnd if you’re not on top, if you’re number twenty, or number fifty or number hundred, you might as well be invisible.\nThe alternative, is to win when someone searches for you.\nSo, if you look for Seth, you’ll find me.\nIf you look for Seth Godin, you’ll definitely find me.\nIf you look for Newton Running Shoes, you’ll find the people that make Newton Running Shoes.\nSo the game goes from, “How do I persuade Google to find me, when someone is looking for the generic?” to “How do I persuade the public to look for the specific?”\nAnd so, as we enter this post Google age, where clearly there’s room for more than one winner for every noun, how do we have a chance to change the culture?\nAnd the answer is this.\nThe answer is,\nChange the people you engage with, so much, that they want to tell other people.\nHave them want to tell other people in the specific, not in the general.\nYou may have heard me talk about one of my favourite examples: The Poilâne Bakery in Paris.\nRun by Apollonia Poilâne, the daughter of the late Lionel.\nThis bakery is extraordinary. Lines out the door. A premium product enjoyed at most of the fine restautants in Paris.\nIf you search for bakery, you will not find it. Not easily.\nBut if you search for Poilane, there it is, right up top, where it belongs.\nSo that’s the mission.\nThe mission is to write things, create things, post things, engage with things … that people choose to share.\nTo earn the permission of people they share them with.\nThe permission to follow up, the permission to teach, the permission to engage,\nAnd then share some more, and then teach some more, and do it in a way that people will share it again.\nAnd then people will share it again.\nAnd then people will share it again.\nEach time, earning you more permission.\nBecause, trusting the middleman on the Internet; that’s a dangerous game.\nThat if you are building your content on Linkedin or building your content on Facebook, you’re sharecropping.\nThat you’re working for a landlord who does not care about you.\nThat has no contractual obligation to keep their word.\nThat at anytime they can say, “Oh! You know all those people you have permission to talk to? Your followers? your friends? We’re going to start charging you money to reach them. Wanna boost this post?” That’s a lousy deal.\nThat what we have to figure out how to do, is engage with a platform that has an obligation to us.\nThat was my relationship with Typepad.\nAnd I’m super grateful, that in the sixteen years I was on their platform, they kept their end of the bargain.\nI happily paid them, whatever it was, $20 a month, because that money was repaid to me again and again, by a third party that had my interests at heart, a site that was up almost all the time.\nIt worked. Because I was paying for it.\nI wasn’t the product.\nI was the customer.\nAnd my job, on that platform, was to be a teacher.\nMy job, on that platform, was to teach, was to make it easy for people to find me, if they were looking for me.\nNot looking for the generic, but looking for the specific.\nAnd then, to earn their attention and trust, and to keep a promise.\nI discovered that five to ten years ago, I was blogging three times a day.\nI was sort of insane. I don’t know what kind of caffeine I was drinking.\nI realised that my promise was out of hand.\nSo I made a specific promise.\nI said “Once a day. That’s it. I’m not going to overwhelm you. Once a day, I’ll be here.”\nAnd I’ve been there everyday, since then.\nPartly, because I have something to teach, partly because I have something to say, partly because I have something to share.\nBut also, because I made a promise.\nAnticpated, personal and relevant messages to people who want to get them.\nDrip by drip.\nDay by day.\nSo I’m grateful to all the people, who worked so hard, to help me build this new platform for my blog.\nBut waaaaay more important than that, I’m encouraging each one of you to have one.\nNot to have a blog to make money. Because you probably won’t.\nNot to have a blog because you’ll have millions and millions of readers. Because you probably won’t.\nBut to have a blog because of the discipline it gives you, to know, that you’re going to write something tomorrow, something that might not be read by many people, it doesn’t matter.\nIt’ll be read by you.\nAnd that if you can build that up, ten at a time, twenty at a time, a month at a time, day by day, you will begin to think more clearly.\nYou’ll make predictions.\nYou’ll make assertions.\nYou’ll make connections.\nAnd there, they will be, in type, for you to look at a month or a year later.\nThis practice, of sharing your ideas, to people who will then choose, or not choose to share them, helps us get out of our own head, because it’s no longer the narrative inside, it’s the narrative outside.\nThe narrative that you’ve typed up, that you’ve cared enough to share.\nSo SEO’s fine. If you win at SEO, Congratulations!\nI’ll send you a postcard, maybe a medal and a ribbon.\nIt’s great.\nSomeone needs to win at every single noun, anyone could search on.\nBut it might not be you. It probably won’t be you. The odds are against it being you.\nA twelve year old, probably should not grow up saying “I will not be happy, unless I am the champion of the world at this sport or that thing.”\nBecause the odds are too long.\nIt’s not worth betting your happiness on that.\nThat if we’re going to change the culture, we’re going to have to figure out how to bypass the generic Google search, and instead reach a few, the smallest viable audience, the group of people we seek to serve, to connect those people with each other and with our ideas in such a way that we become the specific, not the generic.\nBecause if you’re specific enough and generous enough and consistent enough, it’s worth the journey.\nThanks for tuning in to Akimbo.\nI hope that you will subscribe and tell your friends.\n","date":"17 juin 2018","externalUrl":null,"permalink":"/personal/seth-akimbo-blogging/","section":"Personal","summary":"","title":"A Transcript of Seth Godin’s Akimbo Episode on Blogging","type":"personal"},{"content":"","date":"17 juin 2018","externalUrl":null,"permalink":"/tags/daily-writing/","section":"Tags","summary":"","title":"Daily-Writing","type":"tags"},{"content":"Since I’ve been having so much trouble grasping the basic fundamentals of coding, I decided to learn from “children’s” books.\nLauren Ipsum has been lying in my library for a while now. Here’s the summary from the introductory pages,\nLauren, a clever girl lost in Userland, applies logic and problem solving skills to find her way home, encountering along the way such concepts as timing attacks, algorithm design, and the traveling salesman problem.\nAnd that somehow gave me the map to this huge unknown land of coding, programming, computer science, what have you.\nBreaking everything down to first principles in delightfully simple language, it’s wonderful. Almost like a Zen koan, with levels.\nLearning aside, the story’s so engaging that on my first run, I just read through to know whether Lauren finds her way home (spoiler: she does :P)\nAs you read through a couple of times, you get the principles and then you get several ahas when you see them in the real world.\nThe last chapter explains all the references and characters in the book. I got only about half of them.\nMy main takeaway from the book was to “Make your own map.” Computers only make sense when they do what you need done. Also use the five whys to really know what you want, so that you can then figure out a solution that might not be what everyone does or uses, but something that uniquely solves your problems :)\nCase in point, i was looking for a Visual Studio Code extension that helped me create reference style links with Markdown. And for the life of me I could not find one.\nAnd then I did the five whys.\nAnd realised that all I needed was something that took my selected text and wrapped them in square brackets. That was my pain point and that was all I needed solved. Realising that, made me look for something accordingly and it led me to Embrace.\nEt voila! No more pain :)\nLauren Ipsum is awesomely funny … or funnily awesome …\nEither way it’s a must read :)\n","date":"16 juin 2018","externalUrl":null,"permalink":"/work/programming-day-14-lauren-ipsum/","section":"Work","summary":"","title":"Programming, Day 14 — Lauren Ipsum","type":"work"},{"content":"I thought Nikola could not schedule my drafts for me, until I realised it actually intuitively did.\n(I just had to put in a publish date in the future)\nThis was the only feature I miss from Ghost. I like to write in batches and queue them up.\nThis obviously is a letter to future me. (from past me)\nIf all works well, I’ll be a happy camper.\nalso I love how nikola new_post -f markdown --tags=\u0026quot;daily-programming\u0026quot; -t \u0026quot;Programming, Day \u0026quot; -e lets me just type the title, launches my editor and has everything ready. It always makes me giggle with glee :)\n","date":"15 juin 2018","externalUrl":null,"permalink":"/work/programming-day-13/","section":"Work","summary":"","title":"Programming, Day 13","type":"work"},{"content":"Experimental micro blog post. There. The day’s work is done.\n","date":"14 juin 2018","externalUrl":null,"permalink":"/work/programming-day-12/","section":"Work","summary":"","title":"Programming, Day 12","type":"work"},{"content":"Imported the rest of the posts I wanted into the blog. Hopefully all done now.\nWill write and focus on programming and writing now.\nWill figure a few modifications to the theme, once I grow more bolder\n","date":"13 juin 2018","externalUrl":null,"permalink":"/work/programming-day-11/","section":"Work","summary":"","title":"Programming, Day 11","type":"work"},{"content":"Setting up a virtual machine for nikola imports today.\n","date":"12 juin 2018","externalUrl":null,"permalink":"/work/programming-day-10/","section":"Work","summary":"","title":"Programming, Day 10","type":"work"},{"content":"Busy Day. Nothing done.\n","date":"11 juin 2018","externalUrl":null,"permalink":"/work/programming-day-9/","section":"Work","summary":"","title":"Programming, Day 9","type":"work"},{"content":"Holiday!\n","date":"10 juin 2018","externalUrl":null,"permalink":"/work/programming-day-8/","section":"Work","summary":"","title":"Programming, Day 8","type":"work"},{"content":"Looked up tmux today.\nNeed to spend time on it in the future.\n","date":"9 juin 2018","externalUrl":null,"permalink":"/work/programming-day-7/","section":"Work","summary":"","title":"Programming, Day 7","type":"work"},{"content":"Worked on getting conda environments working\n","date":"8 juin 2018","externalUrl":null,"permalink":"/work/programming-day-6/","section":"Work","summary":"","title":"Programming, Day 6","type":"work"},{"content":"Spent two hours, trying to change the position of my tags and get navigation working.\nNo dice.\nI’m starting to have fun though.\nEnjoying the process rather than looking at programming as drudgery.\nIt’s still a slog that makes no sense, but I’m getting comfortable with it.\n","date":"7 juin 2018","externalUrl":null,"permalink":"/work/programming-day-5/","section":"Work","summary":"","title":"Programming, Day 5","type":"work"},{"content":"Researching how to modify Lanyon, the theme that runs this blog.\nAlso while I switched to PT Serif completetely, I think I like the Source Sans Pro \u0026amp; PT Serif combo on the newly refreshed Seth Godin blog.\n","date":"6 juin 2018","externalUrl":null,"permalink":"/work/programming-day-4/","section":"Work","summary":"","title":"Programming, Day 4","type":"work"},{"content":"","date":"5 juin 2018","externalUrl":null,"permalink":"/tags/osx/","section":"Tags","summary":"","title":"Osx","type":"tags"},{"content":"Problem:\nI wanted to launch Microsoft’s Visual Studio Code from the command line at will.\nWhat I did:\nLaunch VS Code Hit cmd-shift-p (⌘-⇧-P) Begin to type Shell … and choose and execute “Shell Command: Install \u0026lsquo;code\u0026rsquo; command in PATH” Launch Terminal and check to see if VS Code launches by typing the code command. Edit the .bash_profile file in the home folder and change the $EDITOR variable like so … # Setting Visual Studio Code as $EDITOR\nexport VISUAL=code\nexport EDITOR=\u0026quot;$VISUAL\u0026quot;\nAnd that should just about do it.\nRestart the terminal or source the bash_profile file for changes to take effect.\n","date":"5 juin 2018","externalUrl":null,"permalink":"/work/programming-day-3-vscode-command-line-osx/","section":"Work","summary":"","title":"Programming, Day 3, Setting up VS Code to launch from the Command Line in OS X","type":"work"},{"content":"Worked a little bit more on the blog yesterday. Nothing worked out though Maybe if this post, publishes, atleast one tiny bit might\n","date":"5 juin 2018","externalUrl":null,"permalink":"/work/programming-day-2/","section":"Work","summary":"","title":"Programming, Day 2","type":"work"},{"content":"Lost my May posts.\nSo I don’t know how many days I’ve lost.\nBut it’s been atleast three days of hectic work at building the blog.\nSo I’ll count them as day 1 and start over again!\n","date":"3 juin 2018","externalUrl":null,"permalink":"/work/programming-day-1/","section":"Work","summary":"","title":"Programming, Day 1","type":"work"},{"content":"Nikola is wonderful.\n","date":"1 juin 2018","externalUrl":null,"permalink":"/personal/happy-with-the-new-shiny/","section":"Personal","summary":"","title":"Happy with the new shiny!","type":"personal"},{"content":"This post is for my younger colleagues on the student planet.\nYes kids, this is a long post. Suck it up and read it over the weekend. This is important stuff.\nAnd please go, read this on the blog.\nIntroduction # In The Intelligent Investor, published in 1949, Benjamin Graham1 wrote:\nIn the old legend the wise men finally boiled down the history of mortal affairs into the single phrase, “This too will pass.”\nConfronted with a like challenge to distill the secret of sound investment into three words, we venture the motto;\nMARGIN OF SAFETY.\n… the function of the margin of safety is, in essence, that of rendering unnecessary an accurate estimate of the future.\n(emphasis mine)\nWhat does that mean to me?\nThat in order to do anything with my life, in any area, I should have enough to face the worst that I think, could happen to me.\nI’ll simplify it further.\nMargin is having enough room to breathe;\nand knowing what “enough” means in every sphere of life.\nIt has implications throughout life and across various societal disciplines even. Ben Graham’s quote above comes from the field of finance. What about engineering?\nConsider a highly-engineered jet engine part. If the part were to fail, the engine would also fail, perhaps at the worst possible moment—while in flight with passengers on board … We’ve designed the part for 10,000 hours of average flying time. That brings us to a central question: After how many hours of service do we replace this critical part? 9,999 hours? Why replace it any sooner than we have to? Why waste money?\nThe first problem is, we know nothing of the composition of the 10,000 hours any individual part has gone through. Were they 10,000 particularly tough hours, filled with turbulent skies? Was it all relatively smooth sailing?\nAnd, how confident are we, that the part will really last the full 10,000 hours? What if it had a slight flaw during manufacturing? What if we made an assumption about its reliability that was not conservative enough? What if the material degraded in bad weather to a degree we didn’t foresee?\nThe challenge is clear, and the implication obvious: we do not wait until the part has been in service for 9,999 hours. Perhaps at 7,000 hours, we seriously consider replacing the part, and we put a hard stop at 7,500 hours.\nThe difference between waiting until the last minute and replacing it comfortably early gives us a margin of safety. We leave ourselves a cushion. (Ever notice how your gas tank indicator goes on long before you’re really on empty? It’s the same idea.)\nGo read the whole post. It’s awesome.\nSo, Why Do We Need Margin? # To paraphrase Dr. Richard Swenson, who’s literally written the book on Margin (the book has a moral, Christian bent. Don’t let that bother you);\nProgress gives us more and more, which leads to stress, change, complexity, speed, intensity, and overload. which is bad, because all humans have physical, mental, emotional, and financial limits that are relatively fixed Thus progress is on a collision course with human limits and once we can’t take progress any more, we flame and burn out. On the unsaturated side of our limits, humans can be open and expansive. Cross them however, and the rules of life totally change. What would you think if this page had no margins? What would you think of me if I crammed the print top to bottom and side to side so that every blank space was filled up? The result would be aesthetically displeasing and chaotic.\nLike some of our lives!\nMarginless, according to Swenson, is being thirty minutes late to the doctors office because you were twenty minutes late getting out of the bank because you were ten minutes late dropping the kids off at school because the car ran out of fuel two klicks from the petrol pump and you forgot your wallet. Margin, on the other hand, is having breath left at the top of the staircase, money left at the end of the month, and sanity left at the end of adolescence.\nNo Margin, causes hyperstress and overload. (terms that to folks like us, need no definition)\nHere’s Dr. Swenson again,\nTo be healthy, we require margin in at least four areas:\nemotional energy, physical energy, time, and finances. Yet, right now for the most part we are emotional wrecks, stressed, alone, and so exhausted in spirit. Physically, we are overfed, underactive, and sleep-deprived. We have no time, at all. And when it comes to finances, our bank balances look as barren as the surface of Mars.\nWhat Can We Do about It? # Thank Pareto, grab the low hanging fruit and do the twenty percent of the work that’ll yield the most margin in your life.\nRemember, we live lives, full of intention now :)\nLet’s intentionally tackle each domain and see what we can do.\nEmotional:\nBond with your family Make time for friends Switch off the TV! … and your other screens Get a pet or go play with doggies in the park Pray, meditate. Physical:\nEat less, move more Walk, Run! Cut out sugar Drink water. Have the discipline (or build it up) to keep at it.\n(I didn’t have any and I’m paying the price!) Most importantly, get enough sleep. Time:\nYou’ll never “find time”. Be intentional. Make time! Learn to plan your day and your week. Plan your day with plenty of spaces in the middle Did you cut out FB? Twitter? TV? :P Learn to say No. No is a complete sentence. Financial:\nStop eating out! Learn to make do. The only debt you have should be your home. (and no more than 40% of income at that) Have 6 months living expenses in the bank. Spend way less than you make. (The bigger the buffer, the more chaos you can handle.) Be comfortable with charity and giving now, when it’s hard to do. Like Dave Ramsey says, “If you will live like no one else, later you can live and give like no one else.” And finally here’s James Clear, echoing Taleb Leave Room for the Unexpected!\nIf your life is designed only to handle the expected challenges, then it will fall apart as soon as something unexpected happens to you.\nAlways be stronger than you need to be.\nAlways leave room for the unexpected.\nThank you for reading. Here’s a puppy.\nThis is the bonus section\nWant to hear from an actual practitioner?\nSo what is the lesson?\nSave your current income, even as you build complementary skills like frugality, adaptability, and the ability to earn money in more than one way.\nThen you’ll be ready to retire much earlier, because the sum of your safety margins will be enough to make you feel comfortable taking the leap.\nAnd most importantly, stop worrying!\nThat’s Mr. Money Mustache (real name, Pete Adeney), software developer who retired at age 30! (watch the video)\nResources:\n(in the grand tradition of @mbuf feeding us well with knowledge)\nThe eponymous book on the topic, by Dr. Richard Swenson Shane Parrish - A Margin of Safety Shawn Blanc’s Margin Series Be Strong - James Clear MMM - Levels of Safety How to be Rich, Happy \u0026amp; Save the World! P.S. This post is part of the Life Outside Code series.\nvia http://amarginofsafety.com/about/\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 mai 2018","externalUrl":null,"permalink":"/personal/on-margin/","section":"Personal","summary":"","title":"On Margin","type":"personal"},{"content":"Note: This series and words of opinion are also aimed at the Student Planet.\nOK, I’ve changed my mind.\nBefore, I talk tactics, let me tell you something about intention.\nAll intention means to me is, “I, Decide!”\nI decide how to feel. I decide how to invest my money. I decide if I want to be fit or not. I decide whether to pursue that career or that degree. Or not. I decide whether I want to jump on the bed, every morning or not.\nAlso, not making a choice, not deciding, is a decision.\nAnd then, be willing to face the consequences of your decisions.\nLeo Babauta has a wonderful quote at the start of his post, Wake Up.\nA life lived of choice is a life of conscious action.\nA life lived of chance is a life of unconscious creation.\n– Neale Donald Walsch\nIn fact, that post, cuts the length of mine by half. Go read, Wake Up, right now.\nI’ll wait. Back? Good! So why do this? Because, time. Time is the most precious resource you have. And while you’re young and you feel like there’s lots of it left, fact is you don’t quite have as much as you think you do.\nIf I gave you a bottle of fine vintage port, and told you that was all you got for the rest of your life, wouldn’t you be really intentional with how you drank it and on what occasions? No matter what folks and friends said?\nHow much more so then should you be intentional with your time? And your life?\nYes, you cannot make all the decisions on your own.\nYour spouse, your parents, your family do have a say in the big decisions that involve them all.\nBut mostly, that is not the case. We’re lazy or unwilling to do the work. Daddy handles the money.\nMy wife / mother takes care of the house.\nGod will take care of us, if someone falls sick.\nAs Seth Godin says,\nSometimes, we willingly sacrifice our freedom because it creates an other, someone to blame. It gives us hard boundaries and eliminates potential choices. And mostly, it lets us off the hook, because someone else is driving the bus.\nIntention puts your life in perspective.\nI chose not to pursue career opportunities abroad (forgoing income), because I choose to stay near my parents. Family is more important to me.\nBut, I also chose not to learn about money, burying my head in the sand. That led not just to lost income, but crazy amounts of foolish debt. That set my career back by years. I couldn’t risk taking chances with my career, because I had dumb loans to pay.\nYou’re young. But you don’t have to be foolish. Take the time out to decide and be intentional about your life.\nHere’s Seth again,\nTrying to drive from the back of the bus might feel less risky, but it rarely leads to much agency, influence or control as to where the bus actually goes.\nCareful what you do with the keys.\nP.S. This post is part of the Life Outside Code series\n","date":"31 mai 2018","externalUrl":null,"permalink":"/personal/on-intention/","section":"Personal","summary":"","title":"On Intention","type":"personal"},{"content":"This post is squarely aimed at my younger colleagues on the student planet.\nWhile all of us will definitely benefit, this is for them.\nUpdate: The planet strips video embeds.\nSo, please read it on the blog to get the right flow.\nLinks to the videos also at end of post if you do not wish to leave the planet window\nMamata Venkat1 set out to be a doctor (her passion; or so she thought), started out as pre-med and got halfway through her freshman year (first year) of college before she realised medicine wasn’t for her. She went on to switch majors about four times before finally landing on international studies and eventually choosing public health.\nShe’d struggle with self-confidence, set high standards for herself and then be crushed when she failed to reach them. She felt like she wasn’t doing what she was supposed to be, with her life.\nDaily life was a blur, an unfocused haze. In her words …\nI would get to class and it’d be fine and then about halfway through class, I’d keep thinking about the video I watched that morning.\nAnd there’d be so much chaos coming around me, and in me because of my thoughts and all these distractions, that I’d come home and feel frustrated and let out that frustration of my family members.\nBecause I didn’t know what to do with it.\nI start my homework and feel frustrated because i wasn’t understanding the concepts …\nSo how did she turn it all around? What did she do?\nExactly, what I’m about to tell you to do, right now.\nTake a few quick, but deep breaths. (deeeeep … from your tummy)\nCount to 5.\nTake a few more deep ones. (Breathe. Really breathe.) Now, start counting your breaths.\nBreathe in (1)\nBreathe out (2)\nBreathe in (3)\nAre you thinking of food? or what to do next?\nJust come back to the breath.\nBreathe out (4)\nBreathe in (5)\nBreathe out (6)\nMind flitting somewhere?\nGently, back to the breath.\nBreathe in (7)\nBreathe out (8)\nBreathe in (9)\nBreathe out (10)\nThere you go.\nYou just meditated! So did Mamata.\nThis is all you do. This, in effect, is the practice.\nFocus on your breath.\nFocus only on your breath. Bring your mind back gently if your attention drifts. Stick with it daily. Increase your mental endurance slowly, a minute, two minutes, five minutes at a time, until you can do ten comfortably, twice a day.\nAndy Puddicombe has a marvelous video on the whys and the wherefores of meditation. Give it a look see, and I’ll meet you below the video.\nI’ve been reading [Tools of Titans][7], where Tim Ferriss distills knowledge \u0026 tactics from his various two–three hour long [podcast episodes with achievers][8]. The number one tool or life habit they use? – Meditation\nArnold Schwarzenegger, action star, meditates. Tony Robbins, self help guru par excellence, meditates. Chase Jarvis, ace photograpger, meditates. Ed Catmull, animation genius, President of Pixar, meditates. John Favreau, Monica’s boyfriend, Iron Man director, meditates. Heck, even Matt Mullenweg, founder of Wordpress, meditates. So I got you convinced? Are you raring to go? How do you meditate? Need help? The simplest thing to do, would be to get the Headspace or Calm apps and just use their free packs. Or do what Maria Popova does and just stick to one guided meditation daily.\nAnd what happened to Mamata? A look at her AngelList bio, speaks volumes.\nHere’s Mamata again\n… to me true success is being able to learn about myself more and more every single day with my meditation practice and using that and expressing it in any situation that I’m put in.\nThank you\nI leave you with Mamata, expressing her journey with meditation in her own words.\nI hope, this post inspires you to, too!\nAndy Puddicombe’s video. Mamata Venkat’s video. Most of Mamata’s details, I cribbed from her TED Talk.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"31 mai 2018","externalUrl":null,"permalink":"/personal/want-to-focus/","section":"Personal","summary":"","title":"Want to Focus? All It Takes Is 10 Mindful Minutes","type":"personal"},{"content":"Starting anew with Nikola. After publishing this, have to figure a way to switch to Markdown\n","date":"30 mai 2018","externalUrl":null,"permalink":"/work/first-post-on-the-new-static-blog/","section":"Work","summary":"","title":"First Post on the new Static Blog","type":"work"},{"content":"Or atleast my understanding of them.1\nIn Python, numbers are not really a single object type, but a category of similar types.2\nThey include\nInteger and Floating point objects Complex numbers Decimal: Fixed Precision Objects Fractions Sets Booleans Built-in functions (math, random) Post subject to revision as my understanding changes over time\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLutz, Mark. Learning Python (5th Ed)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"23 mai 2018","externalUrl":null,"permalink":"/work/numbers-in-python/","section":"Work","summary":"","title":"Numbers in Python","type":"work"},{"content":"*** Everything below is broken. Kept just for posterity ***\nInstall this script into the footer in the Code Injection section\n\u0026lt;script type=\u0026#34;text/javascript\u0026#34; async src=\u0026#34;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/latest.js?config=TeX-MML-AM_CHTML\u0026#34;\u0026gt; \u0026lt;/script\u0026gt; (that should autoupdate MathJax versions or if it all breaks and goes to hell, get the latest install instructions here)\nIf I’ve done this right, this little piece of LaTeX should give me the quadratic equation\n$$ x=\\frac{-b\\pm\\sqrt{b^2-4ac}}{2a} $$\n$$x=\\frac{-b\\pm\\sqrt{b^2-4ac}}{2a} $$Et voila!\n","date":"20 avril 2018","externalUrl":null,"permalink":"/work/mathjax-on-a-ghost-blog/","section":"Work","summary":"","title":"MathJax on a Ghost Blog","type":"work"},{"content":"![np_lightbulb_1262982_000000l](/images/2018/03/np_lightbulb_1262982_000000l.png) I’ve found it difficult to figure out why I did not make money (or at least intentionally make money, not counting my lucky breaks) as I expected to, in the old consulting gig. This, despite the fact, that I knew I was smarter than the average bear when it came to my field of work.\nAnd that same fear still remains1 as I pivot careers. I know I’ll pick up stuff with programming. I know I’ll get fluent. But will I be able to make a comfortable living?\nIt’s funny how insights come when you’re least expecting it. Yet you have to always be listening.\nI’m a big Shane Parrish2 fan, and I ran across an article featuring him on the Growthlab blog today. As usual, Shane was all about being intentional and doing the work.\nBut somewhere in the course of the article, he drops this gem …\nI learned very quickly there is a difference between the value you create and the value you capture. If you only create value, you won’t be able to make a living. If you only capture value, you’ll go out of business. If I have to err, I choose the side of creating too much value.\nAnd suddenly, lightbulbs go off! Another thing learnt. A little late in life, but better late than never :)\nYou see, even my clients privately told me that I could be doing so much better! And even that did not strike any alarm bells in my head.\nAll my life, I believed that if I created enough value, people would see it, recognise it; if I built it, they would come. And in a way they have. I have the loyalest set of clients ever. Folks who’ve stuck by me for nearly 20 years.\nSo why no money? The first line in that quote there, was my lighbulb moment.\nI need to learn to capture value. I need to learn to figure out how to make the most out of what I get. Be more opportunistic (in a good way) It won’t be immediate, but so as long as I’m cognisant of this fact; if I use this little gem as my new mental model to filter stuff that comes my way, I’ll be fine.\nThe balancing act that Shane talks about isn’t all that hard to do. It’s already been years of creating value, it’s my default mode. It’s just time to make the most of it.\nor rather remained, until today\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nno secret to the folk who read what I write :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"30 mars 2018","externalUrl":null,"permalink":"/personal/on-capturing-value/","section":"Personal","summary":"","title":"On Capturing Value; my newest mental model","type":"personal"},{"content":" Ok, now that I’ve installed CentOS, I decided to install X Windows. And like Rip Van Winkle, I learnt that a lot has changed in 20 years :)\nA windowing environment was easy to install …\nsudo yum groupinstall \u0026quot;Gnome Desktop\u0026quot;\nand the trusty old startx \u0026amp; gave me a Windowing Environment (which I have yet to explore)\nHowever, switching permanantly to graphics mode (or vice versa) wasn’t so easy. I wanted to set my command line as the default startup environment and so I went to look for the default runlevel. I coudn’t find it. That’s because they don’t exist anymore. No inittab of old, nothing.\nThe init scripts of old have now been replaced (for quite a while) by systemd. And while it’s old (most Linux distributions have adopted it for nearly 3-5 years now) it’s still new to me :)1\nSo, systemd targets something called targets2 instead of runlevels. (Haha, see what I did there? :P) Targets to my mind involve a collection of settings in a file all relating to … something … a service.\nYou could group all of your network stuff in a network target, or like I needed it all your runlevel settings in a command line target or a graphical target.\nAha!\nSo a quick search led me to the systemctl get-default command which gives my my default target graphical.target Another search gave me the multi-user target to use if I wanted a multiuser command line environment.\nSo to switch all I had to do was, systemctl set-default multi-user.target\nEt voila!\nIf I ever wanted my graphical environment back as a default setting, systemctl set-default graphical.target\nAnd Bob, as they say, is my uncle.\nand apparently still quite a source of controversy and debate\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nwhich I need to learn lots more about\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"13 mars 2018","externalUrl":null,"permalink":"/work/booting-centos-into-graphical-command-line-mode/","section":"Work","summary":"","title":"Booting CentOS into Graphical or Command Line Mode by default","type":"work"},{"content":" I got myself a new pc to learn Linux and do all my crazy experimenting on.\nWhat’d I use as my primary OS? Why CentOS, ofcourse. Two reasons …\nThese are long term, slow stable releases, just the way I like my software to be. My last exposure to Linux was Red Hat Linux v5 \u0026amp; 6 way back when1. CentOS looks familiar enough to ease my apprehensions. First step on the way, was getting the OS installed on the machine. Slight hiccup though. I had the ISO and no optical drive!\nI’d disconnected and given away the optical drive on my server, because I thought,2 I didn’t need a device sucking power, needlessly. And ofcourse my trusty old MacBook Air has none.\nSo how do I do about installing?\nWell, I got the ISO down, via bittorrent and then “burnt” it to a USB drive, making myself a bootable USB installer.\nHow? Well here goes3\nGet the ISO4. Convert the read only ISO to a read/write image using hdiutil5 like so. sudo hdiutil convert -format UDRW -o 'call-it-what-you-want.img' 'path-to-iso-file.iso It’d be simpler if you’re in the same directory as your iso file. Saves you making booboos with paths. You’ll end up with an img file (it might also get appended with a .dmg extension, so that you end up with CentOS.img.dmg. Doesn’t matter.) Partition your USB drive so that it’s empty.6 diskutil partitionDisk /dev/disk2 \u0026quot;Free Space\u0026quot; \u0026quot;unused\u0026quot; \u0026quot;100%\u0026quot; Write the converted image file to your USB drive using dd. sudo dd if='path to your new img file' of=/dev/disk2 bs=1m Once dd is done, the USB installer’s ready. You can then go right ahead and use it to install CentOS.\n1999 — 2000. Yes, I’m that old.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nDon’t laugh!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nInstructions for reference purposes only. Be careful. Don’t be a cargo cult sysadmin. Don’t blame me, if you hose your system.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nthat you think you’d need. I got the everything ISO. If you’re comfortable doing everything over your fast broadband connection, a minimal ISO should suffice.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYou’re obviously doing this in the terminal. Just thought I should tell you that :P\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYour device might not be disk2. Find out what it is by using “diskutil list”\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"11 mars 2018","externalUrl":null,"permalink":"/work/bootable-usb-from-iso-mac/","section":"Work","summary":"","title":"Creating a bootable Linux USB installer disk from an ISO on the Mac","type":"work"},{"content":" 1\nStarted: 2018-01-27 Finished: 2018-01-28\nI started my modern non-fiction journey only a couple of years back, with Antifragile and Thinking Fast \u0026amp; Slow. (I’d only read older, motivational self help before then, Ziglar, Carnegie etc) I made the mistake of thinking everything was as wonderfully dense, yet rambling and well written.\nI was sadly mistaken. I realised that just like fiction, most non-fiction wasn’t worth my time and that just like most fiction, non-fiction followed a beat; a predictable path.\nYou present the lay of the land The problem with the way things are Present your hypothesis for a solution Support your hypothesis with your findings and supported studies and articles Exposition (or you’d how to apply the solution in your life or to your problem) Expand it across domains if possible Optional, an upsell if possible to talks or events. The End This has made it so easy for so many to fit so much drivel into the standard 300 pages. Yet it is now just as easy for me (like someone lifting off a veil,) to skim books and junk the ones I don’t like.\nAnd further yet, when well done, this same pattern allows for such amazing exposition of knowledge. Seth Godin and Cal Newport are masters at the game. And so is Angela Duckworth, author of Grit. I’ve marked the book blue, so I can’t hope to even summarise it here. Just a few inspirational notes follow. I’ll leave the entire exposition for the book.\n“With everything perfect,” Nietzsche wrote, “we do not ask how it came to be.” Instead, “we rejoice in the present fact as though it came out of the ground by magic.” 2\nAs did I. I see people writing prodigious pieces of software, figure out how to move mountains of data, keep hundreds of machines in sync and am filled with awe. I see Ansel Adams’ photos and despair of ever being even a tenth as good as he was. I watch Ian Ethan do what I can only describe as crazy making with polyphonic tones and God knows what else on a guitar with two fretboards while I struggle to play a single scale on one. Scott H. Young self-learns a 4 year MIT CS degree in a single year, goes on to learn four languages in a year and then just for kicks, learns to draw portraits in a month, while I struggle with to pick up programming and cannot draw to save my life.\nSo, how do I get to be that good? Or at least part way competent? The answer lies in being gritty.\nFirst, these exemplars were unusually resilient and hardworking. Second, they knew in a very, very deep way what it was they wanted. They not only had determination, they had direction. It was this combination of passion and perseverance that made high achievers special. In a word, they had grit.\nTalent however, is no guarantee of grit. (Or I’d be destined to forever be at the bottom of the totem pole :) )\nWhich is why I loved it when Angela held up Charles Darwin as a shining example of grit.\nDarwin’s biographers don’t claim he possessed supernatural intelligence. He was certainly intelligent, but insights didn’t come to him in lightning flashes He was, in a sense, a plodder. Darwin’s own autobiography corroborates this view: “I have no great quickness of apprehension [that] is so remarkable in some clever men,” he admits. “My power to follow a long and purely abstract train of thought is very limited.” He would not have made a very good mathematician, he thinks, nor a philosopher, and his memory was subpar, too: “So poor in one sense is my memory that I have never been able to remember for more than a few days a single date or a line of poetry.”\nSo how then did Darwin, get to be … well, Darwin?\nDarwin’s (less famous, yet arguably more talented, more genius) cousin, Francis Galton, provides us with the answer\nOutliers are remarkable in three ways: they demonstrate unusual “ability” in combination with exceptional “zeal” and “the capacity for hard labor.”\nHere’s Darwin, himself …\n“I think I am superior to the common run of men in noticing things which easily escape attention, and in observing them carefully. My industry has been nearly as great as it could have been in the observation and collection of facts. What is far more important, my love of natural science has been steady and ardent.”\nOne biographer describes Darwin as someone who kept thinking about the same questions long after others would move on to different—and no doubt easier—problems\nGritty folks, in Angela’s words, were constantly driven to improve … and were paragons of perseverance.\nThe focus on talent distracts us from something that is at least as important, and that is effort. As much as talent counts, effort counts twice. The main thing is that greatness is doable. Greatness is many, many individual feats, and each of them is doable. A high level of performance is, in fact, an accretion of mundane acts.\nMore words on perseverance …\nThe bigger impediment to progress is that sometimes we stop working out altogether. … Consistency of effort over the long run is everything. Many of us, it seems, quit what we start far too early and far too often. Even more than the effort a gritty person puts in on a single day, what matters is that they wake up the next day, and the next, ready to get on that treadmill and keep going. If the quality and quantity of those pots, books, movies, and concerts are what count, then the striver who equals the person who is a natural in skill by working harder will, in the long run, accomplish more.\nEnthusiasm is common. Endurance is rare. Grit is about holding the same top-level goal for a very long time.\nHow do you figure which pursuit of yours is worth following?\nHave a few, big overarching goals and let the rest of your actions and smaller goals drive you to that big one. You can drop, change, blow up the small things, but keep your eye on the prize.\nHere’s Warren Buffett and Angela, explaining this a lot more clearly,\nFirst, you write down a list of twenty-five career goals. Second, you do some soul-searching and circle the five highest-priority goals. Just five. Third, you take a good hard look at the twenty goals you didn’t circle. These you avoid at all costs. They’re what distract you; they eat away time and energy, taking your eye from the goals that matter more.\nTo Buffett’s three-step exercise in prioritizing, I would add an additional step: Ask yourself, To what extent do these goals serve a common purpose? The more they’re part of the same goal hierarchy—important because they then serve the same ultimate concern—the more focused your passion. If you follow this method of prioritization, … you’ll stand a better chance of getting somewhere you care about—a better chance of moving closer to where you want to be.\nAnd the way to get better at grit and perseverance and getting slowly better by the day is through Deliberate Practice. Angela has a chapter dedicated to it. But Cal Newport has a written about this at length, showcases process and success stories and even has a whole book dedicated to Deep Work \u0026amp; Deliberate practice. So go, read.\nShe goes on to write at length on the mindsets you’d need, which you could develop both intrinsically and extrinsically, finding purpose, having hope, and how to develop grit personally and as parents and leaders in society. You really ought to read the book cover to cover.\nI’ll close with Nietzsche’s plea to peek behind the curtain and appreciate the blood, sweat, and tears that go into making magic …\nNietzsche implored us to consider exemplars to be, above all else, craftsmen: “Do not talk about giftedness, inborn talents! One can name great men of all kinds who were very little gifted. They acquired greatness, became ‘geniuses’ (as we put it) … They all possessed that seriousness of the efficient workman which first learns to construct the parts properly before it ventures to fashion a great whole; they allowed themselves time for it, because they took more pleasure in making the little, secondary things well, than in the effect of a dazzling whole. ”\nThe West African, Adinkra symbol of perseverance\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nAll the quotes are from the book\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"30 janvier 2018","externalUrl":null,"permalink":"/personal/grit/","section":"Personal","summary":"","title":"Grit!","type":"personal"},{"content":" Started: 2018-01-24 Finished: 2018-01-24\nThe book had so many parallels to what I’ve learnt at DGPLUG that I decided to do this book’s notes here, instead of over at the home blog.\nI want to grow and become known enough to find my thousand true fans. I was lucky then, to find this book that has the exact same premise.\nYou don’t really find an audience for your work; they find you. But it’s not enough to be good. In order to be found, you have to be findable.\nTalk about finding water in the desert!\nAnd then on it’s an awesome, rollicking, unputdownable ride across Austin’s ten rules of putting your work out there.\nOne of the best parts, when starting out was finding a Scenius.\nIf you believe in the lone genius myth, creativity is an antisocial act, performed by only a few great figures—mostly dead men with names like Mozart, Einstein, or Picasso. The rest of us are left to stand around and gawk in awe at their achievements. There’s a healthier way of thinking about creativity that the musician Brian Eno refers to as “scenius.” Under this model, great ideas are often birthed by a group of creative individuals—artists, curators, thinkers, theorists, and other tastemakers—who make up an “ecology of talent.” What I love about the idea of scenius is that it makes room in the story of creativity for the rest of us: the people who don’t consider ourselves geniuses.\nYou know where this is going, right? DGPLUG is my scenius :)\nAs a shot of courage, the advantage us amateur punks have, over the likes of Kushal, Sayan \u0026amp; Shakthi (I kid guys, I kid :) )\nWe’re all terrified of being revealed as amateurs, but in fact, today it is the amateur—the enthusiast who pursues her work in the spirit of love (in French, the word means “lover”), regardless of the potential for fame, money, or career—who often has the advantage over the professional. Because they have little to lose, amateurs are willing to try anything and share the results. They take chances, experiment, and follow their whims.\n“In the beginner’s mind, there are many possibilities,” said Zen monk Shunryu Suzuki. “In the expert’s mind, there are few.”\nThe world is changing at such a rapid rate that it’s turning us all into amateurs. Even for professionals, the best way to flourish is to retain an amateur’s spirit and embrace uncertainty and the unknown.\n“I saw the Sex Pistols,” said New Order frontman Bernard Sumner. “They were terrible. . . . I wanted to get up and be terrible with them.” Raw enthusiasm is contagious.\nHe speaks about the process of creation being messy, but there’s still incredible value in letting people see how it’s done, to let folks have a connection and an ongoing conversation with us, the creators.\nAnd echoing Shakthi, here’s Austin on breaking down goals to the day.\nOvernight success is a myth. Dig into almost every overnight success story and you’ll find about a decade’s worth of hard work and perseverance. Building a substantial body of work takes a long time—a lifetime, really—but thankfully, you don’t need that time all in one big chunk. So forget about decades, forget about years, and forget about months. Focus on days. Seasons change, weeks are completely human-made, but the day has a rhythm. The sun goes up; the sun goes down.\nWhile you might think, that you’ll make a better mouse trap and the world’ll beat a path to your door (or in programmarese, build it and they will come), you couldn’t be more wrong. You need to tell people your story. And if you aren’t already, you need to become a good storyteller.\nThe truth is, our work doesn’t speak for itself. Human beings want to know where things came from, how they were made, and who made them. The stories you tell about the work you do have a huge effect on how people feel and what they understand about your work, and how people feel and what they understand about your work effects how they value it. “‘The cat sat on a mat’ is not a story. ‘The cat sat on the dog’s mat’ is a story.” —John le Carre\nObviously stealing what Kushal has been yammering on about for years, “শেখ এবং শেখাও”1\nTeaching people doesn’t subtract value from what you do, it actually adds to it. When you teach someone how to do your work, you are, in effect, generating more interest in your work. People feel closer to your work because you’re letting them in on what you know.\nBest of all, when you share your knowledge and your work with others, you receive an education in return. Author Christopher Hitchens said having his work out in the world was “a free education that goes on for a lifetime.”\nThere’s a shit ton of advice in this small volume\nThe importance of owning your own domain, your own blog. Crediting people you steal from Being someone worth following Being just selfish enough to protect your time and your work Learning how to deal with life’s punches on the importance of “selling out” to earn your daily bread and feed your soul and the importance of paying it forward “Above all, recognize that if you have had success, you have also had luck—and with luck comes obligation. You owe a debt, and not just to your gods. You owe a debt to the unlucky.” —Michael Lewis\n“Find your voice, shout it from the rooftops, and keep doing it until the people that are looking for you find you.” — Dan Harmon\nIt’s lovely. It’s concise. It’s full of practical wisdom. It’s definitely worth many reads.\nLearn \u0026amp; teach others\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"25 janvier 2018","externalUrl":null,"permalink":"/personal/show-your-work/","section":"Personal","summary":"","title":"Show Your Work","type":"personal"},{"content":"(This is a rambling, introspective post, with no particular point to it, other than a reminder to my self to do better.)\nKushal Das, wrote a lovely piece on inclusivity and generosity of spirit. What hit me though, (ergo this note to myself), was his thundering twist of a climax\nHe goes through the post talking about how his life’s been one roller coaster of highs and lows and people pulling him down like crabs in a barrel, yet other mentors pushing him hard to do his best.\nAnd then he ends with\nYou don’t have to bow down in front of anyone, you can do things you love in your life without asking for others permissions.\nLike Steven Pressfield, tells Jeff Goins\nAt what point can someone who writes call himself a writer?\nWhen he turns pro in his head. You are a writer when you tell yourself you are. No one else’s opinion matters. Screw them. You are when you say you are.\nI wish I had learnt this so much earlier in life. In a strange fit of domain blindness I somehow translated “Carpe Diem!” as seizing the day, doing my best work, but for others!\nI spent close to ten years of my life learning skills, getting better yet lacking the courage to do what I wanted to do. Maybe if I wasn’t so chicken or worked extra hard for myself, things might have turned out differently for me too, instead of me being here, all of thirty-nine, wondering where the years went.\nBut thanks to the wife and her courage, I was inspired too!\nI realised that I could not wait for life to hand me opportunities on a platter. I could not wait for all my problems to go away, before I could make a risk free change. I have only one life to live, and I don’t want to see myself ten, twenty, fifty years down the road, once again ruing the choices I made and the chances I did not take.\nAnd the other related thing / flaw / weakness that I got over last year, was that I stopped waiting for people to give me permission. I used to think, that if people were older, more experienced, they would automatically be more wise, in all domains of life.\nNow I know through bitter experience that, that is simply not true. I am smarter, much smarter than most folks in some areas and dumber in most others. The same holds true for other folk!\nSo it’s all up to me, to build myself up, to learn more, put myself out there and make something of myself, trusting in myself and amor fati.1\nLike Horace wrote over two thousand years ago …\ndum loquimur, fugerit invida aetas: carpe diem, quam minimum credula postero.\nIn the moment of our talking, envious time has ebb’d away. Seize the present; trust tomorrow e’en as little as you may.\nAnd to wrap it up even more succinctly, here’s Steve Jobs2, driving the point home (transcript below) …\nSo, the thing I would say is … When you grow up you tend to get told the world is the way it is and your … your life is just to live your life inside the world, try not to bash into the walls too much. Try to have a nice family life, have fun, save a little money.\nBut life … That’s a very limited life. Life can be much broader once you discover one simple fact, and that is …\nEverything around you that you call life, was made up by people that were no smarter than you. And you can change it, you can influence it, you can build your own things that other people can use.\nAnd the minute that you understand that you can poke life and actually something will, you know if you push in, something will pop out the other side, that you can change it, you can mold it. That’s maybe the most important thing. It’s to shake off this erroneous notion that life is there and you’re just gonna live in it, versus embrace it, change it, improve it, make your mark upon it.\nI think that’s very important and however you learn that, once you learn it, you’ll want to change life and make it better, cause it’s kind of messed up, in a lot of ways. Once you learn that, you’ll never be the same again.\nThe fates will bring what they will. All I can do is accept it, love it.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\npart of my circle of the eminent dead\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"17 janvier 2018","externalUrl":null,"permalink":"/personal/carpe-diem/","section":"Personal","summary":"","title":"Carpe Diem!","type":"personal"},{"content":"","date":"9 janvier 2018","externalUrl":null,"permalink":"/tags/gmail/","section":"Tags","summary":"","title":"Gmail","type":"tags"},{"content":"","date":"9 janvier 2018","externalUrl":null,"permalink":"/tags/mail/","section":"Tags","summary":"","title":"Mail","type":"tags"},{"content":" Writing this up, for future dumb me.\nI wanted to be able to archive my Google Apps account (just me on my domain) to somewhere else on a sorta-kinda automatic basis.\nI also did not want to make domain wide changes, because I don’t want to affect any future users I might add to my Google Apps account.\nWhat I want: Archive all my incoming and outgoing mail (on Google Apps) to another cloud account\nHow I did this:\nIncoming Mail\nThis part is fairly easy to do.\nLogin to your control panel at https://admin.google.com Go to users - click your user - and scroll down to email routing in Account sectiom Click add another destination, type in your non Google archival email address and click save. ![inbound-routing](/images/2018/01/inbound-routing.jpg) Outgoing Mail\nFiguring out how to do this, required a little more Google-fu\nLogin to your control panel at https://admin.google.com Go to apps - G Suite - Gmail - advanced settings. On the first page, general settings, look for routing in the routing section. Click Configure. Type in a name for your route so that you remember who or what, in case you do multiple routes Under messages to affect, choose Outbound Choose only to affect a single address in the Envelope filter section. (type in your address) Hustle down to step 3, leave it at Modify message and under “also deliver to”, click “Add more recipients”, click add and then type in the same non Google archival email address. Hit Save, Add Setting, and Hit Save. And tada! Bob’s your uncle :)\n","date":"9 janvier 2018","externalUrl":null,"permalink":"/work/user-specific-inbound-and-outbound-routing-of-email-for-google-apps/","section":"Work","summary":"","title":"User specific Inbound and Outbound Routing of Email for Google Apps","type":"work"},{"content":" Kushal Das, on developing his writing chops …\nIt boiled down to one thing. One has to write more. This is no short cut. So, I tried to do that throughout 2017. If I just look at the numbers, I wrote 60 blog posts in 2017, which is only 7 more than 2016.\nAustin Kleon, on trying to get his son to draw …\nSeveral times a day since October, ever since the Halloween decorations went up, my two-year-old son Jules has asked my wife or me to draw him an “x-ray.” (That’s his word for skeleton.) … We’ve drawn hundreds of skeletons for him, over and over and over again. He flat-out refuses to attempt drawing one for himself.\nSeth Godin, on doing the work\nSlow and steady The hard part is “steady.” Anyone can go slow. It takes a special kind of commitment to do it steadily, drip after drip, until you get to where you\u0026rsquo;re going.\nSeveral times, during my programming journey, I tear my hair out over things I just do not understand. I fall off the wagon due to ill health. I’m old; no match for today’s young, smart, kids I feel so dumb, like I’m not cut out for this.\nYet, I have dreams. I have ambition. I’ve loved the way software has changed my life and I’d love to solve people’s problems by doing the same thing I have my back against the wall, literally, in terms of the risk, this current change entails. I want, nay, yearn to do this.\nAnd the three wise men above, give me hope.\nHere’s Kushal, on the results of his year long writing journey\nDid your writing skill improve a lot?\nThe answer is no. But, now, writing is much more easier than ever. I can sit down with any of my mechanical keyboards, and just typing out the things on my mind.\nIf I just look at the numbers, I wrote 60 blog posts in 2017, which is only 7 more than 2016. But, the number of views of the HTML pages, more than doubled.\nAnd Austin, on when his little one, started to draw\nWhat happened? What convinced him it was time? The construction paper and the markers have been there at his disposal for months. Was it that we had visitors in the house for Christmas? I can’t come up with any convincing external factor that might have caused him to finally pick up the marker. He just decided he was ready.\nAs is so often the case with parenting, you do the same Sisyphean, seemingly meaningless task over and over again, wondering when the heck it will add up to anything.\nAnd then, one day, often without warning or fanfare, the meaning arrives, and you still can’t believe it.\nAfter all, you don’t get to blog post 7000, in a day. You do it one day at a time, drip after drip after drip.\nThe secret to writing a daily blog is to write every day. And to queue it up and blog it. There is no other secret.\nAnd so, I grind away, filled with hope.\n","date":"2 janvier 2018","externalUrl":null,"permalink":"/personal/on-resilience-and-persistence/","section":"Personal","summary":"","title":"On Resilience and Persistence","type":"personal"},{"content":"Short new series for me. Quick and Dirty Programming Posts They’ll be tagged qdpp. They’ll be raw, error prone and mostly works in progress.\nA few reasons\nto help me write for a few minutes (publicly) daily. I’ve realised slow and steady is a good way to build a body of work, (Godin, Kushal). Even if the beginning is slow and shitty. to save myself searching the web for stuff I need to have handy. these are primarily for me, and me alone. If they help you as well, that’s a bonus! Let’s start with PEP.\nI’ve learnt that to learn anything well, it’s best to learn from the source. Go to the well. Don’t read about the Black Swan, or try to figure out from blogs what Antifragility is. Go read the darned Incerto! So when it comes to programming, I should do the same.\n1\nAnd everytime I learn something new with Python, I’m referred to a PEP as the source.\nWhen is Python 3.7 out? Check the PEP. What on God’s green earth are docstrings? Check the PEP. Will PyPI crumble under its own weight? Or will there be redundant options? Check the PEP. How do you write Python so that it’s comprehensible? Readable? Is there a style guide of sorts? Check the PEP. A short treatise on what Python is about? Its Zen if you will? Check the PEP. What is a PEP? Go, check the PEP! So, a PEP (Python Enhancement Proposal) is a design document,\nproviding information to the Python community, or describing a new feature for Python or its processes or environment. They’re worked on, one itty bitty version at a time. You can see how they come alive and grow here. They describe standards, share information, and describe processes on things other than code too (like PEP-8) And as to why, the very first one explains it much better than I ever could.\nSo if you must know, where the Python rabbit hole conclusively ends, it most probably does in a PEP.\nImage source: https://adastraerrans.com/archivos/use-the-source-luke.png\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"16 novembre 2017","externalUrl":null,"permalink":"/work/do-you-pep/","section":"Work","summary":"","title":"Do You PEP?","type":"work"},{"content":" Dad was what Brett McKay calls, both a good man and good at being a man.\nI could write reams about my father, but I wouldn’t know where to start.\nHe gave me life and then has been my sustenance ever since.\nHe’s the source of everything that’s good in me.\nHis deep baritone, echoed in our fledgling church as we sung hymns every Saturday.\nWhen I close my eyes and remember my early years, it’s his voice that sings me rhymes and lullabies.\nOur love for music and song flow from that voice.\nHe was an artiste and master craftsman.\nWhile he plied his trade as a carpenter, he could build a beautifully functional anything.\nOur home used to be filled with carvings of little animals he made.\nSpeakers, he built, filled our home with music and song.\nSchool books used to be adorned with his sketches (as was my homework)\nThere’s a Mickey on my bookshelf door that smiles at me, everyday.\nI write these words on a table he built 25 years ago (as he did everything else at home.)\nMom never had to worry about knives or dressing tables.\nIf there was anything that needed doing, he’d do it.\nA grassroots worker, he helped build up two little church congregations.\nHe helped people around in our little chawl.\n“Uncle” was always helpful with time and money and chocolates for little ones who always seemed to find him, wherever he was.\nHe was a giver and a doer.\nA Good Samaritan of the highest order, he’d give the shirt off his back if he could.\nBe kind to those in need is something he lived and imbued in us.\nFolks call me a sentimental fool at times.\nAnd I’m proud! My father taught me that.\nThe more I live my life, the more I realise I’ve imbued so much of him.\nThe curiosity to always learn something new.\nThe strength to endure whatever life throws your way.\nValuing family over everything else.\nBeing kind.\nAmor Fati.\nAnd to paraphrase Brett again, as I think of the life my Dad led, as I think of the shade he sheltered me in, I’ve a painful yearning to return home.\nThe Greeks called this nostalgia.\nAnd while my heart aches for that time, it’s a good ache.\nI’m glad I have those memories and I’m indebted to Dad for giving them to me.\n","date":"22 septembre 2017","externalUrl":null,"permalink":"/personal/75-years-in-memoriam/","section":"Personal","summary":"","title":"Dad, 75 Years, In Memoriam","type":"personal"},{"content":" Being laid up sick in bed is never fun. Yet, serendipitously, it was the being laid up, that gave me time to focus and complete my first Python program.\nWe were to make a project, that combined what we’d learnt so far at DGPLUG.\nSo to me that was:\nMarkdown (or RST; I chose Markdown) Git (my bugbear. I still can’t quite wrap my head around it) and Python. So I created a spanking new repo for my crazy, one off projects at Github. Created a license, because, well because Anwesha says you ought to, and even shows you how to. (and it’s generally a good thing any way :)\nThat, out of the way, I used my ninja Markdown skills (honed by writing here :P) to whip up a little README\nAnd then started the slog.\nWhile I have been learning the basics of Python, like a child learning shapes; moulding what I have learnt into some semblance of a logical thing is darned hard.\nI’d read somewhere about the Golden Mean and it’s relation to the Fibonacci sequence, so I thought I’d write a mini text adventurish romp as my first project.\nIt took me the whole day! I typed and it did not run. I fixed typos. I fixed colons. I fixed quotes. I tore my hair out. And I typed some more. And I fixed some more. Oh, and all the while, I was trying to push it up to Github as well. (with varying degrees of success)\nBut in a lot of ways, it reminded me of the time, I spent learning photography and basic editing. I was moving sliders and figuring curves and creating needlessly large TIFFs all over Lightroom\nAnd gm.py reminds me of the first time a photo came out right. I don’t quite know how I did it then and I don’t quite know how I did it now. The recipe’s ugly. But the photo looked good. And the program does run.\nWhich brings me to how I look at a photo today. I can instinctively tell, what needs cropping, if I need to make white balance adjustments, whether the exposure needs tweaking, if I can pull detail out of the shadows. And my newbie-ness wasn’t that long ago.\nI wish myself the same level of competence when it comes to programming. Onward!\nYou can find the repo and my first program here.\n","date":"1 août 2017","externalUrl":null,"permalink":"/work/on-my-first-project/","section":"Work","summary":"","title":"On My First Project","type":"work"},{"content":"Note: This is for the Student Planet.\nPlease read this on the blog.\nAt the dawn of computing …\nLast night, over at DGPLUG, Kushal gave quite a heart rousing talk on the history of Free Software, covering quite a bit about Richard Stallman and the events leading up to him (RMS, not Kushal) launching GNU \u0026amp; the FSF.\nIf you’re interested in reading more about that sort of thing, here’s a few more books \u0026amp; resources.\nFree as in Freedom # The seminal book is of course, Free as in Freedom, on RMS’ life and the massive base he built, upon which we all stand today. Reading this made me realise what a debt we owe to him. So the next time we hear about how old \u0026amp; weird Stallman is, maybe we could cut him some slack.\nThe Groklaw Archives # Did you know, that the SCO Group once brought a case against IBM, suing them for using Linux? It was a large, long drawn out affair, 1 drawing old heavyweights such as Novell and new upcoming ones like Red Hat, into the fray. If SCO had won, it would have been the end, of the just barely decade old Linux and our landscape would not have been as rich as it is today.\nWe know all this, because of the daring and intrepid, Pamela (PJ) Jones, who started up one of the earliest blogs on the internet. It was called Groklaw, and it was …\na place where lawyers and geeks could explain things to each other and work together, so they\u0026rsquo;d understand each other\u0026rsquo;s work better1\nIt brought awareness of the case to a wide swathe of people and Linux into the mainstream. The bar on the left of the site, gives you access to a whole lot of cases threatening Linux, and the news and views of the people in the know\nA Quarter Century of Unix # A short, really influential book on Unix History by Peter Salus.\nI don’t quite know how you can lay hands on a copy, but if you do, it’s fascinating. Nearly every article, every blog post, every book that needs something on the history of Unix, pulls a quote from this one.\nThe Daemon, the GNU \u0026amp; the Penguin # Salus’ follow up book, following Unix History on to Linux, is available to read on the Groklaw website. You can think of it as an expanded version of Kushal’s talk last night.\nOpen Sources # Want to hear from the people involved in the free software movement?\nFrom the horse’s mouths themselves? Open Sources is a collection of essays from the folks who were there. Marshall McKusick, author of the BSD filesystem narrates how BSD went on to be free from AT\u0026amp;T ownership and Free as in Freedom.\nRMS tells us about GNU himself.\nBob Young, founder of Red Hat, expounds on how the company set itself on the path to becoming a business on the back of free software.\nLinus, tells us of the edge, Linux had, to become successful.\nProducing OSS # Karl Fogel’s book, on why we write free / open source software and how to pitch it in your organisation\nThis is all that comes to mind, right now. If you know more, let me know or write about and I’ll update the page or link to yours.\nUpdates:\nIn the Beginning was the Command Line # Neal Stephenson’s essay on why Free Software would eventually win. (chock-full of history and analogy)\nIt’s dated and hasn’t quite panned out as he wished, but is still a fun read!\nEven though SCO is dead, the case is still ongoing.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"11 juillet 2017","externalUrl":null,"permalink":"/work/on-free-open-culture-some-resources/","section":"Work","summary":"","title":"On Free \u0026 Open Culture; Some Resources","type":"work"},{"content":" Just went through the second chapter of Git Pro. Slowly getting the the hang of this.\nLove the fact that most git commands are just unix commands prefixed with git\ngit rm git mv\nand so on.\nMy head’s still mush, but more practice should help.\nOnwards\n","date":"9 juillet 2017","externalUrl":null,"permalink":"/work/git/","section":"Work","summary":"","title":"Struggling with Git","type":"work"},{"content":"“When I get a little money I buy books; and if any is left I buy food and clothes.”\n— Erasmus\nMost of my tech knowledge, I taught myself. Ok, small correction. I have been taught. By people. By people, living and also the eminent dead.\nI learnt philosophy is just thinking intentionally, and a good way to live, from a Roman Emperor. I learnt about personal finance from a guy who distilled his own life experiences and 20+ years on radio. I learnt about investing from some guy. And then I went and learnt about the importance of Mental Models in life, from the same guy (as did the CEO of Dropbox.) I’ve learnt about the importance of community and giving recently, from a guy I’m in frequent touch with. The only reason you’re reading this, is because I learnt Markdown from the guy who wrote it.\nSo, yeah, reading is important. Books help us do the work required to have an opinion.\nThat brings us to whether I should be buying that book I’ve been eyeing or not. The best reason to buy, like Taleb points out, books let us learn and you never know what you’d want to learn\n… a private library is not an ego-boosting appendage but a research tool. Read books are far less valuable than unread ones.\nThe library should contain as much of what you do not know as your financial means, mortgage rates, and the currently tight real-estate market allows you to put there.\nYou will accumulate more knowledge and more books as you grow older, … — Nicholas Nassim Taleb (Antifragile)\nLike the ad says, “An idea can change your life!”\nBooks unequivocally, are the best source of ideas.\nSo what are you waiting for? If there’s a book you’ve been wanting to read, go buy, beg, borrow or steal it!\n","date":"28 juin 2017","externalUrl":null,"permalink":"/personal/on-whether-i-should-buy-that-expensive-or-cheap-book/","section":"Personal","summary":"","title":"On Whether I Should Buy That Expensive (or Cheap) Book","type":"personal"},{"content":"I started out with a very vague idea, of learning programming last year.\nI went to Pycon India, fell in love with the community, decided to learn software, and came home all charged up. (Btw, I was so intimidated, I did not speak to a single soul.)\nThe plan was to sort personal issues, tackle a couple of major work projects so that I could then focus on learning, clear the decks and go full steam ahead come April.\nWhile I made headway, I was also missing the hum and bustle of Pycon that had so charged me, but I did remember one session I attended, that had left me smiling was a sponsored talk of all things, by a certain Mr. Das. Off the cuff, naturally, warmly delivered.\nSo as I was looking for … someone to talk to, somewhere to belong, who comes along but Santa Das.\nWhile that trip didn\u0026rsquo;t quite happen due to personal reasons, we still kept in touch. (Why he would do that with a newbie-know-nothing like me, I don’t know. The man has a large heart.)\nAnd when the new session of #dgplug was announced, I jumped at the chance!\nTo those not part of the dgplug summer training, read all about it here. The brave1 souls at the Linux Users’ Group of Durgapur take in a bunch of kids (and adults) who want to learn all about the magical world of software programming and give them tools with which they can paint on that vast canvas.\nOur goal is to bring in more upstream contributors to various FOSS projects.\nThrough this training we show the path of becoming an upstream contributor.\n— from the DGPLUG summer training page\nCommunication skills, free software projects, documentation, system administration, source code management, time management, conference proposals and obviously basic programming – the whole gamut is covered here.\nSo while any odd duck can learn on their own, the DGPLUG summer sessions will help you become a well rounded individual who can code and contribute to the world. A software finishing school, if you will :)\nKushal and the training and it’s successes have been featured in opensource.com time and time again.\nA look at the guest speakers (including the all father of Python and the cream of the Indian Developer community) should be enough to convince you to come join.\nIt’s only been a week, and I’ve been having a ball! We covered communication skills, touch typing and the vi editor this week! If you hurry, you can catch up and work with us.\nAnd for my new #dgplug family, here’s a little something, something2 about me to close this post with …\nYes, I am obviously hiding my big, fat tummy in the pic. :) 3 I’m like a poor man’s, still failing James Altucher. Yes, I’m a lot older than most of you. :) 4 I’ve been at this IT thing a long time. (since 1997, in fact.) 5 And yes, only now do I get the bright idea to learn software. I love the fact, that I get you to be my plus-minus-equal. You folks make me feel all warm and enthusiastic and welcoming and make me feel like I found my tribe! I’m still head over heels in love with my better half, and live with her in a cozy li’l Thane (Mumbai) home, not far from my parents :) I look to learn so much from you and know so much more of you over the coming months. I wish you all make good art!\n(\u0026amp; foolhardy, dare I say :P )\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nMy grandma says that :)\u0026#160;\u0026#x21a9;\u0026#xfe0e;\ndropped 7 kgs to 89. Only another 20 to go!\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nnot necessarily wiser :P\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nland line telephone fixer boy, hardware tech support at small firm, hardware tech support at huge firm, freelance engineer, consulting engineer, consulting manager.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"25 juin 2017","externalUrl":null,"permalink":"/work/on-starting-with-summer-training-at-dgplug/","section":"Work","summary":"","title":"On Starting Summer Training at #dgplug","type":"work"},{"content":"Anwesha Das, over at Law Explained India, was one of the speakers at PyCon India 2016.\n(Update: Anwesha rocked Pycon 2017 in Portland. The awesome folks there, seem to have put up the talks in near real time! Anwesha’s talk is here. Check out the rest, here. End update)\nAnd she to me, is a shining beacon of hope, when it comes to actually making it as programmer in this community. All she does, and the way the community responds is heartwarming\nA lawyer by trade and a nerd at heart, she along with her team of bravehearts rocked PyLadies at Pycon India. From what (admittedly little) I’ve seen, this fearless group seems to be the only active PyLadies group in the country.\nMore power to them! And I really, really pray, may their tribe grow! India could do with lots more women, who in my opinion are better at programming than us lads. (And were in fact the first members and drivers of the profession)\nHer talk involved around generating awareness about the various software licenses in existence and their application to out software projects.\nBeing well aware of the ignorance, apathy and/or the strong dislike programmers have towards anything that is not coding, she walked through the various licenses that we could use, illustrating each one with examples.\nNotable, was the amount of work she put into a project, where she grabbed and sorted the various licenses for the top few thousand packages on PyPI and used that map to make her points regarding licensing.\nYou can go have a look-see here.\nNot just that, she’s been filing bugs to push developers to adopt a license, in case they did not have one :)\nThe last third of the talk, (in fact, the meat and potatoes) was on Best Practices for Developers when it came to choosing licenses for the project.\nYou can actually go read all about it here Her point, in summary, (besides the how to) was to be intentional about what license you’d choose, to be aware of it’s ramifications, not just on you, but on the users as well.\nI hope, PyCon India puts her video (and also the others) online soon.\nThank you, Anwesha. You were awesome!\n","date":"12 octobre 2016","externalUrl":null,"permalink":"/personal/why-choosing-an-appropriate-license-for-your-project-is-important/","section":"Personal","summary":"","title":"Why Choosing an Appropriate License for Your Project Is Important, Anwesha Das’ Talk at PyCon India, 2016","type":"personal"},{"content":"When Seth Godin says, ‘Use RSS’ it just goes to show how much the giant slurpies of the world, hoard information.\nHow much is locked and lost forever!\nListen to Seth! Use RSS.\n","date":"1 juin 2016","externalUrl":null,"permalink":"/work/use-rss/","section":"Work","summary":"","title":"Use RSS","type":"work"},{"content":" Antifragile: Things That Gain from Disorder, Nassim Nicholas Taleb (this book will always be special to me. It was my first, punch above my level, quake book)¶*‡ How to Read a Book: The Classic Guide to Intelligent Reading, Mortimer J. Adler (and this book changed my life!)*‡ The Tao of Seneca, Tim Ferriss (my introduction to stoicism)*‡ Sapiens: A Brief History of Humankind, Yuval Noah Harari*† Starfish, Peter Watts* Maelström, Peter Watts* Behemoth, Peter Watts* Firefall, Peter Watts* Blindsight, Peter Watts* Echopraxia,Peter Watts* The End of Jobs: Money, Meaning and Freedom Without the 9-to-5, Taylor Pearson† 15 Secrets Successful People Know About Time Management: The Productivity Habits of 7 Billionaires, 13 Olympic Athletes, 29 Straight-A Students, and 239 Entrepreneurs, Kevin Kruse† Hustle: The Life Changing Effects of Constant Motion, Jesse Tevelow† Get Some Headspace: 10 minutes can make all the difference, Andy Puddicombe*‡ The Habitual Hustler: Daily Habits of 50 Self-Employed Entrepreneurs, Corey Breier† Chankya\u0026rsquo;s Chant, Ashwin Sanghi Dream With Your Eyes Open, Ronnie Screwvala*† The Mahabharata Quest: The Alexander Secret, Christopher C. Doyle The Lost Writings of Wu Hsin, Roy Melvyn* How to Win Friends and Influence People, Dale Carnegie*‡ Choose Yourself: Be Happy, Make Millions, Live the Dream, James Altucher† Turning Pro, Steven Pressfield† Anything You Want, Derek Sivers† Read This Before Our Next Meeting, Al Pittampalli† Inside Apple, Adam Lashinsky† In The Plex: How Google Thinks, Works, and Shapes Our Lives, Steven Levy† Steve Jobs, Walter Isaacson*† Presentation Zen Design, Garr Reynolds*‡ The Presentation Secrets of Steve Jobs: How to Be Insanely Great in Front of Any Audience, Carmine Gallo† Inside Steve\u0026rsquo;s Brain, Leander Kahney*‡ Do the Work, Steven Pressfield*‡ The Non-Designer\u0026rsquo;s Design Book, Robin Williams*‡ The Cognitive Style of PowerPoint: Pitching Out Corrupts Within, Edward R. Tufte† Jab, Jab, Jab, Right Hook: How to Tell Your Story in a Noisy Social World, Gary Vaynerchuk† The Art of Non-Conformity, Chris Guillebeau† How to Fail at Almost Everything and Still Win Big: Kind of the Story of My Life, Scott Adams† So Good They Can\u0026rsquo;t Ignore You: Why Skills Trump Passion in the Quest for Work You Love, Cal Newport¶*‡ The Art of Learning: A Journey in the Pursuit of Excellence, Josh Waitzkin Confessions of a Public Speaker, Scott Berkun*‡ Sam Walton: Made In America, Sam Walton*† The Snowball: Warren Buffett and the Business of Life, Alice Schroeder*† The Swiss Family Robinson, Johann David Wyss* The Adventures of Tom Sawyer, Mark Twain* Frankenstein, Mary Shelley* King Solomon\u0026rsquo;s Mines, H. Rider Haggard* Tarzan of the Apes, Edgar Rice Burroughs* Around the World in 80 Days, Jules Verne* The Merry Adventures of Robin Hood, Howard Pyle* The Last of the Mohicans, James Fenimore Cooper* The Picture of Dorian Gray, Oscar Wilde* The Little Prince, Antoine de Saint-Exupéry¶* The Complete Sherlock Holmes, Sir Arthur Conan Doyle* Emma, Jane Austen* David Copperfield, Charles Dickens* A Tale of Two Cities, Charles Dickens* Oliver Twist, Charles Dickens* Dracula, Bram Stoker* The Lord of of the Rings, J.R.R. Tolkien* Preacher (books 1-9), by Garth Ennis Sin City, Frank Miller* Watchmen, Alan Moore* V for Vendetta, Alan Moore* Batman: The Dark Knight Returns, Frank Miller* Batman: The Killing Joke, Alan Moore* Batman: A Death in the Family, Jim Starlin The Name of the Rose, Umberto Eco* The Pillars of the Earth, Ken Follett Memoirs of a Geisha, Arthur Golden At Home: A Short History of Private Life, Bill Bryson A Short History of Nearly Everything, Bill Bryson* The Millionaire Mind, Thomas J. Stanley A Walk in the Woods: Rediscovering America on the Appalachian Trail, Bill Bryson* Shit My Dad Says, Justin Halpern The Selfish Gene, Richard Dawkins† The Richest Man in Babylon, George S. Clason*‡ I, Robot (The Robot Series), Isaac Asimov* The Red Queen: Sex and the Evolution of Human Nature, Matt Ridley† I Know Why the Caged Bird Sings, Maya Angelou The Martian: A Novel, Andy Weir* Artemis, Andy Weir* 2001: a Space Odyssey, Arthur C. Clarke Bicentennial Man, Isaac Asimov* Foundation, Isaac Asimov* Jurassic Park, Michael Crichton* Prey, Michael Crichton The Mote in God\u0026rsquo;s Eye, Larry Niven and Jerry Pournelle Twenty Thousand Leagues Under The Sea, Jules Verne* Meditations, Marcus Aurelius¶*† Hyperion, Dan Simmons The Obstacle Is the Way: The Timeless Art of Turning Trials into Triumph, Ryan Holiday A Princess of Mars, Edgar Rice Burroughs* The Gods of Mars, Edgar Rice Burroughs* 3001 The Final Odyssey, Arthur C. Clarke Dr. Jekyll and Mr. Hyde, Robert Louis Stevenson Man\u0026rsquo;s Search for Meaning, Viktor E. Frankl Jonathan Livingston Seagull, Richard Bach How to Stop Worrying and Start Living, Dale Carnegie*‡ 2010: Odyssey Two, Arthur C. Clarke 2061: Odyssey Three, Arthur C. Clarke Tiny Beautiful Things: Advice on Love and Life from Dear Sugar, Cheryl Strayed*† The 4 Hour Body, Timothy Ferriss† A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra), Barbara Oakley*‡ Deep Work: Rules for Focused Success in a Distracted World, Cal Newport¶*† The Buddha in Blue Jeans Book Collection, Tai Sheridan Ph.D.† Rebel Code: Linux And The Open Source Revolution, Glyn Moody† Pandeymonium: Piyush Pandey On Advertising, Piyush Pandey† The Other Jesus: Stories from World Religions, Todd Outcalt† Coaching for Improved Work Performance, Ferdinand Fournies*‡ Anguished English: An Anthology of Accidental Assaults upon Our Language, Richard Lederer*† The Count of Monte Cristo, Alexandre Dumas¶* The Black Swan, Nassim Nicholas Taleb*† Plain Talk: Lessons from a Business Maverick, Ken Iverson*† The Magic of Thinking Big, David J. Schwartz*† Lincoln the Unknown, Dale Carnegie*† Morgan\u0026rsquo;s Run, Colleen McCullough¶* Mastery, Robert Greene*‡ The 4 Disciplines of Execution: Achieving Your Wildly Important Goals, Chris McChesney† Embrace the Struggle: Living Life on Life\u0026rsquo;s Terms, Zig Ziglar† Strategy Rules: Five Timeless Lessons from Bill Gates, Andy Grove, and Steve Jobs, David B. Yoffie† Zig Ziglar\u0026rsquo;s: How to Stay Motivated, Zig Ziglar*‡ Becoming Steve Jobs: The Evolution of a Reckless Upstart into a Visionary Leader, Brent Schlender*† Get Smarter: Life and Business Lessons, Seymour Schulich† Genghis Khan and the Making of the Modern World, Jack Weatherford† Practicing: A Musician\u0026rsquo;s Return to Music, Glenn Kurtz† Money Ball, Michael Lewis† Flash Boys, Michael Lewis† The Big Short, Michael Lewis*† Endurance: Shackleton\u0026rsquo;s Incredible Voyage, Alfred Lansing† Calvin and Hobbes, Bill Watterson* Permission Marketing: Turning Strangers into Friends and Friends into Customers, Seth Godin*† Zig: The Autiobiography of Zig Ziglar, Zig Ziglar* The Road to Little Dribbling: Adventures of an American in Britain, Bill Bryson* Arsene Lupin, Maurice Leblanc* Showstopper! the Breakneck Race to Create Windows NT and the Next Generation at Microsoft, G. Pascal Zachary*† The Practicing Mind, Thomas M. Sterner† Average Is Over, Tyler Cowen† Cumulus, Eliot Peper Seveneves, Neal Stephenson Shoe Dog: A Memoir by the Creator of Nike, Phil Knight*† Peak, Anders Ericsson*† Fooled by Randomness, Nassim Nicholas Taleb*† Ego Is the Enemy, Ryan Holiday*† Zero to One: Notes on Startups, or How to Build the Future, Peter Thiel† Work the System, Sam Carpenter† Soft Skills: The software developer\u0026rsquo;s life manual, John Sonmez† The 10X Rule, Grant Cardone† Just Say No to Microsoft: How to Ditch Microsoft and Why It\u0026rsquo;s Not as Hard as You Think, Tony Bove† Rebel Code: Linux And The Open Source Revolution, Glyn Moody† The Phoenix Project, Gene Kim† Power of Full Engagement, Jim Loehr \u0026amp; Tony Schwartz‡ Guitar Zero: The Science of Becoming Musical at Any Age, Gary Marcus† Retire Inspired: It\u0026rsquo;s Not an Age, It\u0026rsquo;s a Financial Number, Chris Hogan‡ Thinking, Fast and Slow, Daniel Kahneman† The Lessons of History, Will Durant*† The Four Legendary Kingdoms, Matthew Reilly The Psychology of Human Misjudgement, Charlie Munger*† The Daily Show (The Book): An Oral History as Told by Jon Stewart, the Correspondents, Staff and Guests, Chris Smith†# An Unsuitable Boy, Karan Johar† Genius: The Life and Science of Richard Feynman, James Gleick*† Alibaba: The House That Jack Ma Built, Duncan Clark† Isaac Newton, James Gleick*† The Man In The High Castle, Philip K. Dick* Life Is Worth Losing, George Carlin*† Sounds Like Me: My Life (So Far) in Song, Sara Bareilles*† Go Add Value Someplace Else, Scott Adams Born to Love, Cursed to Feel, Samantha King “What Do You Care What Other People Think?”: Further Adventures of a Curious Character, Richard P. Feynman*† Blackwater, Conn Iggulden Mycroft Holmes, Kareem Abdul-Jabbar The Heretic Queen: Heiress of Misfortune, Pharaoh\u0026rsquo;s Beloved, Michelle Moran Rebel Queen: A Novel, Michelle Moran The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution, Walter Isaacson*† The Bed of Procrustes: Philosophical and Practical Aphorisms, Nassim Nicholas Taleb*† Way of the Warrior Kid: From Wimpy to Warrior the Navy SEAL Way: A Novel, Jocko Willink† Discipline Equals Freedom: Field Manual, Jocko Willink¶*† ","externalUrl":null,"permalink":"/reading/2017-and-older/","section":"Reading","summary":"","title":"2017 \u0026 Older …","type":"reading"},{"content":" This is Marketing, Seth Godin* Atomic Habits, James Clear¶*‡ How to Fight a Hydra, Josh Kaufman (lovely fable! timely (for me) too!)* Value-Based Fees: How to Charge and Get What You’re Worth, Alan Weiss‡ Million Dollar Maverick, Alan Weiss‡ Million Dollar Consulting, Alan Weiss‡ The Consulting Bible, Alan Weiss‡ Getting Started in Consulting, Alan Weiss‡ Million Dollar Consulting Proposals, Alan Weiss‡ What I Talk About When I Talk About Running, Haruki Murakami*† The Fifth Risk, Michael Lewis† High Output Management, Andrew S. Grove (when the master speaks, you listen with rapt attention*)*‡ It Doesn\u0026rsquo;t Have to Be Crazy at Work, Jason Fried \u0026amp; David Heinemeier Hansson† 21 Lessons for the 21st Century, Yuval Noah Harari† Creative Selection, Ken Kocienda† Patriot Games, Tom Clancy* The Hunt for Red October, Tom Clancy The Complete Guide to Fasting, Jason Fung*‡ Homo Deus, Yuval Noah Harari† The Silent Companions, Laura Purcell The Personal MBA, Josh Kaufman*‡ The First 20 Hours, Josh Kaufman‡ Titan, Ron Chernow† The Race for Paradise, Paul M Cobb*† The Art of Thinking Clearly, Rolf Dobelli† The Subtle Art of Not Giving a Fuck, Mark Manson† Conspiracy, Ryan Holiday*† Lauren Ipsum, Carlos Bueno*‡ Willpower, Roy Baumeister*† A Few Lessons from Sherlock Holmes, Peter Bevelin*† ","externalUrl":null,"permalink":"/reading/2018/","section":"Reading","summary":"","title":"2018","type":"reading"},{"content":" That Will Never Work, Marc Randolph Can’t Hurt Me, David Goggins*† The 33 Marks of Maturity, Brett \u0026amp; Kate McKay† Our Magnificient Bastard Tongue, John McWhorter*† The Perpetual Beginner, Dave Isaacs† The Revelation Space Omnibus, Alastair Reynolds* Retire Inspired, Chris Hogan† The Greatest Trade Ever, Gregory Zuckerman† The Odessa File, Frederick Forsyth The Deceiver, Frederick Forsyth Avenger, Frederick Forsyth* The Day of the Jackal, Frederick Forsyth The Fox, Frederick Forsyth The Kill List, Frederick Forsyth The Fist of God, Frederick Forsyth The Afghan, Frederick Forsyth The Cobra, Frederick Forsyth Icon, Frederick Forsyth The Dogs of War, Frederick Forsyth The Biafra Story, Frederick Forsyth The Outsider, Frederick Forsyth The Proximity Principle, Ken Coleman‡ Forever and Ever, Amen, Randy Travis*† The Body, A Guide for Occupants, Bill Bryson Morgan’s Run, Colleen McCullough¶* Everyday Millionaires, Chris Hogan† The Veteran, Frederick Forsyth* Myths, Lies, and Half-Truths of Language Usage, John McWhorter*† Ultralearning, Scott H Young*‡ Memories, Lang Leav* The Universe of Us, Lang Leav* Dissent on Aadhaar, compilation, Reetika Khera (editor)† Love Looks Pretty on You, Lang Leav* Working, Robert Caro*‡ The Fifth Season, The Broken Earth Trilogy, N. K. Jemisin* The Obelisk Gate, The Broken Earth Trilogy, N. K. Jemisin* The Stone Sky, The Broken Earth Trilogy, N. K. Jemisin* The Hundred Thousand Kingdoms, The Inheritance Trilogy, N. K. Jemisin* The Broken Kingdoms, The Inheritance Trilogy, N. K. Jemisin* The Kingdom of Gods, The Inheritance Trilogy, N. K. Jemisin* The Song of the Bird, Anthony de Mello*† The Mysterious Affair at Styles (Poirot #1), Agatha Christie* Epigrams on Men, Women and Love, Honoré de Balzac Mother American Night, John Perry Barlow† Word by Word, Anne Lamott*‡ Indian Love Poems, Peter Pauper Press Love Poems and Love Letters for All the Year, Peter Pauper Press Flower Thoughts, Peter Pauper Press Thoughts for a Good Life, Peter Pauper Press Epigrams by Oscar Wilde, Peter Pauper Press* Murder on the Links (Poirot #2), Agatha Christie* The Great Mental Models, Shane Parrish*‡ Coraline, Neil Gaiman* Keep Going, Austin Kleon*† Chocolate Wars, Deborah Cadbury*† Titan’s Wrath, Rhett C Bruno Never Grow Up, Jackie Chan*† Company of One, Paul Jarvis† Titan’s Son, Rhett C Bruno Digital Minimalism, Cal Newport*‡ Never Eat Alone, Keith Ferrazzi \u0026amp; Tal Raz† Thinking in Bets, Annie Duke† Titanborn, Rhett C Bruno The City \u0026amp; The City, China Miéville Antifragile: Things That Gain from Disorder, Nassim Nicholas Taleb¶*† Bird by Bird, Anne Lamott*‡ The Warren Buffett Shareholder, compilation, Lawrence Cunningham \u0026amp; Stephanie Cuba, editors*† How To Become a Straight-A Student, Cal Newport*‡ The Broken Spears: The Aztec Account of the Conquest of Mexico, Miguel León-Portilla*† Fluent Forever: How to Learn Any Language Fast and Never Forget It, Gabriel Wyner*‡ Boundaries, Henry Cloud \u0026amp; John Townsend‡ The Walking Drum, Louis L’Amour Last of the Breed, Louis L’Amour Education of a Wandering Man, Louis L’Amour*† The Swerve: How the World Became Modern, Stephen Greenblatt† I’ll Be There for You, Kelsey Miller*† Playing with FIRE (Financial Independence Retire Early), Scott Rieckens† Meet the Frugalwoods, Elizabeth Willard Thames† The Three Secret Cities, Matthew Reilly* Absolute FreeBSD, 3rd Edition, Michael W. Lucas*‡ Learning Python, Mark Lutz*‡ Mastering Emacs, Mickey Petersen‡ Extreme Programming Pocket Guide, Shane Warden‡ Python for You and Me, Kushal Das*‡ i want 2 do project. tell me wat 2 do, Shakthi Kannan*‡ Lauren Ipsum, Carlos Bueno*‡ ","externalUrl":null,"permalink":"/reading/2019/","section":"Reading","summary":"","title":"2019","type":"reading"},{"content":" Presto!: How I Made Over 100 Pounds Disappear and Other Magical Tales, Penn Jillette† Revolution in The Valley: The Insanely Great Story of How the Mac Was Made, Andy Hertzfeld† Fanocracy, David \u0026amp; Reiko Scott The Muscle \u0026amp; Strength Pyramid: Nutrition, Eric Helms, Andrea Valdez, and Andy Morgan‡ The Muscle \u0026amp; Strength Pyramid: Training, Eric Helms, Andrea Valdez, and Andy Morgan‡ Convict Conditioning, Paul Wade‡ A Life in Parts, Bryan Cranston Happy For No Reason, Mandira Bedi Altered Carbon, Richard Morgan Run Spy, Run (Nick Carter Killmaster #1) The Case of the Amorous Aunt (Perry Mason), Erle Stanley Gardner The Case of the Angry Mourner (Perry Mason), Erle Stanley Gardner The Case of the Beautiful Beggar (Perry Mason), Erle Stanley Gardner The Case of the Bigamous Spouse (Perry Mason), Erle Stanley Gardner The Case of the Baited Hook (Perry Mason), Erle Stanley Gardner The Case of the Black Eyed Blonde (Perry Mason), Erle Stanley Gardner Stillness is the Key, Ryan Holiday*‡ The Wit and Wisdom of Downton Abbey, Emma Marriott* Study Less, Study Smart, Marty Lobdell*‡ Forest 404, BBC Sounds*# Ben-Hur, Lew Wallace* David and Goliath, Malcolm Gladwell‡ The Count of Monte Cristo, Alexandre Dumas¶* The Skystone (Camulod Chronicles), Jack Whyte The Picture of Dorian Gray, Oscar Wilde Butterick’s Practical Typography, Matthew Butterick 1984, George Orwell A Tale of Two Cities, Charles Dickens We Need to Talk About the British Empire, Afua Hirsch# Asterix and the Chariot Race* Asterix and the Missing Scroll* Asterix and the Picts* Asterix and Obelix’s Birthday – the Golden Book* Asterix and the Falling Sky* Asterix and the Class Act* Asterix and the Actress* Asterix and Obelix All at Sea* Asterix and the Secret Weapon* Asterix and the Magic Carpet* Asterix and Son* Asterix and the Magic Carpet* Asterix and the Black Gold* Asterix and the Great Divide* Asterix in Belgium* Obelix and Co.* Asterix and the Great Crossing* Asterix and Caesar’s Gift* Asterix in Corsica* Asterix and the Soothsayer* Tiny Habits, BJ Fogg*† The Biggest Bluff, Maria Konnikova† Finish What You Start, Peter Hollins† The Science of Self Discipline, Peter Hollins† The Science of Self Learning, Peter Hollins† The Last Nazi, Andrew Turpin Chop Wood, Carry Water, Joshua Medcalfe Prince of Thorns, Mark Lawrence King of Thorns, Mark Lawrence Emperor of Thorns, Mark Lawrence Change is the Only Constant, Ben Orlin*†‡ Made in India, Milind Soman The Street Lawyer, John Grisham The Undoing Project, Michael Lewis*† Age of Aztec, James Lovegrove The Secret Runners of New York, Matthew Reilly Death: The Hight Cost of Living, (Sandman Omnibus, Vol III), Neil Gaiman Death Talks About Life, (Sandman Omnibus, Vol III), Neil Gaiman* Death: The Time of Your Life, (Sandman Omnibus, Vol III), Neil Gaiman* The Sandman: The Dream Hunters (Novel), (Sandman Omnibus, Vol III), Neil Gaiman* The Sandman: The Dream Hunters (Comic), (Sandman Omnibus, Vol III), Neil Gaiman* The Sandman: Endless Nights, (Sandman Omnibus, Vol III), Neil Gaiman* The Sandman: Overture, (Sandman Omnibus, Vol III), Neil Gaiman* Death: A Winter’s Tale, (Sandman Omnibus, Vol III), Neil Gaiman* Fear of Falling, (Sandman Omnibus, Vol II), Neil Gaiman* Convergence: The Hunt, (Sandman Omnibus, Vol II), Neil Gaiman* The Flowers of Romance, (Sandman Omnibus, Vol II), Neil Gaiman* Convergence: Soft Places, (Sandman Omnibus, Vol II), Neil Gaiman* How They Met Themselves, (Sandman Omnibus, Vol II), Neil Gaiman* Convergence: The Parliament of Rooks, (Sandman Omnibus, Vol II), Neil Gaiman* The Castle, (Sandman Omnibus, Vol II), Neil Gaiman* Brief Lives, (Sandman Omnibus, Vol II), Neil Gaiman* Distant Mirrors: Ramadan, (Sandman Omnibus, Vol II), Neil Gaiman* A Tale of Two Cities, (Sandman Omnibus, Vol II), Neil Gaiman* Cluracan’s Tale, (Sandman Omnibus, Vol II), Neil Gaiman* Hob’s Leviathan, (Sandman Omnibus, Vol II), Neil Gaiman* The Golden Boy, (Sandman Omnibus, Vol II), Neil Gaiman* Cerements, (Sandman Omnibus, Vol II), Neil Gaiman* Worlds’ End, (Sandman Omnibus, Vol II), Neil Gaiman* The Kindly Ones, (Sandman Omnibus, Vol II), Neil Gaiman* The Wake, (Sandman Omnibus, Vol II), Neil Gaiman* Exiles, (Sandman Omnibus, Vol II), Neil Gaiman* The Tempest, (Sandman Omnibus, Vol II), Neil Gaiman* The Last Sandman Story, (Sandman Omnibus, Vol II), Neil Gaiman* Sleep of the Just, (Sandman Omnibus, Vol I), Neil Gaiman* Imperfect Hosts, (Sandman Omnibus, Vol I), Neil Gaiman* Dream a Little Dream of Me, (Sandman Omnibus, Vol I), Neil Gaiman* A Hope in Hell, (Sandman Omnibus, Vol I), Neil Gaiman* Passengers, (Sandman Omnibus, Vol I), Neil Gaiman* 24 Hours, (Sandman Omnibus, Vol I), Neil Gaiman* Sound and Fury, (Sandman Omnibus, Vol I), Neil Gaiman* The Sound of Her Wings, (Sandman Omnibus, Vol I), Neil Gaiman* Tales in the Sand, (Sandman Omnibus, Vol I), Neil Gaiman* The Doll’s House, (Sandman Omnibus, Vol I), Neil Gaiman* Moving In, (Sandman Omnibus, Vol I), Neil Gaiman* Men of Good Fortune, (Sandman Omnibus, Vol I), Neil Gaiman* Collectors, (Sandman Omnibus, Vol I), Neil Gaiman* Into the Night, (Sandman Omnibus, Vol I), Neil Gaiman* Lost Hearts, (Sandman Omnibus, Vol I), Neil Gaiman* Calliope, (Sandman Omnibus, Vol I), Neil Gaiman* A Dream of a Thousand Cats, (Sandman Omnibus, Vol I), Neil Gaiman* A Midsummer Night’s Dream, (Sandman Omnibus, Vol I), Neil Gaiman* Façade, (Sandman Omnibus, Vol I), Neil Gaiman* Season of Mists, (Sandman Omnibus, Vol I), Neil Gaiman* Distant Mirrors, (Sandman Omnibus, Vol I), Neil Gaiman* A Game of You, (Sandman Omnibus, Vol I), Neil Gaiman* The Song of Orpheus, (Sandman Omnibus, Vol I), Neil Gaiman* The Complete Yes Minister \u0026amp; Yes Prime Minister, Jonathan Lynn \u0026amp; Anthony Jay* Fight Club, Chuck Pahlaniuk You are Awesome, Neil Pasricha† How to Get Back Up, Neil Pasricha† Small Wars, Lee Child Second Son, Lee Child Not a Drill, Lee Child High Heat, Lee Child Deep Down, Lee Child Killing Floor, Lee Child Die Trying, Lee Child Tripwire, Lee Child Running Blind, Lee Child Echo Burning, Lee Child Without Fail, Lee Child Persuader, Lee Child The Enemy, Lee Child One Shot, Lee Child The Hard Way, Lee Child Bad Luck and Trouble, Lee Child Nothing to Lose, Lee Child Gone Tomorrow, Lee Child Sixty-One Hours, Lee Child Worth Dying For, Lee Child The Affair, Lee Child The Great Zoo of China, Matthew Reilly The Four Legendary Kingdoms, Matthew Reilly The Three Secret Cities, Matthew Reilly Jack West Jr. and the Chinese Splashdown, Matthew Reilly The Two Lost Mountains, Matthew Reilly Aurelia, Angel Rosen A Wanted Man, Lee Child High Heat, Lee Child Personal, Lee Child Night School, Lee Child The Midnight Line, Lee Child Morgan’s Run, Colleen McCullough¶* (Lindy Book. Comfort book. Stoicism in action. Personal fiction favourite. Read and reread a million times over the past twenty years. The book that has gotten me through, and been by my side through all the tough times in my life.) Past Tense, Lee Child How to Live on 24 Hours a Day, Arnold Bennett¶*† The Last Neanderthal, Claire Cameron The Wit \u0026amp; Wisdom of Tyrion Lannister, George R. R. Martin* Grokking Algorithms*‡ Python Regular Expressions*‡# Introducing Regular Expressions*‡# Inside the Machine, Jon Stokes*‡ The History of Python† Bite Size Bash, Julia Evans*‡ How Containers Work, Julia Evans*‡ Bash Scripting Fundamentals, Sander van Vugt*‡# Advanced Bash Scripting, Sander van Vugt*‡# Mastering Regular Expressions, Jeffrey Friedl‡ Mastering Ansible, James Spurin‡ Go Programming Basics, John Graham-Cumming‡ Introduction to SQLite Databases for Python Programming, John Elder‡ The Definitive Guide to SQLite, Grant Allen \u0026amp; Mike Owens‡ Creating a Database with SQLite, Allen Taylor‡ Introducing SQL and Relational Databases, Allen Taylor‡ Intermediate to Advanced SQL: Move Beyond the Basics to Master Complex Concepts, Allen Taylor‡ Become a SELECT Star, Julia Evans*‡ Web Almanac, 2020 Edition, the HTTP Archive† Modern HTML Email, Jason Rodriguez‡ Ace Python Interviews, Reuven Lerner*‡# Practice Makes Regexp, Reuven Lerner*‡ Python for Non-programmers, Reuven Lerner*‡# Intro Python: Fundamentals, Reuven Lerner*‡# Intro Python: Functions, Reuven Lerner*‡# Object Oriented Python, Reuven Lerner*‡# Iterators and Generators, Reuven Lerner*‡# Comprehending Comprehensions, Reuven Lerner*‡# Advanced Python Functions, Reuven Lerner*‡# Advanced Python Objects, Reuven Lerner*‡# Advanced Python Data Structures, Reuven Lerner*‡# Decorators, Reuven Lerner*‡# Practice Makes Python, Reuven Lerner*‡ ","externalUrl":null,"permalink":"/reading/2020/","section":"Reading","summary":"","title":"2020","type":"reading"},{"content":" The Half-Inch Himalayas, Agha Shahid Ali Drive, James S. A. Corey The Churn, James S. A. Corey The Butcher of Anderson Station, James S. A. Corey Reacher Said Nothing; Lee Child and the Making of Make Me, Andy Martin† The Golden Spider, Anne Renwick The Silver Skull, Anne Renwick The Iron Fin, Anne Renwick Ask Gary Vee, Gary Vaynerchuk† Aidan Redding Against the Universes, Michael W Lucas Sticky Supersaturation, Michael W Lucas No More Lonesome Blue Rings, Michael W Lucas Cashflow for Creators, Michael W Lucas‡ The Total Money Makeover, Dave Ramsey† Pirate Latitudes, Michael Crichton Dying Every Day, James Romm† Atomic Habits, James Clear¶*†‡ Habeas Data, Cyrus Farivar† The MaxCoders Guide To Finding Your Dream Developer Job, Charles Max Wood‡ Art Matters, Neil Gaiman \u0026amp; Chris Riddell*† The Curse of Capistrano, Johnston McCulley Project Hail Mary, Andy Weir* The Mongol Empire, Craig G. Benjamin, The Great Courses*†# Shadow and Bone, Leigh Bardugo Siege and Storm, Leigh Bardugo Ruin and Rising, Leigh Bardugo The Language of Thorns, Leigh Bardugo The Lives of Saints, Leigh Bardugo The Demon in the Wood, Leigh Bardugo The Tailor, Leigh Bardugo Early Retirement Extreme, Jakob Lund Fisker*‡ Total Recall, Arnold Schwarzenegger† Arnold: The Education of a Bodybuilder‡ The Overstory, Richard Powers¶* The Other Black Girl, Zakiya Dalila Harris A World Without Email, Cal Newport‡ Influence: Science and Practice, Robert B. Cialdini‡ Six of Crows, Leigh Bardugo* Crooked Kingdom, Leigh Bardugo* King of Scars, Leigh Bardugo* Rule of Wolves, Leigh Bardugo* The Comfort Crisis, Michael Easter† Super Thinking, Gabriel Weinberg \u0026amp; Lauren McCann† A Mathematician’s Lament, Paul Lockhart† Swimming Across, Andrew S. Grove† The Seven Deaths of Evelyn Hardcastle, Stuart Turton One–On–One with Andy Grove, Andrew S. Grove‡ The Devil and the Dark Water, Stuart Turton This is Water, David Foster Wallace† On Reading and Books, Arthur Schopenhauer‡ How to Pronounce Knife, Souvankham Thammavongsa* Brave Enough, Cheryl Strayed¶*† Wham!, George Michael, and Me: A Memoir, Andrew Ridgeley*† Liftoff, Eric Berger† Draft No. 4, John McPhee‡ Rethinking Your Job Search in Tech, Jon Jackson‡ How to Retire Early in India, M Pattabiraman‡ Planet of the Apes: Caesar’s Story (by Maurice), Greg Keyes* The Science of Interstellar, Kip Thorne*† Don’t be a Tourist in Paris: The Messy Nessy Chic Guide, Vanessa Grall*† Infinite Powers, Steven Strogatz*† The Calculus of Friendship, Steven Strogatz† The Joy of X, Steven Strogatz*† Letters to a Young Mathematician, Ian Stewart† Supernova in the East, I-VI, Dan Carlin*† Out of Bedlam, Stephen Gallagher The Kingdom of Bones, Stephen Gallagher Invent and Wander, Jeff Bezos† Fire \u0026amp; Blood, George R. R. Martin \u0026amp; Doug Wheatley The Ultimate Deliberate Practice Guide: How to Be the Best, Shane Parrish‡ The World of Ice \u0026amp; Fire, George R. R. Martin, Elio Garcia \u0026amp; Linda Antonsson Needle Points, Tablet’s exploration into the sources and nature of vaccine hesitancy, Norman Doidge (for Tablet Magazine)†1 The Year Without Pants: Wordpress.com and the Future of Work, Scott Berkun† So Good They Can’t Ignore You, Cal Newport¶*‡ Little Bets, Peter Sims† The Missing Readme: A Guide for the New Software Engineer, Chris Riccomini \u0026amp; Dmitriy Ryaboy‡ Company of One, Paul Jarvis† Discipline Equals Freedom, Jocko Willink¶† How to Fight a Hydra, Josh Kaufman* The Personal MBA, Josh Kaufman*‡ 24 Hour Mindfullness, Rohan Gunatillake† 30 Covert Emotional Manipulation Tactics, Adelyn Birch† What I Talk About When I Talk About Running, Haruki Murakami*† End of Life Guideline Series, Barbara Karnes*† The Final Act of Living, Barbara Karnes*† Finish What You Start, Peter Hollins† What Makes This Book So Great, Jo Walton*† Challenging the Cult of Speed, Shane Parrish† Crush It, Gary Vaynerchuk† In Praise of Slowness, Carl Honore† The Story of Us, Tim Urban† Relic, Douglas Preston \u0026amp; Lincoln Child Extraction, Douglas Preston \u0026amp; Lincoln Child Reliquary, Douglas Preston \u0026amp; Lincoln Child The Cabinet of Curiosities, Douglas Preston \u0026amp; Lincoln Child Still Life With Crows, Douglas Preston \u0026amp; Lincoln Child Brimstone, Douglas Preston \u0026amp; Lincoln Child Dance of Death, Douglas Preston \u0026amp; Lincoln Child The Book of the Dead, Douglas Preston \u0026amp; Lincoln Child The Wheel of Darkness, Douglas Preston \u0026amp; Lincoln Child Cemetery Dance, Douglas Preston \u0026amp; Lincoln Child Fever Dream, Douglas Preston \u0026amp; Lincoln Child Cold Vengeance, Douglas Preston \u0026amp; Lincoln Child Two Graves, Douglas Preston \u0026amp; Lincoln Child Learning Path Go Programming Basics, O’Reilly Safari‡# TDD with Django, from scratch: a beginner\u0026rsquo;s intro to testing and web development, Harry J.W. Percival‡# Linux Shell Scripting: A Project-Based Approach to Learning, Jason Cannon‡# Django Girls Tutorial‡# Javascript: The Good Parts, Douglas Crockford‡ Python Django Dev To Deployment, Brad Traversy‡# Dealing with Toxic People, Dean Wesley Smith*‡# Starving to Successful: How to Become a Full-Time Writer, Jeff Goins‡# Effective E-mail and Newsletter Marketing, Jeff Goins‡# Python for Everybody, Dr. Chuck Severance*‡# Django for Everybody, Dr. Chuck Severance*‡# PostgreSQL for Everybody, Dr. Chuck Severance*‡# That link is to a pdf version of the full article. If you prefer to read it in parts online here you go.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","externalUrl":null,"permalink":"/reading/2021/","section":"Reading","summary":"","title":"2021","type":"reading"},{"content":" White Fire, Douglas Preston \u0026amp; Lincoln Child Blue Labyrinth, Douglas Preston \u0026amp; Lincoln Child Crimson Shore, Douglas Preston \u0026amp; Lincoln Child The Obsidian Chamber, Douglas Preston \u0026amp; Lincoln Child City of Endless Night, Douglas Preston \u0026amp; Lincoln Child Verses for the Dead, Douglas Preston \u0026amp; Lincoln Child Crooked River, Douglas Preston \u0026amp; Lincoln Child Bloodless, Douglas Preston \u0026amp; Lincoln Child Thunderhead, Douglas Preston \u0026amp; Lincoln Child The Scorpion’s Tail, Douglas Preston \u0026amp; Lincoln Child Old Bones, Douglas Preston \u0026amp; Lincoln Child The Art of PostgreSQL, Dimitri Fontaine‡ Hourly Billing Is Nuts, Jonathan Stark† Drive, James S. A. Corey* The Churn, James S. A. Corey* The Butcher of Anderson Station, James S. A. Corey* Leviathan Wakes, James S. A. Corey* Caliban’s War, James S. A. Corey* Gods of Risk, James S. A. Corey* Nemesis Games, James S. A. Corey* Babylon’s Ashes, James S. A. Corey* Strange Dogs, James S. A. Corey* Persepolis Rising, James S. A. Corey* Auberon, James S. A. Corey* Tiamat’s Wrath, James S. A. Corey* Leviathan Falls, James S. A. Corey* Memory’s Legion, James S. A. Corey* Django for Beginners, William S. Vincent*‡ Django for APIs, William S. Vincent*‡ Django for Professionsals, William S. Vincent*‡ Domesticate Your Badgers: Become a Better Writer through Deliberate Practice, Michael W. Lucas*‡ How I Use Cliffhangers, Michael W. Lucas*‡ How I Use Footnotes, Michael W. Lucas*‡ The Heart and the Bottle, Oliver Jeffers* Farewell, My Lovely, Raymond Chandler Devil in a Blue Dress, Walter Mosley The Personal Librarian, Victoria Christopher Murray, Marie Benedict Dirty Pretty Things, Michael Faudet Bitter Sweet Love, Michael Faudet Code, Charles Petzold*‡ The Girl Who Saved the King of Sweden, Jonas Jonasson* The Bootstrap 4 Bootcamp, Colt Steele*‡# Milk and Honey, Rupi Kaur* The Sun and Her Flowers, Rupi Kaur* Home Body, Rupi Kaur* Mastery, Robert Greene*‡ Human Resources (Hardcore History 68), Dan Carlin*†# Mad Max: Fury Road, George Miller, Nico Lathouris \u0026amp; Mark Sexton* Ultimate Go Programming, William Kennedy (Video Course on O’Reilly Safari)*‡# The Kraken Project, Douglas Preston* Blasphemy, Douglas Preston Hugo in Action, Atishay Jain‡ The Codex, Douglas Preston Learn C the Hard Way, Zed Shaw*‡ How DNS Works, Julia Evans*‡ Programming in ANSI C, E Balagurusamy*‡ Gideon’s Sword, Douglas Preston \u0026amp; Lincoln Child Gideon’s Corpse, Douglas Preston \u0026amp; Lincoln Child The Lost Island, Douglas Preston \u0026amp; Lincoln Child Writing Habit Mastery, S. J. Scott‡ Embrace the Struggle, Zig Ziglar† The Affinity Bridge, George Mann The Osiris Ritual, George Mann The Immorality Engine, George Mann Beyond the Ice Limit, Douglas Preston \u0026amp; Lincoln Child The Pharoah Key, Douglas Preston \u0026amp; Lincoln Child Digital Minimalism, Cal Newport*‡ Buddha in Blue Jeans, Tai Sheridan*† Recession Proof Graduate, Charlie Hoehn*‡ Guide to Markdown Mode for Emacs, Jason Blevins*‡ The (Illustrated) Children’s Guide to Kubernetes, Matt Butcher, Karen Chu \u0026amp; Bailey Beougher*‡ Phippy Goes to the Zoo, A Kubernetes Story, Matt Butcher, Karen Chu \u0026amp; Bailey Beougher*‡ The Lincoln Lawyer, Michael Connelly* Admiral Bash’s Island Adventure, By Simon Forster, John Forman, Robert Glenn \u0026amp; Danielle Cook*‡ From 00-K8S, With Love, Matt Butcher, Karen Chu, Lachlan Evenson, Loretta Ford*‡ Phippy and Zee Go to the Mountains, Dave, Boden, and Zenna Cadwallader*‡ Phippy in Space, Citlali Tolia \u0026amp; Yuiza Turey Martínez Rivera*‡ Phippy’s Quest for Cloud Native Transformation*‡ How I Built This, Guy Raz*‡ How to Take Smart Notes, Sören Ahrens*‡ Org Mode Compact Guide‡ Org-roam User Manual‡ The Brass Verdict, Michael Connelly The Reversal, Michael Connelly Digital Zettelkasten: Principles, Methods \u0026amp; Examples, David Kadavy*‡ The Fifth Witness, Michael Connelly The Gods of Guilt, Michael Connelly Law of Innocence, Michael Connelly Is This Anything, Jerry Seinfeld† The World Split Open: Great Authors on How and Why We Write, A Literary Arts Reader† Trust Me, I’m Lying, Ryan Holiday† Rejection Proof, Jia Jiang*† India World, Amit Gupta* Writing to Learn, William Zinsser*‡ Building a Second Brain, Tiago Forte*‡ The Sandman (Audiobook), Neil Gaiman, Dirk Maggs*# Shadow of the Seraph (Shadow of the Seraph #1), Sarah Hawke* Harbinger (Shadow of the Seraph #2), Sarah Hawke* Union (Shadow of the Seraph #3), Sarah Hawke* Zig: The Autobiography, Zig Ziglar† Seen, Heard, and Paid: The New Work Rules for the Marginalized, Alan Henry*‡ The Org Manual, The Org Mode Developers*‡ Wild, Cheryl Strayed* Baking with Kafka, Tom Gauld* Department of Mind-Blowing Theories, Tom Gauld* The Little Wooden Robot and the Log Princess, Tom Gauld* Murder Mysteries, Neil Gaiman* Cobalt Blue, Matthew Reilly The One Impossible Labyrinth, Matthew Reilly An Introduction to Programming in Emacs Lisp, Robert J. Chassell A Good Day for Chardonnay, Darynda Jones The Count of Monte Cristo, Alexandre Dumas*¶ The Fabulous Bill Barrett, Hardcore History Addendum, Ep 22*† Put Your Ass Where Your Heart Wants to Be, Steven Pressfield*† The Go-Getter, Peter B. Kyne Creativity: A Short and Cheerful Guide, John Cleese The Science of Accelerated Learning, Peter Hollins The Science of Intelligent Decision Making, Peter Hollins The Science of Self-Discipline, Peter Hollins The Science of Self-Learning, Peter Hollins DevOps for the Desperate, Bradley Smith*‡ Certified Kubernetes Administrator CKA Video Course, Sander van Vugt‡# Developing Infrastructure as Code with Terraform Video Course, Robert Jordan ‡# Baby Steps Millionaires, Dave Ramsey† The Linux Command Line, 2nd Edition, William Shotts‡ Web of the Spider Queen, Sarah Hawke Slaves of the Spider Queen, Sarah Hawke Bound to the Spider Queen, Sarah Hawke Vengeance of the Spider Queen, Sarah Hawke The Priestess’s Gratitude, Sarah Hawke The Headmistress’s Punishment, Sarah Hawke The Ranger-General’s Submission, Sarah Hawke The Ranger-General’s Submission: Knightfall, Sarah Hawke Huntress: Origins, Sarah Hawke The Amazon’s Pledge, Sarah Hawke Mark of the Huntress, Sarah Hawke The Black Mistress, Sarah Hawke Daughter of Destiny, Sarah Hawke Legacy of Winter, Sarah Hawke Wrath of the Inquisitrix, Sarah Hawke His Harlot, Victorian Decadence, S.M. LaViolette* His Valet, Victorian Decadence, S.M. LaViolette* His Countess, Victorian Decadence, S.M. LaViolette* Her Beast, Victorian Decadence, S.M. LaViolette* Discipline is Destiny, Ryan Holiday*† The Amazon’s Vengeance, Sarah Hawke* Blood Legacy, Sarah Hawke* Ascension, Sarah Hawke* The Dragon of Highwind, Sarah Hawke* Reckoning, Sarah Hawke* Empire, Episodes 1-7, Anita Anand \u0026amp; William Dalrymple*†# Babylon (Ep. 145) \u0026amp; The Birth of Babylon (Ep. 181), The Rest is History, Tom Holland \u0026amp; Dominic Sandbrook*†# The Rise of Genghis Khan (Ep. 165) \u0026amp; Genghis Khan: Lord of the Mongols (Ep. 166), The Rest is History, Tom Holland \u0026amp; Dominic Sandbrook*†# The Blade of Highwind, Sarah Hawke* Queen of the Pale, Sarah Hawke* 97 Things Every Programmer Should Know, editor Kevlin Henney‡ The Hundred-Year-Old Man Who Climbed Out of the Window and Disappeared, Jonas Jonasson* Ram: Scion of Ikshvaku, Amish Tripathi* Sita: Warrior of Mithila, Amish Tripathi* Raavan: Enemy of Aryavarta, Amish Tripathi* The War of Lanka, Amish Tripathi* Friends, Lovers, and the Big Terrible Thing, Matthew Perry*† Portugal: On the Edge of the World (Ep. 227), Portugal: The Golden Age of Discovery (Ep. 228), Portugal: Gold, Earthquakes and Brazil (Ep. 229) \u0026amp; Portugal: Footbal, Fado and Fascism (Ep. 230), The Rest is History, Tom Holland \u0026amp; Dominic Sandbrook*†# The Complete Yes Minister, Jonathan Lynn \u0026amp; Anthony Jay* The Complete Yes Prime Minister, Jonathan Lynn \u0026amp; Anthony Jay* Empire, Episodes 14-16, Anita Anand \u0026amp; William Dalrymple*†# French Demystified, Annie Heminway*‡ The Sandman: Act II (Audiobook), Neil Gaiman, Dirk Maggs*# The Sandman: Act III (Audiobook), Neil Gaiman, Dirk Maggs*# A Study in Emerald, Neil Gaiman* Snow Glass Apples, Neil Gaiman* Chivalry, Neil Gaiman* Zen Pencils: Cartoon Quotes from Inspirational Folks, Gavin Aung Than*† Coaching for Improved Work Performance, Revised Edition, Ferdinand Fournies*‡ On Reading and Books, Arthur Schopenhauer*† How To Live On Twenty Four Hours A Day, Arnold Bennett*† Stephen Fry\u0026rsquo;s Victorian Secrets (Audiobook), Stephen Fry# Word by Word (Audiobook), Anne Lamott*‡# Creatures of the Night (Comic), Neil Gaiman*# The Facts in the Case of the Departure of Miss Finch (Comic), Neil Gaiman*# Forbidden Brides of the Faceless Slaves in the Secret House of the Night of Dread Desire (Comic), Neil Gaiman*# Harlequin Valentine (Comic), Neil Gaiman*# The Problem of Susan and Other Stories (Comic), Neil Gaiman*# Signal to Noise (Comic), Neil Gaiman*# Troll Bridge (Comic), Neil Gaiman*# How to Talk to Girls at Parties (Comic), Neil Gaiman*# Likely Stories (Comic), Neil Gaiman*# Only the End of the World Again (Comic), Neil Gaiman*# Norse Mythology, Vol I (Comic), Neil Gaiman*# Norse Mythology, Vol II (Comic), Neil Gaiman*# American Gods, Vol I (Comic), Neil Gaiman*# American Gods, Vol II (Comic), Neil Gaiman*# American Gods, Vol III (Comic), Neil Gaiman*# 1602 (Comic), Neil Gaiman*# The Secret of the Old Clock (Nancy Drew), Carolyn Keene The Tower Treasure (The Hardy Boys), Franklin W. Dixon The Daily Laws, Robert Greene¶*† The Pocket Guide to Debugging, Julia Evans,*‡ The House on the Cliff (The Hardy Boys), Franklin W. Dixon Smoke \u0026amp; Mirrors, Michael Faudet* Winter of Summers, Michael Faudet* Want to Play?, P.J. Tracy Live Bait, P.J. Tracy The Daily Stoic, Ryan Holiday \u0026amp; Stephen Hanselman¶*† A Velocity of Being; Letters to a Young Reader, Maria Popova \u0026amp; Claudia Bedrick (editors)¶*† ","externalUrl":null,"permalink":"/reading/2022/","section":"Reading","summary":"","title":"2022","type":"reading"},{"content":" January # Morgan’s Run, Colleen McCullough* The Little Prince, Antoine de Saint-Exupéry¶* Brave, Cheryl Strayed¶*† Atomic Habits, James Clear¶*† Code for Your Life, John Arundel† Dark Crimes, Great Noir Fiction From the ’40s to the ’90s, Ed Gorman (editor)* February # The Boy, the Mole, the Fox and the Horse, Charlie Mackesy¶* Recursion, Blake Crouch* The Book of Signs, Rudolf Koch*† Accidental Mobster, Catherine Banks \u0026amp; Daisy Emory Dark Crimes 2, Modern Masters of Noir, Ed Gorman (editor)* The Hidden Staircase (Nancy Drew), Carolyn Keene The Bungalow Mystery (Nancy Drew), Carolyn Keene The Secret of the Old Mill (The Hardy Boys), Franklin W. Dixon Chokepoint Capitalism, Rebecca Giblin \u0026amp; Cory Doctorow*† Last Ape Standing, Chip Walter*† Art in the Blood, Bonnie MacBird* The Mystery at Lilac Inn (Nancy Drew), Carolyn Keene March # The Missing Chums (The Hardy Boys), Franklin W. Dixon A Game of Thrones, George R. R. Martin* A Clash of Kings, George R. R. Martin* A Storm of Swords, George R. R. Martin* A Feast for Crows, George R. R. Martin* A Dance with Dragons, George R. R. Martin* Python Concurrency with asyncio, Matthew Fowler*‡ Ignore Everybody, Hugh MacLeod*† How to Write a Book, David Kadavy*‡ The Secret of Shadow Ranch (Nancy Drew), Carolyn Keene Hunting For Hidden Gold (The Hardy Boys), Franklin W. Dixon The Secret of Red Gate Farm (Nancy Drew), Carolyn Keene The Shore Road Mystery (The Hardy Boys), Franklin W. Dixon Slide:ology, Nancy Duarte*‡ Resonate, Nancy Duarte*‡ The Heart to Start, David Kadavy† The Clue in the Diary (Nancy Drew), Carolyn Keene An Oral History of Lilo \u0026amp; Stitch, Bilge Ebiri* The First Man in Rome, Colleen McCullough* The Grass Crown, Colleen McCullough* April # Art in the Blood, Bonnie MacBird* Unquiet Spirits, Bonnie MacBird* The Devil’s Due, Bonnie MacBird* The Three Locks, Bonnie MacBird* What Child is This?, Bonnie MacBird* Make Something Wonderful, Steve Jobs*† Blood, Sweat \u0026amp; Chrome, Kyle Buchanan*† Starfish, Peter Watts* May # Maelstrom, Peter Watts* Slave to the Empire, Sarah Hawke Unbound, Sarah Hawke Unchained, Sarah Hawke Unbroken, Sarah Hawke Unleashed, Sarah Hawke Better Spelling in 30 Minutes a Day, Robert W. Emery \u0026amp; Harry H. Crosby† The Snowball, Alice Schroeder† Fluent in 3 Months, Benny Lewis‡ Gideon the Ninth, Tamsyn Muir* Harrow the Ninth, Tamsyn Muir* As Yet Unsent, Tamsyn Muir* The Boy Who Would Be King, Ryan Holiday* Buffet, Roger Lowenstein*† The Complete Sherlock Holmes, Vols I \u0026amp; II, Arthur Conan Doyle* June # How Integers and Floats Work, Julia Evans*‡ Mastermind: How to Think Like Sherlock Holmes, Maria Konnikova*† Damn Right, Janet Lowe† Wings of the Seraph: The Complete Series, Sarah Hawke* Tao of Charlie Munger, David Clark*† The Lost Fleet (Incursion, Insurrection, Invasion), Sarah Hawke* Ink Blood Sister Scribe, Emma Törzs* The Daily Show (The Book), Chris Smith† July # Red Sonja and Cub, Jim Zub et al. Kaiju Preservation Society, John Scalzi* Absence of Mercy, S.M. Goodwin* Crooked in His Ways, S.M. Goodwin* Brionne, Louis L’Amour Phoebe, S.M. LaViolette Hyacinth, S.M. LaViolette Melissa and The Vicar, S.M. LaViolette Joss and The Countess, S.M. LaViolette Hugo and the Maiden, S.M. Laviolette Thomas Aquinas in 90 Minutes, Paul Strathern* The Fox, Frederick Forsyth Where the Long Grass Blows, Louis L’Amour Avenger, Frederick Forsyth* The Afghan, Frederick Forsyth* Dogs of War, Frederick Forsyth* The Veteran, Frederick Forsyth* Day of the Jackal, Frederick Forsyth The Cobra, Frederick Forsyth The Little Black Book of Workout Motivation, Michael Matthews*† Mastering reveal.js: Video Course, Hakim El Hattab*‡# Bigger Leaner Stronger, Michael Matthews*‡ The Outsider, Frederick Forsyth* The Contrarian, Max Chafkin*† The Odessa File, Frederick Forsyth August # The Negotiator, Frederick Forsyth* Command Line Interface Guidelines, Eva Parish, Aanand Prasad, Ben Firshman \u0026amp; Carl Tashian*‡ Demonbound, Sarah Hawke The Dragon of Highwind, Sarah Hawke Dawnbringer, Sarah Hawke The Rest is History World Cup Spectacular, Episodes 252–286, Tom Holland \u0026amp; Dominic Sandbrook*† Jesus Christ: The History \u0026amp; The Mystery, Episodes 287–289, Tom Holland \u0026amp; Dominic Sandbrook*† Joan Rivers Confidential, Melissa Rivers \u0026amp; Scott Currie*† Forget a Mentor, Find a Sponsor, Sylvia Ann Hewlett† Deep Storm, Lincoln Child The History of English, Episodes 1-10, Kevin Stroud*‡ Courage Under Fire, James Stockdale*† Selina, S.M. LaViolette* Balthazar: The Spare, S.M. LaViolette A Second Change for Love, S.M. LaViolette The Arrangement (Anthology), Sylvia Day, Minerva Spencer \u0026amp; Kristin Vayden Icon, Frederick Forsyth* Dangerous, Minerva Spencer Barbarous, Minerva Spencer Notorious, Minerva Spencer Infamous, Minerva Spencer The History of English, Episodes 11-20, Kevin Stroud*‡ Forge Your Future With Open Source, VM (Vicky) Brasseur‡ Grateful Geek, Jean-Louis Gassée*† Outrageous, Minerva Spencer Scandalous, Minerva Spencer The Footman, Minerva Spencer The Postilion, Minerva Spencer The Bastard, Minerva Spencer The Music of Love, Minerva Spencer A Figure of Love, Minerva Spencer September # A Portrait of Love, Minerva Spencer The Language of Love, Minerva Spencer Dancing With Love, Minerva Spencer The Boxing Baroness, Minerva Spencer The Dueling Duchess, Minerva Spencer The History of English, Episodes 21-30, Kevin Stroud*‡ Their Master, Victorian Decadence, S.M. LaViolette* A Guide to Writing Mathematics, Dr. Kevin P. Lee‡ Everything You Need to Ace Computer Science and Coding in One Big Fat Notebook, Grant Smith, Chris Pearce, Dawn Dupriest \u0026amp; Abby Dening‡ How to Prove It, Daniel Velleman*‡ The History of English, Episodes 31-40, Kevin Stroud*‡ The Fourth Protocol, Frederick Forsyth* The Deceiver, Frederick Forsyth* The Fist of God, Frederick Forsyth* Berkshire Hathaway, Parts One, Two \u0026amp; Three, Acquired Podcast The Frugal Wizard’s Handbook for Surviving Medieval England, Brandon Sanderson* Uncurled, Daniel Stenberg*† October # Intel, Sony, Taylor Swift, Howard Marks, Standard Oil: Parts I \u0026amp; II, Sequoia Capital: Parts I \u0026amp; II, Acquired Podcast She Who Became The Sun, Shelley Parker-Chan* Bombay Balchao, Jane Borges* Lucasfilm, Pixar, Marvel, Acquired Podcast Lockheed Martin, Acquired Podcast Nvidia: Parts 1-3 \u0026amp; the Jensen Huang Interview, Acquired Podcast AWS, WhatsApp, Android, Stratechery, PA Semi \u0026amp; Authentec, Acquired Podcast LVMH, Nike, Costco, Acquired Podcast The History of English, Episodes 41-50, Kevin Stroud*‡ Mistborn, Brandon Sanderson* The History of English, Episodes 51-60, Kevin Stroud*‡ You Deserve a Tech Union, Ethan Marcotte*† He Who Drowned the World, Shelley Parker-Chan* November # The Well of Ascension, Brandon Sanderson* Hero of Ages, Brandon Sanderson* Secret History, Brandon Sanderson* Renegade, Sarah Hawke* 25 Sales Strategies That Will Boost Your Sales, Stephan Schiffman† Anguished English, Richard Lederer*† Empire Podcast, Series 2, Episodes 21–45, The Ottoman Empire*† The Ottoman Empire Byzantium and the Rise of the Turks The First of the Ottomans The Fall of Constantinople Suleiman the Magnificent Suspicion and Sorrow in Sulieman’s Court The Seige of Cyprus The Battle of Lepanto The Tudors and the Turks Sultanas to Slaves: Voices from the Harem Conquering the Night: The History of Coffee The Greatest Ottoman Empire Lady Mary: Our Woman in Constantinople The Sick Man of Europe Gallipoli: Death at the Cliff Edge The Armenian Genocide: Road to the Deportations The Armenian Genocide: Death Marches Sykes-Picot: Carving up the Middle-East Lawrence of Arabia and the Arab Revolt Origins of the Israel-Palestine Conflict The Rise of Ataturk The Fiery End of the Ottoman Empire The Birth of Saudi Arabia The Legacy of the Ottomans, Queen of the Desert, and giant turbans Successors to the Romans, progressive harems, and living Ottomans The Alloy of Law, Brandon Sanderson* Shadows of Self, Brandon Sanderson* The Bands of Mourning, Brandon Sanderson* Columbus, Episodes 306–309, The Rest is History, Tom Holland \u0026amp; Dominic Sandbrook*† The Lost Metal, Brandon Sanderson* Tress of the Emerald Sea, Brandon Sanderson* December # Chaos Kings, Scott Patterson*† Yumi and the Nightmare Painter, Brandon Sanderson* Sach Kahun Toh, Neena Gupta*† Nona the Ninth, Tamsyn Muir* The Fall of the Aztecs (Parts 1–8), The Rest is History, Episodes 384–391, Tom Holland \u0026amp; Dominic Sandbrook*† The History of English, Episodes 61-70, Kevin Stroud*‡ The History of English, Episodes 71-80, Kevin Stroud*‡ The History of English, Episodes 81-90, Kevin Stroud*‡ The History of English, Episodes 91-100, Kevin Stroud*‡ Three Ships Trilogy, Episodes 107-109, Empire Podcast* Empire Podcast, Series 4, Episodes 72–95, The Russian Empire and the Great Game*† Empire Podcast, Series 5, Episodes 96–106, Empires of Iran, Part I*† The Sunlit Man, Brandon Sanderson* The Grammar Devotional, Mignon Fogarty*† The Daily Laws, Robert Greene*† The Daily Stoic, Ryan Holiday \u0026amp; Stephen Hanselman*† American Gods Vols I, II \u0026amp; III, (Illustrated), Neil Gaiman* One-on-One With Andy Grove, Andrew S. Grove*† How to Pronounce Knife, Souvankham Thammavongsa* The Complete Sherlock Holmes, Arthur Conan Doyle* Deck ’Em, Scott Shwertly*† Empire Podcast, Series 1, Episodes 01–20, The British Empires in India*† Digital Zettelkasten, David Kadavy*† Twilight Of The Aesir, Parts I \u0026amp; II, Dan Carlin*† Sounds Like Me: My Life (So Far) in Song, Sara Bareilles*†# The Ultimate Deliberate Practice Guide, Shane Parrish*† The Overstory, Richard Powers* The Count of Monte Cristo, Alexandre Dumas* The Song of the Bird, Anthony de Mello The Little Prince, Antoine de Saint-Exupéry Meditations, Marcus Aurelius*† Brave Enough, Cheryl Strayed*† Atomic Habits, James Clear*† Antifragile, Nassim Nicholas Taleb*¶† ","externalUrl":null,"permalink":"/reading/2023/","section":"Reading","summary":"","title":"2023","type":"reading"},{"content":"Bonjour le monde! Je m’appelle Jason.\nVeuillez noter: J’utilise actuellement un modèle de langage pour traduire ceci de l’anglais au français.\nPardonnez-moi mes erreurs, s\u0026rsquo;il vous plaît.\nJ’apprends petit à petit à lire et à écrire en français, donc j’espère qu’avec le temps, je pourrai écrire en français sous quelque forme que ce soit.\nJ\u0026rsquo;ai été beaucoup de choses dans mes vies antérieures.\nLa plupart concernaient la technologie et le support technique dans diverses fonctions, allant du technicien qui nettoyait les machines CNC à l\u0026rsquo;ingénieur qui construisait des réseaux, en passant par le consultant en gestion informatique, gérant les clients et leurs besoins dans des bureaux à travers l\u0026rsquo;Inde.\nCe site et ce blog ne parlent pas de ces vies-là.\nC\u0026rsquo;est moi, enregistrant mon parcours alors que j\u0026rsquo;apprends de nouvelles choses à nouveau.\nC\u0026rsquo;est moi, essayant de me réorienter vers le domaine du DevOps et du SRE.\nLes aspects personnels demeurent. Photos et Musique et Livres et Mots sur les Livres.\nJ\u0026rsquo;écris sur tout ce que j\u0026rsquo;apprends, tout ce que je sais sur l\u0026rsquo;écriture et tout ce que je trouve assez intéressant pour le partager.\nAbonnez-vous à la liste de diffusion pour suivre toutes les nouveautés ici. Et vous pouvez toujours m\u0026rsquo;envoyer un mail à feedback@janusworx.com.\nLe cheminement des choses, les mots \u0026amp; citations \u0026amp; trucs que j\u0026rsquo;aime, et la folie quotidienne générale sont sur mon compte Fediverse, que j’ai tendance à utiliser plus comme un carnet de notes qu’un média social.\nVous parlez de travail ? Mon CV est disponible sur demande. Ou il y a cette chose linkedin.\n","externalUrl":null,"permalink":"/fr/about/","section":"Janusworx","summary":"","title":"À propos","type":"page"},{"content":"","externalUrl":null,"permalink":"/fr/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/fr/reading/","section":"La Lecture","summary":"","title":"La Lecture","type":"reading"},{"content":"Collections of posts around a theme or just long posts that needed a separate home\n","externalUrl":null,"permalink":"/fr/reading/longform/","section":"La Lecture","summary":"","title":"Longform","type":"reading"},{"content":"","externalUrl":null,"permalink":"/fr/more/","section":"Plus …","summary":"","title":"Plus …","type":"more"},{"content":"","externalUrl":null,"permalink":"/fr/search/","section":"Janusworx","summary":"","title":"Recherche","type":"page"},{"content":" … via Email or RSS # Email # Want to get the latest posts in your inbox?\nSubscribe to my mailing list. As easy as 1, 2, 3, 4, 5 …\nPust put in your name and email, choose the kind of email you’d love to receive, tick the Marketing permissions checkbox, solve the captcha, and hit the big ole Subscribe button. P.S. You should get a mail asking you to confirm your subcription.\nPlease check your spam (and add me to your contacts), in case you don’t see it in your inbox.\nI’m really, really sorry for this slightly inconvenient, long winded process.\nBut I’m doing this as a hobby and paying for expenses out of pocket. I really need to protect myself against spam.\nFull Name: Email: Choose the kind of email, you’d like to receive: Tech, Computers, Programming, Work emails\nPhotography, Art, Poetry, Writing, Personal emails\nAll email Marketing permission: I give my consent to Janusworx (Jason) to be in touch with me via email using the information I have provided in this form for the purpose of news, updates and marketing. What to expect: Mostly stuff that Jason writes about or is interested in.\nWe don’t capture any data other than your name, email address, and mail preference.\nWe anonymously (as an aggregate) track a few major metrics (opens, bounces etc.)\nIf you wish to withdraw your consent and stop hearing from us, simply click the unsubscribe link at the bottom of every email we send or contact us at letter@janusworx.com. By submitting this form, you agree that we may process your information in accordance with these terms.\nHP Subscribe RSS # You can always get this site, unfiltered, uncensored and spam free.\nSubscribe to the feeds below, using your favourite feed reader.\nThis is The Full feed - RSS1\nOr, you can get the feeds by category: Work • Personal • Reading\nIf you just want the daily craziness, you can also follow me on my Fediverse account.\nbecause, of course, you cannot get enough of Jason\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","externalUrl":null,"permalink":"/fr/subscribe/","section":"Janusworx","summary":"","title":"S’abonner","type":"page"},{"content":"","externalUrl":null,"permalink":"/fr/series/","section":"Series","summary":"","title":"Series","type":"series"}]