December 07, 2024

You can attract people to the things you talk about

Dan Koe:

“Now, there are a few beautiful things about the internet itself. First is how far your work spreads is a skill that can be learned and practiced, not luck.

“Second is, there are people who relate to your vision and aim for your future, meaning you can attract people to the things you talk about.

“And the third thing is that it’s free, accessible, and the majority of the population has access to it. So if you’re trying to attract people to your work, and one of your first options isn’t a free and accessible platform on the internet, then you’re doing something wrong.”

This is one of those videos that will make you rethink everything you are doing. Watch that full video.

December 02, 2024

How to post your latest blog post to Bluesky using Github Actions and an RSS feed

After several hours of trial and error, I have figured out how to automate posting directly to Bluesky from a Github repository. A process that only requires one file of code in a workflow that automates the process of posting from an RSS feed to Bluesky through Github Actions. A process that would normally require other great third-party services like Zapier, Buffer, dlvr.it, and so on. No more.

kyleboas.com and tacticsjournal.com both run on Github Pages powered by jekyll-now, and if you clicked on this post from social media, that post was created using a modified version of this workflow.

Thank you to myConsciousness on Github for creating the Bluesky posting portion.

Instructions

In your Github repository, create a new file called rss-to-bluesky.yml in the .github/workflows folder.  You can call the file whatever you like; it just has to end with .yml. If that folder does not exist, make the folder.

Copy and paste the following code into that rss-to-bluesky.yml file you created:

name: Post Latest Blog from RSS to Bluesky

on: 
  schedule:
    - cron: ‘00 12 * * *’

