56,966 blogs · [ { "id": "01a08753-8986-708a-a9e3-bcfae3d98d3f", "title": "What Are You Coding?", "url": "https://blog.sebastiansastre.co/posts/what-are-you-coding/", "published_at": "2026-08-31T03:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae3ef1046", "title": "Ban From on your Rust Error Variants", "url": "https://blog.sebastiansastre.co/posts/ban-from-on-your-rust-error-variants/", "published_at": "2026-08-30T03:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae4df5a3b", "title": "The Green Build and the Hermeneutic Gap", "url": "https://blog.sebastiansastre.co/posts/the-green-build-and-the-hermeneutic-gap/", "published_at": "2026-08-29T03:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae557348d", "title": "Thinking in Solana", "url": "https://blog.sebastiansastre.co/posts/thinking-in-solana/", "published_at": "2026-05-01T03:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae5d98490", "title": "Grounded sources", "url": "https://blog.sebastiansastre.co/posts/grounded-sources/", "published_at": "2026-04-30T13:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae623c94a", "title": "The Half of CI We Forgot to Automate", "url": "https://blog.sebastiansastre.co/posts/the-half-of-ci-we-forgot-to-automate/", "published_at": "2026-04-17T03:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae6ba3d3b", "title": "The Cost of Indirection in Rust", "url": "https://blog.sebastiansastre.co/posts/cost-of-indirection-in-rust/", "published_at": "2026-03-07T03:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae6fcb311", "title": "Stable Problems", "url": "https://blog.sebastiansastre.co/posts/stable-problems/", "published_at": "2026-03-05T03:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae70a4647", "title": "Why This Blog Uses RSS (Not a Newsletter)", "url": "https://blog.sebastiansastre.co/posts/why-this-blog-uses-rss/", "published_at": "2026-03-05T03:00:00+00:00" }, { "id": "01a08753-8986-708a-a9e3-bcfae741de78", "title": "Where Is Your Manifesto?", "url": "https://blog.sebastiansastre.co/posts/where-is-your-manifesto/", "published_at": "2026-02-27T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd8bd6e37f", "title": "Design Is the New Programming", "url": "https://blog.sebastiansastre.co/posts/design-is-the-new-programming/", "published_at": "2026-02-26T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd8c50dde8", "title": "Process Before Solution", "url": "https://blog.sebastiansastre.co/posts/process-before-solution/", "published_at": "2026-02-17T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd8cab16db", "title": "Your Turn", "url": "https://blog.sebastiansastre.co/posts/your-turn/", "published_at": "2026-02-13T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd8d3c8c48", "title": "Explain Your Rules", "url": "https://blog.sebastiansastre.co/posts/explain-your-rules/", "published_at": "2026-02-12T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd8e220c56", "title": "The Accelerator and the Brake", "url": "https://blog.sebastiansastre.co/posts/the-accelerator-and-the-brake/", "published_at": "2026-02-05T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd8edebfcf", "title": "The Relative Trap", "url": "https://blog.sebastiansastre.co/posts/the-relative-trap/", "published_at": "2026-01-26T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd8fd6f6e6", "title": "Model the Reality, Not the Patterns", "url": "https://blog.sebastiansastre.co/posts/model-the-reality-not-the-patterns/", "published_at": "2026-01-21T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd90a860cc", "title": "You Can't Negotiate Genuine Desire", "url": "https://blog.sebastiansastre.co/posts/you-cant-negotiate-genuine-desire/", "published_at": "2023-09-04T23:54:19+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd90cd3169", "title": "SOLID: Crafting Software To Conquer Complexity", "url": "https://blog.sebastiansastre.co/posts/solid-crafting-software-to-conquer-complexity/", "published_at": "2023-08-28T23:54:07+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd910f751f", "title": "A Simplified Guide to Creating a Pharo Smalltalk Plugin", "url": "https://blog.sebastiansastre.co/posts/a-simplified-guide-to-creating-a-pharo-smalltalk-plugin/", "published_at": "2023-03-17T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd911b55cc", "title": "Pharometer on TLIG", "url": "https://blog.sebastiansastre.co/posts/pharometer-on-tlig/", "published_at": "2023-03-12T23:55:04+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd91eae96b", "title": "One step closer to a TensorFlow Pharo Plugin", "url": "https://blog.sebastiansastre.co/posts/one-step-closer-to-a-tensorflow-pharo-plugin/", "published_at": "2023-03-09T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd91f92859", "title": "The TLIG stack", "url": "https://blog.sebastiansastre.co/posts/the-tlig-stack/", "published_at": "2023-03-07T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd926bdffd", "title": "Bringing TensorFlow to Pharo", "url": "https://blog.sebastiansastre.co/posts/bringing-tensorflow-to-pharo/", "published_at": "2023-02-16T23:54:44+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd92f5429a", "title": "How to Create a Pharo Smalltalk Plugin", "url": "https://blog.sebastiansastre.co/posts/how-to-create-a-pharo-smalltalk-plugin/", "published_at": "2023-02-10T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd93735890", "title": "PharoDawnTheme updated", "url": "https://blog.sebastiansastre.co/posts/pharodawntheme-updated/", "published_at": "2023-02-01T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd938ad586", "title": "Mapless repositories with UnQLite backends now can be on RAM", "url": "https://blog.sebastiansastre.co/posts/mapless-repositories-with-unqlite-backends-now-can-be-on-ram/", "published_at": "2022-04-15T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd93959e25", "title": "Mapless is online again", "url": "https://blog.sebastiansastre.co/posts/mapless-is-online-again/", "published_at": "2022-04-10T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd939dfefc", "title": "The Smalltalk IDE I wish would exist", "url": "https://blog.sebastiansastre.co/posts/the-smalltalk-ide-i-wish-would-exist/", "published_at": "2015-06-02T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd9455b269", "title": "Run brew cleanup and claim some disk space", "url": "https://blog.sebastiansastre.co/posts/run-brew-cleanup-and-claim-some-disk-space/", "published_at": "2015-03-12T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd94854891", "title": "Controller expression evaluation on render with Angular", "url": "https://blog.sebastiansastre.co/posts/controller-expression-evaluation-on-render-with-angular/", "published_at": "2015-03-11T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd95650a4d", "title": "Pharo image shutdown after an OS signal", "url": "https://blog.sebastiansastre.co/posts/pharo-image-shutdown-after-an-os-signal/", "published_at": "2015-02-10T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd96216cd7", "title": "Improving the Amber Experience", "url": "https://blog.sebastiansastre.co/posts/improving-the-amber-experience/", "published_at": "2015-01-31T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd964cfa30", "title": "Debugging Announcement issues in Amber Smalltalk", "url": "https://blog.sebastiansastre.co/posts/debugging-announcement-issues-in-amber-smalltalk/", "published_at": "2015-01-27T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd96962b6e", "title": "Accepting vs. Selective", "url": "https://blog.sebastiansastre.co/posts/accepting-vs-selective/", "published_at": "2015-01-23T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd96e285b6", "title": "Flow demoed at Smalltalks2014", "url": "https://blog.sebastiansastre.co/posts/flow-demoed-at-smalltalks2014/", "published_at": "2014-11-28T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd97c28b5b", "title": "Controller based title change with Angular", "url": "https://blog.sebastiansastre.co/posts/controller-based-title-change-with-angular/", "published_at": "2014-11-21T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd97fcbba3", "title": "Controller-Based Title Change in Angular", "url": "https://blog.sebastiansastre.co/posts/controller-based-title-change-in-angular/", "published_at": "2014-11-21T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd98928e92", "title": "App, main and other controller accessors", "url": "https://blog.sebastiansastre.co/posts/app-main-and-other-controller-accessors/", "published_at": "2014-11-12T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd996f85b3", "title": "flow", "url": "https://blog.sebastiansastre.co/posts/flow/", "published_at": "2014-10-10T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd9a67fce9", "title": "The way you understood it wrong", "url": "https://blog.sebastiansastre.co/posts/the-way-you-understood-it-wrong/", "published_at": "2014-07-10T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd9aa12687", "title": "Context is King", "url": "https://blog.sebastiansastre.co/posts/context-is-king/", "published_at": "2009-07-07T03:00:00+00:00" }, { "id": "01a08753-8987-7147-90c4-a9bd9acc3746", "title": "Subscribe", "url": "https://blog.sebastiansastre.co/subscribe/", "published_at": null } ] posts Claim your blog
Back to Sebastian Sastre
Blog · corpus.blog/blogs/blog.sebastiansastre.co/posts

Sebastian Sastre

blog.sebastiansastre.co

2026

2023

2022

2015

2014

10 Oct 2014

2009

Undated