Advertisement Β· 728 Γ— 90

Posts by afonsocrg

Video

After 5 years of daily workouts, I realized that streaks can hurt our progress.

It's easy to give too much importance to them, and it feels that all the progress is gone when we break them

Tracking the total days since I started keeps a healthier perspective on my habits.

#buildinpublic

6 months ago 2 0 0 0
Video

Part 2: Our self improvement journey has to be gratifying even when we fail. Self compassion isn't soft, it's strategic

#buildinpublic #selfimprovement #mindset #selflove

6 months ago 4 1 0 0
TikTok - Make Your Day

vm.tiktok.com/ZGdaajga3/

6 months ago 0 0 0 0

When we slip up, using circumstances as excuses protects us from feeling bad, but it keeps us away from progress.

One day someone asked me "If you had to catch a flight, would you use that excuse?". It was game changer

#selfimprovement #buildinpublic #mindset

6 months ago 2 0 1 0

I've drafted a blog post about serendipity and why we should do this kinds of things! Haven't published it yet, but it shares a lot of the thought process that made me start sharing more. Would love to hear your thoughts on it!!

And good luck on that sharing journey!! We're in this together

6 months ago 0 0 0 0
TikTok - Make Your Day

vm.tiktok.com/ZGda5JSvC/

6 months ago 0 0 0 0

After a lot of resistance, I decided to post my first TikTok video

Realized I was avoiding it because it felt uncomfortable, but that's exactly why I needed to do it. Growth happens outside the comfort zone.

Good things can only happen if we put ourselves out there.

#buildinpublic

6 months ago 2 0 3 0
Post image

Lately I've been working on "invisible" stuff for Uni Feedback:
- Built a whole admin dashboard to make it easier for me to maintain courses and feedback
- Built new scrapers get course bibliography, assessment and description

But it was finally time to make UI improvements.

Roast my design!

8 months ago 1 0 1 0
Advertisement
Preview
IndieBeers // Bangkok Meetup #2: Entrepreneur social (powered by Ramen Club) Β· Luma Hi everyone πŸ‘‹, welcome to the second IndieBeers in Bangkok! The goal is to help Indie Hackers / entrepreneurs & makers from across the city meet, exchange…

🍻 The 2nd IndieBeers Bangkok will be on the 20th May!

Join us to meet awesome builders in town, get inspired, charge your batteries and have a helluva productive week πŸ”₯πŸš€ (it's free!)

πŸ‘‰ lu.ma/lqk0f36j

See you there!

11 months ago 0 0 0 0
Preview
GitHub - afonsocrg/multi-pong: Online Pong game using Croquet Online Pong game using Croquet. Contribute to afonsocrg/multi-pong development by creating an account on GitHub.

Just wrapped up the @multisynq.bsky.social "Multi Pong" workshop at 42 Porto! Built a multiplayer Pong game with Croquet.js without writing any backend or messaging code.

Guide with code available at github.com/afonsocrg/mu...

Feel free to PR with your own variation of the Pong game ;)

1 year ago 1 0 0 0
Post image

Last week I attended an indie builders co-working day in London. It's called @hackaditch, and it's just amazing!

Today we made something similar in Lisbon and it was awesome! We had a productive day, got good feedback and made new connections!

#coworking #lisbon #indie

1 year ago 0 0 0 0

That is correct! React Together is basically a KV store on top of Croquet, but we're adding some hooks and components to improve developer experience

1 year ago 0 0 1 0
React Together shared cursors. Synchronize cursors across multiple users or clients using the Cursors React component

React Together shared cursors. Synchronize cursors across multiple users or clients using the Cursors React component

Source Code of an example usage of the React Together Cursors component, to create shared and synchronized cursors in a React application.

Source Code of an example usage of the React Together Cursors component, to create shared and synchronized cursors in a React application.

πŸš€ React Together v0.3.3 is here!