jobs:
 fetch-and-post:
 runs-on: ubuntu-latest
 
 steps:
  # Install xmllint and dateutils
   - name: Install xmllint and dateutils
   
   run: |
       sudo apt-get update && sudo apt-get install -y libxml2-utils dateutils
       
       # Fetch the latest blog post from RSS feed
       
        - name: Fetch Latest Blog Post
        
        id: fetch_post
        run: |
        RSS_FEED_URL=“https://WEBSITE.com/feed”
        
        response=$(curl -s “$RSS_FEED_URL”)
        
        description=$(echo “$response” | xmllint —xpath “string(//item[1]/description)” -)
        url=$(echo “$response” | xmllint —xpath “string(//item[1]/link)” -)
        
        description=$(echo “$description” | xargs)
        preview=“$description $url”
        
        echo “preview=$preview” >> $GITHUB_ENV
        echo “rss_url=$url” >> $GITHUB_ENV
        
     # Post to Bluesky
     - name: Post to Bluesky
     uses: myConsciousness/bluesky-post@v5
     with:
      text: “${{ env.preview }}”
      link-preview-url: “${{ env.rss_url }”
      identifier: yourusername.bsky.social
      password: “${{ secrets.BLUESKY_APP_PASSWORD }}”
  • You can change the name at the top to whatever you like. 
  • Replace https://WEBSITE.com/feed with your blog’s RSS feed URL. It should end in /feed, /rss, /feed.xml. Every blogging platform like WordPress, Blogspot, etc. creates an RSS feed for you by default.
  • Replace BLUESKY_USERNAME with your Bluesky username, but don’t include the @, for example, it should be tacticsjournal.com, kyleboas.com, or yourusername.bsky.social.
  • You can choose whether or not to use your post’s title or description. Just simply change the word description to title wherever it is mentioned.

Here is how to add your Bluesky app password:

  1. Go to your Github repository settings, and then under “Secrets and Variables” create a new “Action” secret.
  2. Go to Bluesky and create an app password. For security reasons, I would not recommend using your regular Bluesky password; always create an app password.
  3. Paste the password into the “Action” secret field, and then save it.

Finished 

Now you are set up to post via an RSS feed to Bluesky. There are a few other ways you can make the action run.

1) In the example code above, I choose to have it run on a schedule, at 12:00 UTC every day.

on: 
  schedule:
    - cron: ‘00 12 * * *’

2) Another way is to manually run it, if you want to test to see if the action is working. To do that you must include workflow_dispatch: below on:.

on:
 workflow_dispatch:

3) Another way is that you can have it run when another action runs.

on:
 workflow_run:
   workflows:
     - "Schedule Posts"
     - "Pages Build and Deployment"
          
     types:
     - completed

This will run once both my Schedule Posts and the Pages Build and Deployment actions have run to ensure that my blog post has been created before it tries to share the latest blog post to Bluesky.

You can combine any one of these three methods to make the action run, and there are probably many other ways to get it to run that I am unaware of. Have long conversations with ChatGPT, like I did, if you are struggling, or feel free to contact me.

You can view my current workflow here.

November 27, 2024

Khephren Thuram on watching 'good players'

Khéphren Thuram:

I love watching the game. I love watching good players. But Thierry Henry always told me, ever since I was small, that when you watch a game, don’t watch it like a fan. Analyse what’s happening. Why did he do that? Why is he in that position?

I watched a lot of Yaya Touré, Paul Pogba, Patrick Vieira because they were taller players. They were box-to-box, they ran with the ball, they had that technical ability, they had that intelligence.

But then I also looked up to Thiago Alcântara because I needed to look at a small player. Because I didn’t want people to say: ‘Oh, he’s just tall and strong, no technical ability.’ So I looked to Thiago and what he can do in small spaces. I try to take a little bit of everyone. I’m not yet at their level. But I’m trying.

The downfall of MySpace and how similar it is to X

History Tools:

When Facebook‘s founder reached out to discuss potential collaboration in 2005, MySpace CEO Chris DeWolfe infamously dismissed the meeting. After all, with Facebook‘s mere 20 million users compared to MySpace‘s hockey stick growth well into the 100 million+ territory, there seemed little upside to a partnership.

However, Zuckerberg and his team had quietly focused on building a robust technical infrastructure and targeted product strategy. As Facebook raised more VC funding to fuel growth by late 2006, MySpace‘s woes of rapid innovation and flagging user trust provided an opening.

They astutely opened access beyond educational institutions to welcome everyone 13+ years old. Bolstered by enhanced privacy features, a cleaner UI, and an emerging developer platform, the site started attracting swaths of technically savvy power users.

20 million users fighting against another social media platform with 100 million+. Sounds familiar to the current situation between Bluesky and X, formerly Twitter. The difference being that there was only really one alternative to MySpace in Facebook. Now we have Threads and Mastodon dividing the attention of those leaving.

If you lived through this period when Facebook took over, like I did, you know how adoption and early adoption work. We are still in the early adoption phase.

More features will be added to Bluesky; the UI will improve, and third-party developers are pouring in because it is a more developer-friendly place to create. Creators are moving in because they want to capture that first wave. They can share external links to their work without it being suppressed because Bluesky is a link-friendly platform.

Matt Karolian on Bluesky:

Traffic from Bluesky to @bostonglobe.com is already 3x that of Threads, and we are seeing 4.5x the conversions to paying digital subscribers.

Advantage to the creators because external links have equal weight and are encouraged, which is unique to Bluesky.

From what I can see, most people I know want to go someplace else other than X. But abandoning a large audience is difficult. Abandoning a large potential audience is difficult.

The average person who pops on and off social media for one hour a day won’t care how bad the state of the service is. They want their fix, and then they get off. They are likely the majority, the people we are supposedly supposed to be waiting for to move. Don’t hold your breath. They will be the last to move.

Leaving is not something you can convince people to do, to abandon that audience. The audience has to abandon that ecosystem naturally.

Eventually the pros will outweigh the cons for the average person. The pros are the features and environment that are created in the other place. Are their friends leaving?

If someone makes the Apollo for Reddit equivalent for social media in a third-party app, game over. Immediate migration.

When the money eventually runs out for X, key features get removed, and/or when ownership changes, people will then leave in mass like they did with MySpace. It is inevitable because they are killing that platform.

November 26, 2024

Manchester City are 'fragile' according to Pep Guardiola

Pep Guardiola:

It will be a tough season for us and we have to accept it. We lost a lot of games lately, we are fragile and of course we needed a ­victory. We were playing at a good level but the first time something ­happened we had problems. I don’t know if it is mental. The first goal ­cannot happen and the second as well. After that we forget what happens.

Three episodes, they didn’t allow us what we needed to win for many reasons, not just in terms of qualification or get the points to go through. Other reasons. It is what it is, difficult to swallow right now.

I don’t think it is mental in the sense that they are afraid. What I saw were three occasions that showcased how tired they are. Three simple mistakes that a fully fit Josko Gvardiol, Nathan Ake, and Manuel Akanji would not make, if they were given the chance to rotate in and out of the lineup. This is a problem that can only be solved with more rotation.

November 25, 2024

Adding Bluesky comments to a Jekyll blog

I greatly appreciate when there is discussion around something I write but I don’t like comments on blogs largely due to moderation.

I’ve never been more tempted to add comments to my blog because of how simple and intuitive this Bluesky setup is.

ChatGPT Search

No one will use anything other than a search engine, like ChatGPT Search, once it is released. It is too convenient.

November 24, 2024

Benefits of an open network from a developer

Emily Liu, a developer at Bluesky:

I sometimes describe Bluesky as a browser with a whole marketplace of extensions, made possible by its open network. Perhaps you want a Tweetdeck-like experience of Bluesky? There’s deck.blue. A no-code way to create custom feeds? Try out SkyFeed or Bluesky Feed Creator. Maybe you want features like drafts or post scheduling that Bluesky doesn’t have yet. Well, the creators of apps like Skeets, Tokimeki, and Skywalker provide that for you.

Let’s zoom out a bit further. Bluesky is actually just one app built on this open network, which is called the AT Protocol (atproto). If Bluesky is “open Twitter,” then you could imagine an “open Reddit” or an “open Instagram” too. In fact, this is becoming a reality now, with apps like WhiteWind (for blogging), Frontpage (a web forum), Smoke Signal (an events app), and Bluecast (an audio app).

The more I learn about Bluesky, the more I think this is the coolest service and experiment on the web.

Kyle Walker isn't always the problem

Michael Cox for The Athletic:

This was once Walker’s default approach to the game, but in recent years he has tucked inside, playing as part of a back three or moving inside into midfield. Asking him to be a constant overlapper on Saturday was largely out of keeping with his performances in other matches this season, as the below chart demonstrates.

The reason Guardiola has moved away from using overlapping full-backs like this is because it opens up space for the opposition when possession is lost. And, realistically, if you want Walker to be pushing forward onto the last line of the opposition defence, you can’t expect him to be completely solid defensively, too.

I too agree that it isn’t always Kyle Walker’s fault. I don’t agree that he doesn’t always look for the overlap. He should because that is one of the two things he is actually good at doing. He has good recovery speed in defense and he is good at making a quick overlapping run.

I’m more annoyed with Pep Guardiola allowing him to do essentially whatever he wants on the right, acting like a conventional fullback, when you know you’ll be turning over the ball.

You know he is not a positionally aware defender.

You know how much more effective Tottenham can be when they are allowed to counter.

Although having Josko Gvardiol wide open on the left was great, that game against Tottenham screamed back-four.

Bluesky is self-aware

Dan Abramov on Bluesky:

i know everyone’s tired of talking meta level but i’m really happy that i finally was able to cut over to posting just here. twitter felt pretty addictive even this spring and summer. but as our app got less wonky and we added features like quotes, it reached the good enough level for me personally

there’s still a bunch of quality of life type annoyances (just fixed lightbox — good; still need to fix broken gestures like drawer swipe, fix abrupt refresh behavior, make the pager feel nice or replace it) and bigger product todos (better feeds, more responsive algo) but it’s getting there

Dan is a developer at Bluesky and it is nice to know they know there is still room for improvement. They are self-ware.

The Twitter developers did do a good job over the years. Their app is the incredibly responsive, highly addictive, snappy. Then X took over, and now we are here with the app filled with spam, unmoderated hate, and scams.

I’m sure if Bluesky doesn’t recreate that experience or a new better experience, some other third-party developer will soon.

November 23, 2024

The discussion around Liverpool selling Van Dijk, Alexander-Arnold, and Salah

Alyson Rudd for The Sunday Times:

All three players are iconic. Van Dijk brought an imperiousness to a flaky defence when he signed for Liverpool in January 2018. He was a missing piece in a promising jigsaw and promptly won eight trophies. Perhaps the League Cup win last February is not among the most fêted but Liverpool won thanks to his marshalling of a particularly young squad. Alexander-Arnold feels intertwined with the club and it is impossible to imagine him pulling on a different shirt. Salah brings a level of class that is unparalleled.

It could be that all three move on, that Slot believes his system can absorb their departures, that the hierarchy resists expensive extensions. Beloved players are always on the move, fans moan and then quickly become infatuated with someone else but in this instance it would rip the soul from the team and lend it an air of competent ordinariness.

That is when it gets scary; when you get emotionally attached. Sell them when they are at their peak would be my thinking.

Virgil at 33 years old is the most sellable of the three in my opinion due to his age. Trent Alexander-Arnold could be generational, that is a tough decision but he might have higher ambitions (Real Madrid). Mohamed Salah should be allowed to stay for as long as he wants.

That is my view as a neutral on the outside. I have no emotional attachment.

November 22, 2024

Messi misses Barcelona

Lionel Messi:

“We still have in our mind a return to live in Barcelona,” he told TV3. “My kids, my wife and I miss Barcelona a lot. We have friends there and left a lot of things behind when we moved.

“My kids are Catalan. I have lived most of my life there and I feel from Barcelona. You never know where life will take you, but the intention is to live in Barcelona because it’s our home.”

Friendly reminder to watch more Inter Miami matches because he isn’t going to play forever.

Potential snow this weekend in the Premier League

I am not looking forward to the postponments because the schedule is already packed as it is, but we have snow matches to look forward to.

Is this thing on

I have always wanted a link blog. A place to share what I am reading or watching, without being constrained by a character limit. I have finally made it; here it is.

If you are someone who likes to share things with others, you should make one, and I will be making a tutorial on how I made this website and tacticsjournal.com soon. It is a very simple, free, process.

I like minimal design; this site’s minimalistic design is by design, but the beauty of making your own website is that you can make it look like whatever you want. And the design might evolve; I might change my mind.

I continue to like the idea of talking to people, and Bluesky is a much friendlier place to be when compared to X, formerly Twitter. All of my longer posts will be shared here and then posted on my Bluesky account at @kyleboas.com.

If you have any suggestions for things to read or watch, please send them to me at kyle@tacticsjournal.com.