tjf's recent activity

  1. Comment on Adulting -- what advice or encouragement did you receive / wish you had received when you were just starting out moving out? in ~life

    tjf
    Link Parent
    Tony Soprano, while not exactly a role model, put it succinctly: "More is lost by indecision than wrong decision."

    Tony Soprano, while not exactly a role model, put it succinctly: "More is lost by indecision than wrong decision."

    1 vote
  2. Comment on What are your "how on earth did I not learn this sooner" tech moments? in ~tech

    tjf
    Link Parent
    Neat use of qrencode! I typically handle this with KDE Connect's clipboard sharing.

    Neat use of qrencode! I typically handle this with KDE Connect's clipboard sharing.

    3 votes
  3. Comment on What are your "how on earth did I not learn this sooner" tech moments? in ~tech

    tjf
    Link Parent
    KDE window rules are so useful. I have a rule for mpv (a video player) windows to automatically stay above other apps' windows, and appear on all virtual desktops.

    KDE window rules are so useful. I have a rule for mpv (a video player) windows to automatically stay above other apps' windows, and appear on all virtual desktops.

    3 votes
  4. Comment on Fitness Weekly Discussion in ~health

    tjf
    Link
    I made it through August without missing a single workout, which is a big deal for me. Last year I tried getting into running, but eventually stopped. It was mostly boring and I overdid it a few...

    I made it through August without missing a single workout, which is a big deal for me. Last year I tried getting into running, but eventually stopped. It was mostly boring and I overdid it a few times leading to joint pain. But at the start of last month I cobbled together a beginner-friendly four day per week strength training plan and have stuck with it, and actually look forward to it now. The weather has been super nice for me recently, so I've done a few casual bike rides on my rest days so that I still get some cardio. But I don't see myself running again anytime soon.

    5 votes
  5. Comment on What have you been listening to this week? in ~music

    tjf
    Link
    The only new release I've listened to this week is Denzel Curry's second collaboration with Kenneth Blume (fka Kenny Beats). It's short and fun with some excellent use of samples. Beyond that I've...

    The only new release I've listened to this week is Denzel Curry's second collaboration with Kenneth Blume (fka Kenny Beats). It's short and fun with some excellent use of samples.

    Beyond that I've been revisiting some of Weyes Blood's earlier albums since she's been teasing something new likely just weeks away.

    My last.fm collage

  6. Comment on Emmy nominations 2026: ‘The Pitt’ and ‘Hacks’ lead drama and comedy, followed by ‘Widow’s Bay’ and ‘Pluribus’ in ~tv

    tjf
    Link
    So happy to see The Chair Company on here. It's weird in the best way. I almost expected the excellent final season of Industry to get a nomination or two, since it filled the high stakes...

    So happy to see The Chair Company on here. It's weird in the best way.

    I almost expected the excellent final season of Industry to get a nomination or two, since it filled the high stakes corporate drama niche that I'd been missing after Succession ended. But looking on Wikipedia I see that they've never been acknowledged by the Emmys. Oh well!

    2 votes
  7. Comment on What have you been listening to this week? in ~music

    tjf
    Link
    Today I've listened to Boards of Canada's brand new Inferno a few times, and it's incredible. This is their first release in over a decade and therefore the first since I started listening to...

    Today I've listened to Boards of Canada's brand new Inferno a few times, and it's incredible. This is their first release in over a decade and therefore the first since I started listening to them.

    Then there's JPEGMAFIA's Experimental Rap. I've given it a fair shot over the past week, and I still think it's a step down from his past few releases. Production is excellent throughout, but it feels uninspired lyrically.

  8. Comment on Your favourite karaoke songs? in ~music

    tjf
    Link
    Depending on the audience, some Weird Al songs are very fun for karaoke. I've done "Amish Paradise" and "White & Nerdy" and had a blast. And for any Better Call Saul fans out there, you might...

    Depending on the audience, some Weird Al songs are very fun for karaoke. I've done "Amish Paradise" and "White & Nerdy" and had a blast.

    And for any Better Call Saul fans out there, you might enjoy trying Abba's "The Winner Takes It All" as a duet :)

    2 votes
  9. Comment on TV Tuesdays Free Talk in ~tv

    tjf
    Link Parent
    Watchlisted! I’ve seen and loved Drive and Bronson from him so I’ll check it out.

    Watchlisted! I’ve seen and loved Drive and Bronson from him so I’ll check it out.

    1 vote
  10. Comment on TV Tuesdays Free Talk in ~tv

    tjf
    Link Parent
    Plot-wise, no. The first two seasons might be worth watching eventually for the atmosphere, camerawork, music, etc. but don't feel the need to catch up in order to better understand this season.

    Plot-wise, no. The first two seasons might be worth watching eventually for the atmosphere, camerawork, music, etc. but don't feel the need to catch up in order to better understand this season.

    1 vote
  11. Comment on TV Tuesdays Free Talk in ~tv

    tjf
    Link
    The Euphoria S3 premiere was on Sunday, and I have a feeling this whole final season will be "car crash you can't look away from" TV. In the past the show has impressed me with its style and...

    The Euphoria S3 premiere was on Sunday, and I have a feeling this whole final season will be "car crash you can't look away from" TV. In the past the show has impressed me with its style and performances, in spite of some bad writing. I'm not sure why they felt the need to continue it though. S3 takes place several years beyond the high school setting of the first two seasons, and the major cast members have either become major Hollywood stars, left the show already, or died. I'll probably keep tuning in, if only for the sake of completion.

    3 votes
  12. Comment on <deleted topic> in ~comp

    tjf
    Link Parent
    Interestingly this project is firmly implementing R6RS, while Steel aims for R5RS and R7RS-small.

    Interestingly this project is firmly implementing R6RS, while Steel aims for R5RS and R7RS-small.

    1 vote
  13. Comment on Actual underrated films of the 2020s so far in ~movies

    tjf
    Link
    It's tempting to list underseen rather than underrated movies, so I appreciate OP setting a Rotten Tomatoes ceiling. My pick is M. Night Shyamalan's Trap (2024), with 56% on RT and no major...

    It's tempting to list underseen rather than underrated movies, so I appreciate OP setting a Rotten Tomatoes ceiling. My pick is M. Night Shyamalan's Trap (2024), with 56% on RT and no major nominations/wins AFAIK. It's often silly but also suspenseful. Josh Hartnett is having so much fun with his over-the-top performance. And any movie shot by Sayombhu Mukdeeprom is a treat to look at.

    4 votes
  14. Comment on 2025 NFL Season 🏈 Weekly Discussion Thread – Week 18 in ~sports.american_football

    tjf
    Link
    Emotional week 18 as a Vikings fan, looking like it might be the last for CJ Ham and Harrison Smith. Absolute class acts who spent their entire careers in Minnesota, and in Smith's case I truly...

    Emotional week 18 as a Vikings fan, looking like it might be the last for CJ Ham and Harrison Smith. Absolute class acts who spent their entire careers in Minnesota, and in Smith's case I truly believe he's an all time great at his position. They're the last remaining players from the team I rooted for back in high school, and even though every year sees players come and go, this will feel different. Glad it could come with a win against the Packers, even if it didn't mean much for the season.

    4 votes
  15. Comment on What's your favorite RSS reader? in ~comp

    tjf
    Link Parent
    Another happy Miniflux user here. I use its (delightfully snappy) web frontend on my Linux desktops and NetNewsWire on iOS. The latter syncs via the Google Reader style API that Miniflux exposes....

    Another happy Miniflux user here. I use its (delightfully snappy) web frontend on my Linux desktops and NetNewsWire on iOS. The latter syncs via the Google Reader style API that Miniflux exposes. My unread entries count is embarrassingly high, but that's my own fault!

    4 votes
  16. Comment on Day 2: Gift Shop in ~comp.advent_of_code

    tjf
    Link
    For now I've bruteforced both parts of my Python solution. When I'm more awake maybe I'll revisit it and try to be more clever. But simply using PyPy instead of CPython cuts my part 2 runtime from...

    For now I've bruteforced both parts of my Python solution. When I'm more awake maybe I'll revisit it and try to be more clever. But simply using PyPy instead of CPython cuts my part 2 runtime from 20s to 1.5s. Good enough for now.

    Part 1
    #!/usr/bin/env python3
    
    import sys
    
    total = 0
    for interval in sys.stdin.read().strip().split(','):
        lower, upper = map(int, interval.split('-'))
        for i in range(lower, upper + 1):
            s = str(i)
            mid = len(s) // 2
            if s[:mid] == s[mid:]:
                total += i
    
    print(total)
    
    Part 2
    #!/usr/bin/env python3
    
    import sys
    
    total = 0
    for interval in sys.stdin.read().strip().split(','):
        lower, upper = map(int, interval.split('-'))
        for i in range(lower, upper + 1):
            s = str(i)
            for nrepeats in range(2, len(s) + 1):
                if len(s) % nrepeats:
                    continue
                repeatlen = len(s) // nrepeats
                repeats = True
                for repeatstart in range(0, len(s) - repeatlen, repeatlen):
                    a = s[repeatstart:repeatstart + repeatlen]
                    b = s[repeatstart + repeatlen:repeatstart + 2 * repeatlen]
                    if a != b:
                        repeats = False
                if repeats:
                    total += i
                    break
    
    print(total)
    
    1 vote
  17. Comment on Day 1: Secret Entrance in ~comp.advent_of_code

    tjf
    Link
    Always happy to see these threads return in December, even if it's only for 12 days this year (it's not like I ever did all 25 anyway). Python yet again for my solutions. Posting this a day or so...

    Always happy to see these threads return in December, even if it's only for 12 days this year (it's not like I ever did all 25 anyway). Python yet again for my solutions. Posting this a day or so late because I reworked Part 2 to avoid the brute force.

    Part 1
    #!/usr/bin/env python3
    
    import sys
    
    zeros = 0
    position = 50
    for line in sys.stdin:
        direction = -1 if line[0] == 'L' else 1
        magnitude = int(line[1:-1])
        position = (position + direction * magnitude) % 100
        if position == 0:
            zeros += 1
    
    print(zeros)
    
    Part 2

    Originally I brute forced this part, executing each turn of the dial step-by-step and checking if we landed on a zero. This works fine for the input size, but it didn't sit right with me. After a bit of thinking, I figured out the edge cases of overcounting and undercounting and implemented the "better" solution. And I got to break out the trusty built-in divmod function.

    #!/usr/bin/env python3
    
    import sys
    
    zeros = 0
    position = 50
    for line in sys.stdin:
        direction = -1 if line[0] == 'L' else 1
        magnitude = int(line[1:-1])
        q, r = divmod(position + direction * magnitude, 100)
        zeros += abs(q) + (direction == -1 and r == 0) - (direction == -1 and position == 0)
        position = r
    
    print(zeros)
    
    1 vote
  18. Comment on Paid e-mail providers - your experiences, how you use them and how I would use it in ~tech

    tjf
    Link Parent
    There's no Radicale web UI that I'm aware of, but on desktop I view/edit my calendar with Merkuro. There are a handful of Linux CalDAV clients I've tried, and that one is KDE's built-in solution.

    There's no Radicale web UI that I'm aware of, but on desktop I view/edit my calendar with Merkuro. There are a handful of Linux CalDAV clients I've tried, and that one is KDE's built-in solution.

    2 votes
  19. Comment on Paid e-mail providers - your experiences, how you use them and how I would use it in ~tech

    tjf
    Link Parent
    I'm surprised to learn this! I self-host CalDAV via Radicale and iOS's built-in Calendar.app syncs no problem. Sort of assumed Android had this level of support or better.

    I'm surprised to learn this! I self-host CalDAV via Radicale and iOS's built-in Calendar.app syncs no problem. Sort of assumed Android had this level of support or better.

    4 votes
  20. Comment on Paid e-mail providers - your experiences, how you use them and how I would use it in ~tech

    tjf
    Link
    I use Purelymail which is just $10/year. It works just fine with standard email protocols, so I use Thunderbird and iOS's Mail.app as clients. It's lighter on features than some of the other...

    I use Purelymail which is just $10/year. It works just fine with standard email protocols, so I use Thunderbird and iOS's Mail.app as clients. It's lighter on features than some of the other providers (though they have basic WebDAV/CalDAV/CardDAV), but all I need is reliable sending/receiving from a few custom domains for one individual, and for that it's great. There is a bus factor concern since it's basically a one-person company. If I ever need to switch it will probably be to Fastmail.

    9 votes