Add real-time shared cursors to your React app with just ONE line of code! Want full control? The useCursors is here for you!

StackBlitz Demo: stackblitz.com/edit/react-t...

#ReactJS #WebDev

1 year ago 2 0 1 0
Post image

Had a blast giving the "Multi Pong" workshop at 42 Lisboa this morning! We built a multiplayer Pong game without writing any backend!

Full guide at github.com/afonsocrg/multi-pong

#workshop #croquet

1 year ago 3 1 0 0
Preview
Portugal Vue #3 Meetup, Thu, Jan 16, 2025, 6:30 PM | Meetup LisboaJS partnered with Portugal.Vue, and we are co-organizing this next event, focused on Vue!! The next [Portugal.Vue Meetup](https://www.meetup.com/portugal-vue/events/

We're just two days away from our first event of the year, in collaboration with Vue.js Portugal!

🎟️ π—¬π—Όπ˜‚π—Ώ 𝗳𝗿𝗲𝗲 π˜π—Άπ—°π—Έπ—²π˜: meetup.com/lisboajs/eve...

A huge thanks to Remote Crew, Infraspeak and Le Wagon Portugal for making this event possible!!

#vue #lisbon

1 year ago 4 2 0 0
Advertisement
Post image Post image

πŸš€ React Together v0.3.2 drops with instant chat integration! Add real-time chat to your site with our <Chat/> component, or build your own with useChat hook. Fully customizable.

Try it β†’ reacttogether.dev/chat

#react #reactjs

1 year ago 1 0 0 0
Example usage of yacli_menu

```
from yacli_menu import command, run_menu

@command("Add Numbers")
def add():
    a = float(input("Enter first number: "))
    b = float(input("Enter second number: "))
    print(f"Result: {a + b}")
    return True

@command("Subtract Numbers")
def subtract():
    a = float(input("Enter first number: "))
    b = float(input("Enter second number: "))
    print(f"Result: {a - b}")
    return True

@command("Multiply Numbers")
def multiply():
    a = float(input("Enter first number: "))
    b = float(input("Enter second number: "))
    print(f"Result: {a * b}")
    return True

if __name__ == "__main__":
    run_menu() 
```

Example usage of yacli_menu ``` from yacli_menu import command, run_menu @command("Add Numbers") def add(): a = float(input("Enter first number: ")) b = float(input("Enter second number: ")) print(f"Result: {a + b}") return True @command("Subtract Numbers") def subtract(): a = float(input("Enter first number: ")) b = float(input("Enter second number: ")) print(f"Result: {a - b}") return True @command("Multiply Numbers") def multiply(): a = float(input("Enter first number: ")) b = float(input("Enter second number: ")) print(f"Result: {a * b}") return True if __name__ == "__main__": run_menu() ```

Example output of a yacli_menu program:

```
$ python3 example.py
1. Add Numbers
2. Subtract Numbers
3. Multiply Numbers
0. Exit
Enter choice: 
Enter choice: 6
Invalid choice. Try again.
Enter choice: asdf
Invalid choice. Try again.
Enter choice: 1
Enter first number: 19
Enter second number: 23
Result: 42.0
1. Add Numbers
2. Subtract Numbers
3. Multiply Numbers
0. Exit
Enter choice: 0
Exiting..
```

Example output of a yacli_menu program: ``` $ python3 example.py 1. Add Numbers 2. Subtract Numbers 3. Multiply Numbers 0. Exit Enter choice: Enter choice: 6 Invalid choice. Try again. Enter choice: asdf Invalid choice. Try again. Enter choice: 1 Enter first number: 19 Enter second number: 23 Result: 42.0 1. Add Numbers 2. Subtract Numbers 3. Multiply Numbers 0. Exit Enter choice: 0 Exiting.. ```

Just published my first python package: yacli_menu.

A few years ago I had to create some python CLI menus. Didn't like what was out there at the time, so decided to build my own :)

