Lifelog

Write 100 words a day, every day, towards your goals.

๐ŸŽ‰ Received another $10/m subscription customer today! Thank you @atsaotsao for your support!

๐Ÿ“ˆ Total one-off revenue: $600
๐Ÿ“Š MRR: $30
Jason Leow Author

Thanks for all the likes guys! ๐Ÿ™Œ

0 Likes

Day 21 - Compete with fax machines https://golifelog.com/posts/compete-with-fax-machines-1611211166542

"Find an industry that still uses fax machines, and build a high tech, digital business there to compete with them..."

Day 20 - Building a business can be hard and lonely https://golifelog.com/posts/building-a-business-can-be-hard-and-lonely-1611134541299

"Itโ€™s difficult to say that itโ€™s difficult. I think itโ€™s typically not easy to be open and vulnerable in public, and even harder to do so in front of your peers, customers and competitors...."

Day 19 - A mosquito can be your teacher too https://golifelog.com/posts/a-mosquito-can-be-your-teacher-too-1611038010764

Day 18 - Off-grid life https://golifelog.com/posts/off-grid-life-1610956257315

Day 17 - Rest is a mindset https://golifelog.com/posts/rest-is-a-mindset-1610874338860

Rest is a form of productivity too...

Day 16 - 1% compounding improvements https://golifelog.com/posts/1percent-compounding-improvements-1610788199026

On the surface, 1% improvement donโ€™t seem like much. But 1% compounded daily over a year means youโ€™ll be 37.8 times better than when you started. The power of compounding is the reason why consistency matters as much asโ€”or even arguably, more thanโ€”intensity....

๐Ÿ’ต Received another $120 onetime deal payment for Lifelog. Thank you @therealbrandonwilson!

๐Ÿ“ˆ Total one-off revenue: $600
๐Ÿ“Š MRR: $20

Day 15 - 4000 weeks to love https://golifelog.com/posts/4000-weeks-to-live-1610699672952

๐Ÿ•๐Ÿ•œ๐Ÿ•ฆCreated a multi-timezone panel of all my current users to debug this timezone issue

Savvy Time had been super useful so far!

https://savvytime.com/converter/ca-los-angeles-to-az-phoenix-ny-new-york-city-trinidad-and-tobago-port-of-spain-brazil-sao-paulo-utc-switzerland-zurich-finland-helsinki-kuwait-al-ahmadi-india-kolkata-sgt-australia-melbourne

Day 14 - What is a rare combination of two skills that when combined make someone unstoppable? https://golifelog.com/posts/what-is-a-rare-combination-of-two-skills-that-when-combined-make-someone-unstoppable-1610599782019

For indie hackers/makers, namely, developing, designing and marketing.

Researched and consulted widely on approach to solve the remaining streak bug

Taking a step back, to solve this new Date() doesn't apply offset issue, there seems to be 3 approaches I can take.

1. Patch date-streaks module directly by adding offset to new Date(), seems least effort, but hard to understand their code
2. Make my own streak.js plugin - making from scratch feels time-consuming but more control and less downstream gotchas
3. Use afterCreate lifecycle hooks within Strapi to save a new content-type streaks, so it's not calculated on the fly every time but saved as an integer as each post is created.

Day 13 - Rest != Sleep https://golifelog.com/posts/rest-sleep-1610543910415

Day 12 - Micro steps https://golifelog.com/posts/micro-steps-1610446250918

๐Ÿž Identified minor bug within streaks algorithm

OK...... looks like the streak bug is still not completely dead, just like how cockroaches die hard. At least I identified the problem within a day, which is something to celebrate over. The first step to solving any bug is to isolate and identify, so that's a pat on my own back at least. My date streaks module uses `new Date()` in UTC to set the current day/date, and it doesn't apply user's timezone offset. So the array of published dates are offset to user's tz but it's always referenced to the the current date in UTC, which is why sometimes the streak breaks but restores when the user posts (e.g. if the user happen to write past the UTC midnight but still within his tz's midnight).

๐Ÿ’ต Yet another lifetime deal (US$120) customer for Lifelog! Thank you so much @brianball for your support!

๐Ÿ“ˆ Total one-off revenue: $480
๐Ÿ“Š MRR: $20

Day 11 - Everyone can be a Gumroad entrepreneur now https://golifelog.com/posts/everyone-can-be-a-gumroad-entrepreneur-now-1610347236235

๐Ÿค‘ Just received another lifetime deal payment $120! Thank you @peterdannock!

Added 1 new item to writing prompts

'What feels like play to you, but looks like work to others?'

Day 10 - Deep Year https://golifelog.com/posts/deep-year-1610266414444

Day 9 - Code only exists by the grace of others https://golifelog.com/posts/code-only-exists-by-the-grace-of-others-1610166733122

Day 8 - Fundamentals https://golifelog.com/posts/fundamentals-1610092536439

๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰ YAAASSSS ITS FIXED!!!! After 3 days of debugging trial by fire, I fixed the post page loading issue. Woohoooo I wanna dance hahahahah! ๐Ÿ•บ

Turned out, the culprit was a sort function for the comments v-for loop.

v-for="comment in sortedComments"
:key="comment"
>
...
computed: {
sortedComments() {
const x = this.post.comments
return x.sort(function (a, b) {
return a.id - b.id
})
},
}

Changed that function to using lodash's sortBy function and it works now!

import _ from 'lodash'
computed: {
sortedComments() {
return _.orderBy(this.post.comments, ['created_at'], ['desc'])
},
},

All thanks to @yuyu 's suggestion to comment out everything in _slug! That got me down the right path to debug this eventually! Note to self: always fall back to fundamentals when debugging - just comment out code first to isolate the bug. But the deeper mystery remains:

* why this worked before but not now
* the behaviour should be consistent on local and production, but it worked on local
* the function didn't crash the page if I entered the site via a different child page by directly typing in the url
* why lodash worked but a vanilla JS script didn't

Day 7 - Chronotype metamorphosis complete https://golifelog.com/posts/chronotype-metamorphosis-complete-1609987348325