Safia Abdalla
@captainsafia.com
👩🏾💻: helping people build cloud services with oss at @microsoft.com.
✨: dream big and follow through even bigger.
📝: writing things at blog.safia.rocks
✨: dream big and follow through even bigger.
📝: writing things at blog.safia.rocks
Rerunning a job on GitHub Actions feels like
November 4, 2025 at 4:13 AM
Rerunning a job on GitHub Actions feels like
Got the chance to try out @charm.land's VHS for recording terminal-based demos instead of my usual asciienema-based flow and I love the way it turned out.
This is a demo of the new experience for publishing + deploying Aspire apps to Docker Compose.🚀
#aspire @aspire.dev
This is a demo of the new experience for publishing + deploying Aspire apps to Docker Compose.🚀
#aspire @aspire.dev
October 31, 2025 at 9:36 PM
Got the chance to try out @charm.land's VHS for recording terminal-based demos instead of my usual asciienema-based flow and I love the way it turned out.
This is a demo of the new experience for publishing + deploying Aspire apps to Docker Compose.🚀
#aspire @aspire.dev
This is a demo of the new experience for publishing + deploying Aspire apps to Docker Compose.🚀
#aspire @aspire.dev
Spotted a nifty new feature on GitHub: automatic categorization of diffs in the PR. Total game-changer for quickly getting context on changes to review.
October 28, 2025 at 10:52 PM
Spotted a nifty new feature on GitHub: automatic categorization of diffs in the PR. Total game-changer for quickly getting context on changes to review.
Nice one, Claude! Had me scratching my screen...
October 22, 2025 at 1:37 AM
Nice one, Claude! Had me scratching my screen...
I've submitted my entry for the Bad UX World Cup!
A date picker where the values get populated by a snake game. The apple is a number that changes randomly.
Try it out at safia.rocks/BadDatePicker/ 🤪
A date picker where the values get populated by a snake game. The apple is a number that changes randomly.
Try it out at safia.rocks/BadDatePicker/ 🤪
October 18, 2025 at 2:08 AM
I've submitted my entry for the Bad UX World Cup!
A date picker where the values get populated by a snake game. The apple is a number that changes randomly.
Try it out at safia.rocks/BadDatePicker/ 🤪
A date picker where the values get populated by a snake game. The apple is a number that changes randomly.
Try it out at safia.rocks/BadDatePicker/ 🤪
The urge to redesign your blog instead of writing stuff is no longer a hinderance because you can use Copilot to polish up your site in 47282829382% less time.
October 16, 2025 at 6:02 PM
The urge to redesign your blog instead of writing stuff is no longer a hinderance because you can use Copilot to polish up your site in 47282829382% less time.
Had baked beans with breakfast for the first time in my life in honor of @blowdart.me and @sinclairinat0r.com
October 16, 2025 at 7:09 AM
Had baked beans with breakfast for the first time in my life in honor of @blowdart.me and @sinclairinat0r.com
Time to do the thing at @azuredevsummit.bsky.social!
October 15, 2025 at 9:07 AM
Time to do the thing at @azuredevsummit.bsky.social!
The first PR to support deployment pipelines in Aspire just landed! 🌟
Model pipelines for your AppHost resources with support for parallel execution + dependency resolution.
PR: github.com/dotnet/aspir...
Notes from one of our design discussions: github.com/dotnet/aspir...
#aspire @aspire.dev
Model pipelines for your AppHost resources with support for parallel execution + dependency resolution.
PR: github.com/dotnet/aspir...
Notes from one of our design discussions: github.com/dotnet/aspir...
#aspire @aspire.dev
October 12, 2025 at 7:38 PM
The first PR to support deployment pipelines in Aspire just landed! 🌟
Model pipelines for your AppHost resources with support for parallel execution + dependency resolution.
PR: github.com/dotnet/aspir...
Notes from one of our design discussions: github.com/dotnet/aspir...
#aspire @aspire.dev
Model pipelines for your AppHost resources with support for parallel execution + dependency resolution.
PR: github.com/dotnet/aspir...
Notes from one of our design discussions: github.com/dotnet/aspir...
#aspire @aspire.dev
Found at the local whiskey bar.
October 4, 2025 at 12:59 AM
Found at the local whiskey bar.
Saw someone made this cute little GitHub contribution graph on Reddit and I used it to visualziation the last 10 years of open source I've done 🥲
postspark.app/github-contr...
postspark.app/github-contr...
October 2, 2025 at 5:02 PM
Saw someone made this cute little GitHub contribution graph on Reddit and I used it to visualziation the last 10 years of open source I've done 🥲
postspark.app/github-contr...
postspark.app/github-contr...
what a wonderful email to wake up to 😆
September 23, 2025 at 3:37 PM
what a wonderful email to wake up to 😆
Why would Moment jumspcare me like this? My new tab page is supposed to be peaceful 😭
September 22, 2025 at 10:41 PM
Why would Moment jumspcare me like this? My new tab page is supposed to be peaceful 😭
OK! I haven't written the blog post about the PublishingActivityReporter API in Aspire and all the nuancnes that come with it but I did get around to filing an issue.
For those who are curious: github.com/dotnet/aspir...
What do we think about the UX below? 🤔
For those who are curious: github.com/dotnet/aspir...
What do we think about the UX below? 🤔
September 19, 2025 at 9:51 PM
OK! I haven't written the blog post about the PublishingActivityReporter API in Aspire and all the nuancnes that come with it but I did get around to filing an issue.
For those who are curious: github.com/dotnet/aspir...
What do we think about the UX below? 🤔
For those who are curious: github.com/dotnet/aspir...
What do we think about the UX below? 🤔
I git worktreed too close to the sun 😅
September 18, 2025 at 10:45 PM
I git worktreed too close to the sun 😅
Hit a fun training milestone yesterday 🤠
I did a ton of travel for conferences around this time last year and ended up taking 3 weeks off training…my longest break from lifting since I started seriously on it 3 years ago
I did a ton of travel for conferences around this time last year and ended up taking 3 weeks off training…my longest break from lifting since I started seriously on it 3 years ago
September 16, 2025 at 9:12 PM
Hit a fun training milestone yesterday 🤠
I did a ton of travel for conferences around this time last year and ended up taking 3 weeks off training…my longest break from lifting since I started seriously on it 3 years ago
I did a ton of travel for conferences around this time last year and ended up taking 3 weeks off training…my longest break from lifting since I started seriously on it 3 years ago
You can sip Aspire like an espresso...
Wrapping existing Bicep files as Aspire resources lets you tap into Aspire features like parameter prompting with the interaction service and layering on deployment outputs — then you can enhance your existing deployment infra with C# code!
#dotnet #aspire
Wrapping existing Bicep files as Aspire resources lets you tap into Aspire features like parameter prompting with the interaction service and layering on deployment outputs — then you can enhance your existing deployment infra with C# code!
#dotnet #aspire
September 5, 2025 at 5:21 PM
It uses `asciienma` and the GIF converter with an emoji-friendly font under the hood to record terminal output and save it to a gif.
Much nicer in my workflow than recording videos of my terminal, IMO.
Here's an example of a reply of the `aspire publish` command on a project.
Much nicer in my workflow than recording videos of my terminal, IMO.
Here's an example of a reply of the `aspire publish` command on a project.
September 4, 2025 at 8:07 PM
It uses `asciienma` and the GIF converter with an emoji-friendly font under the hood to record terminal output and save it to a gif.
Much nicer in my workflow than recording videos of my terminal, IMO.
Here's an example of a reply of the `aspire publish` command on a project.
Much nicer in my workflow than recording videos of my terminal, IMO.
Here's an example of a reply of the `aspire publish` command on a project.
And then the deployment failed…
August 26, 2025 at 5:41 PM
And then the deployment failed…
New VS Code has support for Git worktrees -- I'm a happy gal!
August 17, 2025 at 10:48 PM
New VS Code has support for Git worktrees -- I'm a happy gal!
a new bombshell has entered the villa
August 10, 2025 at 6:21 PM
a new bombshell has entered the villa
What McKinsey consultant got let loose on this local printing company’s slogan?!!?
August 8, 2025 at 3:13 AM
What McKinsey consultant got let loose on this local printing company’s slogan?!!?
I started making this meme about language ecosystems but had to stop because honestly some give you none of these
I won’t name names 🤭
I won’t name names 🤭
August 7, 2025 at 4:17 AM
I started making this meme about language ecosystems but had to stop because honestly some give you none of these
I won’t name names 🤭
I won’t name names 🤭
brainmaxxing at work
looksmaxxing at the gym
That’s it. That’s the lifestyle.
looksmaxxing at the gym
That’s it. That’s the lifestyle.
August 6, 2025 at 2:44 AM
brainmaxxing at work
looksmaxxing at the gym
That’s it. That’s the lifestyle.
looksmaxxing at the gym
That’s it. That’s the lifestyle.