Hope it helps someone!

github.com/afonsocrg/ya...

#python

1 year ago 0 0 0 0

Stoked to be part of the organizing team! Thanks Rui Posse and @piara.bsky.social for making this fun!!

See you there πŸ”₯

1 year ago 2 2 0 0
Preview
Stop sharing your screen, start sharing your website Remember the last time you had to screen share during a call? Perhaps you were walking someone...

Screen sharing is the digital version of looking over someone's shoulder. How often do we end up asking others to scroll down, or to click somewhere?

I believe the internet needs to evolve towards collaboration by default. Thoughts on this? πŸ€”

#webdev #ux

dev.to/afonsocrg/st...

1 year ago 0 1 0 0
Preview
Add Real-Time Collaboration to Your React App in 10 Minutes The other day, someone I know messaged: "I found myself over the holiday trying to explain to my...

Have you ever thought of making your website bring your users together? Just like Google Docs, but on your website.

Yes, it's possible, and it's extremely easy! Here's how:

dev.to/afonsocrg/ad...

#react #javascript #web #frontend #webdev

1 year ago 6 2 1 1
Post image

AoC 2024 - Day 25 "Code Chronicle" - ⭐️⭐️

Yey, it's done! To reduce search, I stored the locks in a tree of HashMaps, indexed by pin size.

Thanks @was.tl and team for these challenges, it's been a fun journey!! Merry Christmas to everyone

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust

1 year ago 4 0 0 0

Merry Christmas! I was very tempted to do it manually... And then coded what I would end up doing manually. Doing that check is very clever, thanks for sharing!

1 year ago 1 0 1 0
Advertisement
Preview
GitHub - afonsocrg/AoC: My solutions to Advent of Code My solutions to Advent of Code. Contribute to afonsocrg/AoC development by creating an account on GitHub.

AoC 2024 - Day 24 "Crossed Wires" - ⭐️⭐️

For Part 2, I checked which gates broke addition circuit rules: XOR outputs must feed into AND+XOR gates, and so on... Got a messy code, but found the 8 swapped wires!

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust

1 year ago 4 0 1 0
Post image

AoC 2024 - Day 23 "LAN Party" - ⭐️⭐️

Got a fast solution by checking for complete subgraphs (TIL they're also known as cliques) while processing each edge.

Used HashMaps and HashSets for faster lookup and intersections.

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust

1 year ago 6 0 0 0
Post image

AoC 2024 - Day 22 "Monkey Market" - ⭐️⭐️

Used bit-wise operators to make the next number generation faster. For Part 2, stored diff sequences as 20 bit integers for faster lookup.

Times:
Part 1: 11.6ms
Part 2: 147.8ms

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust

1 year ago 7 0 0 0
Post image

AoC 2024 - Day 21 "Keypad Conundrum" - ⭐️⭐️

Defined the problem recursively and used caching to avoid re-computation of intermediate results. This one was a real conundrum.

Happy with my execution times:

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust

1 year ago 2 0 0 0
Post image Post image

AoC 2024 - Day 20 "Race Condition" - ⭐️⭐️

Got a O(n) solution by storing the distance from each position to the end, and by checking for shortcuts in each position vicinity. Did a "diamond" for-loop for the first time, it was fun.

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust

1 year ago 4 0 0 0

Super cool idea :D

1 year ago 1 0 0 0

That last approach is interesting, but even if the shortest path at timestep X is blocked, there may be alternative ones πŸ€”

1 year ago 1 0 1 0
Code implementation for Advent of Code 2024 day 19

Code implementation for Advent of Code 2024 day 19

AoC 2024 - Day 19 "Linen Layout" - ⭐️⭐️

Memoization did the trick for this problem!!

Also, instead of checking one pattern at a time, I checked if prefixes with different lengths existed in the pattern set, which sped up my solution by 4x.

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust

1 year ago 5 0 0 0
Advertisement